首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >精度函数

精度函数
EN

Stack Overflow用户
提问于 2017-03-27 21:37:53
回答 1查看 10.8K关注 0票数 1

我正在做TS分析。这两种精确度之间的区别是什么:

代码语言:javascript
复制
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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-27 22:30:31

在这个答案中,我假设您使用的是forecast包中的函数。答案就在accuracy的描述中:

返回预测精度的汇总度量范围。如果提供了x,该函数将基于x-f测量样本外(测试集)预测精度。如果未提供x,则该函数仅根据f"x"-fitted(f)生成预测的样本内(训练集)精度度量。Hyndman和Koehler (2006)对所有度量进行了定义和讨论。

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

例如:假设你有12个月的时间,并预测未来6个月。然后,如果你使用accuracy(fcst),你会得到模型在12个月内的误差(仅)。

现在,让我们假设x =您预测的6个月的实际需求。并且你没有使用这些数据来构建Arima模型。在这种情况下,accuracy(fcst, x)给出了测试集误差,这是一个更好的测量方法,可以更好地衡量您将来使用此模型将获得的结果(与训练集误差相比)。

最佳实践是使用测试集误差,因为这种度量不容易产生偏差(您很可能在训练集上获得比在“隐藏”测试集上“更好”的预测结果,但这些结果将是一种“过拟合”)。如果你有一个测试集,你应该使用测试集作为第二个参数。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43048018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档