之前看到过一篇文章,想测验一下怎样用LSTM猜测股票,在文中比照了LSTM神经网络和Naive算法的成果,发现Naive的成果在准确率上完胜。这个Naive的算法便是运用前一个值作为下一个值的猜测值。没忍住,仍是用机器学习猜测了一下股票
选用Naive的算法的作用图
选用LSTM的算法的作用图
文末的时分,说过LSTM猜测股票是个笑话,那篇文章便是LSTM的教程罢了。
今日,我来补一个坑lstm猜测股票靠谱吗:为什么我的深度学习进行股票猜测是个笑话lstm猜测股票靠谱吗?
时刻序列猜测欺骗了你
做过分类算法的朋友们都知道,常常咱们需求替换Metric来练习咱们的模型。由于准确度有时会有误导性,这种状况在反常确诊特别杰出,由于反常是极少数状况。
比方99.9%的样本都是正常的,咱们的模型一个反常也没有识别出,可是咱们也能够大声说lstm猜测股票靠谱吗:咱们的模型准确率高达99.9%。
这便是笑话。
时刻序列也是有这样的欺骗性,在股票上猜测上尤为显着。当你告知他人的模型准确率高达99.9%的时分,也是一个笑话。
由于股票每天动摇都是极小的,也便是为什么运用前一个值作为下一个值的猜测值会看起来有完美的猜测。
比方咱们文章选用的股票,动摇率均值只要0.11。
数据框核算描绘
怎样拆穿这个谎话
股票的猜测,应该看的是涨跌。
所以常常会有人说咱们要猜测明日涨和跌,会有多少个点。其实这个才是衡量模型的更好的办法,也便是选用对“改变量”的猜测。
咱们能够对猜测的成果进行diff处理,求得改变量,然后比照实在值的改变量。
Naive办法猜测“涨跌”的散点图
咱们能够看Naive模型猜测的改变量与实践改变量的比照,发现其实“什么都没有猜测”,由于这个散点图告知咱们x轴和y轴没有任何相关性。
这便是为什么Naive看起来很完美,可是其实没有什么用。
LSTM办法猜测“涨跌”的散点图
相同的办法,比对LSTM模型猜测作用。发现LSTM猜测的涨跌成果是有必定的相关性,可是相关系数挨近0。也便是不论实在值改变量怎样,猜测的成果倾向0改变量,也便是传说的以不变应万变。
怎样填时刻序列猜测的坑
不止是股票猜测,许多时刻序列猜测都有这个问题。特别是时刻序列的改变率比较低的时分,咱们就不主张运用原始时刻序列作为Target。
当然也不能简略的选用归一化来处理,由于归一化会导致改变量更小,形成的一个成果便是模型还没有怎样练习,就现已差错很小了,简略形成欠拟合。
比较好的办法便是选用上述办法,对时刻序列做一个diff处理。然后将diff作为Target。
这个在时序竞赛时,有时被TOP选手作为一个Trick运用。一小段代码如下:
df_cn[use_cols_diff] = df_cn[use_cols].diff().fillna(method='bfill')train_raw = df_cn咱们能够对原始代码进行简略批改,关于模型的参数代码都能够先不必调整。从猜测成果咱们能够看到好像Naive的猜测成果仍然完美。
Naive猜测涨跌
LSTM猜测涨跌
可是假如从差错视点来比照,咱们发现LSTM体现更好。由于LSTM的差错为0.14,而Naive的差错为0.19。
三种办法猜测涨跌成果比照
可是!可是,假如咱们核算0改变量和实在改变量值的差错时,发现只要0.127。
单从这个猜测成果展现,最好的战略便是“买了股票,忘了暗码,持股不动,跑赢猜测”。不然一顿猜测猛如虎,不如回家种红薯。
总结
模型猜测股票,仍然是个笑话。可是时刻序列猜测“准确率”这个坑,期望我们不要闹笑话。不过开展60多年来,机器视觉作为AI技能的急先锋,阅历了几轮起落,总算迎来技能上的迸发。但随着技能进入深水区,寻觅适宜的商业模式真实成为了机器视觉这门技能的最大难点。国家方针一直是鼓舞并支撑AI工业的开展的,信任未来它们必定能找到更好的出路,带领我国的核算机视觉甚至整个AI工业走在全球前列。
人工智能深度学习不仅仅需求需求实战项目根底,一起还需求许多理论作为辅导,为了便利我们学习了解,收拾了一份200G的AI材料:
①人工智能必看优质书本电子书汇总② 人工智能实战项目③ 人工智能职业陈述④国内外闻名精华资源 ⑤人工智能论文合集⑥超详解人工智能学习路线图⑦优质人工智能资源网站收拾私信补白增加收取