工具变量法GMM估计.docx
- 文档编号:24535818
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:34
- 大小:120.68KB
工具变量法GMM估计.docx
《工具变量法GMM估计.docx》由会员分享,可在线阅读,更多相关《工具变量法GMM估计.docx(34页珍藏版)》请在冰豆网上搜索。
工具变量法GMM估计
工具变量法GMM估计
1Overview
Model过程可以分析线性、非线性(对参数或者对变量)的单方程和方程组。
使用的估计方法有:
OLS,2SLS,SUR,ITSUR,3SLS,IT3SLS,GMM,FIML。
MODEL过程分析的模型如下:
这里,Y是内生变量,X是外生变量,TEHTA是参数。
观测到的变量要么是内生变量,要么是外生变量。
上面的方程组可以简写为:
这个形式称为一般形式。
还可以写成标准形式:
标准形式把内生变量放在方程的一边。
两种形式的方程(组)都可以使用MODEL过程估计。
经常用当前外生变量、滞后的外生变量、滞后的内生变量来解释当前内生变量。
这就构成了一个动态模型。
滞后变量不论内生还是外生都看作外生变量。
以上并不要求扰动项独立同分布。
自相关、异方差甚至不同的分布都有可能。
对于异方差可以使用加权估计,GARCH模型也可以修正异方差。
如果难以确定异方差的来源和形式,难以确定权重变量的话,可以使用GMM方法得到比OLS方法更加有效的估计。
方程组一个常见的问题就是联立偏倚。
考虑:
这个方程组对参数是非线性的,不能使用线性回归估计。
同时这里Y1和Y2是同时决定的,普通非线性最小二乘方法的结果也是有偏和非一致的。
这称为联立性偏倚。
在线性模型中,处理联立性偏倚的可以把出现在方程右边的内生变量换成其预测值。
预测值与扰动项无关从而消除了联立性偏倚。
预测值是通过工具变量法估计得到的,这称为第一步回归。
利用预测值进行第二次回归称为两段最小二乘。
在非线性模型中,使用线性近似,把非线性方程组线性化后使用工具变量法,反复迭代。
在方程组中,方程之间的扰动项可能相关。
对于大样本情况,可以使用系统方法考虑到方程内和方程之间关系得到更有效的估计。
如果不存在联立性问题,即不存在内生变量作为解释变量的话,可以使用SUR估计。
SUR方法需要估计方程之间扰动项的协方差矩阵
。
估计步骤为先使用OLS估计方程组,从残差得到
,然后使用SUR。
如果存在联立性问题,可以结合使用2SLS和SUR方法,同时考虑到联立性和跨方程之间的相关性。
这称为3SLS方法。
处理联系性偏倚还有一个办法就是FIML。
FIML不需要工具变量,但是假定方程组扰动项服从多元正态分布。
而2SLS,3SLS对扰动项分布没有要求。
2GettingStarted
这一节介绍几个非线性回归和非线性方程组的例子。
2.1非线性回归
MODEL过程一个很重要的用途是估计非线性模型。
考虑如下非线性模型:
使用MODEL过程估计步骤如下:
1指定数据集。
2给出方程的数学形式。
包括参数。
3使用FIT语句。
例1非线性方程
SASHELP库有一个数据集CITIMON,包含失业人数LHUR,产业指数IP。
假定二者关系为:
可以使用如下程序估计:
procmodeldata=sashelp.citimon;
lhur=1/(a*ip+b)+c;
fitlhur;
run;
这里,LHUR放在左边,并且在数据集中有这个变量,表示这个变量是内生变量。
IP是数据集中出现的变量,表示是解释变量。
A,b,c没有在数据集中出现过但是出现在方程中,表示这些是参数。
估计结果如下:
TheMODELProcedure
ModelSummary
ModelVariables
1
Parameters
3
Equations
1
NumberofStatements
1
ModelVariables
LHUR
Parameters
abc
Equations
LHUR
TheMODELProcedure
TheEquationtoEstimateis
LHUR=
F(a,b,c
(1))
这表示lhur是a,b,c的函数。
C
(1)表示c是一个简单参数,即导数为常数或者一个简单变量的参数。
1表示导数为1。
TheMODELProcedure
OLSEstimationSummary
DataSetOptions
DATA=
SASHELP.CITIMON
MinimizationSummary
ParametersEstimated
3
Method
Gauss
Iterations
10
FinalConvergenceCriteria
R
0.000737
PPC(b)
0.003943
RPC(b)
0.00968
Object
4.784E-6
Trace(S)
0.533325
ObjectiveValue
0.522214
ObservationsProcessed
Read
145
Solved
145
Used
144
Missing
1
TheMODELProcedure
Nonlinear OLS Summary of Residual Errors
Equation
DFModel
DFError
SSE
MSE
RootMSE
R-Square
AdjR-Sq
Label
LHUR
3
141
75.1989
0.5333
0.7303
0.7472
0.7436
UNEMPLOYMENTRATE:
ALLWORKERS,16YEARS
TheMODELProcedure
NonlinearOLSParameterEstimates
Parameter
Estimate
ApproxStdErr
t Value
Approx
Pr>|t|
a
0.009046
0.00343
2.63
0.0094
b
-0.57059
0.2617
-2.18
0.0309
c
3.337151
0.7297
4.57
<.0001
这是非线性模型,这里的标准差,t值和p值都是渐近成立的。
在小样本估计中解释这些结果要慎重。
对于线性模型就不存在这个问题,都是准确分布。
TheMODELProcedure
NumberofObservations
StatisticsforSystem
Used
144
Objective
0.5222
Missing
1
Objective*N
75.1989
这里objective是方程组mse的加权值。
这可以用来检验方程组之间的约束。
对于单方程,object就是未经过自由度调整的mse。
ConvergenceandStartingValues
对于非线性方程,总是要给参数一个初始值。
迭代能否成功和初始值很有关系。
系统默认所有参数初始值都是0.001。
2.2非线性方程组
对于方程组,要慎重选择估计方法。
如果有联立性问题,应该使用2sls,3sls等工具变量方法。
如:
procmodeldata=test2;
exogenousx1x2;
parmsa1a2b22.5c255d1;
y1=a1*y2+b2*x1*x1+d1;
y2=a2*y1+b2*x2*x2+c2/x2+d1;
fity1y2/2sls;
instrumentsb2c2_exog_;
run;
这里2sls规定估计方法。
_exog_规定所有外生变量都作为工具变量。
B2c2是参数,这里出现在instruments语句中,表示其导数为工具变量。
FIML方法也可以解决联立性问题,不需要工具变量,假定扰动项是正态分布的。
估计方法如下:
procmodeldata=test2;
exogenousx1x2;
parmsa1a2b22.5c255d1;
y1=a1*y2+b2*x1*x1+d1;
y2=a2*y1+b2*x2*x2+c2/x2+d1;
fity1y2/fiml;
run;
2.3一般形式的方程(组)
前面的例子都是标准形式的。
但是有时候难以写出标准形式,这就需要一般形式的方程(组)。
方法是是用前缀EQ.+方程名字。
EQ.表示这边是扰动项。
如:
写为:
procmodeldata=xydata;
eq.one=a+b*log(c*y+d*x);
fitone;
run;
供求模型:
写成一般形式:
程序为:
title1'Supply-DemandModelusingGeneral-formEquations';
procmodeldata=sashelp.citimon;
endogenouseegpeec;
exogenousexvuscciutc;
parametersa1a2a3b1b2;
labeleegp='GasolineRetailPrice'
eec='EnergyConsumption'
cciutc='ConsumerDebt';
/*--------Supplyequation-------------*/
eq.supply=eec-(a1+a2*eegp+a3*cciutc);
/*--------Demandequation-------------*/
eq.demand=eec-(b1+b2*eegp);
/*--------Instrumentalvariables-------*/
lageegp=lag(eegp);lag2eegp=lag2(eegp);
/*--------Estimateparameters---------*/
fitsupplydemand/n3slsfsrsq;
instruments_EXOG_lageegplag2eegp;
run;
这里n3sls就是3sls.Fsrsq要求输出第一步估计的r2来考察工具变量是否恰当。
结果为:
Supply-DemandModelusingGeneral-formEquations
TheMODELProcedure
3SLSEstimationSummary
ObservationsProcessed
Read
145
Solved
143
First
3
Last
145
Used
139
Missing
4
Lagged
2
Supply-DemandModelusingGeneral-formEquations
TheMODELProcedure
Nonlinear 3SLS Summary of Residual Errors
Equation
DFModel
DFError
SSE
MSE
RootMSE
R-Square
AdjR-Sq
supply
3
136
39.5791
0.2910
0.5395
demand
2
137
43.2677
0.3158
0.5620
Nonlinear3SLSParameterEstimates
Parameter
Estimate
ApproxStdErr
t Value
Approx
Pr>|t|
1stStageR-Square
a1
6.82196
0.3788
18.01
<.0001
1.0000
a2
-0.00614
0.00303
-2.02
0.0450
0.9617
a3
9E-7
3.165E-7
2.84
0.0051
1.0000
b1
7.30952
0.3799
19.24
<.0001
1.0000
b2
-0.00853
0.00328
-2.60
0.0103
0.9617
Figure14.8:
Supply-DemandParameterEstimates
使用一般形式模型的不利之处就是因为没有直接要预测的变量,从而不能计算R2。
3语法
PROCMODELDATA=SAS-data;
BOUNDSbound1,bound2...;
DO[variable=expression[TOexpression][BYexpression]
[,expressionTOexpression][BYexpression]...]
[WHILEexpression][UNTILexpression];
END;
ENDOGENOUSvariable[initialvalues]...;
ESTIMATEitem[,item...][,/options];
EXOGENOUSvariable[initialvalues]...;
FITequations[PARMS=(parametervalues...)]
START=(parametervalues...)
[DROP=(parameters)][/options];
IDvariables;
IFexpression;
IFexpressionTHENprogramming_statement;
ELSEprogramming_statement;
variable=expression;
variable+expression;
INSTRUMENTS[instruments][_EXOG_]
[EXCLUDE=(parameters)][/options];
PARAMETERSvariable[value]variable[value]...;
RESTRICTrestriction1[,restriction2...];
RETAINvariablesvalues[variablesvalues...];
TEST["name"]test1[,test2...][,/options];
WEIGHTvariable;
3.1PROCMODELStatement
PROCMODELDATA=SAS-data-set;
OUTPARMS=SAS-data-set
把参数估计结果写到指定的数据集中
3.2BOUNDSStatement
BOUNDSbound1[,bound2...];
对FIT语句中的参数简单的限制。
可以在FIT语句前面也可以在后面。
可以使用多个BOUNDS语句。
每个BOUNDS语句可以使用多个限制,用,分开。
每一项格式为:
itemoperatoritem
ITEM是常数或者参数名或者一列参数。
运算符是不等式符号。
'<','>','<=',or'>='.这里和NLIN过程不同。
BOUNDS语句可和RESTRICT同时使用。
对每个BOUNDS,在OUTEST=中报告LAGRANGE乘子和相应的P值。
例子如下:
title'HolzmanFunction(1969),HimmelblauNo.21,N=3';
datazero;
doi=1to99;
output;
end;
run;
procmodeldata=zero;
parmsx1=100x2=12.5x3=3;
bounds.1<=x1<=100,
0<=x2<=25.6,
0<=x3<=5;
t=2/3;
u=25+(-50*log(0.01*i))**t;
v=(u-x2)**x3;
w=exp(-v/x1);
eq.foo=-.01*i+w;
fitfoo/method=marquardt;
run;
HolzmanFunction(1969),HimmelblauNo.21,N=3
TheMODELProcedure
NonlinearOLSParameterEstimates
Parameter
Estimate
ApproxStdErr
t Value
Approx
Pr>|t|
x1
49.99999
0
.
.
x2
25
0
.
.
x3
1.5
0
.
.
NumberofObservations
StatisticsforSystem
Used
99
Objective
5.455E-18
Missing
0
Objective*N
5.4E-16
3.3ENDOGENOUSStatement
ENDOGENOUSvariable[initial-values]...;
规定哪些变量是内生变量。
还可以同时指定初始值。
3.4ESTIMATEStatement
ESTIMATEitem[,item...][,/options];
计算参数的函数的估计值。
可以使用多个ESTIMATE语句。
每一个语句可估计多项。
每项为一个表达式但是不能含有比较运算符号和逻辑运算符号,可以加上字符型名字以便OUTEST=中标识。
这些参数必须是FIT估计的参数:
["name"]expression
ESTIMATE语句可以加如下选项,注意,选项前面是,/不是/
OUTEST=
指定输出数据集。
OUTCOV
把函数的协方差矩阵输出到OUTEST=中。
COVB
打印函数的协方差矩阵。
CORRB
打印函数的相关矩阵。
例子:
dataa;
inputyx@@;
datalines;
.461.472.573.614.625.686.697
.788.709.7410.7711.7812.7413.8013
.8015.7816
;
title'SegmentedModel--QuadraticwithPlateau';
procmodeldata=a;
x0=-.5*b/c;
ifx elsey=a+b*x0+c*x0*x0; fitystart=(a.45b.5c-.0025); estimate'Joinpoint'x0, 'plateau'a+b*x0+c*x0**2; run; SegmentedModel--QuadraticwithPlateau TheMODELProcedure NonlinearOLSEstimates Term Estimate ApproxStdErr t Value Approx Pr>|t| Label Joinpoint 12.7504 1.2785 9.97 <.0001 x0 plateau 0.777516 0.0123 63.10 <.0001 a+b*x0+c*x0**2 3.5EXOGENOUSStatement EXOGENOUSvariable[initial-values]...; 指定外生变量。 如果使用工具变量法而没有用INSTRUMENTS语句,EXOG规定的外生变量就是工具变量。 可以简写为EXOG或者EXO。 可以提供初始值。 默认提供0.001。 3.6FITStatement FIT[equations][PARMS=(parameter[values]...)] [START=(parametervalues...)] [DROP=(parameter...)] [INITIAL=(variable=[parameter|constant]...) [/options]; EQUATIONS规定估计哪些方程。 FIT的选项有: DROP=(parameters...) 指定哪些参数不用估计,而是保留初始值。 其他参数全部估计。 NOOLS NO2SLS 不使用OLS或者2SLS方法提供GMM,ITGMM,FIML的初始估计,如果有好的初始值可以提供的话。 对于GMM,矩阵V使用提供的估计。 控制估计方法的选项有: FIML GMM ITGMM ITOLS 如果没有跨方程参数约束就和OLS相同。 ITSUR IT2SLS 如果没有跨方程参数约束就和2SLS相同。 IT3SLS KERNEL=(PARZEN|BART|QS,[c],[e]) KERNEL=PARZEN|BART|QS 规定GMM使用的KERNEL。 默认为KERNEL=(PARZEN,1,0.2). N2SLS|2SLS 使用2SLS。 这是有INSTRUMENTS语句时的默认方法。 N3SLS|3SLS OLS 使用OLS。 没有INSTRUMENTS语句时候的默认方法。 SUR VARDEF=N|WGT|DF|WDF 关于数据集的选项有: OUT=SAS-data-set 指定数据集存放残差,预测值。 默认存放残差。 有OUTPREDICT存放预测值。 OUTCOV COVOUT 把参数估计的协
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工具变量法 GMM估计 工具 变量 GMM 估计