当前位置: 首页 > article >正文

R数据科学 17.3.3答案

(1) 除了使用 lm() 函数拟合一条直线,你还可以使用 loess() 函数来拟合一条平滑曲线。使用 loess() 代替 lm() 对 sim1 数据集重复模型拟合、网格生成、预测和可视化的过程,并将结果与 geom_smooth() 函数进行比较。

# 使用 loess() 拟合平滑曲线
loess_model <- loess(y ~ x, data = sim1)
# 生成网格数据
grid <- data.frame(x = seq(min(sim1$x), max(sim1$x), length.out = 100))
# 预测
grid$predicted_y <- predict(loess_model, newdata = grid)
# 可视化
library(ggplot2)
ggplot(sim1, aes(x, y)) +
  geom_point() +
  geom_line(data = grid, aes(x, predicted_y), color = "blue") +
  geom_smooth(method = "loess", se = FALSE, color = "red") # geom_smooth 对比

(2) add_predictions()函数还伴有 2 个函数:gather_predictions()和 spread_predicitons()。这 3 个函数有什么不同?

  1. add_predictions():将模型的预测值直接添加到原始数据框中,形成一个新的列,便于后续分析。

  2. gather_predictions():将预测结果转化为长格式(long format),通常适用于在 ggplot2 中进行分面(facet)或比较不同模型的情况。

  3. spread_predictions():将预测结果转化为宽格式(wide format),每个模型的预测值会形成一个新的列,这在比较多个模型的预测时非常有用。

(3) geom_ref_line() 函数的功能是什么?它来自于哪个 R 包?在显示残差的图形中显示一条参考线是非常重要和有用的,为什么这么说呢?

geom_ref_line() 用于在图形中添加参考线(例如,水平线或垂直线)。这个函数通常来自于 ggplot2 包。

在显示残差图时,添加参考线(如 y=0 的水平线)是非常重要和有用的,因为它能帮助我们直观地观察残差的分布。如果残差分布在这条参考线的上下是随机的,没有明显的模式,说明模型拟合良好;反之,如果残差呈现系统性的偏离,可能意味着模型存在问题或需要调整。

(4) 为什么需要检查残差绝对值的频率多边形图?与检查残差本身相比,这种方式有什么优缺点呢?

检查残差绝对值的频率多边形图可以帮助我们更好地理解残差的分布特性。优缺点如下:

  1. 优点

    频率多边形图可以直观显示残差绝对值的分布情况,尤其是它们的集中程度和分散程度。
    可以揭示潜在的异常值和偏差模式,帮助判断模型的拟合质量。

  2. 缺点
    仅仅查看残差绝对值可能会掩盖残差的实际值,导致对模型性能的误解。与检查残差的实际值相比,可能无法直观地发现模型的系统性错误或模式。
    总之,结合这两种方式,能够更全面地评估模型的拟合效果。


http://www.kler.cn/news/362603.html

相关文章:

  • React 分装webSocket
  • 【论文翻译】ICLR 2018 | DCRNN:扩散卷积递归神经网络:数据驱动的交通预测
  • Python多进程学习与使用:全面指南
  • 几何算法系列:空间实体体积计算公式推导
  • 关于Docker
  • 《PP-OCRv1》论文精读:PaddleOCR是目前SOTA级别的OCR开源技术(截止2024年10月)
  • 【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (二):项目文件夹架构及路由的设置
  • Vertx实现和spring的application.yml自动配置加载
  • 基于Spring Boot的论坛网站:从零到部署
  • Pr 视频效果:自动重构
  • 【C++篇】探索STL之美:熟悉使用String类
  • 传感器驱动系列之PAW3212DB鼠标光电传感器
  • 网安加·百家讲坛 | 徐一丁:金融机构网络安全合规浅析
  • 云原生环境下的等保测评:构建新型安全防线的探索
  • ChatGPT实现旅游推荐微信小程序
  • XPM_CDC_PULSE
  • 安全见闻(7)——开阔眼界,不做井底之蛙
  • create-vite my-vite-uniapp-project
  • YOLO V3 网络构架解析
  • 群控系统服务端开发模式-程序草图设计
  • idea 开发插件
  • Maven入门到实践:从安装到项目构建与IDEA集成
  • gin入门教程(5):请求参数处理
  • stm32F103 实现呼吸灯效果
  • ubuntu 22.04网线连接无ip、网络设置无有线网界面(netplan修复)
  • 求最大公约数(c语言)