这两部分都是对残差假设的检验,经典回归模型的残差服从(0,

)的正态分布,且相互独立,这里就是检验残差的方差是否相同。方差是否会随解释变量的变化而变化。
library(ggplot2)
library(foreign)
data5.1<-read.dta("case 5-1.dta")
View(data5.1)

给出数据的部分截图

一元拟合还是习惯先用ggplot2看下效果图。

p<-ggplot(data = data5.1,aes(x,y))
p+geom_point(colour="black",shape=3)+geom_smooth(method = "lm",colour="black",level=0.95)

这里看到散的分布会随x的增大而更加分散,接下来我们看下拟合的残差与x的散点图。

lm1<-lm(y~x,data=data5.1)#回归
e<-resid(lm1)#获取残差
data.resid<-data.frame(data5.1[,2],e)#残差与x合并
ggplot(data = data.resid,aes(x,e))+geom_point()

可以很明显看到残差随着x的增大更加分散。

这里还给出white检验和H.glejser检验

#white检验,p小于显著性则拒绝不具有异方差假设
x<-data5.1[,2]
fm<-lm(I(e^2)~x+I(x^2))
R<-summary(fm)$r.sq
n=nrow(fm$model)
m=ncol(fm$model)
W=n*R
p=1-pchisq(W,m-1)
data.frame(W,p)

white检验做一个辅助函数,让拟合的残差与x和x的平方进行拟合,构建卡方统计量。r语言里最好用I(x^2),不然它会以为就是x。

这里W对应的p值小于0.05,则拒绝原假设,接受具有异方差。

接下来是glejser检验,是残差的绝对值与解释变量的各种形式拟合,比如x,x的平方,x开方这种,看拟合效果,这里就给出残差绝对值与x 和x开方的拟合结果。

#H.glejser检验,检验残差与个解释变量的拟合
lm.g1<-lm(abs(e)~x)
lm.g2<-lm(abs(e)~sqrt(x))
summary(lm.g1)$coef
summary(lm.g2)$coef

这里可以看到系数的t简言之对应的p值都小于0.05,则可以说明具有异方差。

异方差的解决,一个就是两边同时取对数,进行拟合。可以减少异方差,这里就不再过多说明了。

还有就是加权的最小二乘法,实际就是原来模型地下同时除以一个标准差。 在r里就是给一个权重,实际上模型就是乘上权重的开方。不过有的书上是除以根号下e,有的是除以根号下x,其实都是一个意思,毕竟这里x和e是相关的。

#异方差的处理方法,取对数,加权最小二乘法
lm.lg<-lm(log(y)~log(x),data=data5.1)#取对数e<-summary(lm1)$resid
lm.weight<-lm(y~x,data=data5.1,weight=1/abs(e))#加权最小二乘法
summary(lm.weight)

这里系数对应到公式里应该是,y/sqrt(e) = -3.579691/sqrt(e)+0.01186*x/sqrt(e).

这样异方差就能一定程度的解决了。

当然后面取对数就可以解决大部分的异方差问题了,而且操作也比较简单,可以先试试取对数的效果。

R语言作加权最小二乘_R语言与计量经济学(三)异方差相关推荐

  1. R语言作加权最小二乘_超越谷歌BERT!依图预训练语言理解模型入选NeurIPS

    机器之心发布 机器之心编辑部 在本文中,本土独角兽依图科技提出了一个小而美的方案--ConvBERT,通过全新的注意力模块,仅用 1/10 的训练时间和 1/6 的参数就获得了跟 BERT 模型一样的 ...

  2. R语言作加权最小二乘_作比较的句子 具有作比较说明方法的句子有哪些?

    不少人看到过象,都说象是很大的动物.其实还有比象大得多的动物,那就是鲸.[鲸] [没有美丽的外表,根本没人会去在意你美好的内心,这就是现实.] 松鼠的叫声很响亮,比黄鼠狼的叫声还有尖些.[松鼠] 松鼠 ...

  3. 用R语言做词频统计_R语言 | 词频统计

    Python网络爬虫与文本数据分析 本章内容 导入停用词 读数据,分词 剔除停用词 导入停用词表 library(dplyr) ## [1] "?" "." & ...

  4. r包调用legend函数_R语言实现基于朴素贝叶斯构造分类模型数据可视化

    本文内容原创,未经作者许可禁止转载! 目录 一.前言 二.摘要 三.关键词 四.算法原理 五.经典应用 六.R建模 1.载入相关包(内含彩蛋): 1.1 library包载入 1.2 pacman包载 ...

  5. R循环有两个_R语言数据分析与挖掘(第九章):聚类分析(2)——层次聚类

    层次聚类(hierarchical clustering)基于簇间的相似度在不同层次上分析数据,从而形成树形的聚类结构,层次聚类一般有两种划分策略:自底向上的聚合(agglomerative)策略和自 ...

  6. python与r语言处理excel数据_R语言 | 读写txt、csv、excel文件

    前段时间看到plotnine库(封装的R语言ggplot2)作的图太美了,有点想重新拾起R语言^_^ R语言代码略带凌乱,讲真的还是更喜欢Python代码简洁.不过好几年不琢磨R语言,对R语言代码的凌 ...

  7. R语言中dim函数_R语言 常见函数知识点梳理与解析 | 精选分析

    目 录 1.str() 显示数据集和变量类型,并简要展示数据集情况 2.subset()  取子集 3.which.min(), which.max()和which() 4.pmin( )/ pmax ...

  8. R语言中dim函数_R语言中的方差分析方法汇总

    方差分析,是统计中的基础分析方法,也是我们在分析数据时经常使用的方法.下面我总结一下R语言如何对常用的方差分析进行操作. 1. 方差分析的假定 上面这个思维导图,也可以看出,方差分析有三大假定:正态, ...

  9. R语言ineq算基尼系数_R语言常用计量分析包

    R 语言常用计量分析包 CRAN 任务视图:计量经济学 线形回归模型( Linear regression models ) 线形模型可用 stats 包中 lm() 函数通过 OLS 来拟合, 该包 ...

最新文章

  1. 人工智能 有信息搜索 (启发式)
  2. 记忆的天空:智能进化三部曲
  3. 《原神》米哈游突然押注脑机接口,CEO:10年内造出10亿人生活的虚拟世界
  4. php源码中如何添加滚动公告,如何给WordPress网站添加滚动公告?
  5. numpy.random.uniform()
  6. linux下的shell中if的-e,-d,-f是什么意思
  7. what??|诞生才一年的BCH竟面临硬分叉的抉择
  8. django-模板的母版与子版
  9. 一文搞懂 ElasticSearch 集群,就它了!
  10. 笔记本电脑键盘切换_有哪些好用的办公键盘
  11. sql 字段很多怎么汇总_利用集算器实现分库汇总
  12. go语言之进阶篇字符串转换
  13. 12月1日struts、spring、hibernate等框架的整合培训日记
  14. JavaScript
  15. matlab 平滑曲线连接_MATLAB画图
  16. Win11如何优化服务?Win11优化服务的方法
  17. 甜心奶酪用英文怎么说_您组织中没有人会碰到什么奶酪,更不用说动弹了?
  18. 平面直角系【坐标系旋转】、【点绕坐标系旋转】、【A点绕B点旋转】
  19. 俄语考生学计算机难吗,俄语说的不好,没有计算机证书,甚至还是单身狗,怎么办?...
  20. LTE RB PRB

热门文章

  1. TAU1312模块配置记录
  2. 元宇宙大投资 元宇宙通证
  3. ubuntu安装keepass2 中文乱码
  4. 公有云滴滴滴滴滴滴滴滴滴滴
  5. OPT锂电焊缝缺陷检测方案
  6. android反馈简书,Android HapticFeedback(触觉反馈)
  7. react 全选反选_react解决checkbox全选checked的问题
  8. 5.力学性能测试/应力应变曲线
  9. 昆仑通态物联网屏流量消耗计算
  10. SMO(Sequential Minimal Optimization)算法的数学原理