【问题标题】:How I can calculate MAPE in r with actual e predicted values?如何使用实际的 e 预测值计算 r 中的 MAPE?
【发布时间】:2020-06-01 09:55:04
【问题描述】:

我正在尝试在 R 中计算 MAPE,但我有任何问题。 我有一个从 2017 年到 2020 年的食品零售数据集,我将其分为训练集 e 和测试集。现在,以这种方式计算预测值之后:

tsData_train <- ts(t1[,3], start= 2017, end= 2019, frequency=12)
tsData_test <- ts(t2[,3], start=2019, end= 2020, frequency=12)

#choose best model with arima

a1 <-auto.arima(tsData_train, max.d = 1, D=1)
fitA <- arima(tsData_train, method="ML")
pred <- predict(fitA,n.ahead = 4)
futurVal <- forecast(a1 ,h=24)`

请告诉我代码是否正确。我想手动计算 MAPE,我的感想是:

abs((actual-predicted)/predicted)

但我不知道哪些是实际的和预测的。 请帮帮我。

【问题讨论】:

    标签: r prediction forecasting arima forecast


    【解决方案1】:

    MAPE 是平均绝对百分比误差,因此它缺乏均值。此外:

    MAPE = mean(abs((Y - Yhat)/Y))
    

    其中 Y 是实际值或观察值,Yhat 是预测值。

    【讨论】:

    • 抱歉,在我的代码中,“实际”是 tsData_train,预测是“futurVal”?
    • Y 或实际是 tsData_test 并且预测或 Yhat 应该具有相同的大小。您应该使用拟合模型来预测 24 个周期,即 futurVal。 Ps:命名一个不是预测值的向量 pred 是个坏主意。祝你好运!
    猜你喜欢
    • 2020-02-22
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多