在建立实际问题的回归模型时,经常存在于此假设想违背的情况,一种是计量经济模型中常说的异方差性,即
诊断方法
1.残差图分析法
data4.3<-read.csv("C:/Users/Administrator/Desktop/data4.3.csv",head=TRUE)
lm4.3<-lm(y~x,data=data4.3)
summary(lm4.3)
e<-resid(lm4.3) # 计算残差
attach(data4.3)
plot(x,e,ylim=c(-500,500))
abline(h=c(0),lty=5) # 添加虚线e=0
detach(data4.3)
输出结果为:
从残差图看出,误差项具有明显的异方差性,误差随着
的增加呈现出增加态势。
2.等级相关系数法
等级相关系数法又称为斯皮尔曼(Spearman)检验,是一种应用较广泛的方法。进行等级相关系数检验通常有三个步骤:
1.做
关于
的普通最小二乘回归,求出
的值;
2.取
的绝对值,分别把
和
按递增或者递减的次序排列后分成等级。按照下面公式计算出等级相关系数
式中,
为对应于
和
的等级的差数。
3.做等级相关系数的显著性检验。在
的情况下,用下面公式对样本等级相关系数
进行
检验。检验的统计量为
如果
,可以认为异方差性问题不存在;反之则存在问题。
代码实现如下:
abse<-abs(e)
cor.test(data4.3$x,abse,alternative="two.sided",method="spearman",conf.level=0.95)
输出结果如下:
从以上结果中看到,等级相关系数
,
值为
,认为残差绝对值与自变量显著相关,存在异方差。
消除异方差的方法
1.一元加权最小二乘估计
加权最小二乘法(Weighted Least Square,WLS)是一种常用的消除异方差性的方法。
对于一元线性回归方程来说,普通最小二乘法的离差平方和为
其中,每个观测值的权值相同。
在等方差的条件下,平方和总的每一项的地位是相同的。
然而,在异方差的条件下,平方和中的每一项的地位是不同的,误差项方差
大的项,在上式平方和中的作用就偏大,因而普通最小二乘估计的回归线就被拉向方差大的项,而方差小的项的拟合程度就差。加权最小二乘法是在平方和中加入一个适当的权值
以调整各项在平方和中的作用。
一元线性回归的加权最小二乘的离差平方和为
另外,如果所有的权值相等,即
都等于某个常数,该方法就成为普通最小二乘法。
在使用加权最小二乘法时,为了相处异方差的影响,可知观测值的权值应该是观测值误差项方差的倒数,即
在实际问题的研究种,误差项的方差
通常识未知的,但是当武昌项方差随自变量水平以系统的形式变化时,我们可以利用这种关系。
例如,已知误差项方差
与
成比例时,那么
,其中
为比例系数。
权值就为
因为比例系数
在参数估计中可以小区,所以可以直接使用权值
在社会、经济研究中,经常会遇到这种特殊的权值,即误差项方差与
的幂函数
成比例,此时权函数为
代码实现如下:
s<-seq(-2,2,0.5)
result1<-vector(length=9,mode="list")
# 生成一个列表向量,以存储下面循环中回归方程估计的似然统计结果
result2<-vector(length=9,mode="list")
# 生成一个列表向量,以存储下面循环中回归方程的估计系数及显著性检验等结果
for(j in 1:9)
{w<-data4.3$x^(-s[j]) # 计算权向量
lm4<-lm(y~x,weights=w,data4.3) # 使用加权最小二乘估计建立回归方程
result1[[j]]<-logLik(lm4)
# 将第j次计算的对数似然统计量保存到result1的第j个元素中
result2[[j]]<-summary(lm4)}
# 将第j次建立的回归方程的结果保存到result2的第j个元素中
输出结果如下:
根据上述输出结果可知,
取到第8个值即
时对数似然函数达到极大值,因而指数
的最优取值为1.5。
残差图如下所示:
比较普通残差图和加权最小残差图,我们可能看不出两张图之间的差异。但通过残差的比较得知,加权二乘估计照顾小残差项是以牺牲大残差项为代价的。
这里需要注意的是当回归模型存在异方差性时,加权最小二乘估计只是对普通最小二乘估计的改进,这种改进可能是细微的,不能理解为加权最小二乘估计一定会得到与普通最小二乘估计渐染不同的回归方程,或者一定有大幅度的改进。
2.多元加权最小二乘估计
data3.2<-read.csv("C:/Users/Administrator/Desktop/data3.2.csv",head=TRUE)
lm3.2<-lm(y~x1+x2,data=data3.2)
summary(lm3.2)
e<-resid(lm3.2)
abse<-abs(e)
输出结果:
从输出结果中看出,残差绝对值与自变量
的等级相关系数为
,残差绝对值与自变量
的等级相关系数为
,因而选择
构造权函数。
s<-seq(1,5,0.5)
result1<-vector(length=9,mode="list")
# 生成一个列表向量,以存储下面循环中回归方程估计的似然统计结果
result2<-vector(length=9,mode="list")
# 生成一个列表向量,以存储下面循环中回归方程的估计系数及显著性检验等结果
for(j in 1:9)
{w<-data3.2$x2^(-s[j]) # 计算权向量
lm4<-lm(y~x1+x2,weights=w,data3.2) # 使用加权最小二乘估计建立回归方程
result1[[j]]<-logLik(lm4)
# 将第j次计算的对数似然统计量保存到result1的第j个元素中
result2[[j]]<-summary(lm4)}
# 将第j次建立的回归方程的结果保存到result2的第j个元素中
输出结果:
可以知道当
时,取得最优值。
根据以上输出结果,加权最小二乘的
;而普通最小二乘估计的
。这说明对该例子中的数据进行加权最小二乘估计的拟合效果好于普通最小二乘估计的效果。