R语言绘制线性回归图
线性回归图以二维坐标系展示两个变量关系。数据点代表实际观测值,核心是线性回归线。此线通过统计方法确定,与数据点距离平方和最小。它反映变量间线性趋势,斜率正负决定相关方向。可用于预测因变量值,也能进行推断统计。在数据分析、科学研究和实际应用中广泛使用,帮助人们理解变量关系、做出决策。
0x01 使用lm()函数
# 创建一些示例数据
x <- c(1:10)
y <- c(2, 4.5, 5, 7, 8.5, 9, 11, 12.5, 13, 14)# 绘制散点图
plot(x, y, main = "线性回归图", xlab = "自变量 X", ylab = "因变量 Y")# 进行线性回归分析
model <- lm(y ~ x)# 在散点图上添加线性回归线
abline(model, col = "red")# 输出回归方程
cat("回归方程:Y =", coef(model)[1], "+", coef(model)[2], "* X\n")
一、可以试用summary(model)来展示拟合的详细结果,其结果一般包含以下几个内容:
1.Call(调用信息):
显示用于创建线性回归模型的函数调用,包括模型公式和使用的数据。例如,如果使用lm(y ~ x)创建模型,这里会显示lm(formula = y ~ x)。
2.Residuals(残差信息):
2.1 提供关于残差的一些基本统计信息,包括最小值、1 四分位数、中位数、3 四分位数和最大值。
2.2 残差是观测值与模型预测值之间的差异,分析残差可以帮助评估模型的拟合程度。
3.Coefficients(系数信息):
3.1 列出模型的系数估计值,包括截距(Intercept)和自变量的系数。
3.2 对于每个系数,提供估计值(Estimate)、标准误差(Std. Error)、t 值(t value)和 p 值(Pr (>|t|))。
3.3 估计值表示系数的大小,标准误差衡量估计值的不确定性。t 值用于检验系数是否显著不为零,p 值表示在原假设(系数为零)下观察到当前估计值或更极端值的概率。如果 p 值很小(通常小于某个显著性水平,如 0.05),则表明该系数在统计上是显著的。
4.Residual standard error(残差标准误差):
给出残差的标准误差估计值。它衡量了模型对数据的拟合程度,值越小表示模型拟合越好。
5.Multiple R-squared(复相关系数平方)和 Adjusted R-squared(调整后的复相关系数平方):
5.1 复相关系数平方表示因变量的变异中可以由自变量解释的比例。它的取值范围在 0 到 1 之间,值越接近 1 表示模型的拟合效果越好。
5.2 调整后的复相关系数平方考虑了模型中自变量的数量,防止随着自变量的增加而过度拟合。它在比较不同模型时更有用。
6.F-statistic(F 统计量):
用于检验整个模型的显著性。它比较了模型的解释能力与仅包含截距的模型。F 统计量大且对应的 p 值小表示模型在整体上是显著的。
总之,summary(model)提供了丰富的信息,帮助用户评估线性回归模型的质量、系数的显著性以及模型的整体拟合程度。
二、可以用fitted(model)来获取线性回归模型的拟合值。
三、可以用residuals(model)来获取线性回归模型的残差。
四、我们还可以根据我们的模型,对他进行一个随意的赋值,然后预测五门所想要的y值。
# 创建一个数据框 new,包含一个值为 3.16 的列 x,用于新数据点的预测
new <- data.frame(x = 3.16)
# 使用已建立的线性回归模型 model 对新数据 new 进行预测
# interval = "prediction" 表示计算预测区间
# level = 0.95 指定预测区间的置信水平为 95%
lm.pred <- predict(model, new, interval = "prediction", level = 0.95)
# 输出预测结果,包含点预测值以及 95%预测区间的上下限
lm.pred
通常返回的内容一般包括以下内容:
1.fit:点预测值,即对于给定的新x值,预测的因变量值。
2.lwr和upr:95% 预测区间的下限和上限。
0x02 使用ggplot2包
一、使用stat_smooth()函数绘制线性回归图。
library(ggplot2)# 创建一个数据框 mydata,包含两列 x 和 y,x 是从 1 到 10 的整数序列,y 是一组对应的值
mydata <- data.frame(x = c(1:10), y = c(2, 4.5, 5, 7, 8.5, 9, 11, 12.5, 13, 14))# 创建一个 ggplot 对象 sp,以 mydata 为基础,将 x 和 y 分别映射到横纵坐标,添加散点图 geom_point()
sp <- ggplot(mydata, aes(x, y)) +geom_point()# 在 sp 对象上添加基于线性回归的平滑曲线,使用 stat_smooth()函数,method = lm 表示使用线性回归方法
sp + stat_smooth(method = lm)
二、可以使用level参数指定置信区间的水平。
sp + stat_smooth(method = lm, level = 0.99)
三、可以使用se = FALSE参数使绘制的线性回归图不显示标准误差带。
sp + stat_smooth(method = lm, se = FALSE)
四、调整与美化
# 使用 ggplot2 进行绘图
# 以数据框 mydata 为基础,将 x 列映射到横坐标,y 列映射到纵坐标
ggplot(mydata,aes(x,y)) +# 添加散点图,点的颜色设置为暗红色geom_point(colour = "darkred") +# 添加基于线性回归的平滑曲线,曲线颜色为黑色stat_smooth(method = lm,colour = "black") +# 设置图形的标题为"picture",横坐标标签为"year",纵坐标标签为"weight"labs(title = "picture",x = "year",y = "weight") +# 设置图形主题,使标题水平居中theme(plot.title = element_text(hjust = 0.5))
相关文章:
R语言绘制线性回归图
线性回归图以二维坐标系展示两个变量关系。数据点代表实际观测值,核心是线性回归线。此线通过统计方法确定,与数据点距离平方和最小。它反映变量间线性趋势,斜率正负决定相关方向。可用于预测因变量值,也能进行推断统计。在数据分…...
C++进阶:map和set的使用
目录 一.序列式容器和关联式容器 二.set系列的使用 2.1set容器的介绍 2.2set的构造和迭代器 2.3set的增删查 2.4insert和迭代器遍历的样例 2.5find和erase的样例 编辑 2.6multiset和set的差异 2.7简单用set解决两道题 两个数组的交集 环形链表二 三.map系列的使用…...
深入理解C++ STL中的 vector
文章目录 1. vector 的概述1.1 vector 是什么?1.2 vector 的优点1.3 vector 的缺点 2. vector 的基本使用2.1 vector 的定义2.2 基本操作2.3 示例2.4 迭代器的使用 3. vector 的内部实现原理3.1 动态数组的实现3.2 内存管理3.3 内存扩展策略3.4 元素的插入与删除3.4…...
MySQL 安装与配置详细教程
MySQL 安装与配置详细教程 MySQL 是一款流行的关系型数据库管理系统,广泛应用于 Web 应用和应用程序中。在本文中,我们将提供一份详细的 MySQL 安装与配置教程,帮助初学者快速上手。 ## 1. 安装 MySQL 首先,我们需要从 MySQL 官…...
理解智能合约:区块链在Web3中的运作机制
随着区块链技术的不断发展,“智能合约”这一概念变得越来越重要。智能合约是区块链应用的核心之一,正在推动Web3的发展,为数字世界带来了前所未有的自动化和信任机制。本文将深入探讨智能合约的基本原理、运作机制,以及它在Web3生…...
QT工程概述
在Qt中,创建 "MainWindow" 与 "Widget" 项目的主要区别在于他们的用途和功能范围: MainWindow:这是一个包含完整菜单栏、工具栏和状态栏的主窗口应用程序框架。它适合于更复 杂的应用程序,需要这些额外的用户…...
redis安装 | 远程连接
1.redis的安装 在Ubuntu下安装redis【网址】使用root账号使用apt来安装。使用apt安装比较的方便,但是安装的版本可能就不是最新的版本。 $ su root $ apt list --installed | grep redis # 查看是否安装 $ apt search redis # 查看apt中的redis版本 $ apt install…...
性价比高的宠物空气净化器应该怎么挑?有哪几款推荐?
前几年和朋友住在一起之后就一起养了两只猫,没想到刚开始还好,到后期之后,我和朋友都苦不堪言,有泪都流不出。 主要是猫咪掉毛实在是太严重了,下班回去之后,发现朋友在打扫家里,又是擦又是扫的…...
Golang | Leetcode Golang题解之第466题统计重复个数
题目: 题解: func getMaxRepetitions(s1 string, n1 int, s2 string, n2 int) int {n : len(s2)cnt : make([]int, n)for i : 0; i < n; i {// 如果重新给一个s1 并且s2是从第i位开始匹配 那么s2可以走多少位(走完了就从头开始走p1, p2 :…...
设计模式 - 行为模式
行为模式 观察者模式,策略模式,命令模式,中介者模式,备忘录模式,模板方法模式,迭代器模式,状态模式,责任链模式,解释器模式,访问者模式 保存/封装 行为/请求…...
InstructGPT的四阶段:预训练、有监督微调、奖励建模、强化学习涉及到的公式解读
1. 预训练 1. 语言建模目标函数(公式1): L 1 ( U ) ∑ i log P ( u i ∣ u i − k , … , u i − 1 ; Θ ) L_1(\mathcal{U}) \sum_{i} \log P(u_i \mid u_{i-k}, \dots, u_{i-1}; \Theta) L1(U)i∑logP(ui∣ui−k,…,ui−1;Θ…...
没有HTTPS 证书时,像这样实现多路复用
在没有 HTTPS 证书的情况下,HTTP/2 通常不能直接通过 HTTP 协议使用。虽然 HTTP/2 协议的规范是可以支持纯 HTTP 连接(即通过 http:// 协议),但大多数主流浏览器(如 Chrome、Firefox)都 强制要求 HTTP/2 必须在 HTTPS 上运行。这是出于安全和隐私的考虑。 因此,如果你没…...
2.1.ReactOS系统NtReadFile函数的实现。
ReactOS系统NtReadFile函数的实现。 ReactOS系统NtReadFile函数的实现。 文章目录 ReactOS系统NtReadFile函数的实现。NtReadFile函数的定义NtReadFile函数的实现 NtReadFile()是windows的一个系统调用,内核中有一个叫NtReadFile的函数 NtReadFile函数的定义 NTS…...
2020-11-06《04丨人工智能时代,新的职业机会在哪里?》
《香帅中国财富报告25讲》 04丨人工智能时代,新的职业机会在哪里? 1、新机会的三个诞生方向 前两讲我们都在说,人工智能的出现会极大地冲击现有的职业,从2020年开始,未来一二十年,可能有一半以上的职业都会…...
TensorRT-LLM七日谈 Day5
模型加载 在day2, 我们尝试了对于llama8B进行转换和推理,可惜最后因为OOM而失败,在day4,我们详细的过了一遍tinyllama的推理,值得注意的是,这两个模型的推理走的是不同的流程。llama8b需要显式的进行模型的转换,引擎的…...
使用Java Socket实现简单版本的Rpc服务
通过如下demo,希望大家可以快速理解RPC的简单案例。如果对socket不熟悉的话可以先看下我的上篇文章 Java Scoket实现简单的时间服务器-CSDN博客 对socket现有基础了解。 RPC简介 RPC(Remote Procedure Call,远程过程调用)是一种…...
P2P 网络 简单研究 1
起因, 目的: P2P 网络, 一道题。题目描述, 在下面。 P2P 网络,我以前只是听说过,并不深入。如果我有5台电脑的话,我也想深入研究一下。 P2P 简介: P2P(Peer-to-Peer)网络是一种分…...
RAG(检索增强生成)面经(1)
1、RAG有哪几个步骤? 1.1、文本分块 第一个步骤是文本分块(chunking),这是一个重要的步骤,尤其在构建与处理文档的大型文本的时候。分块作为一种预处理技术,将长文档拆分成较小的文本块,这些文…...
卫爱守护|守护青春,送出温暖
2024年10月10日,艾多美爱心志愿者来到校园。艾多美“卫艾守护”项目于吉林省白山市政务大厅会议室举办了捐赠仪式,东北区外事部经理黄山出席了捐赠仪式仪式,为全校女同学捐赠了青春关爱包。 此次捐赠,面向吉林省自山市第十八中学、…...
ubuntu-24.04.1 系统安装
使用VMware虚拟机上进行实现 官网下载地址: https://cn.ubuntu.com/download https://releases.ubuntu.com 操作系统手册: https://ubuntu.com/server/docs/ (里面包含安装文档) 安装指南(详细):…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
