You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在残差的ggplot直方图中添加正态分布曲线

在残差直方图中添加拟合正态分布曲线

基于你提供的fpp3代码,要在残差直方图上叠加以残差均值和方差为参数的正态分布曲线,只需对直方图代码做以下修改:

aug <- google_2015 |>
    model(NAIVE(Close)) |>
    augment()

# 生成带正态曲线的残差直方图
aug |>
    ggplot(aes(x = .innov)) +
    # 用密度而非计数作为y轴,与正态曲线尺度匹配
    geom_histogram(aes(y = after_stat(density)), bins = 15, alpha = 0.7, fill = "lightblue", color = "black") +
    # 添加拟合的正态分布曲线
    stat_function(
        fun = dnorm,
        args = list(mean = mean(aug$.innov, na.rm = TRUE), sd = sd(aug$.innov, na.rm = TRUE)),
        color = "red",
        linewidth = 1
    ) +
    labs(
        title = "残差直方图与拟合正态分布曲线",
        x = "残差值",
        y = "密度"
    )

关键说明:

  • 必须将直方图的y轴设置为密度(density):通过after_stat(density)实现,这样才能和正态分布的概率密度曲线在同一尺度上对比,避免因计数和密度的数值差异导致曲线无法正常显示。
  • 使用stat_function调用正态分布密度函数dnorm,传入的参数直接从残差数据中计算:mean(aug$.innov, na.rm = TRUE)和sd(aug$.innov, na.rm = TRUE),na.rm=TRUE用于处理可能存在的缺失残差值。
  • 可根据需求调整bins数量、填充色、曲线颜色/线宽等参数,优化图表视觉效果。

内容的提问来源于stack exchange,提问作者Ray Tayek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:34:58