创建预测与观察的置信区间图(confidence graph)

您好,感谢您的时间和考虑,

您好,感谢您的时间和考虑,

我想用 ggplot 重新创建这个图表。顶部的蓝点是我拟合模型na_lmod的预测值,较低的红色值是多年来一个城市log_trip的观测值。

你能帮我结合这三个功能 ggplot(平滑 / 点),预测和某种 dplyr 过滤器或东西吗?

这段代码给了我想要的感兴趣的城市的log_tripyear,但我很难把它绘制成图表。filter(transit, msaid == "Denver")[,c("log_trip", "year")]

enter image description here

期望输出:

enter image description here

0

这里有一个例子。首先,我将生成一些数据并估计模型。

library(tidyverse)
set.seed(123)
dat <- expand.grid(city = LETTERS[1:10], 
                   year = 2006:2018)
dat$log_trip <- log(abs(dat$year * .05 + rnorm(nrow(dat), 0, 100)))
dat$year <- as.factor(dat$year)
mod <- lm(log_trip ~ year, data=dat)

接下来,我们需要制作一些用于预测的数据。对于此模型,由于year是其中唯一的变量,因此此假设数据中只有year。如果模型中有其他变量,则需要将它们保持在某个(大概是中心)值不变,例如平均值。

pred_dat <- data.frame(year = factor(2006:2018))

然后,我们可以生成具有置信度和预测区间的预测:

preds <- predict(mod, newdata=pred_dat, interval="confidence")
preds2 <- predict(mod, newdata=pred_dat, interval="prediction")
preds <- as.data.frame(preds)

接下来,我们将预测间隔放入press数据帧中。

preds$lwr_pred <- preds2[,2]
preds$upr_pred <- preds2[,3]
pred_dat <- bind_cols(pred_dat, preds)

接下来,我们将预测数据和来自一个城市的观测数据(在本例中为“A”)连接起来。

pred_dat <- left_join(pred_dat, dat %>% filter(city == "A"))

对于绘图,我们需要将year从一个因子转换为数字,然后我们可以制作绘图:

pred_dat  %>% 
  mutate(year = as.numeric(as.character(year))) %>% 
  ggplot() + 
  geom_ribbon(aes(x=year, ymin = lwr_pred, ymax=upr_pred, fill="Prediction"),  alpha=.25) + 
  geom_ribbon(aes(x=year, ymin = lwr, ymax=upr, fill="Confidence"),  alpha=.25) + 
  scale_fill_manual(values=c("blue", "gray65")) + 
  geom_point(aes(x=year, y=fit, color="Predicted")) + 
  geom_point(aes(x=year, y=log_trip, colour="Observed (City A)")) + 
  scale_colour_manual(values=c("red", "blue")) + 
  scale_x_continuous(breaks=2006:2018) + 
  labs(colour="Points", fill = "Intervals", x="Year", y="Predicted Values") + 
  theme_classic()

创建于 2022-05-12 由reprex package(v2.0.1)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(182)
如何使用链接 /api加入新的Google组
上一篇
Oracle云中 IAM、IDCS和OCI的区别
下一篇

相关推荐

  • 在图上聚类节点(graph clustering)

    说我有一个加权的,无向的 X 顶点图。我正在根据每个连接的顶点之间的边的权重(较低的权重 = 更接近)将这些节点分成簇。…

    2022-11-11 15:19:53
    0 11 16
  • 如何在给定的地块上绘制垂直线(graph of a vertical line)

    给定时间表示中的信号图,如何绘制标记相应时间索引的线?…

    2022-11-19 14:41:02
    0 82 58
  • 在图上聚类节点(graph clustering)

    说我有一个加权的,无向的 X 顶点图。我正在根据每个连接的顶点之间的边的权重(较低的权重 = 更接近)将这些节点分成簇。…

    2022-11-11 15:18:35
    0 35 41
  • 在图上聚类节点(graph clustering)

    说我有一个加权的,无向的 X 顶点图。我正在根据每个连接的顶点之间的边的权重(较低的权重 = 更接近)将这些节点分成簇。…

    2022-11-11 15:17:57
    0 20 69
  • css预编译器: center;}

    CSS预编译器是一种用于构建CSS的工具,它可以将CSS代码转换为更易于管理和维护的格式。它们可以使CSS代码更加灵活,更易于重用,并且可以帮助开发人员更轻松地组织和管理CSS代码。…

    2023-01-05 06:29:43
    0 29 51
  • linux的共享文件夹在哪个目录:Linux共享文件夹在/etc/samba目录下

    Linux的共享文件夹在/var/lib/samba/目录下,查看该目录下的文件可以使用以下代码:ls /var/lib/samba/…

    2023-01-21 15:31:10
    0 84 83
  • type c接口是啥改变你的充电体验

    示例示例Type C接口是一种新型的USB连接器,它可以支持更高的数据传输速度,比传统的USB 0接口更快。与传统的USB接口不同,Type C接口可以在两端都使用,无需额外的翻转,使连接更加方便快捷。下面是一个使用Type C接口的代码示例:…

    2023-01-12 02:06:09
    0 48 24
  • carwings是什么意思智能汽车连接系统的未来

    Carwings是日产汽车公司推出的一款远程智能汽车服务,它可以帮助用户远程监控汽车的状态和行驶信息,并且可以远程控制汽车的功能。…

    2023-01-19 13:55:38
    0 42 23

发表评论

登录 后才能评论

评论列表(34条)