gpt4 book ai didi

r - 预测准确度: no MASE with two vectors as arguments

转载 作者:行者123 更新时间:2023-12-02 17:54:01 25 4
gpt4 key购买 nike

我正在使用 forecast 包中的 accuracy 函数来计算准确性度量。我使用它来计算拟合时间序列模型的度量,例如 ARIMA 或指数平滑。当我在不同维度和聚合级别上测试不同模型类型时,我使用 Hyndman 等人引入的 MASE(平均绝对比例误差)(2006 年,“预测准确性的另一种衡量方法”)来比较不同的模型在不同的层面上。

现在我还将模型与预测历史进行比较。由于我只有预测值而没有模型,因此我尝试使用 accuracy 函数。在函数描述中提到,还允许提供两个向量参数,一个具有预测值,一个具有实际值,以计算测量值(而不是拟合模型):

f: An object of class "forecast", or a numerical vector containing forecasts. It will also work with Arima, ets and lm objects if x is omitted – in which case in-sample accuracy measures are returned.

x: An optional numerical vector containing actual values of the same length as object.

但令我惊讶的是,除了 MASE 之外,所有措施均已退回。所以我想知道是否有人知道这是什么原因?为什么在 accuracy 函数中使用两个向量作为参数时未返回 MASE?

最佳答案

MASE 需要历史数据来计算缩放因子。它不是根据@FBE 的答案中的 future 数据计算得出。因此,如果您不将历史数据传递给 accuracy(),则无法计算 MASE。例如,

> library(forecast)
> fcast <- snaive(window(USAccDeaths,end=1977.99))
> accuracy(fcast$mean,USAccDeaths)
ME RMSE MAE MPE MAPE ACF1
225.1666667 341.1639391 259.5000000 2.4692164 2.8505546 0.3086626
Theil's U
0.4474491

但是如果您传递整个 fcast 对象(其中包括历史数据),您会得到

> accuracy(fcast,USAccDeaths)
ME RMSE MAE MPE MAPE MASE
225.1666667 341.1639391 259.5000000 2.4692164 2.8505546 0.5387310
ACF1 Theil's U
0.3086626 0.4474491

关于r - 预测准确度: no MASE with two vectors as arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11092536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com