4 votos

Efecto marginal de la variable cuadrada en el modelo Probit

Quiero estimar el siguiente modelo probit

$employed_t= \beta_1 age + \beta_2 age^2$

y uso el código de Stata

probit employed c.age##c.age

Usando el comando margins Obtengo el efecto marginal de $age$ incluyendo el efecto a través de los términos cuadráticos si se incluyen en el modelo (véase: ¿Cómo interpreto un modelo probit en Stata? ).

¿Cómo obtengo el efecto marginal para los términos cuadráticos $age^2$ ?

¿Este procedimiento es correcto?

probit employed c.age##c.age

sum age

local m=r(mean)

local x1 _b[c.age]*'m'+_b[c.age#c.age]*'m'+_b[_cons]

nlcom 2*normd('x1')*_b[c.age#c.age]-('x1')*normd('x1')*(_b[c.age]+2*_b[c.age#c.age]*'r')

2voto

Neal Puntos 316

Me inclino por el comentario de @StasK. Sin embargo, algo como lo que quieres es factible, aunque un poco complicado de interpretar. Lo que propongo a continuación te dice cómo el efecto marginal de $x$ varía con $x$ .

Usted sabe que la media condicional de la variable dependiente en un modelo probit es $$\mathbb{Pr}[y=1 \vert x,z]=\Phi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi).$$ La variable $x$ es lo que nos importa. El vector $z$ contiene algunas otras covariables. $\Phi(.)$ es la fdc normal estándar, y $\varphi(.)$ es el pdf normalizado, que se utilizará a continuación.

El efecto marginal de $x$ es $$\frac{\partial \mathbb{Pr}[y=1 \vert x,z]}{\partial x}=\varphi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\cdot(\beta + 2\cdot\gamma \cdot x).$$ El cambio en el efecto marginal es la segunda derivada $$ \frac{\partial^2 \mathbb{Pr}[y=1 \vert x,z]}{\partial x^2} = \varphi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\cdot(2\cdot\gamma) +(\beta + 2\cdot\gamma \cdot x)\cdot\varphi'(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi). $$

Desde $\varphi′(x)=−x \cdot \varphi(x)$ esto se "simplifica" a

$$ \frac{\partial^2 \mathbb{Pr}[y=1 \vert x,z]}{\partial x^2} = \varphi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\cdot \left[ 2\cdot\gamma -(\beta + 2\cdot\gamma \cdot x)^2\cdot(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\right]. $$

Tenga en cuenta que esto es una función de $x$ y $z$ s, por lo que podemos evaluar esta cantidad en varios valores posibles. Obsérvese también que, mientras que el primer término es seguramente positivo, ya que se trata de una densidad normal, es difícil firmar el segundo término aunque se conozca el signo y la magnitud de los coeficientes.

Suponiendo que no haya metido la pata en la derivada, así es como podría hacer esto en Stata:

#delimit;
sysuse auto, clear;
probit foreign c.mpg##c.mpg c.weight, coefl;
/* At own values of covarites */
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2));
/* At chosen values of covarites */
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2)) at(mpg=20 weight=3000);
/* At avermpg value of covariates */
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2)) atmeans;

Si lo hiciera yo mismo y me diera pereza, podría utilizar contrastes inversos adyacentes. Por ejemplo, aquí está la segunda derivada evaluada en 4 valores de $x$ :

margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2)) at(mpg = (10 20 30 40));

Aquí hay una comparación de los derivados. Esto compara los efectos marginales de mpg a mpg de x+1 con el efecto marginal a mpg de x:

margins, dydx(mpg) at(mpg = (10 11 20 21 30 31 40 41)) contrast(atcontrast(ar(2(2)8)._at) wald);

Fíjate en lo cerca que están las salidas de los dos comandos, pero el segundo es mucho más fácil.

No sé qué r es tu código, así que no puedo verificar si lo que tienes es correcto.

1voto

generic_user Puntos 2269

No uso stata para GLMs (como el probit), así que tal vez me estoy perdiendo algo específico del contexto, pero de todos modos:

Lo que estás haciendo es modelar $$ g(E[employed]) = \beta_0 + \beta_1age + \beta_2age^2 $$ donde $g(.)$ es la fdc normal. Puede seguir el siguiente procedimiento para interpretar sus coeficientes (que es casi exactamente el mismo para logit):

  1. Dibuje o grafique usted mismo la fdc normal. Es sigmoidal.
  2. Obsérvese el intercepto ( $\beta_0$ ) en su eje x, y dibujar una línea hasta donde se cruza con la cdf normal.
  3. Para una edad determinada $A$ , moverte $\beta_1 A + \beta_2 A^2$ de su intercepción. Anota el punto en el eje x, y dibuja una línea hasta el punto en el que se cruza con la función.
  4. Dibuja una línea a la izquierda, para ver dónde se cruza con el eje y. Esto es una probabilidad.
  5. Voilà: tienes el valor ajustado de $\widehat{employed}$ para un nivel de edad determinado. En un gradiente de valores de $A$ se obtiene una curva de efecto marginal cuadrática.

1voto

alexs77 Puntos 36

Si no se ajusta para $\mbox{age}$ en este modelo al incluir $\mbox{age}^2$ como regresor, se está forzando a que la tasa instantánea de disminución del empleo sea cero en $\mbox{age}=0$ . Eso puede parecer artificioso, pero si se toma un cambio de variable:

$$\mbox{age}^* = \frac{\mbox{age} - 50}{5}$$

Podrías ver por qué sería una idea estúpida. Se puede demostrar que cualquier dato con un término lineal fuerte no nulo en un modelo de media cuadrática será localmente consistente con un modelo reducido que elimine el término lineal. Así que no deje que los datos decidan qué términos utilizar. Utilice ambos como una forma de "garantía añadida" o "seguro añadido".

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X