1 votos

Pendiente en los resultados de Probit

En Greene, Análisis Econométrico, se muestra la siguiente tabla de una regresión probit:

enter image description here

Estoy intentando reproducir estos resultados. (Esta es mi forma preferida de entenderlo mejor). Mi pregunta: ¿Qué es esto? pendiente (derivada) en la columna de regresión Probit ? Creo que podría ser:

  1. La media de $$\frac{\partial f(x_i'\hat{\beta})}{\partial\hat{\beta}_j}$$
  2. O simplemente $$\frac{\partial f(\bar{x}'\hat{\beta})}{\partial\hat{\beta}_j}$$ como el $f(\bar{x}'\hat{\beta})$ cantidad en la parte inferior (Greene lo llama "factor de escala"). No he tenido problemas para reproducir este valor (0,328).
  3. O puede ser otra cosa. Hay algo llamado efecto marginal, definido como $f(x,\beta) \beta_k$ (no sé qué $x$ está aquí, puede ser $\bar{x}$ y si puedo interpretar $\beta$ como $\hat{\beta}$ ).

¿Existe una definición para esta cantidad de pendiente?


Mis intentos hasta ahora:

$ontext

   Probit Estimation
   -----------------
   We use OLS to get a good starting point

   Erwin Kalvelagen, Amsterdam Optimization

   Data:
      http://pages.stern.nyu.edu/~wgreene/Text/tables/TableF21-1.txt

$offtext

*-----------------------------------------------------------
* raw data from Greene
*-----------------------------------------------------------

sets
  i 'records' /1*32/
  p0 'all variables' /constant,grade,gpa,tuce,psi/
;

table data(i,p0)

       GPA      TUCE     PSI      GRADE
 1      2.66      20      0        0
 2      2.89      22      0        0
 3      3.28      24      0        0
 4      2.92      12      0        0
 5      4.00      21      0        1
 6      2.86      17      0        0
 7      2.76      17      0        0
 8      2.87      21      0        0
 9      3.03      25      0        0
10      3.92      29      0        1
11      2.63      20      0        0
12      3.32      23      0        0
13      3.57      23      0        0
14      3.26      25      0        1
15      3.53      26      0        0
16      2.74      19      0        0
17      2.75      25      0        0
18      2.83      19      0        0
19      3.12      23      1        0
20      3.16      25      1        1
21      2.06      22      1        0
22      3.62      28      1        1
23      2.89      14      1        0
24      3.51      26      1        0
25      3.54      24      1        1
26      2.83      27      1        1
27      3.39      17      1        1
28      2.67      24      1        0
29      3.65      21      1        1
30      4.00      23      1        1
31      3.10      21      1        0
32      2.39      19      1        1

;

data(i,'constant') = 1;
display data;

*-----------------------------------------------------------
* extract data
* form y, x
*-----------------------------------------------------------

set p(p0) 'independent variables' /constant,gpa,tuce,psi/;

parameters
 y(i)    'grade'
 x(i,p)  'independent variables'
;

y(i)   = data(i,'grade');
x(i,p) = data(i,p);
display x,y;

*-----------------------------------------------------------
* solve OLS as QP
*-----------------------------------------------------------

parameter estimate(p,*) 'results';

variable
  sse        'sum of squared errors'
  coeff(p)   'estimated coefficients'
  e(i)       'error term'
;
equation
  obj        'objective'
  fit(i)     'linear fit'
;

obj..    sse =e= sum(i, sqr(e(i)));
fit(i).. y(i) =e= sum(p, coeff(p)*x(i,p)) + e(i);

model ols /obj,fit/;
solve ols using qcp minimizing sse;

estimate(p,'OLS') = coeff.l(p);

*-----------------------------------------------------------
* Max log likelihood
*-----------------------------------------------------------

variable logl 'log likelihood';
equation like;

like.. logl =e= sum(i$(y(i)=1), log(errorf(sum(p,coeff(p)*x(i,p)))))
               +sum(i$(y(i)=0), log(1-errorf(sum(p,coeff(p)*x(i,p)))));

model mle /like/;
solve mle using nlp maximizing logl;

estimate(p,'Probit') = coeff.l(p);

display estimate;

*-----------------------------------------------------------
* reproduce f
*-----------------------------------------------------------

parameter xbar(p) 'mean of the data';
xbar(p) = sum(i,x(i,p))/card(i);
display xbar;

scalar f 'scale factor: density evaluated at the means';
f = errorf.grad(sum(p,xbar(p)*coeff.l(p)));
display f;

Conclusión: la pendiente es el "efecto marginal". Por lo tanto: $${\mathit slope}_j = f(\bar{x}'\hat{\beta})\cdot \hat{\beta}_j$$

parameter slope(p) 'marginal effect';
slope(p)$(not sameas(p,'constant')) = f*coeff.l(p);
display slope;

Este fue un ejercicio interesante.

2voto

user36287 Puntos 6

Me parece que el libro de texto es ambiguo. Probablemente sea (1) o (2) lo que menciona. La fila inferior de la tabla tiene $f(\bar{x}'\hat{\beta})$ Lo que me inclina a pensar que es lo segundo que has escrito.

EDIT: Definitivamente es el segundo. Como usted menciona, $f(\bar{x}'\hat{\beta})\hat{\beta}$ son efectos marginales en la media. En la tabla, la pendiente es $\hat{\beta}$ multiplicado por $f(\bar{x}'\hat{\beta})$ . Eso es definitivamente lo que está pasando.

0 votos

¡Sí! No podía deducirlo del texto.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X