Hi,
I’m trying to estimate a system of equations with “nlsur” because I have some non–linearity in my system (In my example below, there is no nonlinearity because my problem is not on that, and to simplify the example, I write a very simple system). What I am trying to do is to instrument an endogeneous variable (suppose it is the variable lnp1). My system looks:
w1 = a1 + x1 * X1 + b11 * lnp1 + b12 * lnp2 + b13 * lnp3 +b14 * lnp4
w2 = a2 + x2 * X1 + b21 * lnp1 + b22 * lnp2 + b23 * lnp3 +b24 * lnp4
w3 = a3 + x3 * X1 + b31 * lnp1 + b32 * lnp2 + b33 * lnp3 +b34 * lnp4
lnp1 = c +x4 * X1 + l2 * lnp2 + l3 * lnp3 + l4 * lnp4 + z1 *Z1 +z2 *Z2 /*instrumentation equation*/
With “nlsur”, I can use two methods : interactive or write an evaluator program. I just would like to know :
1) Why these 2 methods don’t give the same results (especially concerning the standard errors) (look my example below)
2) Which method is correct (if one of the 2 is correct) to specify an equation to instrument endogeneous variable
/*INTERACTIVE*/
nlsur (w1 = {a1} + {x1} * X1 + {b11} * lnp1 + {b12} * lnp2 + {b13} * lnp3 +{b14} * lnp4 ) ///
(w2 = {a2} + {x2} * X1 + {b21} * lnp1 + {b22} * lnp2 + {b23} * lnp3 +{b24} * lnp4 ) ///
(w3 = {a3} + {x3} * X1 + {b31} * lnp1 + {b32} * lnp2 + {b33} * lnp3 +{b34} * lnp4 ) ///
(lnp1 = {c} +{x4} * X1 + {l2} * lnp2 + {l3} * lnp3 + {l4} * lnp4 + {z1} *Z1 +{z2} *Z2), ifgnls
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
/a1 | .264267 .0012627 209.29 0.000 .2617922 .2667418
/x1 | .0857393 .0285741 3.00 0.003 .0297351 .1417435
/b11 | .2601912 .0819431 3.18 0.001 .0995856 .4207968
/b12 | -.1928674 .111662 -1.73 0.084 -.4117208 .0259861
/b13 | -.0151123 .038664 -0.39 0.696 -.0908925 .0606678
/b14 | .1169081 .0564645 2.07 0.038 .0062397 .2275765
/a2 | .5399948 .0023567 229.13 0.000 .5353758 .5446138
/x2 | -.1320654 .0530758 -2.49 0.013 -.2360921 -.0280388
/b21 | -1.281233 .0951264 -13.47 0.000 -1.467677 -1.094788
/b22 | 1.100689 .1643006 6.70 0.000 .7786656 1.422712
/b23 | .0759201 .0719651 1.05 0.291 -.0651289 .2169692
/b24 | -.1858018 .1046616 -1.78 0.076 -.3909349 .0193312
/a3 | .0503203 .0011818 42.58 0.000 .0480041 .0526365
/x3 | .1005632 .0266175 3.78 0.000 .0483938 .1527326
/b31 | .7588647 .0484634 15.66 0.000 .6638781 .8538513
/b32 | -.7270591 .082897 -8.77 0.000 -.8895343 -.564584
/b33 | -.0187441 .036089 -0.52 0.603 -.0894772 .0519891
/b34 | .0743098 .0524901 1.42 0.157 -.0285689 .1771885
/c | -.6689896 .1306948 -5.12 0.000 -.9251467 -.4128325
/x4 | -.05665 .0302836 -1.87 0.061 -.1160047 .0027047
/l2 | .7258337 .098136 7.40 0.000 .5334906 .9181768
/l3 | .0266282 .0415127 0.64 0.521 -.0547353 .1079917
/l4 | -.1253034 .059723 -2.10 0.036 -.2423584 -.0082484
/z1 | -.3193119 .1037147 -3.08 0.002 -.5225889 -.1160349
/z2 | .0064162 .0012558 5.11 0.000 .0039549 .0088775
------------------------------------------------------------------------------
/*FUNCTION EVALUATOR PROGRAM*/
capture program drop nlsurtest
program nlsurtest
version 10
syntax varlist(min=10 max=10) if, at(name)
tokenize `varlist'
args w1 w2 w3 lnp1 X1 lnp2 lnp3 lnp4 Z1 Z2
tempname a1 x1 b11 b12 b13 b14
scalar `a1' = `at'[1,1]
scalar `x1' = `at'[1,2]
scalar `b11' = `at'[1,3]
scalar `b12' = `at'[1,4]
scalar `b13' = `at'[1,5]
scalar `b14' = `at'[1,6]
tempname a2 x2 b21 b22 b23 b24
scalar `a2' = `at'[1,7]
scalar `x2' = `at'[1,8]
scalar `b21' = `at'[1,9]
scalar `b22' = `at'[1,10]
scalar `b23' = `at'[1,11]
scalar `b24' = `at'[1,12]
tempname a3 x3 b31 b32 b33 b34
scalar `a3' = `at'[1,13]
scalar `x3' = `at'[1,14]
scalar `b31' = `at'[1,15]
scalar `b32' = `at'[1,16]
scalar `b33' = `at'[1,17]
scalar `b34' = `at'[1,18]
tempname c x4 l2 l3 l4 z1 z2
scalar `c' = `at'[1,19]
scalar `x4' = `at'[1,20]
scalar `l2' = `at'[1,21]
scalar `l3' = `at'[1,22]
scalar `l4' = `at'[1,23]
scalar `z1' = `at'[1,24]
scalar `z2' = `at'[1,25]
replace `lnp1' = `c' +`x4' * `X1' + `l2' * `lnp2' + `l3' * `lnp3' + `l4' * `lnp4' + `z1' *`Z1' +`z2' *`Z2'
replace `w1' = `a1' + `x1' * `X1' + `b11' * `lnp1' + `b12' * `lnp2' + `b13' * `lnp3' +`b14' * `lnp4'
replace `w2' = `a2' + `x2' * `X1' + `b21' * `lnp1' + `b22' * `lnp2' + `b23' * `lnp3' +`b24' * `lnp4'
replace `w3' = `a3' + `x3' * `X1' + `b31' * `lnp1' + `b32' * `lnp2' + `b33' * `lnp3' +`b34' * `lnp4'
end
nlsur test @ w1 w2 w3 lnp1 X1 lnp2 lnp3 lnp4 Z1 Z2, parameters(a1 x1 b11 b12 b13 b14 a2 x2 b21 b22 b23 b24 a3 x3 b31 b32 b33 b34 c x4 l2 l3 l4 z1 z2) neq(4) ifgnls
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
/a1 | .2642672 .0012663 208.70 0.000 .2617853 .266749
/x1 | .0857668 .0329666 2.60 0.009 .0211535 .1503802
/b11 | .2608178 .3830058 0.68 0.496 -.4898597 1.011495
/b12 | -.1935383 .415872 -0.47 0.642 -1.008632 .6215558
/b13 | -.0151407 .0422257 -0.36 0.720 -.0979015 .0676201
/b14 | .116973 .0685101 1.71 0.088 -.0173043 .2512504
/a2 | .5399944 .0023645 228.37 0.000 .53536 .5446289
/x2 | -.1321362 .0615595 -2.15 0.032 -.2527906 -.0114819
/b21 | -1.282846 .715198 -1.79 0.073 -2.684609 .1189161
/b22 | 1.102417 .7765701 1.42 0.156 -.4196328 2.624466
/b23 | .0759932 .0788492 0.96 0.335 -.0785484 .2305348
/b24 | -.185969 .1279309 -1.45 0.146 -.4367091 .064771
/a3 | .0503205 .0011857 42.44 0.000 .0479967 .0526444
/x3 | .1005978 .0308682 3.26 0.001 .0400972 .1610985
/b31 | .7596532 .3586272 2.12 0.034 .0567568 1.46255
/b32 | -.7279034 .3894014 -1.87 0.062 -1.491116 .0353094
/b33 | -.0187798 .039538 -0.47 0.635 -.0962727 .0587132
/b34 | .0743915 .0641494 1.16 0.246 -.051339 .2001219
/c | -.6683778 .277339 -2.41 0.016 -1.211952 -.1248033
/x4 | -.0566389 .0306443 -1.85 0.065 -.1167006 .0034228
/l2 | .7261445 .1599565 4.54 0.000 .4126356 1.039654
/l3 | .0266399 .042082 0.63 0.527 -.0558393 .1091191
/l4 | -.125282 .0602393 -2.08 0.038 -.2433489 -.0072152
/z1 | -.3189751 .1546057 -2.06 0.039 -.6219967 -.0159536
/z2 | .0064103 .0026616 2.41 0.016 .0011936 .011627
------------------------------------------------------------------------------
Any suggestion is welcomed
Thank you very much.
valérie
-------------------------------
Valérie OROZCO
Toulouse School of Economics (INRA-GREMAQ)
21, allée de Brienne
F-31000 Toulouse, France
MF 426
+33 5 61 12 85 91
-------------------------------
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/