讲义-sas多重共线性、异方差、自相关
- 格式:doc
- 大小:156.00 KB
- 文档页数:5
Ch5 双变量回归的区间估计与假设检验 (Interval estimation and hypothesis test) 第三章的OLS 得到如下模型:1224.45450.5091i i iY X X ββ∧∧=+=+上述模型中(MPC)2β∧=0.5091,与2β的差距有多大?(虽然E(2β∧)=2β)。
寻找δ和α(0<α<1)使随机区间(2β∧-δ,2β∧+δ)包含2β的概率为1-α 一、区间估计我们是否能找到一个区间,使其包含真值。
22222()1(,)P βδββδαβδβδ∧∧∧∧-≤≤+=--+为置信区间*置信区间是随机的。
二、12ββ和的置信区间2β的置信区间:222~(,())N V a r βββ∧∧222~(0,1)()z N se ββσβ∧∧-==因σ未知,则:22222()tseββσβββσ∧∧∧∧--===~遵循自由度为n-2的t分布。
用t分布建立2β的置信区间22()1p t t tααα-≤≤=-给定α,可以确定一个临界值2tα,t在此区间[-2tα,2tα]的概率为1-α。
22222()1()p t tseααββαβ∧∧--≤≤=-2222222222(()())1100(1)()p t se t set seαααβββββαβαββ∧∧∧∧∧⇒-≤≤+=-⇒-±2的置信区间为:同理可推出1β的置信区间:112()t seαββ∧∧±注:置信区间宽度的决定因素:22()t se αβ∧(==)在支出一收入一例中220.5091,()0.0357,8.5%se df ββα∧∧====取22.306t α=则;2(0.5091 2.3060.03570.5091 2.3060.0357)15%p β-⨯≤≤+⨯=-2(0.42680.5914)95%p β≤≤=解释:从长远看,在类似于(0.4268,0.5914)的每100个区间,将有95个包含真实的2β值。
第5章、违背基本假设的问题:多重共线性、异方差和自相关回顾并再次记住最小二乘法(LS)的三个基本假设:1.y=Xβ+ε2.Rank(X)=K3.ε|X~N(0,σ2I)§1、多重共线性(multicollinearity)1、含义及后果1)完全的多重共线性如果存在完全的多重共线性(perfect multicollinearity),即在X中存在不完全为0的a i,使得a1x1+…+a K x K=0即X的列向量之间存在线性相关。
因此,有Rank(X)<K,从而|X’X|=0,即b=(X’X)-1X’y不存在,OLS失效。
也即违背了基本假设2。
例子:C=β1+β2nonlabor income + β3salary +β4income + ε2)近似共线性常见为近似共线性,即a 1x 1+…+a K x K ≈0 则有|X’X|≈0,那么(X’X)-1对角线元素较大。
由于21|[,(')]b X N X X βσ- , 21|[,(')]k k kkb X N X X βσ- ,所以b k 的方差将较大。
例子:Longley 是著名例子。
2、检验方法1)VIF 法(方差膨胀因子法,variance inflation factor )第j 个解释变量的VIF 定义为21V IF 1j jR=-此处2j R 是第j 个解释变量对其他解释变量进行回归的确定系数。
若2j R 接近于1,那么VIF 数值将较大,说明第j 个解释变量与其他解释变量之间存在线性关系。
从而,可以用VIF 来度量多重共线性的严重程度。
当2jR 大于0.9,也就是VIF 大于10时,认为自变量之间存在比较严重的多重共线性。
K 个解释变量,就有K 个VIF 。
可以计算K 个VIF 的平均值。
若大于10,认为存在比较严重的多重共线性。
VIF方法直观,但是Eviews不能直接计算VIF的数值。
需要逐个进行回归,较为麻烦。
异方差:(Heteroscedasticity)一如何检测?①假设我们做一个回归,求出β1、β2、β3,然后返回求出序列{Ut},现在要检测{Ut}是不是异方差的。
②设立辅助方程:既然假设是异方差,那么我们就假设{Ut}与X存在某种关系,这种关系比较复杂,只要我们证明α1、α2、α3……不为0,即可③构建新的统计量:T·R2,先人曾经证明过其服从 卡方(m)分布。
④最后将算出来的T·R2值与卡方分布的临界值比较,……。
二、如何应对?①如果异方差的形式已知,我们可以通过GLS(广义二乘法)来处理:举例说明:②如果异方差的形式未知自相关:(Autocorrelation)一如何检测?我们直接可以看DW值,注意这个ρ值is the残差项之间的estimated correlation coefficient.也可以用另外一种方法:二如何应对?①如果自相关的形式已知•If the form of the autocorrelation is known, we could use a GLS procedureBut such procedures that “correct” for autocorrelation require assumptions about the form of the autocorrelation.②未知:构建动态模型,如:三多重共线性:(Multicollinearity)①如何检测:look at the matrix of correlations between the individual variables.另外:R2 will be high but the individual coefficients will have high standard errors也可能存在多重共线性。
②如何解决:。
1.如何输出结果/*ols regression*/proc reg data =new sse outest =outest1;model Y=x2 x3 x4 x5 x6 x7 /dw ;output out =out1 r =e p =ey;title 'ols regression';run ;(1) 由outest 输出的数据集outest1可输出衡量模型优劣的指标_RSQ_、_RMSE_,同时可输出模型的残差平方和_SSE_和回归的各参数的系数。
(2) 如何将残差序列和拟合值序列输出到一个数据集中,使用以下语句可以实现。
output out =out1 r =e p =ey;(3) 对于结构检验中分步回归求Chow 检验统计量,可分别输出每一步的_SSE_到一个数据集中,再合并数据集计算Chow 检验统计量。
2.多重共线检验对于方差膨胀因子检验法(VIF )、容忍度检验法(TOL )、条件数法在讲义二中已讲过,且较简单就不再赘述了。
现在主要说明一下主分量法。
proc princomp data =new out =result outstat =stat;proc print data =stat;title 'Multicollinearity test for princomp'; run ;proc reg data =new pcomit =1 outest =outestmc ;model Y= x2 x3 x4 x5 x6 x7; output out =result1 p =yyy r =rrr;run ;(1)outstat= stat ,生成一个包含均值、标准差、观测个数、相关阵或协差阵、特征值和特征向量的输出数据集;(2)进行主分量回归时,k 为不进入分析的主分量个数,model 后用因变量和所有的自变量回归,机理是选择的主分量是原自变量的线性组合,程序先将因变量和主分量回归,然后在程序显示结果上表示为因变量和原自变量的关系。
3.异方差检验(1) 模型存在异方差时,设其扰动项的方差协方差矩阵为⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡σσσ=Ωσ='=2n 22212...000.....000...00)u u (E )u (Var 故b 的协方差矩阵为121)X X ](X )(X [)X X ()b (Var --'''=Ωσ,要估计量∑'='=i i i 2i 2x x n 1n XX σΩσ∑,White 在1980年得出估计量∑'=ii i 2i 0x x e n 1S 是∑的一致估计量。
故得到101)X X (S )X X (n )b (Var .Est --''=,这时不能用同方差时的F检验,用WALD 检验量)Rb (}R ))b (Var .Est (R {)Rb (W 1-''=检验。
关键在于估计怀特估计量,程序为:proc reg data =new sse outest =outestacov;model Y=x2 x3 x4 x5 x6 x7 /acov ;output out =out1 r =e p =ey;title 'ols regression';run ;输出结果中的方差矩阵即为Est.V ar(b ),可通过计算求出统计量W 。
(2)White 检验与修正的Breusch-Pagan (Koenker-Bassett )检验/*white 检验和 Breusch-pagan-Goldfreg 检验*/proc model data =new;parms const bata2 bata3 bata4 bata5 bata6 bata7; Y=const+bata2*x2+bata3*x3+bata4*x4+bata5*x5+bata6*x6+bata7*x7; fit Y/white breusch =(1 x2 x3 x4 x5 x6 x7);run ;(3) 集团法(Goldfold-Quandt 检验)220:σσ=i H 同方差。
22i 1:H σ≠σ异方差。
将样本数据分为两个集团:2c n ~1-为第I 集团和n ~2c n +为第II 集团,对第I 集团和第II 集团分别回归,得到残差平方和分别为1e e '和2e e '。
程序为data goldqut;set out1;proc sort ;by x2 ;proc print ;run ;data m1 m2;set goldqut;if _n_<=9 then output m1; if 21<=_n_<=29 then output m2;proc print ;run ;通过排序和划分数据集后,可以根据定义逐步计算检验统计量。
(4) Glasjer 检验(a )假定。
根据经验判断,认为经济中异方差可能存在三种形式。
)Z (i 22i α'σ=σ线性2i 22i )Z (α'σ=σ二次函数i Z 22i e α'σ=σ指数(b )步骤。
将Y 与2X 、3X 、4X 、5X 、6X 、7X 用普通最小二乘法得到残差序列:n 21e ,...,e ,e 。
)Z ,...,Z ,Z (Z p 21=,i Z 选择原模型的解释变量2X 、3X 、4X 、5X 、6X 、7X 。
分别作以下三种回归:i p p 1102i Z ...Z e ν+α++α+α=i p p 110i Z ...Z e ν+α++α+α=i p p 110i Z ...Z e ln ν+α++α+α=得到α的估计量a ,计算Wald 统计量。
)p (~a ]}a [Var {a W 21α-χ'=现在的关键还是求出方差的估计量data a;set out1;eee=e*e;run ;proc print ;run ;proc reg data =a outest =outest3(keep=intercept x2 x3 x4 x5 x6 x7 ); model eee=x2 x3 x4 x5 x6 x7;output out =out3 p =p3 r =e3;run ;data t1;set outest3;inter=intercept;drop intercept;proc print ;run ; data b;set out3; newx21=e3*x2;newx31=e3*x3;newx41=e3*x4;newx51=e3*x5; newx61=e3*x6;newx71=e3*x7;newe31=e3;proc print ;run ;proc iml ; use b; read all into matrix1;x=2:8;y=14:20;z=1:29; nxx1=matrix1[z,x]; ns1=matrix1[z,y]; use t1;read all into matrix2; white1=inv(nxx1`*nxx1)*(ns1`*ns1)*inv(nxx1`*nxx1); wald1=matrix2*inv(white1)*(matrix2`);print white1 white2; quit ;(5) GLS开方可用程序 21a**.可根据定义自己编程,并不复杂。
4.自相关检验(1)DW 检验proc reg data =new sse outest =outest;model Y=x2 x3 x4 x5 x6 x7 /dw ;output out =out1 r =e p =ey;title 'ols regression'; run ;也可根据定义编程求解。
(2) B-G 检验(Breusch-Goldfreg 检验)假设检验:0H (无自相关)1H (有自相关)检验步骤:(1)将Y 与X 作普通最小二乘法回归得残差序列T e ,...,e ,e 21。
(2)将X 1,e ,...,e e p t t t --与作普通最小二乘法回归,回归得到2R(3)计算统计量)p (~TR 22αχ,T 为样本容量。
根据数据情况确定滞后阶数p ,可根据靳老师上课讲的确定方法确定。
通常时间序列资料受到季节因素的影响,取p=4。
由于其的检验方法简单,不详细讲解编程了。
(3)Box-Pierce 检验假设检验:0H (无自相关)1H (有自相关)检验步骤:(1)将Y 与X 作普通最小二乘法回归得残差序列T e ,...,e ,e 21。
(2)计算样本的自相关系数∑∑=-T t T t t e e e r 12211,∑∑=-T t T t t e e e r 12222,...,∑∑=-T t TL t t L e e e r 122 (3)检验统计量:)L (~r T Q Lj j 212χ∑== 如何对向量的分量求和,程序如下:proc means data =lagdata;var elage11 elage2 elage3;output out=sume sum=selage11 selage2 selage3;run;(5)存在自相关时的处理proc autoreg data=m1;model Y=x2 x3 x4 x5 /nlag=10backstep method=YW ;title'autoreg for YW';run;method=<>用来表示使用的估计方法,选项包括: ML,极大似然;YW,Yule-Walker 估计法;ITYW,迭代Yule-Walker估计法。
这些方法都是带滞后变量的后续内容,只要知道如何处理就可以了。