当视界大于1时,如何使用带窗口算子的深度学习?

hsanchezhsanchez 成员职位:10因素二世
2020年6月编辑 帮助
你好,
我试图使用过程示例“使用窗口和卷积的标准普尔500回归”,它可以很好地预测窗口操作符(地平线=1)时第二天的价格;然而,如果地平线大于1(提前几天预测),深度学习算子就会失败。
问题你能给我举个例子,我可以使用深度学习、窗口和地平线> 1吗?如果“使用窗口和卷积的标准普尔500指数回归”的例子可以修改为考虑地平线> 1,我会很高兴。我的目标是预测未来几分钟的价格,因此我需要地平线> 1。

我也尝试了上面提到的例子中使用的相同的深度学习算子,但这次使用了多视界预测,出现了同样的问题。深度学习无法处理视界> 1的情况。我不是深度学习操作符方面的专家,但我认为明显的限制与多标签处理有关?
其他算子,如梯度增强树,在地平线> 1的情况下也能很好地工作

下面我附上了流程。

< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.6.000”>
< /操作符>
> < /过程
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.6.000”>
<过程扩展= " true " >
将数据缩减为我们想要预测的属性:'Close' -这是各自股票的收盘价。
< /操作符>
通常规范化数据有助于神经网络更好地执行。
< /操作符>
使用窗口将数据转换为表单,该表单显示一个条目作为属性,前面为30<br/>条目作为附加属性。
< /操作符>
<枚举关键= "分区" >
< /枚举>
将数据分割为训练数据和测试数据
< /操作符>
> < /过程
数据准备:标准化,窗口化,标签设置
< /操作符>
> < /过程
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.6.000”>
<过程扩展= " true " >
< /操作符>
< /操作符>
通常使用卷积层的架构在最后一层之前以完全连接的层结束。
< /操作符>
由于回归是在神经元上执行的,因此必须使用'None (identity)'激活函数。
< /操作符>
该网络架构使用卷积和池化层结合标准的全连接层。
卷积层使用滑动窗口只考虑所提供信息的子集。<br><br><br><br><br><br> <br><br><br><br><同时自动更改作为窗口掩码的所谓内核。<br/><br/>此方法的优点是能够专注于本地模式。
池化层通过减少信息来简化训练过程。<br><br><br/><br/><br/><br/><br /><br/><br><这里只保留每个2x2内核窗口(在前一个卷积层中创建)的最大值。
> < /过程
双击打开深度学习操作符,发现图层设置。
< /操作符>
> < /过程
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.6.000”>
<列出关键= " application_parameters " / >
< /操作符>
> < /过程
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.6.000”>
< /操作符>
> < /过程

最佳答案

答案

  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    如果预测标准普尔指数很容易,那么就会有很多富有的数据科学家:-)
    您可能想看看新的Forecasting扩展,它有一些用于单变量和多变量预测的自动操作符。
    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
    lionelderkrikor
  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽
    @hsanchez

    我同意Brian的观点,我不能阻止我引用Pierre DAC的话:

    “…预测是困难的,尤其是涉及到未来的时候……” ;)

    问候,

    莱昂内尔
  • jacobcybulskijacobcybulski 委员、大学教授职位:391独角兽
    另一种可能性是使用Python扩展,在RM中准备数据,在Python中使用Tensorflow(例如)完成所有深度学习魔法,然后将多视界输出作为向量返回给RM。
  • hsanchezhsanchez 成员职位:10因素二世
    大家好,非常感谢你花时间看我的帖子,并以幽默的方式回答我的问题@Telcontar120还有一些来自@lionelderkrikor感谢@jacobcybulski因为他的回答。我想说@jacobcybulski回答了我的问题。是的,股市预测确实是一件困难的事情,但这并不妨碍我们去尝试,用一些非常接近于“我们能预测一群人的情绪吗?”的问题来挑战自己。每一种股票,把人们按共同的兴趣和行为分组。我可能会说,每只股票都代表了一种平均情绪,与形成该股票的人相对应。是的,它确实是混乱/随机的,但应该是一种“有时”正确的方法。我不是市场专家,我只是好奇,我从来没有读过关于股票市场的书。有了好奇心作为驱动力和快速矿工作为工具的希望,我决定做一些让我们说运气的事情眨眼:400美元。是的,那不会让你富有@Telcontar120 笑脸:但我可以买到很多满足感。顺便说一下,我使用了GBT,我会说算法是一块石头!!太棒了。
    使用Python->应用STL来去除一些噪声->(我使用多变量),通过PCA规范化系列->权重以关注那些真正重要的变量->窗口(用于训练,验证,并使用我的最后一行应用我的模型)和另一个并行窗口来丰富数据(特征生成),参数如min, max, std偏差等。将数据分成三部分:训练,评估模型,并使用最后一行作为未见的,使用GBT (GBT哇!)当你调优它时),多视界性能。将模型应用于未见数据,多水平性能,调整ARIMA并将其应用于序列,将其性能/预测与使用GBT设计的性能/预测进行比较。
    然后,当“某些时候”你做对了,你就会得到一些满足感。
    我学到了什么?
    1. Rapidminer在这个时间序列扩展方面做得很好。
    2. 每种股票都有自己的情绪和行为。
    3. 天下没有免费的午餐,你应该为每个库存开发一种型号。每种股票都有自己的个性和情绪。
    4. GBT调得好会给你惊喜。
    我想评论一下。我不是时间序列方面的专家,也不是股票市场。我只是好奇,上面描述的过程可能会错过的步骤。
    谢谢大家的宝贵时间

    lionelderkrikor
登录注册置评。