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

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

作者: 小易学统计 | 来源:发表于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