了解R中的tsCV函数

时间:2018-09-13 20:54:42

标签: r validation time-series modeling

我无法理解tsCV功能的工作方式。当我在数据上使用以下代码时。

    > far1 <- function(x, h){forecast(auto.arima(x), h=h)}
    > tsCV(NewQTRS,far1,h=1)

我明白了

           Qtr1       Qtr2       Qtr3       Qtr4
    1  350667.00  144882.50  415210.33 -307869.25
    2  147499.60  121431.33  459959.00 -218848.88
    3  -27080.00   13915.00  -12479.00  -63671.50
    4  -40103.89  -22359.41  -91162.51 -111829.08
    5   59024.00  -92397.00  151926.00   15270.58
    6    NA  

为什么我得到最终值的NA?我的理解显然是错误的,该函数使用(Year 1 Qtr 1)预测(Year 1 Qtr 2),然后使用(Year 1 Qtr 1)(Year 1 Qtr 2)预测(Year 1 Qtr 3)。等等,因此训练集将使用所有先前可用的qtrs继续构建和预测下一个Qtr。这意味着第一个值将是NA,而最后一个值应是基于前20个qtrs的预测误差。

显然不是这样,有人可以向我解释实际情况吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

tsCV返回预测的h步超前值和实际值之间的误差。在最后一个数据点上,没有更多的未来实际值可比较,因此返回NA。