异方差与R语言实践

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


文章目录

      • 异方差检验之怀特检验
        • 举个例子(R语言)
      • 异方差处理之加权最小二乘法
        • 举个例子(R语言)


异方差检验之怀特检验


在大样本情况下,将OLS估计后的残差平方作为新的被解释变量,常数、解释变量、解释变量的平方以及其交叉乘积等作为新的解释变量,共同构成辅助回归方程。利用辅助回归方程建立相应的怀特检验统计量来判断异方差性。
怀特检验的统计量:
w = n × R 2 ∼ C h i S q u a r e ( k ) w=n \times R^2 \sim ChiSquare(k) w=n×R2ChiSquare(k)
R2为辅助函数的决定系数;n为样本容量;k为辅助回归解释变量个数


举个例子(R语言)


数据模拟:

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语言实践_第1张图片

输入:

attach(testdf)

lm01 <- lm(y ~ x1 + x3)
summary(lm01)
e <- resid(lm01)
lm02 <- lm(e^2 ~ x1 + x3 + I(x1^2) + I(x3^2) + I(x1*x3))
(R2 <- summary(lm02)$r.sq)
(n <- nrow(lm02$model))
(m <- ncol(lm02$model))
(W <- n*R2)
(P <- 1 - pchisq(W, m - 1))
#p值为 0.002680794,拒绝原假设,则残差项存在异方差

输出:

异方差与R语言实践_第2张图片

由回归结果可知,调整后的R方为0.4985.

异方差与R语言实践_第3张图片
由结果可知,p值为 0.002680794,拒绝原假设,则残差项存在异方差。


异方差处理之加权最小二乘法


异方差与R语言实践_第4张图片

实际操作中,使用最多的权重形式是wi=1/ei2或wi=1/|ei|


举个例子(R语言)


输入:

#加权最小二乘
lm03 <- lm(y ~ x1 + x3, weights = 1/abs(e))
summary(lm03)

输出:

异方差与R语言实践_第5张图片

我们看到加权最小二乘得到的调整后的R方比普通最小二乘调整后的R方要高得多,拟合效果也比之前要好.

你可能感兴趣的:(统计学,R语言)