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) #回归学生化残差-响应变量散点图

  

R WLS矫正方差非齐《回归分析与线性统计模型》page115的更多相关文章

  1. R语言 方差稳定化变换与线性变换 《回归分析与线性统计模型》page96

    > rm(list = ls()) > A=read.csv("data96.csv") > A Y N 1 11 0.0950 2 7 0.1920 3 7 0 ...

  2. R语言 线性回归分析实例 《回归分析与线性统计模型》page72

    y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元),某国生产总值GDP(亿元),财政支出(亿元)和商品零售价格指数(%). (1) 建立线性模型: ① 自己编写函数: > librar ...

  3. R 《回归分析与线性统计模型》page93.6

    rm(list = ls()) #数据处理 library(openxlsx) library(car) library(lmtest) data = read.xlsx("xiti4.xl ...

  4. R 《回归分析与线性统计模型》page121,4.4

    rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 4) names(A) = c("ord"," ...

  5. R 《回归分析与线性统计模型》page120,4.3

    #P120习题4.3 rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 3) names(A) = c("ord&q ...

  6. R 《回归分析与线性统计模型》page119,4.2

    rm(list = ls()) library(openxlsx) library(MASS) data = read.xlsx("xiti_4.xlsx",sheet = 2) ...

  7. R 《回归分析与线性统计模型》page164 单变量、多变量多项式模型

    --多项式回归模型 --单变量多项式模型 --多变量多项式模型 rm(list = ls()) library(openxlsx) library(leaps) #单变量多项式模型# data = r ...

  8. R 《回归分析与线性统计模型》page141,5.2

    rm(list = ls()) library(car) library(MASS) library(openxlsx) A = read.xlsx("data141.xlsx") ...

  9. R 《回归分析与线性统计模型》page140,5.1

    rm(list = ls()) library(car) library(MASS) library(openxlsx) A = read.xlsx("data140.xlsx") ...

随机推荐

  1. unity 热更方案对比

    现在一般使用的方案有:tulua&ulua.xlua.ILRuntime 对比: tulua&ulua 方案成熟,稳定第三方库支持 xlua 之前是为了热更修复线上bug的,腾讯发起的 ...

  2. Atom 必装插件

    Atom 必装插件 转载请注明出处. https://blog.csdn.net/Nick_php/article/details/54020956 主题 atom-material-ui 字体配色 ...

  3. python学习 —— python3简单使用pymysql包操作数据库

    python3只支持pymysql(cpython >= 2.6 or >= 3.3,mysql >= 4.1),python2支持mysqldb. 两个例子: import pym ...

  4. 114、Java中String类之字符串文本复杂二次拆分

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  5. Node.js 阻塞 回调函数

    回调例程 N所有API都支持回调函数,可以处理大量并发请求.回调函数一般作为最后一个参数出现: function foo1(name, age, callback){ } function foo2( ...

  6. 查漏补缺之Go的Strings, bytes, runes和字符

    字节遍历,字符遍历 https://play.golang.org/p/DeZcCN9aHXo package main import ( "fmt" "unicode/ ...

  7. 组件公用数据 Vue.observable( )

    注意(适合小项目,不用vuex的情况下使用) 1.创建store.js 最好和main.js平级创建文件 import Vue from 'vue' export const store = Vue. ...

  8. 【快学SpringBoot】过滤XSS脚本攻击(包括json格式)

    若图片查看异常,请前往掘金查看:https://juejin.im/post/5d079e555188251ad81a28d9 XSS攻击是什么 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cas ...

  9. 三 Spring对于延迟加载问题的解决

    Spring提供了延迟加载问题的解决方法 什么是延迟加载? 延迟加载:lazy(懒加载) 执行到该行代码的时候不会发送语句,真正使用这个对象的属性的时候才会发送sql语句进行查询. 类级别延迟加载:指 ...

  10. Vue 路由组件

    目录 组件数据局部化处理 路由逻辑跳转 组件传参 父传子 子传父 组件的生命周期钩子 路由传参 全家配置自定义 CSS 与 js 总结: 组件数据局部化处理 不管页面组件还是小组件,都可能会被多次复用 ...