美文网首页
线性回归异方差问题,如何修正!

线性回归异方差问题,如何修正!

作者: 小易学统计 | 来源:发表于2021-11-16 08:06 被阅读0次

转自个人微信公粽号【易学统计】的统计学习笔记:线性回归异方差问题,如何修正!
题记:本文是个人的读书笔记,仅用于学习交流使用。

01 研究问题

本文接自多元线性回归,异方差怎么处理?加权最小二乘法,这篇文章有小伙伴后台留言问我,关于加权权重如何获取的问题,对于高纬变量的话,经验筛选权重有点复杂,今天分享一个常用的权重获取计算算法,是用R实现。关于异方差的基本知识,可以参考这篇文献,这里不再赘述。

02 两种修正方法

一般来讲,修正异方差的方法有两种:一种是OLS+稳健标准误;一种是加权最小二乘法(WLS)。前者较为简单,根据陈强老师《高级计量经济学》中的描述,
“只要样本容量较大,即使在异方差的情况下,若使用稳健标准误,则所有参数估计、假设检验均可照常进行”,加权最小二乘法过程如下:

03 案例说明

加载数据

dt <- read.csv('加权最小二乘法.csv',stringsAsFactors=F)
fit <- lm(dt$Cancer~.,data=dt)  #构建多元线性回归
  1. 最小二乘法回归,并计算残差r
r <- residuals(fit)
  1. 计算数据残差的平方,即r2
r2 <- r^2
  1. 对r2取对数(log)作为因变量,并对解释变量做辅助回归(不显著的变量去掉)
logr <- log(r2,10)
  1. 计算辅助回归的拟合值G
temp1 <- data.frame(group=logr,dt[,-1])
fit1 <- lm(group~.,data = temp1)
  1. 对G做指数化处理,定义H=exp(G)
G = fit1$fitted.values
H <- exp(G)
  1. 以1/H为权重做加权最小二乘法回归。
fit.w <- lm(dt$Cancer~.,data=dt,weights = 1/H)  #构建多元线性回归
summary(fit.w) ##结果如下
1623049244(1).png
  1. 模型异方差诊断
car::ncvTest(fit.w) 
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 0.1929519, Df = 1, p = 0.66047
##P >0.05,说明修正后的模型方差符合要求。

04 总结

对比本次分析的结果和多元线性回归,异方差怎么处理?加权最小二乘法,模型的回归结果和R^2基本保持一致,之前分析结果如下:

1623049639(1).png
上述整个过程叫做可行加权最小二乘法(FWLS)的处理过程。
更多统计小知识,请关看 公粽号 易学统计

更多阅读

R语言:样条回归构建
R语言|广义相加模型(GAM)
R语言:多水平统计模型
R语言:广义估计方程(GEE)
R语言|两因素重复测量方差分析
R语言|基于Cox模型pec包深度验证
R语言|中位生存时间列线图绘制
R语言|Cox模型校准度曲线绘制
R语言|中位生存时间列线图绘制
基于Lasso回归筛选变量构建Cox模型并绘制Nomogram
R语言Logistic回归模型验证及Nomogram绘制
如何进行高维变量筛选和特征选择(一)?Lasso回归

相关文章

网友评论

      本文标题:线性回归异方差问题,如何修正!

      本文链接:https://www.haomeiwen.com/subject/zgnctrtx.html