欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

误差相关性与R语言

程序员文章站 2022-04-03 19:42:40
...

鄙人学习笔记
参考文献:《计量经济学模型及R语言应用》-王斌会
误差相关性理论指路:放宽基本假定的模型



误差自相关性检验

D-W检验

DW取值在不同区间内的误差相关性情况:
误差相关性与R语言
图示:
误差相关性与R语言

显然,DW ≈ 2(1-ρ),根据DW也可以近似计算出ρ ≈ 1 - DW/2

则:

误差相关性与R语言

拉格朗日乘数检验

误差相关性与R语言

举个例子1(DW检验)

模拟的数据:

n = 30
x0 <- c(1:n)
testdf <- data.frame(y = 0.5 + 0.2*x0 + rnorm(n, 0, 0.1)*x0,
                     x1 = x0*rnorm(n, 1, 0.1),
                     x3 = rnorm(n, 10, 5))

误差相关性与R语言

输入:

#误差自相关检验
library(lmtest)

#D-W检验
lm04 <- lm(y ~ x1 + x3)
dwtest(lm04)

输出:

误差相关性与R语言
由结果可知DW值为1.869,接近2。且p值为0.2924,大于0.05的显著性水平,说明残差不存在一阶自相关。

举个例子2(拉格朗日乘数检验)

输入:

#拉格朗日乘数法
bgtest(lm04, order = 1)
bgtest(lm04, order = 3)

输出:

误差相关性与R语言
我们看到一阶和三阶检验的拉格朗日乘数值均较小,且P值均大于0.05的显著性水平,则不存在一阶和三阶自相关。

误差相关性处理方法

Durbin两步估计法

对于一元回归方程:
误差相关性与R语言

如果它的残差项存在一阶自相关:
误差相关性与R语言
则我们利用Durbin两步法进行估计:
误差相关性与R语言

令a0= b0 (1-ρ), a1= b1, a2= -b1 ρ,则模型变为:
误差相关性与R语言
对上式进行OLS估计,就可以得到原模型的估计参数。

举个例子(Durbin两步估计法)

模拟的数据:

n = 15
x0 <- rnorm(n, 2, 0.1)
x01 <- c(55,52,42,32,37,36,57,66,66,62,45,77,78,60,65)
testdf <- data.frame(y = 5 + 8*x0 + x01*0.1,
                     x1 = x0,
                     x3 = rnorm(n, 3, 1))

误差相关性与R语言

输入1:

#D-W检验
lm01 <- lm(y ~ x1)
summary(lm01)
dwtest(lm01)

输出1:
误差相关性与R语言

误差相关性与R语言
由回归结果中调整后的R方可知,都小于0了好么,非常差了好么~
由相关性检验结果可知DW值为0.77536,接近0。且p值为0.00385,小于0.05的显著性水平,说明残差存在一阶自相关。

输入2:

#Durbin两步法
yt <- y[-1];yt_1 <- y[1:(n-1)]
xt <- x1[-1];xt_1 <- x1[1:(n-1)]

lm02 <- lm(yt ~ yt_1 + xt + xt_1)
summary(lm02)
dwtest(lm02)
bgtest(lm02, order = 1)

输出2:
误差相关性与R语言
误差相关性与R语言

回归方程为:

误差相关性与R语言

由回归结果中调整后的R方可知,为0.2745,比之前好多了~
由D-W检验结果可知DW值为2.0597,接近2,且p值为0.501,大于0.05的显著性水平,说明新构建模型的残差不存在一阶自相关。由拉格朗日乘数检验可知,P值大于0.05的显著性水平,同样说明残差项不存在一阶自相关。