This example illustrates how to use SMM to estimate a simple linear regression model for the following process:
In the following SAS statements, is simulated, and the first moment and the second moment of are compared with those of the observed endogenous variable .
title "Simple regression model"; data regdata; do i=1 to 500; x = rannor( 1013 ); Y = 2 + 1.5 * x + 1.5 * rannor( 1013 ); output; end; run; proc model data=regdata; parms a b s; instrument x; ysim = (a+b*x) + s * rannor( 8003 ); y = ysim; eq.ysq = y*y - ysim*ysim; fit y ysq / gmm ndraw; bound s > 0; run;
Alternatively, the MOMENT statement can be used to specify the moments using the following syntax:
proc model data=regdata; parms a b s; instrument x; ysim = (a+b*x) + s * rannor( 8003 ); y = ysim; moment y = (2); fit y / gmm ndraw; bound s > 0; run;
The output of the MODEL procedure is shown in Output 19.15.1:
Simple regression model |
Model Summary | |
---|---|
Model Variables | 1 |
Parameters | 3 |
Equations | 2 |
Number of Statements | 4 |
Model Variables | Y |
---|---|
Parameters | a b s |
Equations | ysq Y |
The 2 Equations to Estimate | |
---|---|
Y = | F(a(1), b(x), s) |
ysq = | F(a, b, s) |
Instruments | 1 x |
Nonlinear GMM Parameter Estimates | ||||
---|---|---|---|---|
Parameter | Estimate | Approx Std Err | t Value | Approx Pr > |t| |
a | 2.065983 | 0.0657 | 31.45 | <.0001 |
b | 1.511075 | 0.0565 | 26.73 | <.0001 |
s | 1.483358 | 0.0498 | 29.78 | <.0001 |