准确度函数

时间:2017-03-27 13:37:53

标签: r forecasting

我正在进行TS分析。这两个准确度有什么区别:

fit<-auto.arima(tsdata)
fcast<-forecast(fit,6)
accuracy(fcast)             #### First Accuracy

fit<-auto.arima(tsdata)
fcast<-forecast(fit,6)
accuracy(fcast,actual values)  #### Second Accuracy

当我没有像第一种情况那样指定精度函数中的实际值时,精度函数如何工作。

其次,计算准确度的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

在这个答案中,我假设您正在使用forecast包中的功能。 答案在accuracy的描述中:

  

返回预测准确度的汇总度量范围。如果提供x,则该函数基于x-f测量样本外(测试集)预测准确度。如果未提供x,则该函数仅基于f [&#34; x&#34;] - 拟合(f)生成预测的样本内(训练集)准确度度量。所有措施都在Hyndman和Koehler(2006)中定义和讨论。

在你的情况下x是函数的第二个参数。因此,简而言之accuracy(fcst)提供了基于训练集的预测误差的估计。

例如:假设您有12个月并预测6个未来。然后,如果您使用accuracy(fcst),则会在12个月内(仅)获得模型的错误。

现在,让我们假设x =您预测的6个月的实际需求。并且您没有使用此数据来构建Arima模型。在这种情况下,accuracy(fcst, x)会为您提供测试集错误,这是使用此模型将来获得的更好的衡量标准(与列车集错误相比)。

最佳做法是使用测试集错误,因为此测量不太容易出现偏差(您最有可能获得&#34;更好&#34;训练集上的预测结果然后在&#34;隐藏处&# 34;测试集,但这些结果将是一种过度拟合&#34;)。如果你有一个测试集,你应该使用测试集作为第二个参数。