R语言统计分析——多元线性回归

news2025/1/12 13:31:03

参考资料:R语言实战【第2版】

1、多元线性回归

        当预测变量不止一个时,简单线性回归就变成了多元线性回归。从技术上来说,多项式回归可以算是多元线性回归的特例:二次回归有两个预测变量(X和X^2)。

        以基础包中的state.x77数据集为例,我们探究一个州的犯罪率和其他因素的关系,包括人口、文盲率、平均收入和结霜天数。

        因为lm()函数需要一个数据框(state.x77数据集市矩阵),我们需要将其转换为数据框。

# 将矩阵转换为数据框
states<-as.data.frame(state.x77[,c("Murder","Population",
                                   "Illiteracy","Income","Frost")])
# 查看变量之间的相关性
cor(states)
# 导入car包
library(car)
# 绘制散点图矩阵
scatterplotMatrix(states,smooth=FALSE,main="Scatter Plot Matrix")
# 拟合多元线性回归模型
fit<-lm(Murder~Population+Illiteracy+Income+Frost,
        data=states)
# 查看拟合结果
summary(fit)

        在多元回归分析前,最好检查一下变量的相关性。当2个或多个自变量高度相关时,就会出现多重共线。它不仅影响自变量对因变量变异的解释能力,还影响整个多元线性回归模型的拟合。这里使用的是cor()函数。

        scatterplotMatrix()函数默认在非对角线区域绘制变量间的散点图,并田间平滑和线性拟合曲线;对角线区域绘制每个变量的密度图和轴须图。

       当预测变量不止一个时,回归系数的含义是:在其他预测变量保持不变的情况下,一个预测变量增加一个单位,响应变量将要增加的数量

        在本例的分析结果中,可以知道Income和Frost的系数无统计学上的显著意义,可以认为这两个变量与Murder不呈线性相关。Illiteracy的相关系数极显著,其值为4.14,表示当其他变量不变时,文盲率上升1%,谋杀率将会上升4.14%。

2、有交互项的多元线性回归

        在上面的例子中我们没有考虑变量的交互项,但许多研究是需要涉及交互项的预测变量。我们以mtcars数据框中汽车数据为例进行分析。

# 对mtcars数据集进行拟合
fit1<-lm(mpg~hp+wt+hp:wt,data=mtcars)
fit2<-lm(mpg~(hp+wt)^2,data=mtcars)
# 查看分析结果
summary(fit1)
summary(fit2)

        上面代码中fit1和fit2是等价的。

        从检验结果中,我们可以看出hp(马力)和wt(车重)的交互项是显著的,说明响应变量与其中一个预测变量关系依赖于另一个预测变量的水平。本例的交互作用显著,说明每加仑汽油行驶英里数与汽车马力的关系依车重不同而不同。

        通过effects包中的effect()函数,我们可以通过图形展示交互项的结果,调用格式如下:

        plot(effect(term, mod,, xlevels),multiline=TURE)

term即模型要画的项,mod为通过lm()拟合的模型,xlevels是一个列表,指定变量要设定的常量值,multiline=TRUE选项表示田间相应直线。

# 加载effects包
library(effects)
# 展示车重在2.2,3.2,4.2下的拟合曲线
plot(effect("hp:wt",fit1,,list(wt=c(2.2,3.2,4.2)),multiline=TRUE))

        由上图可知:随着wt的增加,hp和mpg的关系减弱了。当wt=4.2时,直线几乎水平,表明随着hp的增加mpg不会发生变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用DOM破坏启动xss

实验环境&#xff1a; Lab: Exploiting DOM clobbering to enable XSS | Web Security Academy (portswigger.net) 分析&#xff1a; 找破坏点&#xff1a; 第一个输入框可以看见是<texarrea>;不能插入语句.&#xff1a; 构造一个语句试试 <img src1 οnerrοraler…

深入理解HTTPS协议:CA证书的安全机制

文章目录 一、HTTP的不足二、HTTP 加密 证书 完整性保护 HTTPS三、加密与解密1、对称密钥加密2、非对称密钥加密3、证书 一、HTTP的不足 HTTP 主要有这些不足&#xff0c;例举如下&#xff1a; 通信使用明文&#xff08;不加密&#xff09;&#xff0c;内容可能会被窃听不…

kettle获取URL接口数据

使用kettle获取URL接口数据结果保留到文件里 1 生成记录里添加URL信息 2 使用Rest_Client组件处理URL数据结果保存到字段里&#xff08;json的&#xff09; 3 使用json_input 组件处理json数据 4 保存结果到文件里

【protobuf】ProtoBuf——proto3语法详解、字段规则、消息类型的定义与使用、通讯录的写入和读取功能实现

文章目录 ProtoBuf5. proto3语法详解5.1 字段规则5.2 消息类型的定义与使用 ProtoBuf 5. proto3语法详解 在语法详解部分&#xff0c;依旧通过项目推进的方式开展教学。此部分会对通讯录多次升级&#xff0c;用 2.x 表示升级的版本&#xff0c;最终将完成以下内容的升级&#x…

2 C 语言开发工具的选择、 MinGW 的安装与配置、VS Code 的安装与配置、插件推荐

目录 1 开发工具的选择 1.1 Visual Studio 1.2 Code::Block 1.3 Clion 1.4 VS Code 1.5 在线编辑工具 2 开发工具安装 2.1 安装 MinGW-w64 2.1.1 MinGW-w64 介绍 2.1.2 解压 MinGW 2.1.3 将 MinGW 添加至环境变量 2.1.4 验证安装 2.2 安装 VS Code 2.2.1 下载安装…

无刷直流电机的个人总结

电机分类 主要分为两大类&#xff1a;有刷电机&#xff0c;无刷电机 有刷电机 原理图截图来源&#xff0c;工作原理就是对转子线圈通电后产生磁性和外壳中的永磁体相互作用&#xff0c;导致转子转动。而在转子转动过程中如果不改变电流方向&#xff0c;那么磁性不变&#xf…

ROS机械臂——ROS结合OpenCV案例(含资源)

纲要 摄像头驱动 图像属性 图像压缩 ### Realsense摄像头 点云展示 ### 点云图像属性 ## 摄像头标定 摄像头标定流程 如何使用标定文件 OpenCV ROS与OpenCV的集成框架 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b0ff143b710543839325d19c7a3c04c5.png R…

【Mysql】Xtrabackup备份恢复(Mysql5.6/5.7/8.0)

目录 一、前言 二、Mysql8.0为例 1、安装Xtraback工具 1&#xff09;mysql8.0.x版本 2&#xff09;mysql5.6、5.7版本 2、备份操作 3、恢复操作 一、前言 官网下载地址&#xff1a;Software Downloads - Percona 本测试环境&#xff1a;centos_x86、mysql8.0.39、mysq…

Nginx的源码编译

一:Nginx 介绍 Nginx是免费的、开源的、高性能的HTTP和反向代理服务器、邮件代理服务器、以及TCP/UDP代理服务 器 解决C10K问题&#xff08;10K Connections&#xff09; Nginx功能&#xff1a;静态的web资源服务器html&#xff0c;图片&#xff0c;js&#xff0c;css&#xff…

【记git 重命名文件失败,和正确方法】

【背景】 想要重命名一个文件&#xff0c;并同步到远程 【过程】 1.我是直接把 “驱动增加he.c” 文件重命名为 “驱动增加播放he接口方法” &#xff0c;想着直接提交就会同步重命名git仓记录的文件名。然后就可以推送到远程仓库&#xff0c;同步重命名远程仓库的文件名。 2.然…

计算机的错误计算(六十五)

摘要 计算机的错误计算&#xff08;五十五&#xff09;展示了大数的余弦函数值的错误计算 。本节探讨另外一类数值&#xff1a; 附近数 的余弦函数的计算精度问题。 例1. 已知 计算 先用 Python计算&#xff1a; 然后在 Visual Studio 2010中用下列代码计算&#xff1a; …

c语言中比较特殊的输入函数

目录 一.getchar()函数 1.基本功能 2.使用方法 (1).读取单个字符 (2).读取多个字符&#xff08;直到遇到换行符&#xff09; (3).处理输入中的空白字符 3.返回值 4.应用场景 5.注意事项 二.fgets()函数 1.函数原型 2.工作原理 3.使用示例 (1).从标准输入读取一行…

qt笔记之qml中的TextEdit、TextInput、TextArea、TextField的区别

qt笔记之qml中的TextEdit、TextInput、TextArea、TextField的区别 code review! 文章目录 qt笔记之qml中的TextEdit、TextInput、TextArea、TextField的区别一.对比二.C环境中类似功能的控件 一.对比 TextEdit、TextInput、TextArea和TextField都是用于文本输入的组件&#…

基于PostGIS(Postgres)+Node.js实现的xyz瓦片地图服务器

背景介绍 前两天研究GeoServer发布存储在PostGIS中栅格数据&#xff0c;最终目的是想在PostGIS中存储金字塔瓦片&#xff0c;用GeoServer发布&#xff0c;但是最后经过研究不改GeoServer源码的情况下&#xff0c;好像只支持将大图tif存在PostGIS数据库中进行发布&#xff0c;金…

XSS漏洞复现(包括xssgame和三个高级xss漏洞)

文章目录 XSS GAME1、Ma Spaghet!2、Jefff3、Ugandan Knuckles4、Ricardo Milos5、Ah Thats Hawt6、Ligma7、Mafia8、Ok, Boomer 全删除属性dom破坏WW3 XSS GAME 地址&#xff1a;https://xss.pwnfunction.com/ 关卡难度层层递进&#xff0c;各个漏洞都有特点&#xff0c;值得…

【最大公约数和最小公倍数】求最大公约数和最小公倍数

输入两个正整数m和n&#xff0c;求其最大公约数和最小公倍数 使用C语言实现&#xff0c;具体代码&#xff1a; 使用辗转相除法&#xff08;也称欧几里得算法&#xff09;计算最大公约数 while(b ! 0){ temp a % b; a b; b temp; } 最小公倍数&#xff08;LCM&…

大模型高效微调工具 Hugging Face PEFT

概述 HF PEFT是一个为大型预训练模型提供高效微调方法的Python库。它通过采用训练少量提示参数或使用低秩适应等重新参数化方法&#xff0c;减少微调时训练参数的数量。本文主要介绍了PEFT库的内容、与Transformers的集成、核心知识点如AutoPeftModels、PeftConfig、PeftType和…

知识改变命运 数据结构【链表面试题】

1. 删除链表中等于给定值 val 的所有节点。 OJ链接 public ListNode removeElements(ListNode head, int val) {if (headnull) {return null;}ListNode curhead.next;ListNode prehead;while(cur!null) {if(cur.valval) {pre.nextcur.next;curcur.next;}else {precur;curcur.ne…

日拱一卒(5)——leetcode学习记录:股票购买

一、任务 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…

【qt】跳转到另一个界面

如何在一个界面跳转到另一个界面呢&#xff1f; 1.具体步骤 1.先新建一个界面 2.选择qt设计师界面 3.选择W 4.新界面名称 5.界面设计 因为我们要实现通信&#xff0c;需要一个发送信息栏&#xff0c;一个发送按钮&#xff0c;一个清空发送栏按钮 6.实现跳转 我们可以参…