如何利用支持向量机对单变量进行时间序列预测。

mallsunita13mallsunita13 成员职位:4贡献我
2018年11月编辑 帮助

你好,

我是RapidMiner的新手。我正在做一个项目,在其中我使用支持向量机算子执行单变量的时间序列预测。我有一个数据集,由2014年2月至2014年10月的9个非连续周的信息组成。变量的名称是“Total bytes”,这是电子邮件的大小。我使用交叉验证算子,其中八周的数据是训练,第九周的数据是测试。

谁能帮我解决这个问题?

谢谢你!

萨尼塔

答案

  • Telcontar120Telcontar120 版主,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽

    嗨,苏尼塔,欢迎!

    您的问题有点不清楚——您是否试图使用前一周的总字节值来预测上一周的值?如果是这样,那么您可以使用时间序列操作符(可在免费扩展中获得),特别是“预测序列”操作符,尽管您可能需要做一点ETL以将数据转换为正确的格式。

    如果您试图预测“总字节数”作为其他属性的函数,那么您可以在预测建模中使用任何其他方法,只要您使用的是来自您试图预测的时间点之前的属性值。

    回想一下,在这两种情况下,您应该使用“set role”操作符将“total bytes”的角色设置为“label”,以便RapidMiner知道这是您试图预测的属性。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
  • mallsunita13mallsunita13 成员职位:4贡献我

    你好,

    感谢您的回复。我看了Thomas Ott关于时间序列预测的视频,并建立了一个模型。在我的数据集中只有一个变量是“总字节”(电子邮件的大小)。所以我检索八周的数据,然后应用set角色操作符,并设置“总字节”为“标签”。

    当我选择窗口操作符时,我想选择“系列表示”为“按属性编码系列”,窗口大小为“10”,然后它显示一个错误消息,“参数window-size指定窗口大小,但值10超过属性的数量”。

    我将同样的方法应用于第9周的数据,并将两者(第8周和第9周的数据)与“交叉验证”操作符和“应用模型”连接起来。

    我的问题是

    • 我可以使用“按属性编码系列”操作符代替“按示例编码系列”操作符吗?如何解决这个错误消息?

    如果我选择“系列表示”为“按示例编码系列”,并设置窗口大小为“10”,然后运行该流程,那么它在交叉验证(应用模型)子流程下会显示一个错误消息,即“输入ExampleSet与训练ExampleSet不匹配”。缺失的属性:‘总weeks-9 = Week1’。”

    实际上,我有9个电子邮件大小的excel文件,每个文件名代表一周的名称,如Week1, Week2,....,Week9和每个文件只有一个属性“Total bytes”。所以我把所有的文件组合在一起,并添加第二列,代表一周,以表明电子邮件的大小代表哪一周,如week1,…,week9。我想用八周的数据来预测第九周。

    请指导我。

    谢谢

  • Telcontar120Telcontar120 版主,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽

    @mallsunita13我仍然不完全清楚你的数据结构,但我附上了一个非常简单的过程,只使用几个操作符产生时间序列预测。该数据结构只有两列(属性),一个日期和一个值。在设置角色并对数据进行排序之后,将使用预测序列操作符,您可以通过定义不同的窗口值来查看预测的变化。这里不需要任何encode系列转换。假设您的数据类似于这里显示的示例文件,您应该能够根据自己的目的调整这个过程。否则@Thomas_Ott也许能比我更好地回答关于他的原创视频或相关系列的问题。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    @mallsunita13而且@Telcontar120

    有几件事。按序列编码(attribute/examples)是一个非常关键的方法,但它很容易理解,你所需要知道的就是时间序列如何在数据中表示。如果您的时间序列数据是逐行输入的(通过示例),那么您就可以通过示例进行编码,如果您的时间序列数据是一个长行(示例),并且有100个列(属性),那么您就需要通过属性进行编码。

    下面是我解释窗口操作符和支持向量机的其他一些帖子。

    http://community.www.turtlecreekpls.com/t5/RapidMiner-Studio/Time-Series-using-Windowing-operator-in-RapidMiner/m-p/31791

    http://community.www.turtlecreekpls.com/t5/RapidMiner-Studio/Financial-Time-Series-Prediction/m-p/33456

    好运!

  • Telcontar120Telcontar120 版主,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽

    谢谢你的解释@Thomas_Ott

    显然,预测序列操作符事先并不需要这个序列转换,因为我提供的示例流程即使没有应用“通过示例编码序列”也会产生一个预测——这是因为它在数据集中只有一个属性时自动执行转换吗?

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    我很少使用Predict Series操作符。我只默认使用滑动窗口Xval操作符。

  • mallsunita13mallsunita13 成员职位:4贡献我

    尊敬的Brian T和Thomas Ott先生:

    非常感谢你的帮助。这些信息对我完成作业很有帮助。

    谢谢

    萨尼塔

  • Telcontar120Telcontar120 版主,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽

    很高兴对你有帮助!在将系列转换为示例集之后,您可能还会对使用“适合预测”操作符感兴趣。这允许您在内部操作符中指定任何适合的建模算法,例如线性回归或更复杂的函数,如支持向量机或神经网络。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
登录注册置评。