zoukankan      html  css  js  c++  java
  • R WLS矫正方差非齐《回归分析与线性统计模型》page115

    rm(list = ls())
    A = read.csv("data115.csv")
    fm = lm(y~x1+x2,data = A)
    coef(fm)
    A.cooks = cooks.distance(fm) #计算cook距离
    new_A = cbind(A,A.cooks) #把原始数据与cook距离放在一个数据框中查看
    new_A[order(A.cooks,decreasing = T),]#按cook距离降序排列

    显示西藏地区数据对应的cook统计量明显过大,不能放入建模分析中

    A = A[-26,] #剔除西藏数据
    fm1 = lm(y~x1+x2,data = A)
    summary(fm1)
    anova(fm1) 
    

     

    进行正态性检验、残差分析

    par(mfrow=c(2,2))
    e = resid(fm1)
    d = e/sqrt(deviance(fm1)/27) #标准化残差
    hist(d,probability = T)      #绘制回归标准化残差概率图
    lines(density(d),col='red')  #添加回归线
    
    qqnorm(d) #QQ图正态性检验
    qqline(d) #添加趋势线
    
    r = rstudent(fm1)
    plot(A$y,r,ylim = c(-1,4),xlim = c(1000,6000)) #标准化残差关于响应变量图
    

      

     显示存在异方差

    利用WLS修正异方差

    #利用WLS修正异方差
    se = deviance(fm1)/30  #计算全模型的1/n残差平方和
    #S1
    A1 = A[A$jbh==1,]
    lm1 = lm(y~x1+x2,data = A1)
    sig1 = deviance(lm1)/lm1$df #σ^2的估计
    csq1 = sig1/se              #WLS方法所需要的权重
    #S2
    A2 = A[A$jbh==2,]
    lm2 = lm(y~x1+x2,data = A2)
    sig2 = deviance(lm2)/lm2$df
    csq2 = sig2/se
    #S3
    A3 = A[A$jbh==3,]
    lm3 = lm(y~x1+x2,data = A3)
    sig3 = deviance(lm3)/lm3$df
    csq3 = sig3/se
    #S4
    A4 = A[A$jbh==4,]
    lm4 = lm(y~x1+x2,data = A4)
    sig4 = deviance(lm4)/lm4$df
    csq4 = sig4/se
    

      人均教育经费数据WLS估计结果:

    #人均教育经费数据WLS估计结果
    nj = c(nrow(A1),nrow(A2),nrow(A3),nrow(A4))
    cj = c(csq1,csq2,csq3,csq4) #权重
    #数据变换,除以相应的权重
    Y = c(A1$y/cj[1],A2$y/cj[2],A3$y/cj[3],A4$y/cj[4])
    X1 = c(A1$x1/cj[1],A2$x1/cj[2],A3$x1/cj[3],A4$x1/cj[4])
    X2 = c(A1$x2/cj[1],A2$x2/cj[2],A3$x2/cj[3],A4$x2/cj[4])
    
    lm_res = lm(Y~X1+X2)
    summary(lm_res)
    

      

    #残差分析、正态性检验
    par(mfrow=c(2,2))
    e = resid(lm_res)
    d = e/sqrt(deviance(lm_res)/27) #标准化残差
    hist(d,probability = T)      #绘制回归标准化残差概率图
    lines(density(d),col='red')  #添加回归线
    
    qqnorm(d) #QQ图正态性检验
    qqline(d) #添加趋势线
    
    r = rstudent(lm_res)
    plot(Y,r) #回归学生化残差-响应变量散点图
    

      

  • 相关阅读:
    PHP定时备份MySQL,mysqldump语法大全
    虚拟机拷贝之后,发现系统内的开机自启动的nginx,不能自启动了
    八:二叉搜索树的后序遍历
    配置Ubuntu开发环境
    poj 1147 Binary codes
    test
    Python标准库:内置函数reversed(seq)
    Matplotlib 工具包 使用教程索引
    6大设计原则(1):单一职责原则
    hdu 4104
  • 原文地址:https://www.cnblogs.com/jiaxinwei/p/11758137.html
Copyright © 2011-2022 走看看