时间序列 - 使用timeSlice方法拆分数据

时间:2015-05-14 08:55:46

标签: r cross-validation

参考这篇文章:createTimeSlices function in CARET package in R其中建议使用createTimeSlices作为使用时间序列数据时交叉验证的选项。我想了解如何为" initialWindow'' horizo​​n'选择值。和' fixedWindow'在trainControl中。

它们在插入符中定义如下(?createTimeSlices):

initialWindow - 每个训练集样本中连续值的初始数

horizo​​n - 测试集样本中连续值的数量

fixedWindow - 逻辑:如果为FALSE,则训练集始终从第一个样本开始。

有人可以进一步详细说明如何选择initialWindow&的正确值。 Horizo​​n和为fixedWindow选择TRUE或FALSE的实际含义?

1 个答案:

答案 0 :(得分:1)

initialWindow :第一次建模迭代的训练集/窗口的大小。这应该有多大取决于您所适合的模型的复杂程度,因此您必须研究预期的最小样本量以获得可靠的拟合。显然,更复杂的模型需要更大的窗口,例如参见Measuring forecast accuracy,p。 6。

fixedWindow :如果TRUE这意味着移动窗口(总是等于initialWindow的大小),如果{ {1}}它表示用于拟合模型的增长窗口(换句话说,它始终从第一个样本开始)。在插入符号模型的常规输出中,您可以观察训练样本的大小以及它是否正在增长或移动(FALSEfixedWindow = FALSE):

horizon = 1

Resampling: Rolling Forecasting Origin Resampling (1 held-out with no fixed window) Summary of sample sizes: 100, 101, 102, 103, 104, 105, ... :这定义了模型测试前的连续步数。插入符号模型的输出在预测 n 步骤时提供了模型精度的摘要。此处应选择的值取决于您的应用,即是否需要短期或长期预测。再次参见测量预测准确度,p。 7。