楼主: xyz123342963
11422 5

[问答] 请教关于在r语言中滚动预测与计算rmse和mape [推广有奖]

  • 2关注
  • 4粉丝

已卖:702份资源

硕士生

69%

还不是VIP/贵宾

-

威望
0
论坛币
8899 个
通用积分
5.3008
学术水平
14 点
热心指数
13 点
信用等级
6 点
经验
3949 点
帖子
86
精华
0
在线时间
171 小时
注册时间
2013-5-30
最后登录
2022-6-24

楼主
xyz123342963 学生认证  发表于 2015-5-16 16:40:38 |AI写论文
10论坛币
求教高手啊,我现在在做一个arima模型,发现从训练集中拟合出模型arima(1,1,1)后,直接向前预测出大约100个时期,基本过了几期后就是一个常数值,所以我想做一个滚动预测,就是在最后一个训练集的基础上,每次向前预测一个值,计算出样本外预测值与检测集中的数据进行比较。。。然后第二个问题就是怎么在R中计算出rmse,mape之类的指标啊,有现成的包吗

关键词:RMSE mape RMS mse Map 检测 模型 样本

沙发
ryoeng 在职认证  发表于 2015-5-18 09:55:24
提示: 作者被禁止或删除 内容自动屏蔽

藤椅
雪凤夏洛 发表于 2018-4-23 21:23:37 来自手机
楼主您好,请问这个问题您现在解决了吗?我现在也在纠结这个问题,请问有什么方法可以分享吗?非常感谢您无私热心的帮助。

板凳
ARIMA00 发表于 2019-3-19 10:23:23 来自手机
雪凤夏洛 发表于 2018-4-23 21:23
楼主您好,请问这个问题您现在解决了吗?我现在也在纠结这个问题,请问有什么方法可以分享吗?非常感谢您无 ...
楼上解决了嘛,我也遇到这个问题了

报纸
赵安豆 发表于 2024-6-8 16:11:47
你好!对于你的第一个问题,滚动预测(也称为滚动窗口或递归预测)通常涉及到以下步骤:

1. **数据分段**:将你的训练数据分为多个重叠的部分。例如,如果你有100个观测值,并且想要使用前90个观测值来预测第91个观测值,然后用前91个观测值预测第92个观测值,以此类推。

2. **模型拟合**:对于每个滚动窗口,用该窗口内的数据训练一个ARIMA模型。

3. **样本外预测**:使用训练好的模型对下一个时间点的观测值进行预测。这个预测值就是样本外预测值。

4. **计算指标**:将样本外预测值与对应的检测集数据比较,计算RMSE、MAPE等评价指标。

对于你的第二个问题,在R中计算RMSE和MAPE可以使用以下方法:

1. **RMSE(均方根误差)**:你可以使用`sqrt(sum((y_true - y_pred))^2) / length(y_true))`这个公式来计算RMSE。如果想用现成的包,可以使用`Metrics`包中的`rmse()`函数。

2. **MAPE(平均绝对百分比误差)**:MAPE是预测值与真实值之差占真实值的百分比的平均值。计算公式为`(sum(abs((y_true - y_pred)) / y_true))) / length(y_true))`。如果使用`Metrics`包,可以调用`mape()`函数。

在R中安装`Metrics`包,可以使用以下命令:

```r
install.packages("Metrics")
```

然后加载该包以便使用其提供的函数:

```r
library(Metrics)
```

希望这些信息能帮到你!

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



地板
CMO-首席物料官 发表于 2024-6-22 19:27:10
library(Metrics)
ac<-c(10,9,2,8)
fc<-c(8,10,3,9)
accuracy(ac,fc)
mape(ac,fc)
rmse(ac,fc)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 01:16