怎么对时间序列进行交叉验证?

  统计/机器学习 模型验证 时间序列 开放问题    浏览次数: 920
2

对于时间序列类型的预测模型,应该怎么进行交叉验证呢?

如果用普通的交叉验证,会有数据泄露,那么该怎么办呢?


 

Gakki   2017-10-17 09:16



   1个回答 
3

你说的对,不能用普通的交叉验证,这样会有数据泄漏。

有个方案是保证时间顺序,永远用后面的数据作为测试集。

比如说你的数据是从1月份到12月。

那么你可以:

    1到6月训练,在7月上验证

    2到7月训练,在8月上验证

    3到9月训练,在9月上验证

    4到10月训练,在11月上验证

    5到11月训练,在12月上验证

这样的缺点是,1到6月的数据从来不会被用作验证集,所以你最后根据上面交叉验证的结果,是有些偏差性的。

如果各位有其他的好方法,欢迎指正~


Lydia   2017-11-20 11:05

谢谢!正在找这个呢! - yayat   2018-02-26 03:39


  相关主题

python里有现成的卡尔曼滤波器的包吗?   2回答

python中有哪些关于隐马尔可夫模型(HMM)的package?   2回答

ARIMA模型中的三个参数(p, d, q)都是什么意思?   1回答

怎么判断一个时间序列是平稳的?   2回答

如何判断时间序列的周期性?   2回答

python两个日期,求间隔的天数   2回答

求助,按照百度的方法从日期提取年龄出现错误了   1回答

SARIMAX是什么算法?   1回答

像年、月、日、小时这种时间变量一般怎么处理?   1回答

Pandas怎样对dataframe中的一个时间列进行排序?   1回答

请问Python有什么工具可以绘制K线图   1回答

序列的autocorrelation(自相关系数)的计算公式   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!