时间序列,预测标签取值范围

列表列表 成员职位:39大师
2018年11月编辑 帮助

继2010年的教程之后,Thomas Ott的“Rapidminer 5.0视频教程#10 -金融时间序列建模”,

我得到的预测标签格式为“31.000”等,而我的实际标签值在0到9之间(见下文)。

这是怎么回事?是因为我的rm版本,还是我犯了一个非被迫的错误?

谁能帮忙吗?

PS:

标签= n1

我的样本外数据是较大样本(最年轻)的最后10个。

我的内部样本数据是剩余的数据(历史上更早)。

messed_up_1.gif

PS:有没有新的视频-与时间序列相关的可用/发现?

标记:

答案

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    我不确定你的过程是什么样的,你使用的是什么算法,但如果你还记得我的教程,点预测不像RapidMiner中的趋势预测那么健壮。如果你想做点预测,我建议使用预测库和R,并包装在RapidMiner。

    在Vijay和Bala的书中有一个更新的书面教程,我想是第十章。

  • 列表列表 成员职位:39大师

    谢谢你的回复,托马斯,

    实际上我想预测方向,但我想知道预测的范围。

    你能确认我没有犯重大错误,这仍然是正确的做法吗?

    这是我的流程(附件)....

    MyProcess.rmp 12.4 k
  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    我看到你用的是带点核的支持向量机。这个时间序列是什么?生产单位?销售?支持向量机的应用,它的核,C值和gamma可以对预测时间序列的方向产生显著的影响(见附件)。在不知道数据的情况下,GLM看起来会更好,但我会检查一下。

    C vs gamma.pngC和γ

  • 列表列表 成员职位:39大师

    你好,T-Bone,谢谢你的回复。

    我看到了支持向量机算子的c参数,但没有。你是如何制作出“C vs伽马”的图像的?

    数据是真实的实时数据(见附件)。

    如果我有100个数据集,我是否可以使用其中的90个作为内部样本数据,100个中的10个作为外部样本/验证数据?

    验证数据是否应该比训练数据更年轻?

    谢谢你的建议。

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    啊,是的,gamma参数在你将内核从点更改为其他东西时就可用了。所以我把它改成了RBF核,它在时间序列中表现得更好。我也借鉴了你的工艺,在上面做了一个参数优化方案。一旦C和改变了,结果就开始变得一致。

    <?xml version = " 1.0 " encoding = " utf - 8 " ?> <过程version = " 7.3.001”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >

    <参数键= " repository_entry " value = " . . /数据/ plus_5_inner_sample_sqlite " / >
    < /操作符>

    <参数键= " attribute_name " value = " drDateText " / >
    <参数键= " target_role " value = " id " / >
    <列出关键= " set_additional_roles " / >
    < /操作符>

    <参数键= " window_size " value = " 1 " / >
    <参数键= " create_label " value = " true " / >
    <参数键= " label_attribute " value = " n1 " / >
    < /操作符>

    “参数”<列表键= >
    <参数键= " SVM。kernel_gamma“价值= "(0.001;1000;10;对数)" / >
    <参数键=“SVM.C”值= "[0;10000;10;线性]" / >
    < / >列表
    <过程扩展= " true " >

    <参数键= " training_window_step_size " value = " 5 " / >
    <参数键= " test_window_width " value = " 20 " / >
    <参数键=“地平线”值= " 5 " / >
    <过程扩展= " true " >
    . class="support_vector_machine" compatibility="7.3.001
    <参数键= " kernel_type " value = "径向" / >
    <参数键= " kernel_gamma " value = " 0.0039810717055349725 " / >
    < /操作符>


    < portSpacing端口= " source_training”间隔= " 0 " / >
    < portSpacing端口= " sink_model”间隔= " 0 " / >

    > < /过程
    <过程扩展= " true " >

    <列出关键= " application_parameters " / >
    < /操作符>

    <参数键=“地平线”价值= " 1 " / >
    < /操作符>




    < portSpacing端口= " source_model”间隔= " 0 " / >



    .
    > < /过程
    < /操作符>

    <列出关键= "日志" >
    <参数键= " C " value = " operator.SVM.parameter.C " / >
    <参数键=“伽马”值= " operator.SVM.parameter.kernel_gamma " / >

    < / >列表
    < /操作符>






    < portSpacing端口= " sink_performance”间隔= " 0 " / >


    > < /过程
    < /操作符>

    <参数键=“model_file”值= " C: \ 0000 _transfer HTML5 \ \ LOTTO_CORE_2016 \ lottoData \ PLUS_5_ARCHIV_DATA \ testmod.mod " / >
    < /操作符>

    <参数键= " repository_entry " value = " . . /数据/ plus_5_outer_sample_sqlite " / >
    < /操作符>

    <参数键= " attribute_name " value = " drDateText " / >
    <参数键= " target_role " value = " id " / >
    <列出关键= " set_additional_roles " / >
    < /操作符>

    <参数键=“excel_file”值= " C: \ 0000 _transfer HTML5 \ \ LOTTO_CORE_2016 \ lottoData \ PLUS_5_ARCHIV_DATA \ plus_5_inner_sample_sqlite.xlsx " / >
    <参数键= " sheet_number " value = " 2 " / >
    <参数键= " imported_cell_range " value = " A1: F4451 " / >
    <参数键= " first_row_as_names " value = " false " / >
    <列出关键= "注释" >
    <参数键= " 0 " value = "名称" / >
    < / >列表
    <列出关键= " data_set_meta_data_information " >
    <参数键= " 0 " value = " n1.true.integer.attribute " / >
    <参数键= " 1 " value = " n2.true.integer.attribute " / >
    <参数键= " 2 " value = " n3.true.integer.attribute " / >
    <参数键= " 3 " value = " n4.true.integer.attribute " / >
    <参数键= " 4 " value = " n5.true.integer.attribute " / >
    <参数键= " 5 " value = " drDateText.true.polynominal.attribute " / >
    < / >列表
    < /操作符>

    <参数键=“excel_file”值= " C: \ 0000 _transfer HTML5 \ \ LOTTO_CORE_2016 \ lottoData \ PLUS_5_ARCHIV_DATA \ plus_5_outer_sample_sqlite.xlsx " / >
    <参数键= " sheet_number " value = " 2 " / >
    <参数键= " imported_cell_range " value = " A1:季" / >
    <参数键= " first_row_as_names " value = " false " / >
    <列出关键= "注释" >
    <参数键= " 0 " value = "名称" / >
    < / >列表
    <参数键= " date_format " value = " yyyy-MM-dd " / >
    <列出关键= " data_set_meta_data_information " >
    <参数键= " 0 " value = " n1.true.integer.attribute " / >
    <参数键= " 1 " value = " n2.true.integer.attribute " / >
    <参数键= " 2 " value = " n3.true.integer.attribute " / >
    <参数键= " 3 " value = " n4.true.integer.attribute " / >
    <参数键= " 4 " value = " n5.true.integer.attribute " / >
    <参数键= " 5 " value = " drDateText.true.polynominal.attribute " / >
    < / >列表
    < /操作符>
    . class="legacy:read_model" compatibility="7.3.001
    <参数键=“model_file”值= " C: \ 0000 _transfer HTML5 \ \ LOTTO_CORE_2016 \ lottoData \ PLUS_5_ARCHIV_DATA \ testmod.mod " / >
    < /操作符>

    <参数键= " window_size " value = " 1 " / >
    <参数键= " label_attribute " value = " n1 " / >
    < /操作符>

    <列出关键= " application_parameters " / >
    < /操作符>
    .

    /> .
    .




    N(x)- richtung - prediction Part A<br>Vorgehen: Node Windowing n1-n5 schalten<br/>(siehe Bookmarks)<br/><
    > < /过程
    < /操作符>
    > < /过程

    关于你关于使用交叉验证或分割验证的问题,你可以尝试那些运算符,但这样你就失去了时间序列的依赖性。

    注意:我不知道您的机器有多强大,但您选择优化的参数越多,运行时间就会越长。

    alex_fawzi
  • 列表列表 成员职位:39大师

    非常非常感谢你,托马斯。

    这是美妙的。我无话可说。

    还有一些问题。

    如果我理解正确的话,我现在可以从日志中获得性能最好的C-和gamma参数,重新连接设置并使用它们“硬编码”,以在更短的时间内获得完整数据集的最佳预测。这是正确的吗?

    对最新的明天数据的预测表示在结果的最后一行中。这是正确的吗?

    results_tomorrow_0.png

    Thomas_Ott
  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽

    关于你的第一个问题,是的。C和gamma的优化值现在可以在您的过程中使用。只需将它们放入参数中并再次运行您的流程。这段时间更快。

    关于你的最后一个问题,是的,你应该预期值会更低。在使用Windowing和设置Label列时,您将及时移回标签值,并使用窗口预测当前窗口的值。这有点让人困惑,但要重新浏览一下这个社区线程:http://community.www.turtlecreekpls.com/t5/RapidMiner-Studio/Time-Series-using-Windowing-operator-in-RapidMiner/m-p/31791

    在这种情况下,我通常使用按趋势分类操作符将标签转换为向下或向上值。好运!

  • 列表列表 成员职位:39大师

    谢谢你托马斯

    目前我不知道如何使用分类趋势操作符。

    但因为我会写Excel,我可以通过VBA分类。

    RM中有什么有用的特征来确定过拟合吗?

    在这种情况下,你认为支持向量机和循环神经网络的性能如何?

    我在TensorFlow中尝试了一点RNN(没有成功,还在学习中)。

    PS:我试着给你点赞,但我的浏览器在那一刻坏了。

登录注册置评。