作者sma1033 (死马)
看板DataScience
标题Re: [问题] 时间序列资料的训练集切法
时间Sat Apr 13 08:02:11 2019
就是那3个字: No Free Lunch
你的问题说简单也简单,说困难也难
知道答案的人不会轻易告诉你
因为知识是有价的,而且非常昂贵
你的问题说穿了就是:
「我现在手上有一堆资料,但是我不知道资料之间的关系是什麽」
而事实上你的资料之间的关连,可能是任一种
虽然资料原本被纪录的方式是按照时间顺序记下的
但是这并不代表资料彼此之间在时间轴上就有因果关系
假设你已经知道过去10期的乐透开奖号码 --> 所以代表有可能预测下一期的开奖号码?
你觉得这逻辑听起来怎麽样?
CNN是否能够预测出来呢?如果CNN不行那RNN呢?
网路架构那麽多种你要每种都试一下吗?
我随便都可以推荐你100种喔
我相信可能会有不服气的乡民跳出来说「股价变化跟乐透又不一样,你怎知道不行」
不服气的人要不要证明看看,「股价的非随机性」有多少
而这些「非随机」的成分,在扣掉各种成本之後又可以让你有多少利润空间呢
动动脑,有益身心健康~ ㄎㄎㄎ~
※ 引述《avonasac0800 (Adolph)》之铭言:
: 作业系统: Win 10
: 问题类别: RNN/CNN
: 使用工具: Python3.6 + Keras/TensorFlow
: 问题内容:
: 各位大大晚安,
: 小弟想请教, 如果我的资料如下所示(共1,000笔, 只是示意):
: index date value
: 0 20190101 5.1
: 1 20190102 6.6
: 2 20190103 4.8
: 3 20190104 2.7
: ... ... ...
: ... ... ...
: 999 2021xxxx 12
: 而我要以过去20天的资料预测第21天的数值, 如:
: INDEX X Y
: 0 [x0, x1, x2... x19] x20
: 1 [x1, x2, x3... x20] x21
: ... ... ...
: ... ... ...
: 979 [x979, x980... x998] x999
: 假设我要拿总资料的80%来当作训练集,
: 请问我可以将INDEX打乱後再拿里面的80%出来吗?
: 或者非得拿INDEX[0:784]当作训练集呢?
: 若打乱後再加以训练,
: 其测试集(test)的MAE可以比未打乱的MAE少50%,
: 所以才有这样的疑问,
: 我在书上及网路上看到的时间序列模型都是以INDEX[0:784]作为训练集,
: 但它们都没有提及原因,
: 只有一个人说到"你总不会想拿那麽远的资料做测试吧".
: 如果我就是想这样建模型, 请问会有甚麽潜在的问题吗?
: 请各位大大不吝赐教, 谢谢orz
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.231.190.159
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1555113734.A.5DA.html
1F:推 kokolotl: 有一派认为股价是random walk XD 04/13 11:25
2F:推 yoyololicon: 学长这麽来劲 特别回一篇XD 04/13 18:05
3F:→ sma1033: 也许股价并不是pure random,但我想对99%的人来说应该是 04/13 18:55
4F:→ sma1033: pseudo random跑不掉的,也就是说没有内线就是random XD 04/13 18:55
5F:推 kokolotl: 小虾米没内线 XD 04/13 20:24