大样本OLS模型假设及R实现
1. 回归模型及假设
1. 回归模型:
见 https://blog.csdn.net/dataxc/article/details/107047611
2. 大样本OLS假设
(1)线性假设
(2) K +1维随机过程{Yi,Xi1,Xi2,……,Xik}为渐近独立的平稳过程(即统计特性如期望、方差等不随时间改变),故适用大数定律(频率趋近于概率)与中心极限定理(样本均值的分布趋近于正态分布)。
(3)所有解释变量(自变量)均为“前定”(predetermined),也称“同期外生”
(contemporaneously exogenous),即它们与同期(同方程)的扰动项正交,即Xik与Ei不相关。
(4)自变量Xi系数构成的矩阵 X 满列秩,即X 中没有多余(可由其他变量线性表出)的解释变量,即不存在严格多重共线性。
2. 回归模型的检验及处理
1. 异方差
1. 异方差的后果
(1) OLS 估计量依然无偏、一致且渐近正态。因为在证明这些性质时,并未用到“同方差”的假定。
(2) OLS 估计量方差表达式不再是原表达式,t检验,F检验失效;也就是说,你的得到的t值,F值错误。
(3) 高斯-马尔可夫定理不再成立,OLS 不再是 BLUE(最佳线性无偏估计)。也就是得到的方程不是最佳的。
2. 异方差的检验
(1)直观法——绘制残差图
(2)R提供了非常多种检验异方差的包。如,扩展包lmtest中采用bptest()函数;car包中采用ncv.test()函数
model1 <- lm( y ~ X1 + X2 + …… + Xn) # 构建回归模型
library(lmtest)
bptest(model1) #bp检验
bptest(model1,studentize=FALSE) #不采用学生化残差进行修正
3. 异方差的处理
(1)使用OLS+稳健标准误。一般的,我们使用white一致标准误来做假设检验。 为了计算异方差一致性的协方差矩阵,我们可以利用car包中的hccm()函数; sandwich包中的vcovHC()命令可以实现同样的功能。同时利用vcovHAC()或者NeweyWest()函数可以进行异方差和自相关稳健性Newey—West估计。
library(sandwich)
model1 <- lm( y ~ X1 + X2 + …… + Xn)
summary (model1)
NeweyWest(model1)
result1 <- coeftest (model1, vcov = NeweyWest(model1))
print (result1) #计算稳健标准误
summary (model1)
(2)加权最小二乘法(WLS)、可行加权最小二乘法(FWLS)等
2. 多重共线性:
判断:
(1)方差膨胀因子
一般标准:
①当0<VIF≤5时,没有多重共线性;
②当5<VIF≤10时,有较弱的多重共线性;
③当10<VIF≤100时,有中等或较强的多重共线性;
④当VIF>100时,有非常严重的多重共线性。
vif>=10时 , 就说明自变量Xi与其他变量之间有严重的多重共线性,且这种多重共线性可能会过度地影响最小二乘估计值。
data(swiss)
head(TRUE)
model1 <- lm(Fertility~ Agriculture + Examination + Education, data=swiss)
summary(model1)
library(car)
vif(model1)
(2)特征根判定法
通常认为条件数kappa;100k<100时,设计矩阵XX多重共线性的程度很小;100≤k≤1000100≤k≤1000时,设计矩阵XX存在较强的多重共线性;k>1000k>1000时,存在严重的多重共线性。
data(swiss)
head(TRUE)
model1 <- lm(Fertility~ Agriculture + Examination + Education, data=swiss)
kappa(model1,exact=TRUE)
根据条件数大于1000,说明自变量之间存在严重的多重共线性。为找出哪些变量是多重共线性的,需要计算矩阵的特征值和相应的特征向量,在R命令窗口下面代码:
eigen(model1) #需要方阵才能判断哪些变量存在多重共线性行?
(1)如在模型中引入解释变量的平方项、过多交互项,则易引起多重共线性,因为X与X^2,较相关。
(2)在模型中加入哑变量也容易引起多重共线性,因哑变量之间较相关。
多重共线性处理方法:
(1)如不关心具体的回归系数,只关心整个方程的预测能力,可不必理会多重共线性(假设整个方程显著)。多重共线性的主要后果是使得对单个变量的贡献估计不准,但所有变量的整体效应仍可较准确地估计。
(2) 如关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,也可不必理会。在方差膨胀的情况下,系数依然显著;如没有多重共线性,只会更显著。
(3)如多重共线性影响所关心变量的显著性,应设法进行处理。比如,增大样本容量,剔除导致严重共线性的变量,将变量标准化(详见下文),或对模型设定进行修改。
(4)解释变量之间的相关性普遍存在,在一定程度上也是允许的。处理多重共线性的最常见方法是“无为而治”(do nothing)。
3. 极端值:
判断:
(1)绘制散点图;
(2)outlierTest()等,如果p>0.05,可以认为没有离群点;若p<0.05,则存在离群点。
(2)回归过后发现无法解释的地方,如系数相反了、不显著了……
极端值的处理方法:
(1)应检查是否因数据输入有误导致极端观测值。
(2)对极端观测值的个体进行背景调查,看是否由与研究课
题无关的特殊现象所致,必要时可删除极端数据。
(3)比较稳健的做法是同时汇报“全样本”(full sample)与删
除极端数据后的“子样本”(subsample)的回归结果,让读者自己
做判断。
4. 其他问题
(1)缺失值
在进行分析时,软件会会自动将缺失的观测值从样本中去掉,导致样本容量损失。
回归的时候需要特意看一下实际回归分析的样本数
(2)变量单位(数量级)的选择
例:假如分析、年龄等收入(日元)对心理健康评分的影响。
影响:
(1)收入的系数会很小,保留小数时会出现系数为0的情况;
(2)数据矩阵X中某列的数值是另一列的很多倍,可能使计算机在对矩阵进行数值计算时出现较大误差。
(3)自相关
可能存在自相关的情形
(1)时间序列数据
(2)空间自相关(如传染病数据)
(3)对数据的人为处理:如果数据中包含移动平均数(moving
average)、内插值或季节调整时,可从理论上判断存在自相关。
自相关的后果:同异方差
处理:见https://blog.csdn.net/dataxc/article/details/107047611
**参考:
陈强:《高级计量经济学》
Robert I. Kabacoff ,高涛等:《R语言实战》
其他互联网资料https://blog.csdn.net/u013524655/article/details/41219283等