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. SpringBoot爬虫小说阅读网站,定时更新小说和抓取功能

    SpringBoot 小说爬虫搭建阅读网站 通过jsoup采集数据到mysql数据.redis作为缓存框架,减轻服务器压力.部署在linux,网站UI套纵横中文网! http://47.107.116 ...

  2. C/C++ scanf和gets 区别 , printf和puts区别

    ref 1. scanf和gets区别 | 博客园 2. printf和puts区别 | CSDN scanf和gets都能从输入流stdin读取字符串,那么它们有什么区别呢? scanf 留回车:开 ...

  3. np.ndarray与PIL.Image对象相互转换

    Image对象有crop功能,也就是图像切割功能,但是使用opencv读取图像的时候,图像转换为了np.adarray类型,该类型无法使用crop功能,需要进行类型转换,所以使用下面的转换方式进行转换 ...

  4. ethtool命令使用

    [root@localhost ~]# ethtool -s eth0 speed 100 duplex full #设置网口的speed和duplex # ethtool eth0Settings ...

  5. windows安装ActiveMQ以及点对点以及发布订阅

    一.MQ产品的分类 1.RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级 ...

  6. Redis 事务在 SpringBoot 中的应用 (io.lettuce.core.RedisCommandExecutionException: ERR EXEC without MULTI)

    我们在 SpringBoot 中使用 Redis 时,会引入如下的 redis starter <dependency> <groupId>org.springframewor ...

  7. Android音频录制MediaRecorder之简易的录音软件实现代码(转)

    原文:http://www.jb51.net/article/46182.htm Android音频录制MediaRecorder之简易的录音软件实现代码 这篇文章主要介绍了Android音频录制Me ...

  8. 解题报告:luogu P2220

    指挥使走后一脸懵逼,然后想起了一道水\(SB\)的省选题. 这是毒瘤乘法分配率的应用,似乎还有一篇,算是入门题. 对了,这题连接:P2220 [HAOI2012]容易题 然而蒟蒻还是先自闭了一会... ...

  9. 超参数 hyperparameters

    转载:https://www.cnblogs.com/qamra/p/8721561.html 超参数的定义:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据 ...

  10. js 表格操作----添加删除

    js 表格操作----添加删除 书名:<input type="text" id="name"> 价格:<input type="t ...