R语言与多元线性回归方程及各种检验

2023-11-20

R语言与多元线性回归方程及各种检验


一、模型建立

数据放在最后,自取试建立y与x1,x2,x3,x4,x5的线性回归方程
试建立y与
代码如下:

a<-read.csv("eg2.1.csv",header=T);a
b<-lm(y~x1+x2+x3+x4+x5,data=a)

这里介绍一个包,可以把结果用表格显示:

install.packages("flextable")
library(flextable)#制作表格
as_flextable(b)

输出结果如下:
在这里插入图片描述
得到回归方程

y = − 32 + 0.163 x 1 + 0.228 x 2 + 0.881 x 3 − 0.05 x 4 + 0.169 x 5 y=-32+0.163x_1+0.228x_2+0.881x_3-0.05x_4+0.169x_5 y=32+0.163x1+0.228x2+0.881x30.05x4+0.169x5

二、多重共线性

(1)产生的背景:

1.经济变量间具有共同变化的趋势。例如,对于时间序列数据收入、消费、就业率等等,在经济上升时期均呈现增长的趋势,而在经济收缩期,又都呈现下降趋势。当这些变量同时作为解释变量进入模型时就会带来多重共线性问题。
2.模型中引入了滞后变量,变量X常常与滞后变量高度相关
3.利用截面数据建立模型也可能会出现多重共线性。利用截面数据建模时,许多变量变化与发展规模有关,会出现同步增长的趋势,如资本、劳动力、科技、能源等投入与产出的规模相关,这时容易产生多重共线性。
4.样本数据自身的原因。例如,抽样仅仅限于总体中解释变量取值的一个有限范围,使得变量间变异不大;或由于总体受限,多个解释变量的样本数据相关,这时都可能出现多重共线性。

(2)多重共线性的检验

1.简单相关系数法:

一般而言,如果每两个解释变量的简单的相关系数(0阶自相关系数)比较高,如大于0.8,则可认为存在严重的多重共线性。

ab<-a[,c(2:6)]#只保留解释变量
corr<-cor(ab);corr
corrplot(corr,method="number",type="full",mar=c(0,0,0,0) ,bg="black",tl.col = "blue")

其中corrplot函数详细见这篇文章:
相关系数热力图
在这里插入图片描述
由上图可知,x1和x3的相关系数为0.73,初步判断不存在多重共线性。

2.方差膨胀因子(vif)法

一般vif大于10即可认为存在严重的多重共线性:
通过建立x1~x2+x3+x4+x5的线性关系得到R方,那么x1的方差膨胀因子就是
V I F = 1 1 − R 2 VIF=\frac{1}{1-R^2} VIF=1R21
其他的类似,r语言有vif这个函数可以直接求:

library(car)#检验多重共线性的包
vif(b)#b是线性回归的结果

VIF
可以看出:vif值都小于10,即可判断出没有多重共线性

3.矩阵 X T X X^TX XTX的条件数k

条件数的定义为:
   k ( X T X ) = ∥ X T X ∥ ⋅ ∥ ( X T X ) − 1 ∥ = λ max ⁡ ( X T X ) λ min ⁡ ( X T X ) \,\,k\left( X^TX \right) =\left\| X^TX \right\| \cdot \left\| \left( X^TX \right) ^{-1} \right\| =\frac{\lambda _{\max \left( X^TX \right)}}{\lambda \min \left( X^TX \right)} k(XTX)=XTX(XTX)1=λmin(XTX)λmax(XTX)
若k<100,则认为多重共线性的程度很小,在100到1000之间则认为存在中度或较强的多重共线性,若大于1000,则认为存在严重的多重共线性。
在R软件中,用kappa()计算矩阵的条件数,其使用方法为:

**kappa(z,exact=F)***

其中z是矩阵,exact=F即不精确计算条件数,近似计算

XX<-cor(ab)#先做出相关系数矩阵
kappa(XX)#对相关系数矩阵做
eigen(XX)#求特征值和特征向量

在这里插入图片描述
可以看出条件数的值为7,即不存在多重共线性。

(3)多重共线性的修正

本文虽然没有出现多重共线性的问题,但是如果出现了,该如何解决呢?
本文主要通过逐步回归来修正多重共线性

代码如下:


aaa<-step(b)
as_flextable(aaa)

在这里插入图片描述
得到最后的回归方程:

y = − 18.43 + 0.249 x 2 + 0.986 x 3 y=-18.43+0.249x_2+0.986x_3 y=18.43+0.249x2+0.986x3

二、异方差性的检验及修正

1.异方差性的实质

设模型为
Y i = β 0 + β 1 x 1 i + β 2 x 2 i + . . . + β k x k i + u i ( i = 1 , 2 , . . . n ) \\ Y_i=\beta _0+\beta _1x_{1i}+\beta _2x_{2i}+...+\beta _kx_{_{ki}}+u_i\left( i=1,2,...n \right) Yi=β0+β1x1i+β2x2i+...+βkxki+ui(i=1,2,...n)
如果其他假定均不变,但模型中随机误差项 u i u_i ui的方差为
V a r ( u i ) = σ i 2 ( i = 1 , 2 , . . . n ) Var(u_i)=\sigma_i^2(i=1,2,...n) Var(ui)=σi2(i=1,2,...n)
则称 u i u_i ui具有异方差性(heteroscedasiticity

2.异方差性的检验

1.图示检验法

一般把标准化残差的绝对值大于等于2的观测值认为是可疑点,而把标准化残差值绝对值大于等于3认为是异常值

rst <- rstandard(b)#标准化残差
fit<-predict(b)#预测值
library(ggplot2)#载入ggplot2包
mn<-data.frame(rst,fit)
ggplot(mn,aes(fit,rst))+geom_point()

通过绘制出散点图可以看出:
在这里插入图片描述
标准化残差值大致在区间(-2,3)内 ,存在可疑点。是否存在异方差性还需要进一步检测。

2.Goldfeld—Quandt检验

install.packages("lmtest")
library(lmtest)
as_flextable(gqtest(b))

在这里插入图片描述可以看出p值为0.4,即接受原假设,即不存在异方差

3.White检验和H.glesjser检验

White检验的统计量:

w = n ∗ R 2   C h i S q u a r e ( k ) w=n*R^2~ChiSquare\left( k \right) w=nR2 ChiSquare(k)
由于解释变量由5个,这个其实不太适合做white检验
可以参考这篇文章:
异方差与r语言实践

3.异方差的修正

加权最小二乘法:在r语言中代码非常简单
这里取权重为1/abs(e)

e<-resid(b)#e是标准化残差
b1<-lm(y~x1+x2+x3+x4+x5,weights=1/abs(e),data=a)
as_flextable(b1)

在这里插入图片描述
得到方程:
y e = − 36 e + 0.187 x 1 e + 0.205 x 2 e + 0.883 x 3 e + 0.004 x 4 e + 0.158 x 5 e \frac{y}{\sqrt{e}}=\frac{-36}{\sqrt{e}}+0.187\frac{x_1}{\sqrt{e}}+0.205\frac{x_2}{\sqrt{e}}+0.883\frac{x_3}{\sqrt{e}}+0.004\frac{x_4}{\sqrt{e}}+0.158\frac{x_5}{\sqrt{e}} e y=e 36+0.187e x1+0.205e x2+0.883e x3+0.004e x4+0.158e x5
其中e是残差

数据链接
链接:https://pan.baidu.com/s/1My6WTMXEZyIVfIM7A5oIbA?pwd=tjby
提取码:tjby
–来自百度网盘超级会员V4的分享

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

R语言与多元线性回归方程及各种检验 的相关文章

  • 基于java的婴幼儿产品销售系统设计与实现

    基于java的婴幼儿产品销售系统设计与实现 I 引言 A 研究背景和动机 婴幼儿产品销售系统是针对婴幼儿家庭的产品销售平台 该系统的设计需要满足安全 便捷 高效等多个方面的要求 针对该系统 我们可以采用基于Java的Web框架搭建 主要分为
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 基于java的物流信息网系统设计与实现

    基于java的物流信息网系统设计与实现 I 引言 A 研究背景和动机 基于Java的物流信息网系统设计与实现的研究背景和动机 随着互联网的普及和电子商务的快速发展 物流信息网系统已成为现代物流管理的重要组成部分 物流信息网系统能够实现物流信
  • 【计算机毕业设计】二手图书交易系统

    随着世界经济信息化 全球化的到来和互联网的飞速发展 推动了各行业的改革 若想达到安全 快捷的目的 就需要拥有信息化的组织和管理模式 建立一套合理 动态的 交互友好的 高效的二手图书交易系统 当前的信息管理存在工作效率低 工作繁杂等问题 基于
  • 【C++】__declspec含义

    目录 一 declspec dllexport 如果这篇文章对你有所帮助 渴望获得你的一个点赞 一 declspec dllexport declspec dllexport 是 Microsoft Visual C 编译器提供的一个扩展
  • 【gee】下载modis土地利用类型

    var china ee FeatureCollection projects assets china boundary var lc dataset ee ImageCollection MODIS 061 MCD12Q1 filter
  • js中关于字符串的创建和判断类型

    文章目录 创建方法 判断类型的技巧 区分 1 typeof 2 instanceof 共点 1 Object prototype toSt
  • 【卡尔曼滤波】具有梯度流的一类系统的扩散映射卡尔曼滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章
  • 华为OD机试 Java 【计算文件大小】

    题目 一个电脑文件夹系统 每个文件夹里都有一些文件和可能还有其他子文件夹 给定所有文件夹的大小和子文件夹列表 你的任务是找出某一个文件夹及其所有子文件夹里的文件总大小 输入格式 首行有两个数字 文件夹的总数M和你要查询的文件夹ID N 之后
  • 华为OD机试真题-分披萨-2023年OD统一考试(C卷)

    题目描述 吃货 和 馋嘴 两人到披萨店点了一份铁盘 圆形 披萨 并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块 但是粗心服务员将披萨切成了每块大小都完全不同奇数块 且肉眼能分辨出大小 由于两人都想吃到最多的披萨 他们商量了一个他们认为公
  • (2024最新整理)Java最全八股文及答案!

    Java的特点 Java是一门面向对象的编程语言 面向对象和面向过程的区别参考下一个问题 Java具有平台独立性和移植性 Java有一句口号 Write once run anywhere 一次编写 到处运行 这也是Java的魅力所在 而实
  • 史上最全Java面试八股文(带全部答案)2024年最新版

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • JCMsuite应用:光学环形谐振腔模拟

    本案程演示了环形谐振腔的模拟 这种类型的集成光子器件 例如用作升 降滤波器或在传感应用中 当物质或粒子附着在环上时 通过测量其共振频率的位移来检测 对于集成光子电路中的无源光器件 s矩阵通常是研究的热点 它描述了通过端口 波导进入设备的电磁
  • 【心电图基线估计和去噪方法的群稀疏正则化】带有群稀疏正则化的心电图基线估计和去噪(Matlab实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • 基于节点电价的电网对电动汽车接纳能力评估模型研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 2024年华为OD机试真题-靠谱的车-Python-OD统一考试(C卷)

    题目描述 程序员小明打了一辆出租车去上班 出于职业敏感 他注意到这辆出租车的计费表有点问题 总是偏大 出租车司机解释说他不喜欢数字4 所以改装了计费表 任何数字位置遇到数字4就直接跳过 其余功能都正常 比如 1 23再多一块钱就变为25 2
  • 【路径规划】基于改进遗传算法求解机器人栅格地图路径规划(Matlab实现实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 【js学习之路】遍历数组api之 `filter `和 `map`的区别

    一 前言 数组是我们在项目中经常使用的数据类型 今天我们主要简述作用于遍历数组的api filter 和 map 的区别 二 filter和map的共同点 首先 我们主要阐述一下 filter 和 map 的共同点 api的参数都是回调函数
  • Java开发中不要使用受检异常

    简介 Java是唯一 主流 实现了受检异常概念的编程语言 一开始 受检异常就是争议的焦点 在当时被视为一种创新概念 Java于1996年推出 如今却被视不良实践 本文要讨论Java中非受检异常和受检异常的动机以及它们优缺点 与大多数关注这个

随机推荐

  • RabbitMQ消息丢失的场景,如何保证消息不丢失?(详细讲解,一文看懂)

    目录 一 RabbitMQ消息丢失的三种情况 二 RabbitMQ消息丢失解决方案 1 针对生产者 方案1 开启RabbitMQ事务 方案2 使用confirm机制 2 针对RabbitMQ 1 消息持久化 2 设置集群镜像模式 3 消息补
  • HDMI CEC协议

    1 前言 本文档仅作为本人记录使用 主要根据工作使用及 HDMI Specification 1 4a pdf 进行终结得出 若有不足会后续补充 2 CEC简介 CEC Consumer Electronics Control 是一套完整的
  • jenkins安装出现该实例似乎已离线等报错和如何卸载干净Jenkins的解决方案

    前段时间在准备使用Jenkins来实现Android自动化打包 但是在安装Jenkins的过程中出现了问题 在安装过程中出现 Jenkins实例似乎已离线 需要我配置代理 还有一个离线安装的文档 可是根据文档并没有明确说明怎么配置 然后我就
  • WPS Office 漏洞复现

    前言 此文章仅用于技术交流 严禁用于对外发起恶意攻击 一 产品简介 WPS Office是金山软件公司开发的 中国领先的办公软件套件 包含文字 表格和演示三个组件 支持创建 编辑各种文档 并具有强大的数据计算 统计和分析功能 其特点包括全面
  • Git提交代码步骤

    目录 1 Git提交代码步骤 1 1 第1步 同步远程仓库代码 git pull 1 2 第1步 查看当前状态 git status 1 3 第2步 提交代码到本地git缓存区 git add 1 4 第3步 推送代码到本地git库 git
  • 让csdn中的静态图动起(firemonkey)

    缘起 错过了登月50周年的日子 7 20 看到了如下卡通图童心大发 让它动起来 https blog csdn net csdnnews article details 96403350 代码下载 链接 https pan baidu co
  • CI/CD

    CICD 是 持续集成 Continuous Integration 持续交付和持续部署 Continuous Deployment 简称 指在开发过程中自动执行一系列从开发到部署的过程中 尽量减少人工的介入 CI CD AND CD CI
  • C++学习笔记12:输入输出流实例整理(文本文件读写,二进制文件读写,一组数据的文件读写,随机访问文件实例

    这也太难记了555老阔疼 文件读写示例 include
  • Kubernetes APIServer,Etcd,controller manager,scheduler 高可用原理

    高可用背后的原理 这两个月和博云合作的项目是要用于客户生产环境的 这个和我以前做的东西有很大的不同 所有基础架构必须给出高可用的解决方案 在这之前我只做过一些流量较小的用户产品或者一些原型项目 一开始基础架构都只给出了单节点的解决方案 结果
  • 微信小程序--给头像添加logo(生成海报同理)

    实现给图片添加logo或者生成海报 其原理是使用canvas 用canvas绘制出想要的图片进行保存 1 在wxml文件中添加canvas canvs层级太高 所以将它定位到屏幕外 不影响页面
  • 嵌入式资源网站

    原题地址 http blog csdn net ce123 article details 6724127 一 MailList 1 MailList大全 网址 http news gmane org 描述 可以查到绝大部分开源项目的Mai
  • LVGL学习(3):页面切换原理和页面管理实现

    在LVGL中 大多情况下是有多个页面的 一般来说页面的切换有两种情况 删除当前的页面 创建新页面加载 保留当前的页面 创建新页面加载 我们来分析一下这两种情况 比如页面1有一个列表框 有三个选项 每个选项对应进入一个页面 假设此时我们的焦点
  • VScode 怎么设置成中文

    1 打开 vscode 2 按快捷键 Ctrl Shift P 3 在 vscode 顶部会出现一个搜索框 4 在搜索栏输入 Configure Display Language 然后回车 5 vscode 里面就会打开一个语言配置文件 6
  • // SPDX-License-Identifier: MIT

    上述声明是指明你写的智能合约采用什么样的对外开放标准 该标准规定了别人是否拥有各种使用权利 其中 MIT 标准说明其他人可以随便用该源码 但出问题不负责
  • SQL各种日期转换代码大全

    select CONVERT varchar getdate 120 2004 09 12 11 06 08 select replace replace replace CONVERT varchar getdate 120 200409
  • html5 亲子模板,亲子阅读手抄报精美模板

    陪着孩子一起读 这点至关重要 不要丢下孩子一人读书 这样孩子很快就会失去读书的兴趣 今天学习啦小编给大家带来了亲子阅读手抄报精美模板 供大家阅读和参考 亲子阅读手抄报图片欣赏 亲子阅读手抄报图片1 亲子阅读手抄报图片2 亲子阅读手抄报图片3
  • 4、动态代理的缓存机制

    1 背景 上一节大致介绍了Proxy动态代理的原理 从几个疑问上面分析 这一节介绍一下动态代理的缓存机制 网上的资源比较少 可以怀着下面几个问题阅读源码 为什么要缓存 缓存的内容是什么 哪里调用的缓存 缓存的实现机制 缓存的过期机制 2 属
  • PTP/IP协议

    PTP IP PTP over IP 是一个通过IP连接 建立在 Picture Transfer Protocol PTP 上的传输层 我之所以在了解这个东西是因为有一台 Nikon 相机支持 WLAN 和手机传输相片 但是APP设计得极
  • 读取Properties配置文件

    读取Properties文件 File ReadHttpUrlProperties java User jiangefng li Date 2015年5月22日10 30 56 public class ReadHttpUrlPropert
  • R语言与多元线性回归方程及各种检验

    R语言与多元线性回归方程及各种检验 文章目录 R语言与多元线性回归方程及各种检验 一 模型建立 二 多重共线性 1 产生的背景 2 多重共线性的检验 1 简单相关系数法 2 方差膨胀因子 vif 法 3 矩阵 X T X