备课笔记-回归检验_第1页
备课笔记-回归检验_第2页
备课笔记-回归检验_第3页
备课笔记-回归检验_第4页
备课笔记-回归检验_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.ttest 二个样本独立T检验use /stat/stata/webbooks/reg/elemapi2ttest api00, by(yr_rnd)Two-sample t test with equal variances2.检查回归模型残差的正态性一般的观点是多元回归要求残差为正态分布。实际情况是,进行回归的有效性检验如t检验的P值、F检验的p值的情况下要求残差是正态性分布的,但回归系数估计的无偏性并不要求残差的正态性。OLS只要求残差项(误差项)独立同分布。此外,对X变量的正态分布假设也不是必要的,例如对虚拟变量的回归。当我们进行回归分析

2、时,通常用 predict 命令提取回归的残差项,并用kdensity, qnorm, pnorm等命令检验残差是否为正态分布。use /stat/stata/webbooks/reg/elemapi2 /api00:学术绩效;ell:英语学习人数;emer:拥有证书的教师比例;regress api00 meals ell emerpredict r, resid /用predict命令求得残差kdensity r, normal /用kdensity命令进行核心密度估计并生成核密度图,其中normal选项要求正态密度和计算的核密度叠加。核密度图可

3、以相像成是一系列无限小的柱状图组合而成。pnorm r / pnorm命令画出标准正态概率图(P-P)。pnorm对数据中段的非正态性非常敏感。qnorm r / qnorm命令画出变量的分位数(与分位数的正态分布相反)。qnorm对数据两端的非正态性比较敏感。从上面两张图可以看到,残差分布稍微偏离正态分布,接受残差分布为正态分布的假设。除图形检验外,还可以用数值方法检验分布的正态性。其中一个检验程序是由Lawrence C. Hamilton编写的,可以通过findit iqr命令将其从网络中搜寻并安装,或者在Stata中的帮助里查找iqr,找到后击相对应的程序再点击、install。iqr

4、 r另一个可用的检验是swilk命令,是Shapiro-Wilk W正态性检验,零假设为正态分布。swilk r从检验结果来看,p值非常大(p=0.51),表明不能拒绝零假设。3.检查残差的同方差(Checking Homoscedasticity of Residuals)OLS的一个主要假设是残差方差是齐次的,即同方差。如果模型拟合较好,残差图和拟合值应该是一致的。如果残差的方差不是常数,意味着残差方差为“异方差”(heteroscedastic)。可以用图形法,或者非图形法检测异方差。较常用的图形法是画出残差与拟合值,即rvfplot命令。rvfplot , yline(0) / yli

5、ne(0)选项指使用y=0作为参考线。从图上可以看到数据点分布基本均匀,只是右端有点窄,这时可认为是同方差。还有两个命令可以检验同方差,estat imtest和estat hettest。 第一个是White's test,第二个是Breusch-Pagan test。二者的零假设均为方差残差是同方差。因此,如果p值非常小,我们拒绝零假设,接受备择假设,即存在异方差。estat imtestestat hettest从上面的结果来看,拒绝了同方差的零假设。这两个检验对模型假设非常敏感,因此需要和图形诊断结合起来检验异方差,以及决定是否需要修正异方差。从前面的例子来看,图形分析结果不是

6、很明确。如何修正异方差,则需要用GLS(广义最小二乘法)、FGLS(可行广义最小二乘法)、WLS(加权最小二乘法)估计来解决,或者使用稳健标准差进行回归(Stata的命令是在回归时加上robust参数)。使用“OLS+稳健标准差”时对回归系数和标准差的估计都是一致的,并不需要知道条件方差函数的形式,在Stata中的操作也十分简单,在回归命令reg后加上选择项“robust”即可。从理论上来讲,GLS是BLUE,但FGLS即非线性估计,也不是无偏估计,因此它不是BLUE。FGLS必须先用用样本数据来一致地估计扰动项的协方差矩阵V(X),然后再使用GLS,因此也被称为可行加权最小二乘法(FWLS)

7、,有,其中V是V的一致估计,此时V是数据集(y, x)的非线性函数,因此FGLS是y的非线性函数,一般来说是有偏的。FWLS一般用于大样本理论中。FWLS的另一个缺点是必段估计条件方差函数Vari|xi,而通常情况下并不知道条件方差的具体形式,如果该函数的设定不正确,则根据FWLS计算的标准差可能失效从而导致不正确的推断。总之“OLS+稳健标准差”适用于更一般的情形,而FWLS更为有效,因此我们必须在稳健性和有效性之间作出选择。具体来说,如果对V的估计不准确,FWLS估计效果不如“OLS+稳健标准差”。Stock and Waston(2004)建议大多数情况下应该使用后者。下面是一个完整诊断

8、异方差和处理异方差的例子。use nerlve.dta, clearreg lntc lnq lnpl lnpk lnpfrvfplot /画残差与拟合值的散点图rvpplot lnq /画残差与解释变量的散点图从上面两个图均可以看到残差和拟合值、解释变量均存在较大的波动,很可能存在异方差。Estat imtest, white /怀特检验estat hettest, iid /默认设置为使用拟合值y检验,同时假定扰动项i独立同分布estat hettest, rhs iid /使用方程右边的解释变量进行检验estat hottest lnq, iid /各种BP检验结果的p值都拒绝同方差的原

9、假设在stata中实现WLS的方法如下:reg (被解释变量) (解释变量1) (解释变量2) aweight=变量名其中,aweight后面的变量就是权重,是我们设定的函数。一种经常的设定是假设扰动项的条件方差是所有解释变量的某个线性组合的指数函数。在stata中也可以方便地实现:首先做标准的OLS回归,并得到残差项;reg (被解释变量) (解释变量1) (解释变量2)predict r, resid生成新变量logusq,并用它对所有解释变量做回归,得到这个回归的拟合值,再对这个拟合值求指数函数;gen logusq=ln(r2)reg logusq (解释变量1) (解释变量2)pre

10、dict g, xbgen h=exp(g)最后以h作为权重做WLS回归;reg (被解释变量) (解释变量1) (解释变量2) aweight=h如果我们确切地知道扰动项的协方差矩阵的形式,那么GLS估计是最小方差线性无偏估计,是所有线性估计中最好的。显然它比OLS更有效率。虽然GLS有很多好处,但有一个致命弱点:就是一般而言我们不知道扰动项的协方差矩阵,因而无法保证结果的有效性。到现在我们已经有了两种处理异方差的方法:一是使用对异方差稳健的标准误调整t统计量,并以此作推断;另一种是设定异方差的形式,使用可行的GLS得到有效估计。下面总结一下标准的OLS估计同上述两种方法的优劣,并结合检验异

11、方差的方法,给出处理异方差的一般步骤。4.检查多重共线性(Checking for Multicollinearity)多重共线性指两个以上解释变量有较强的关联性,这意味着它们之间是可以相互替代的。我们主要关心多重共线性的程度有多少?因为从OLS估计的假设来看,多重共线性会导致回归系数标准误大幅增加,使得估计的回归系数不稳定。可以使用vif命令在回归完成后检验多重共线性。vif可以替代方差波动指标,如果VIF值大于10,说明存在多重共线性。一般来说VIF值在0.1-10之间是可以接受的,即因变量可以看成是其它自变量的线性组合。regress api00 meals ell emervif /共

12、线性检验结果可以接受regress api00 acs_k3 avg_ed grad_sch col_grad some_col /又一个例子vif /共线性检验结果可以接受从上面VIF和1/VIF(容忍度)的结果来看,avg_ed,grad_sch和col_grad变量的结果比较糟糕,所有这些衡量父母受教育程度的变量有较高的VIF值,这说明部分变量是过度加入的。例如,当得知rad_sch和col_grad的值时,能够求出avg_ed的值。因为在模型中放入了3个同样说明父母教育程度的变量,多重共线性情况就非常严重。去掉一个解释父母受教育平均程度的解释变量avg_ed,可以看到VIF值变得比较理

13、想。同样,也可以看到变量grad_sch和col_grad的回归标准误较之前面一个回归模型大幅减小,因为多重共线性会导致回归标准误大幅增加。当多重共线性情况消除后,变量grad_sch从不显著变变得显著了。regress api00 acs_k3 grad_sch col_grad some_colvif另一个检测多重共线性的命令为collin,它提供了几种不同的测量方法。我们可以检验上面两个回归模型中变量之间的共线性问题,可以看到,不像vif命令,collin命令不需要在回归之后进行,因此只有解释变量(predictor)可以进行共线性检验。Collin命令是第三方开发的,需要用前面说过的方

14、法(findit)安装。命令为findit collin,然后在弹出来的帮助窗口找到如下内容,点击后安装即可。collin acs_k3 avg_ed grad_sch col_grad some_col把VIF值最大的变量avg_ed删除再检验一次,结果显示良好。collin acs_k3 grad_sch col_grad some_col注:collin的帮助文件:-help for collin-Collinearity Diagnostics-collin varlist if exp in range , corr rinvDescriptioncollin computes se

15、veral collinearity diagnostic measures including VIF, tolerance, eigenvalues, condition index, and R-squared. It will compute the eigenvalues and condition index on either the raw SSCP with an intercept (default) or the deviation SSCP without an intercept.Optioncorr Eigenvalues and condition index c

16、omputed from correlation matrix without a constant. By default the eigenvalues and condition index are computed on the scaled raw score SSCP matrix with an intercept.rinv display inverse of correlation matrix.Examplescollin read write mathcollin read write math, corr rinvcollin read write math if ge

17、nder=1collin read write math if e(sample)5.线性检验(Checking Linearity)进行线性回归时,假设自变量和因变量都是线性的,这就是线性假设。如果该假设无效,回归估计将试图将自变量与因变量的关系拟合成一条直线而不是遵循线性关系。因为只有一个因变量,因此检验线性关系较为简单,只要看自变量和因变量的散点图是否存在线性关系即可。use /stat/stata/webbooks/reg/elemapi2regress api00 enrolltwoway (scatter api00 enroll) (l

18、fit api00 enroll) (lowess api00 enroll)用scatter命令看api00的拟合情况,lfit命令是显示线性拟合,lowess则是经过平滑修饰的拟合线,可以看到二者存在一定程度的非线性关系。对于多元回归而言,线性假设检验更复杂一些。较为直接的方法是回归之后将残差与每个自变量描绘在图上。如果能看到没有明显的线性关系,即存在非线性。此外还可以从散点图上看是否是随机分布的。仍然用elemapi2数据,用其它一些变量回归:regress api00 meals some_colpredict r, residscatter r mealsscatter r some

19、_col上面两个残差与解释变量的散点图说明残差与二个变量之间存在一定的线性关系,初步可以接受线性假设。命令acprplot是另一种检验非线性关系的方法。acprplot描绘出扩展的解释变量+残差图,可用于诊断数据的非线性关系。acprplot meals, lowess lsopts(bwidth(1) / lowess lsopts(bwidth(1)参数分别指使用平滑曲线表示拟合,lsopts(bwidth(1)指带宽平滑度设置为1.下面是帮助文件中具体的解释。帮助文件打开的是Postestimation tools for regress的相关内容,具体解释需要自己找一下。bwidth(

20、#) specifies the bandwidth. Centered subsets of bwidth()*N observations are used for calculating smoothed values for each point in the data except for end points, where smaller, uncentered subsets are used. The greater the bwidth(), the greater the smoothing. The default is 0.8.acprplot some_col, lo

21、wess lsopts(bwidth(1)第一张图中拟合的平滑曲线比较接近原始的回归线,说明是线性的。第二张图在拟合线的右侧存在非线性的问题,这也许是某个数据所造成的。总之二个变量都不存在明显的非线性问题。另外一个例子来自"Statistics with Stata 5" by Lawrence C. Hamilton (Duxbery Press, 1997)。use /stat/stata/examples/sws5/nations, cleardescriberegress birth gnpcap urban / birt

22、h指出生率,gnpcap指人均国民生产总值,urban指城市人口数量。acprplot gnpcap, lowessacprplot urban, lowess结果很明显。graph matrix birth gnpcap urban, half可以看到出生率和人均GDP,城市人口与人均GDP都存在明显的非线性关系,这时需要把人均GDP这一变量做些处理。首先看一下变量gnpcap的分布情况,用kdensity命令:kdensity gnpcap, normal /单变量核密度估计可以看到gnpcap的分布有较大左倾,这意味着需要对变量进行处理。通常的办法是取对数。generate lggnp=

23、log(gnpcap) /生成新变量lggnp,值为gnpcap的以10为底的对数;label variable lggnp "log-10 of gnpcap" /给新变量加上标签,这会显示在变量栏里; kdensity lggnp, normal经过取对数转换后好多了。用新的变量lggnp加入回归。regress birth lggnp urbanacprplot lggnp, lowess可以看到,尽管仍然存在非线性问题,但较之以前情况有了很大改善。6 模型设定检验(Model Specification)当模型忽略了重要变量,或者无关变量加入回归方程都会导致模型设定错误。前者会导致将有效变量的共同方差归到现有的变量当中,且误差项的方差包含了重要变量,因此会变得较大。后者则会导致正确变量的方差错误地归结无关变量上。模型设定错误会显著影响系数估计。下面的模型要验证班级规模对成绩有正向影响,即班级规模越大,成绩会越高。看一到模型设定。use /stat/stata/webbooks/reg/elemapi2, clearregress api00 acs_k3有两种办法检验模型设定。 linktest命令可以对单方程的模型设定进行检验,它的基本思想是如果模型设定正确,其它变量很少有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论