Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Re:


From   "Arne Risa Hole" <[email protected]>
To   [email protected]
Subject   Re: st: Re:
Date   Thu, 23 Mar 2006 18:39:25 +0000

I agree that the -ivreg- approach is the best one.

(The omission of s in the first stage regression was an oversight).

Cheers,
Arne

On 23/03/06, Austin Nichols <[email protected]> wrote:
> The code Arne supplies is an example of how to get the answer
> requested by Paolo, but that answer is still incorrect.  Just run that
> code (including the variable s in both first and second stages, since
> I think its omission was an oversight) to get:
>
> . qui use http://fmwww.bc.edu/ec-p/data/hayashi/griliches76.dta, clear
> . qui regress iq med kww s expr tenure rns smsa
> . qui predict double iq_hat
> . gen double intact = iq_hat*expr
> . qui regress lw iq_hat intact s expr tenure rns smsa
> . replace iq_hat = iq
> . qui replace intact = iq*expr
> . predict double res, residual
> . gen double res2 = res^2
> . qui sum res2
> . scalar iv_mse = r(mean)*r(N)/e(df_r)
> . matrix b = e(b)
> . matrix V = e(V)*(iv_mse/e(rmse)^2)
> . ereturn post b V
> . ereturn display
> ------------------------------------------------------------------------------
>              |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
> -------------+----------------------------------------------------------------
>       iq_hat |   .0151927   .0061657     2.46   0.014     .0031081    .0272772
>       intact |  -.0005875   .0008488    -0.69   0.489    -.0022512    .0010762
>            s |   .0595681   .0188307     3.16   0.002     .0226605    .0964757
>         expr |   .1018824   .0848968     1.20   0.230    -.0645121     .268277
>       tenure |   .0295226   .0085698     3.44   0.001     .0127262     .046319
>          rns |  -.0440594   .0349568    -1.26   0.208    -.1125736    .0244547
>         smsa |   .1269817   .0301617     4.21   0.000     .0678657    .1860976
>        _cons |   3.104997   .4183089     7.42   0.000     2.285127    3.924868
> ------------------------------------------------------------------------------
>
> and then compare to the IV estimate:
> . ivreg lw s expr tenure rns smsa (iq inta=kww med)
> ------------------------------------------------------------------------------
>           lw |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
> -------------+----------------------------------------------------------------
>           iq |   .1019604   .7498967     0.14   0.892    -1.370186    1.574107
>       intact |   -.031272   .2663122    -0.12   0.907     -.554078    .4915341
>            s |  -.0457328   .9088715    -0.05   0.960    -1.829968    1.738502
>         expr |    3.17964   26.70891     0.12   0.905    -49.25347    55.61275
>       tenure |   .0273913   .0324433     0.84   0.399    -.0362991    .0910818
>          rns |  -.0274002   .1739247    -0.16   0.875    -.3688374     .314037
>         smsa |  -.0344371   1.379771    -0.02   0.980    -2.743109    2.674235
>        _cons |  -4.338579     64.363    -0.07   0.946    -130.6916    122.0145
> ------------------------------------------------------------------------------
>
> Note particularly the SEs and p-values on the two endog vars.
>
> I believe this impulse to "plug in" y2hat in various incorrect ways
> comes from conceiving of the IV estimator as a two-step estimator,
> which it is not.  The better two-step estimator analogy uses the
> control function approach, IMHO, since folks are less likely to apply
> it incorrectly in a nonlinear second stage, or to square or interact
> y2hat.
>
> Arne, do you concur?
>
> On 3/23/06, Arne Risa Hole <[email protected]> wrote:
> > I suppose an alternative approach would be to do something like this:
> >
> > use http://fmwww.bc.edu/ec-p/data/hayashi/griliches76.dta, clear
> > qui regress iq med kww expr tenure rns smsa
> > predict double iq_hat
> > gen double intact = iq_hat*expr
> > qui regress lw iq_hat intact s expr tenure rns smsa
> > replace iq_hat = iq
> > replace intact = iq*expr
> > predict double res, residual
> > gen double res2 = res^2
> > qui sum res2
> > scalar iv_mse = r(mean)*r(N)/e(df_r)
> > matrix b = e(b)
> > matrix V = e(V)*(iv_mse/e(rmse)^2)
> > ereturn post b V
> > ereturn display
> >
> > i.e. get the forecast y2hat (iq_hat in the example) from the
> > first-stage regression and interact this with the exogenous RHS var x1
> > (expr in the example). Then you replace the interaction with y2*x1
> > before calculating the residuals/MSE.
> >
> > Austin's suggestion is probably the better one though, but this seems
> > to me to be ok.
> >
> > Cheers
> > Arne
> >
> > On 23/03/06, Austin Nichols <[email protected]> wrote:
> > > If your endog RHS var y2 is interacted with an exog RHS var x1, then
> > > you have a "new" endog RHS var y2x1, and you may need additional
> > > excluded instruments.  Use -ivreg- as suggested.
>
> *
> *   For searches and help try:
> *   http://www.stata.com/support/faqs/res/findit.html
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index