R语言实战笔记--第八章 OLS回归分析

2023-11-09

R语言实战笔记–第八章 OLS回归分析

标签(空格分隔): R语言 回归分析


  首先,是之前的文章,数理统计里面的简单回归分析,这里简单回顾一下:
  简单回归分析的原理:最小二乘法,即使回归函数与实际值之差的平方和最小。所以它在R中也称为OLS模型,它能实现的回归分析为简单线性回归、多项式回归以及多元线性回归。
  模型中的称谓:自变量、解释变量及预测变量为x,因变量、结果变量、效标变量及预测响应变量为y,用x,y解释对我们从小就学习 y=a+bx 的人来说是最容易理解不过了。
  使用OLS的前提条件:正态性(对于固定的x,y呈正态分布);独立性(各个y值之间独立);线性(y和x是线性关系,这也是简单回归分析需要先做相关性检验);同方差性(y的方差不变,不会因为x的水平不同而改变,意思即为,y是观察值,它应该是不会随机某个变量的改变而拿到我们的观察值跟着变化的)。
  
  然后是在R中的实现,R中实现OLS很简单,就一个函数lm(),其使用方法为:fit<-lm(formula,data),其中formula表达式的的形式为:Y~X1+X2+X3……+Xk,~左边为响应变量,右边为预测变量。对这个表达式,还有一个表来说明它的使用方式,如下:

符号 用途
~ 分隔符号,左边为响应变量,右边为解释变量。例如,要通过x、z和w预测y,代码为y ~ x + z + w
+ 分隔预测变量
: 表示预测变量的交互项。例如,要通过x、z及x与z的交互项预测y,代码为y ~ x + z + x:z
* 表示所有可能交互项的简洁方式。代码y~ x * z * w可展开为y ~ x + z + w + x:z + x:w + z:w + x:z:w
^ 表示交互项达到某个次数。代码y ~ (x + z + w)^2可展开为y ~ x + z + w + x:z + x:w + z:w
. 表示包含除因变量外的所有变量。例如,若一个数据框包含变量x、y、z和w,代码y ~ .可展开为y ~ x + z + w
- 减号,表示从等式中移除某个变量。例如,y ~ (x + z + w)^2 – x:w可展开为y ~ x + z + w + x:z + z:w
-1 删除截距项。例如,表达式y ~ x -1拟合y在x上的回归,并强制直线通过原点
I() 从算术的角度来解释括号中的元素。例如,y ~ x + (z + w)^2将展开为y ~ x + z + w + z:w。相反, 代码y~ x + I((z + w)^2)将展开为y ~ x + h, h是一个由z和w的平方和创建的新变量
function 可以在表达式中用的数学函数。例如,log(y) ~ x + z + w表示通过x、z和w来预测log(y)

  
  还有一个表,是对拟合出来的模型进行处理的,比如summary(fit)可以展示拟合模型的详细结果,如下表:

函 数 用 途
summary() 展示拟合模型的详细结果
coefficients() 列出拟合模型的模型参数(截距项和斜率)
confint() 提供模型参数的置信区间(默认95%)
fitted() 列出拟合模型的预测值
residuals() 列出拟合模型的残差值
anova() 生成一个拟合模型的方差分析表,或者比较两个或更多拟合模型的方差分析表
vcov() 列出模型参数的协方差矩阵
AIC() 输出赤池信息统计量
plot() 生成评价拟合模型的诊断图
predict() 用拟合模型对新的数据集预测响应变量值

  
  前面是lm函数的基础,然而,在这章中所有的内容都需要理解,关键是里面的解释,总结一下各小节的关键点如下:
  
拟合回归
以一个综合的公式来表达如下:

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

R语言实战笔记--第八章 OLS回归分析 的相关文章

  • rmarkdown 中的内部链接不起作用

    我使用 rmarkdown 来渲染 pdf 文档 现在我想在文本中添加内部链接 在帮助页面中降价 http rmarkdown rstudio com authoring pandoc markdown html links 它说内部链接定
  • 如何减小 R Plot 中图例的大小,同时仍使其可读?

    我试图用 R 中的两个 y 轴绘制多年来的一些数据 但是 每当我尝试包含图例时 图例就会主导我的绘图 当我使用其他地方建议的解决方案时 例如keyword和 或使用cex论据 在另一篇文章中建议here https stackoverflo
  • R闪亮的html小部件之间的交互

    我正在开发一个 R 闪亮应用程序 它使用多个 html 小部件 特别是网络D3 d3热图 and 和弦诊断 这些小部件单独工作正常 但是 在同一页面中使用它们会留下一个空格处他们应该在哪里 这是显示错误的可重现代码 在 UI 中注释绘图线
  • 计算级别内的值

    我在 R 中生成了一组级别cut 例如假设 0 到 1 之间的小数值 分为 0 1 个区间 gt frac lt cut c 0 1 breaks 10 gt levels frac 1 0 001 0 1 0 1 0 2 0 2 0 3
  • R:错误消息---包错误:“functionName”未从当前命名空间解析

    我正在使用一个一直运行到 R3 0 的软件包 问题如上所述 当我们调用在 R 2 15 2 中工作的函数时 从 R 3 0 开始我们得到一个错误 Error in C solarspectrum3 as double lon as doub
  • 尽管提供了群落矩阵,纯素食 DBRDA 物种得分为空

    我使用纯素社区生态包在 R 中执行了 基于距离的冗余分析 dbRDA 我想在 dbRDA 结果的排序图中显示 鱼类 营养群体对样本之间差异 营养级鱼类组合的丰度数据 的相对贡献 IE 将箭头和营养级组名称叠加到排序图上 其中箭头线的长度表示
  • udunits2 R 安装:找不到 udunits2.h

    我正在尝试在 R 中安装 udunits2 以满足对ggforce包裹 但是 安装程序在检查 udunits2 时始终失败 我已经尝试过中的说明this https stackoverflow com questions 47059517
  • R 中 write.table 文件名中的变量

    请帮助我解决一个幼稚的问题 已经用谷歌搜索 并尝试了很多变体 但失败了 如何使用 R 中 write table 的文件名中的变量保存文件 脚本循环遍历 dir 中的文件 应用一些函数 然后将结果保存到具有相同名称但附加结尾的文件中 谢谢
  • 仅在具有重复块名称的另一个 Rmarkdown 文档中运行一个 Rmarkdown 文档中的代码

    我正在 Rmarkdown 中编写一系列相互补充的报告 我想将上一份报告的结果纳入我目前正在编写的报告中 我看到其他建议使用的问题purl从 Rmarkdown 文档中提取 R 代码然后运行它 所以我尝试了以下操作 r read previ
  • 如何判断某个软件包是否已经安装?

    当我安装 yaml 包时 如果之前已经安装过 RStudio 则会弹出一条烦人的错误消息 如何判断该软件包是否已安装 以便我可以在代码中决定是否安装该软件包 该消息位于弹出窗口中 内容如下 此安装将更新的一个或多个软件包 当前已加载 在更新
  • 如何用日语创建 ggplot2 标题?

    我正在准备日语演示文稿 并希望图像的标题和图例名称为日语 我可以让文本在 RStudio 中渲染得很好 但是当渲染图像时 日语字符仅显示为方框 x 10 10 y x x df data frame x y ggplot df aes x
  • 使用 SparkR 1.5 从 RStudio 中的 hdfs 读取大文件(纯文本、xml、json、csv)的选项

    我是 Spark 新手 想知道除了下面的选项之外是否还有其他选项可以使用 SparkR 从 RStudio 读取存储在 hdfs 中的数据 或者我是否正确使用它们 数据可以是任何类型 纯文本 csv json xml 或任何包含关系表的数据
  • 为什么我在 ddply 中看到“错误:length(rows) == 1 is not TRUE”?

    我有一个数据框 比如工资单 例如 payroll lt read table text AgencyName Rate PayBasis Status NumRate HousingAuthority 26 843 00 Annual Fu
  • 带有嵌套分组变量的多行轴标签,用于 - R 中的堆积条形图

    我想使用 ggplot 制作一个包含多个类别的堆叠条形图 并带有嵌套的标记 X 轴 类似于我使用 Excel 制作的条形图 如此处所示 我尝试使用给出的例子here https stackoverflow com questions 181
  • R 中带有边缘箱线图的直方图

    如何使直方图中的 X 轴与边缘箱线图匹配 data lt rnorm 1000 nf lt layout mat matrix c 1 2 2 1 byrow TRUE height c 1 3 layout show nf par mar
  • 如何优化 R 中的 sapply 来计算数据帧上的运行总计

    我在 R 中编写了一个函数来按月份计算累积总数 但随着数据集变大 我的方法的执行时间呈指数增长 我是一名 R 程序员新手 你能帮我提高效率吗 该函数以及我调用该函数的方式 accumulate lt function recordnum d
  • 无法在 Powershell 中运行 R.exe

    我经常发现在命令行 Windows 上运行 R 更有用 然而 当我在 Powershell 中尝试时 我往往会遇到问题 但这可以通过第一次运行轻松克服cmd然后就可以了 这是我执行此操作时遇到的错误R CMD BATCH Invoke Hi
  • 通过 RCpp 返回 NA

    新手 RCpp 问题在这里 How can I make a NumericVector returnNA到R 例如 假设我有一个 RCpp 代码 它分配NA到向量的第一个元素 RCpp export NumericVector myFun
  • 求解非线性方程组

    我正在尝试求解以下四个方程组 我尝试过使用 rootSolve 包 但似乎我无法通过这种方式找到解决方案 我正在使用的代码如下 model lt function x F1 lt sqrt x 1 2 x 3 2 1 F2 lt sqrt
  • R - 如何为数据范围内的缺失值绘制条形图零点?

    假设我对 1 到 10 之间的整数的 200 个点有 10 个观察值 mysample sample rep seq 1 10 20 10 我想用条形图绘制它 barplot table mysample barplot https i s

随机推荐

  • 使用Nginx发布Vue应用

    使用Nginx发布Vue应用 本教程将指导你如何使用Nginx来发布Vue应用 Nginx是一个高性能的开源Web服务器 可以用于部署静态网页 反向代理和负载均衡等 Vue是一个流行的JavaScript框架 用于构建现代化的单页面应用 步
  • [人工智能-综述-1]:人工智能系统架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 人工智能 综述 1 人工智能系统架构 文火冰糖 王文兵 的博客 CSDN博客 人工智能系统的技术架构 目录 第1部分 什么是人工智能 1 1
  • VLC Activex控件(VideoLAN.VLCPlugin.1 VideoLAN.VLCPlugin.2)的所有方法 属性及使用 在一个老外的网站上找到的...

    无意中在老外的网站上发现了关于VideoLAN VLCPlugin 1和VideoLAN VLCPlugin 2所有方法和属性 公布出来 以免大家浪费时间去寻找 注意你使用的VLC的版本 If you open a link to a vi
  • 构建配置ESP8266 MQTT服务器

    我们将了解ESP8266模块如何通过消息队列遥测传输 MQTT 相互通信 MQTT术语 已经使用了诸如中央代理 主题 发布 订阅之类的术语 因此现在该用类似于邮局的方式来解释它们了 消息是报纸或杂志 代理 这是一个接收客户端消息的软件应用程
  • 数字保留有效数字_分析化学有效数字问题

    一 有效数字位数 1 非整数数据 有效数字为从左端开始首个非零数字算起 至右端最后一个数字 例如 0 0518有3位有效数字 0 05180有4位有效数字 同时注意 在用科学记数法表示数字时 有效数字位数不变 例如 0 05180改写为 2
  • SpringMVC+Freemarker+jQuery实现多语言(国际化)切换

    一 spring启动配置文件修改 其中
  • cuda与driver对应版本

    CUDA Toolkit Toolkit Driver Version Linux x86 64 Driver Version Windows x86 64 Driver Version CUDA 11 4 Update 1 gt 470
  • 数据结构-带头节点的单链表(C语言)超详细讲解

    前面我们学到线性表的顺序存储结构 顺序表 发现它有着明显的缺点 插入和删除元素时需要频繁的移动元素 运算效率低 必须按事先估计的最大元素个数申请连续的存储空间 存储空间估计大了 造成浪费空间 估计小了 容易产生溢出 空间难以扩大 采用链式存
  • 每天Leetcode 刷题 初级算法篇-杨辉三角

    题目要求 力扣题解 代码 import java util ArrayList import java util List program mydemo description this is a class author Mr zeng
  • GraphEdit 的作用和使用

    GraphEdit 是一个用于建立和测试Filter graph 的可视化工具 在DirectX SDK 中附带一个可执行程序版本 在SDK目录中的Bin DXUtils graphedt exe 你可以快速测试你建立的Filter gra
  • ORACLE存储层次以及彻底删除数据的方式

    ORACLE的存储层测氛围四层 表空间 就是实际的数据文件 对应操作系统上的一个数据文件 段 回滚段 数据段 索引段 区 ORACLE分配磁盘空间的最小单元 块 ORACLE操作数据库的最小IO单元 user tables user ind
  • 【手撕代码系列】JS手写实现深拷贝

    公众号 Code程序人生 分享前端所见所闻 深拷贝是在计算机科学中非常重要的概念 尤其是在处理数据结构和对象的时候 深拷贝的目的是创建一个新的对象 它有自己的内存空间 并且其中的所有值都是原始对象的副本 这样做的好处是 可以避免在修改新对象
  • java中字符型常量的表示方法_Java中的常量,常量的表现形式和进制的转换及有符号数据表示法(原码,反码,补码)...

    1 常量 在程序执行的过程中 其值不发生改变的量 分类 1 字面值常量 字符串常量 用双引号括起来内容 字符常量 用单引号括起来的内容 整数常量 所有整数 小数常量 所有小数 布尔常量 true 或 false 空常量 null 2 自定义
  • 游戏行业未来发展趋势分析?

    未来游戏的方向与趋势 今天听了 哥的课程 我更加深入的了解了游戏行业的整体发展历程 这对于我们这一群即将进入游戏行业的校招生而言 无疑是受益匪浅的一节课 我 一个刚刚准备进入游戏行业的小白 大致猜想了游戏未来的几个发展方向与趋势 我认为 游
  • 3椭圆曲线密码学:ECDH和ECDSA

    原文链接 Elliptic Curve Cryptography ECDH and ECDSA 这篇文章是ECC系列的第三篇 在之前的文章中 我们已经知道了椭圆曲线是什么 并且为了对椭圆曲线上的点做一些数学运算我们定义了群公理 然后我们将椭
  • 静态方法中调用非静态方法

    1 常见现象 静态static方法中不能直接调用非静态non static方法 但可以通过将对象引用传入静态方法内 进而再调用该对象非静态 non static 方法 在主函数 static方法 中 我们经常需要创建某个类的实例 再引用其非
  • Mysql高级部分

    1 索引 索引 index 是帮助Mysql高效获取数据的数据结构 索引的目的在于提高查询效率 可以类比字典 可以简单理解为 排好序的快速查找数据结构 在数据之外 数据库系统还维护着满足特定查找算法的数据结构 这些数据结构以某种方式引用 指
  • tslib1.4的交叉编译

    tslib是touch screen lib 即支持触摸屏的库文件 要交叉编译qte4 5 2 就必须先要编译tslib1 4 今天做了这个工作 记录一下 平台 VMware Centos5 4 交叉编译器 arm linux 3 4 1
  • windows下使用cmake编译c++

    好久没有更新博客了 最近在做c 相关的 编译起来确实很痛苦 所以心血来潮 继续更新一下 主要还是一些跨平台的库 比如zlib libpng opencv ffmpeg 编译工具使用mingw作为主要编译环境支持 使用msys进行编译 一 下
  • R语言实战笔记--第八章 OLS回归分析

    R语言实战笔记 第八章 OLS回归分析 标签 空格分隔 R语言 回归分析 首先 是之前的文章 数理统计里面的简单回归分析 这里简单回顾一下 简单回归分析的原理 最小二乘法 即使回归函数与实际值之差的平方和最小 所以它在R中也称为OLS模型