How to get residual when using SAS to do GMM?
Here is an example:
proc sort data;by id ;run;
proc model data;
endo ri;
exog mp smb hml;
instruments _exog_;
parms b0 b1 b2 b3;
ri= b0+b1*mp+b2*smb+b3*hml;
fit ri/gmm kernel=(bart,1,0);
by sizeport0 btmport0 ciiport0 ;
ods output parameterestimates=parameterestimates;
run;
quit;
I want to get residual in the dataset, but I do not know how to get it.
Thank you in advance.
Add the out=resid outresid option to the FIT statement, like this:
proc model data;
endo ri;
exog mp smb hml;
instruments _exog_;
parms b0 b1 b2 b3;
ri= b0+b1*mp+b2*smb+b3*hml;
fit ri/gmm kernel=(bart,1,0 ) out=resids outresid outactual;
by sizeport0 btmport0 ciiport0 ;
ods output parameterestimates=parameterestimates;
run;
So long as there is no conflict between the GMM method, the kernel option and these additional options, you should get a dataset named resids containing the residuals and the actual values of the endogenous variables.
SteveDenham
Moved to stats community.
Moved again to Forecasting and Econometrics community.
SteveDenham
Add the out=resid outresid option to the FIT statement, like this:
proc model data;
endo ri;
exog mp smb hml;
instruments _exog_;
parms b0 b1 b2 b3;
ri= b0+b1*mp+b2*smb+b3*hml;
fit ri/gmm kernel=(bart,1,0 ) out=resids outresid outactual;
by sizeport0 btmport0 ciiport0 ;
ods output parameterestimates=parameterestimates;
run;
So long as there is no conflict between the GMM method, the kernel option and these additional options, you should get a dataset named resids containing the residuals and the actual values of the endogenous variables.
SteveDenham
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.