违背基本假设的几种情况——异方差性(R语言)

2023-05-16

在建立实际问题的回归模型时,经常存在于此假设想违背的情况,一种是计量经济模型中常说的异方差性,即
   v a r ( ε i ) ≠ v a r ( ε j ) , 当 i ≠ j 时 var(\varepsilon _{i})\neq var(\varepsilon _{j}),当i\neq j时 var(εi)̸=var(εj),i̸=j

诊断方法

1.残差图分析法

data4.3<-read.csv("C:/Users/Administrator/Desktop/data4.3.csv",head=TRUE)
lm4.3<-lm(y~x,data=data4.3)
summary(lm4.3)
e<-resid(lm4.3)  # 计算残差
attach(data4.3)
plot(x,e,ylim=c(-500,500))
abline(h=c(0),lty=5)  # 添加虚线e=0
detach(data4.3)

输出结果为:
在这里插入图片描述
从残差图看出,误差项具有明显的异方差性,误差随着 x x x的增加呈现出增加态势。

2.等级相关系数法

等级相关系数法又称为斯皮尔曼(Spearman)检验,是一种应用较广泛的方法。进行等级相关系数检验通常有三个步骤:
  1.做 y y y关于 x x x的普通最小二乘回归,求出 e i e_{i} ei的值;
   2.取 e i e_{i} ei的绝对值,分别把 ∣ e i ∣ \left | e_{i} \right | ei x i x_{i} xi按递增或者递减的次序排列后分成等级。按照下面公式计算出等级相关系数
  
   r s = 1 − 6 n ( n 2 − 1 ) ∑ i = 1 n d i 2 r_{s}=1-\frac{6}{n(n^{2}-1)}\sum_{i=1}^{n}d_{i}^{2} rs=1n(n21)6i=1ndi2
  
式中, d i d_{i} di为对应于 x i x_{i} xi ∣ e i ∣ \left | e_{i} \right | ei的等级的差数。
  3.做等级相关系数的显著性检验。在 n &gt; 8 n&gt;8 n>8的情况下,用下面公式对样本等级相关系数 r s r_{s} rs进行 t t t检验。检验的统计量为
  
   t = n − 2 r s 1 − r s 2 t=\frac{\sqrt{n-2}r_{s}}{\sqrt{1-r_{s}^{2}}} t=1rs2 n2 rs

如果 ∣ t ∣ ≤ t α / 2 ( n − 2 ) \left | t \right |\leq t_{\alpha /2}(n-2) ttα/2(n2),可以认为异方差性问题不存在;反之则存在问题。
  
代码实现如下:

abse<-abs(e)
cor.test(data4.3$x,abse,alternative="two.sided",method="spearman",conf.level=0.95)

输出结果如下:
在这里插入图片描述
  从以上结果中看到,等级相关系数 r s = 0.6858871 r_{s}=0.6858871 rs=0.6858871 P P P值为 3.316 e − 5 3.316e-5 3.316e5,认为残差绝对值与自变量显著相关,存在异方差。

消除异方差的方法

1.一元加权最小二乘估计

加权最小二乘法(Weighted Least Square,WLS)是一种常用的消除异方差性的方法。
  对于一元线性回归方程来说,普通最小二乘法的离差平方和为
  
   Q ( β 0 , β 1 ) = ∑ i = 1 n ( y i − E ( y i ) ) 2 Q(\beta_{0},\beta _{1})=\sum_{i=1}^{n}(y_{i}-E(y_{i}))^{^{2}} Q(β0,β1)=i=1n(yiE(yi))2

其中,每个观测值的权值相同。
  在等方差的条件下,平方和总的每一项的地位是相同的。
  然而,在异方差的条件下,平方和中的每一项的地位是不同的,误差项方差 σ i 2 \sigma _{i}^{2} σi2大的项,在上式平方和中的作用就偏大,因而普通最小二乘估计的回归线就被拉向方差大的项,而方差小的项的拟合程度就差。加权最小二乘法是在平方和中加入一个适当的权值 w i w_{i} wi以调整各项在平方和中的作用。
  一元线性回归的加权最小二乘的离差平方和为
  
   Q w ( β 0 , β 1 ) = ∑ i = 1 n w i ( y i − E ( y i ) ) 2 Q_{w}(\beta_{0},\beta _{1})=\sum_{i=1}^{n}w_{i}(y_{i}-E(y_{i}))^{^{2}} Qw(β0,β1)=i=1nwi(yiE(yi))2
  
  另外,如果所有的权值相等,即 w i w_{i} wi都等于某个常数,该方法就成为普通最小二乘法。
  在使用加权最小二乘法时,为了相处异方差的影响,可知观测值的权值应该是观测值误差项方差的倒数,即
  
   w i = 1 σ i 2 w_{i}=\frac{1}{\sigma _{i}^{2}} wi=σi21

在实际问题的研究种,误差项的方差 σ i 2 \sigma _{i}^{2} σi2通常识未知的,但是当武昌项方差随自变量水平以系统的形式变化时,我们可以利用这种关系。
  例如,已知误差项方差 σ i 2 \sigma _{i}^{2} σi2 x i 2 x_{i}^{2} xi2成比例时,那么 σ i 2 = k x i 2 \sigma _{i}^{2}=kx_{i}^{2} σi2=kxi2,其中 k k k为比例系数。
  权值就为
  
   w i = 1 k x i 2 w_{i}=\frac{1}{kx_{i}^{2}} wi=kxi21

因为比例系数 k k k在参数估计中可以小区,所以可以直接使用权值
  
   w i = 1 x i 2 w_{i}=\frac{1}{x_{i}^{2}} wi=xi21

在社会、经济研究中,经常会遇到这种特殊的权值,即误差项方差与 x x x的幂函数 x m x^{m} xm成比例,此时权函数为
  
   w i = 1 x i m w_{i}=\frac{1}{x_{i}^{m}} wi=xim1

代码实现如下:

s<-seq(-2,2,0.5)
result1<-vector(length=9,mode="list")
#  生成一个列表向量,以存储下面循环中回归方程估计的似然统计结果
result2<-vector(length=9,mode="list")
#  生成一个列表向量,以存储下面循环中回归方程的估计系数及显著性检验等结果
for(j in 1:9)
	{w<-data4.3$x^(-s[j])  # 计算权向量
	 lm4<-lm(y~x,weights=w,data4.3)  # 使用加权最小二乘估计建立回归方程
	 result1[[j]]<-logLik(lm4)
	 # 将第j次计算的对数似然统计量保存到result1的第j个元素中
	 result2[[j]]<-summary(lm4)}
	 # 将第j次建立的回归方程的结果保存到result2的第j个元素中

输出结果如下:
在这里插入图片描述
在这里插入图片描述
  根据上述输出结果可知, m m m取到第8个值即 m = 1.5 m=1.5 m=1.5时对数似然函数达到极大值,因而指数 m m m的最优取值为1.5。
  残差图如下所示:在这里插入图片描述
  比较普通残差图和加权最小残差图,我们可能看不出两张图之间的差异。但通过残差的比较得知,加权二乘估计照顾小残差项是以牺牲大残差项为代价的。
  这里需要注意的是当回归模型存在异方差性时,加权最小二乘估计只是对普通最小二乘估计的改进,这种改进可能是细微的,不能理解为加权最小二乘估计一定会得到与普通最小二乘估计渐染不同的回归方程,或者一定有大幅度的改进。

2.多元加权最小二乘估计

data3.2<-read.csv("C:/Users/Administrator/Desktop/data3.2.csv",head=TRUE)
lm3.2<-lm(y~x1+x2,data=data3.2)
summary(lm3.2)
e<-resid(lm3.2)
abse<-abs(e)

输出结果:
在这里插入图片描述
在这里插入图片描述
  从输出结果中看出,残差绝对值与自变量 x 1 x1 x1的等级相关系数为 r e 1 = 0.45 r_{e1}=0.45 re1=0.45,残差绝对值与自变量 x 2 x2 x2的等级相关系数为 r e 2 = 0.7142857 r_{e2}=0.7142857 re2=0.7142857,因而选择 x 2 x2 x2构造权函数。

s<-seq(1,5,0.5)
result1<-vector(length=9,mode="list")
#  生成一个列表向量,以存储下面循环中回归方程估计的似然统计结果
result2<-vector(length=9,mode="list")
#  生成一个列表向量,以存储下面循环中回归方程的估计系数及显著性检验等结果
for(j in 1:9)
	{w<-data3.2$x2^(-s[j])  # 计算权向量
	 lm4<-lm(y~x1+x2,weights=w,data3.2)  # 使用加权最小二乘估计建立回归方程
	 result1[[j]]<-logLik(lm4)
	 # 将第j次计算的对数似然统计量保存到result1的第j个元素中
	 result2[[j]]<-summary(lm4)}
	 # 将第j次建立的回归方程的结果保存到result2的第j个元素中

输出结果:
在这里插入图片描述
  可以知道当 m = 2.5 m=2.5 m=2.5时,取得最优值。
在这里插入图片描述
  根据以上输出结果,加权最小二乘的 R 2 = 0.848 , F = 33.47 R^{2}=0.848,F=33.47 R2=0.848,F=33.47;而普通最小二乘估计的 R 2 = 0.8419 , F = 31.96 R^{2}=0.8419,F=31.96 R2=0.8419,F=31.96。这说明对该例子中的数据进行加权最小二乘估计的拟合效果好于普通最小二乘估计的效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

违背基本假设的几种情况——异方差性(R语言) 的相关文章

  • Ubuntu 解决wps缺乏字体

    文章目录 Ubuntu 解决wps缺乏字体 Ubuntu 解决wps缺乏字体 移植windows字体 xff1a 复制 C Windows Fonts 下的字体 到 usr share fonts truetype windows font
  • TensorFlow2安装(超详细步骤-人工智能实践)

    TensorFlow2安装教程 1 前言1 1 版本记录1 2 工具简介 2 详细步骤及安装语句2 1 安装Anaconda2 2 TensoFlow安装2 3 验证是否成功2 4 PyCharm下载与安装2 5 PyCharm环境配置2
  • 图像识别-数据清洗

    1 删除不清晰的图片 xff08 由于图片是从视频里截取到的 xff0c 摄像头在移动的过程中 xff0c 会出现自动对焦 xff09 模糊图片示例 xff1a 2 删除重复度高的图片 xff08 相似度高的图片 xff0c 无法给模型提供
  • 【Linux】nm命令|查看动态库包含的函数符号

    目录 0 前言 1 nm简介 2 nm命令用法和参数说明 3 nm用法和结果说明 4 nm 提示 no symbol 的问题 xff08 strip xff09 0 前言 下文1 3 摘抄自 xff1a Linux nm命令详解 https
  • Xmanager 5远程连接CentOS7图形化界面

    1 安装Xmanager 5 下载链接 xff1a https pan baidu com s 1JwBk3UB4ErIDheivKv4 NA 提取码 xff1a cw04 双击xmgr5 wm exe进行安装 点击 下一步 选择 我接受许
  • ROS遇到问题:rosdep找不到

    当在catkin工作区创建好了包以后 xff0c 要rospack depends1 beginner tutorials xff0c 出现了以下的提示错误 xff1a rospack Error the rosdep view is em
  • 纯JavaScript实现一个带cookie的学生管理系统

    由来 之前写过一个Jsp amp Servlet版本的学生管理系统 发出来之后 xff0c 有一个网友找我给他写JavaScript版本的 xff0c 时间也过去很久了 xff0c 我估摸着他那门课已经结束了 xff0c 所以整理了一下代码
  • FreeRTOS互斥信号量与二值信号量使用时的区别

    1 互斥信号量 互斥信号量的申请与释放是要在同一个任务中进行的 xff0c 不能在一个任务中申请而在另一个任务中释放 互斥信号量主要解决的是 xff0c 我在用的时候 xff0c 别人都不能用 举个例子 xff0c 我在像一段内存中写数据的
  • 小白入门photoscan

    1 安装 我装的是photoscanPro 1 4 5版本 注 xff1a 刚开始是在官网上下载的 xff0c 要收费就点了试用 xff0c 结果当我等了一天把将近200张图片处理完后 xff0c 告诉我试用版不能保存文件 绝望 所以要是像
  • matlab学习(1)strsplit与strtok

    strsplit函数用法 xff1a lt 1 gt 默认使用空格符分割 返回一个cell数组 lt 2 gt 也可以指定第二个参数进行分割 lt 3 gt 第二个参数也可以时包含多个分隔符的元胞数组 lt 4 gt strsplit还可以
  • latex之注释快捷键

    注释快捷键 ctrl 43 T 注释掉选中区域 ctrl U 解除选中区域的注释
  • Ceres-solver安装(win10+vs2015)

    Ceres solver安装 Vs2015 43 win10 文件已经上传至 永久有效 网盘 xff1a https pan baidu com s 1Vj n2Nbp9WFVlbjuXV OxQ 密码 xff1a 3rvo 1 将网盘里的
  • 关于Intellij IDEA的pom.xml添加依赖后仍找不到

    1 在pom xml中添加了junit依赖 也执行了项目 gt reimport xff0c 在本地仓库也确实存在junit依赖包 xff0c 打开里面的jar包也确实有Test class After class等文件 但是编译时仍然说找
  • 【Dll调试】DLL调试方法

    dll本身是没法运行的 xff0c 必须在其它工程调用dll时候才会运行 所以 xff0c 调试dll首先要将调用dll的工程和dll工程联系起来 解决方案中添加dll工程 xff1a 现在dll 和 应用程序两个工程就都在一个解决方案里了
  • 【原创】linux下将Python命令默认指向为Python3

    linux下输入Python命令默认指向的是 usr bin python 因此 xff0c 为了方便使用 xff0c 安装了python3后 xff0c 我们一般会创建软链接使 usr bin python指向 usr bin pytho
  • C#开发窗体程序全过程(项目目录、格式、控件使用、文件读写)

    目录 第一章 xff1a WinForm基础 一 概述二 在VS中新建窗体程序三 窗体 xff08 Form xff09 第二章 xff08 上 xff09 xff1a 控件与窗体 一 文本编辑控件二 图片框 xff1a PictureBo
  • JAVA面试题大全(200+道题目)

    目录 一 Java 基础 1 JDK 和 JRE 有什么区别 xff1f 2 61 61 和 equals 的区别是什么 xff1f 3 两个对象的 hashCode 相同 xff0c 则 equals 也一定为 true xff0c 对吗
  • 【Audio】查看手机的声卡信息

    以我的旧手机华为P8青春版为例 xff0c 我没有root xff0c 所以权限有限 找到开发者选项 在设置中找到开发者选项 xff0c 然后打开usb调试 下载adb工具 这个网上有很多 xff0c 可以自行下载 xff0c 主要包含如下
  • Jetson TX2 ubuntu18设置VNC时DesktopSharing打不开

    Jetson TX2设置VNC时DesktopSharing打不开 1 1 编辑 org gnome Vino 来加入缺失的 enabled 参数 sudo gedit usr share glib 2 0 schemas org gnom
  • zRAM内存压缩技术分析及优化方向

    目录 1 zRAM出现的背景 2 zRAM软件架构 3 zRAM实现分析 3 1 zRAM驱动模块 3 2 数据流模块 3 3 压缩算法模块 3 4 zRAM读写流程 3 5 zRAM writeback功能 4 zRAM性能调优 4 1

随机推荐