“窗口帮助”

maxdamamaxdama 成员职位:7因素二世
2019年5月编辑 帮助
有人能告诉我我的设置有什么问题吗?以下是文件:实验设置 数据集

基本上,这个实验太准确了,所以我认为来自“未来”的数据可能会被用来训练支持向量机。我看了看数据的顺序是否正确,我认为是正确的。我认为问题可能是我不正确地使用了窗口,但很难验证,因为属性很难仔细检查(特别是因为它们有没有用的标签,标准化后的值本身是不可思议的). 991相关性似乎不可能预测10天的股票市场,所以我确信在某个地方有错误。

我的实验基本上是一个非常简单的股票市场数据的SVR实验,遵循线程“预测(预测)与RM”和LIBSVM中推荐的这种系统的基本准则。支持向量机分类的实用指南".

谢谢

问候,
马克斯
标记:

答案

  • 黑线鳕黑线鳕 成员职位:849Maven
    你好,马克斯,

    你认为来自未来的数据以某种方式悄悄进入是正确的。虽然您的数据是按顺序排列的,但这不是XVal处理它的顺序,因为它使用的是“分层”抽样。如果你把抽样参数改为“线性”,恐怕结果看起来不太好。我的建议是查看SlidingWindowValidation操作符,并记住,如果你没有正确使用“地平线”参数,你将得到可疑的好结果(去过那里,得到了t恤!).

    再见


  • maxdamamaxdama 成员职位:7因素二世
    黑线鳕,

    谢谢你的建议,但即使在切换到线性抽样后,结果是非常不现实的(相关性~.9。如果您能修改实验以正确使用窗口操作符并将xml复制到此线程,将会有很大的帮助。我一直在测试尽可能多的XValidation、SlidingWindowValidation和MultivariateSeries2Window的可能配置,但似乎不能让它工作。如果您展示后面两个操作符的每个示例,那就更好了,因为这里没有包含任何示例。抱歉,我的要求太多了,但我肯定忽略了一些基本的东西。谢谢。

    问候,
    马克斯

  • 黑线鳕黑线鳕 成员职位:849Maven
    你好,马克斯,

    有趣的!如果我运行你的代码,我得到的和你一样,即

    性能:
    PerformanceVector [
    * * * * * root_mean_squared_error: 7.301 + / - 0.881 (mikro: 7.354 + / - 0.000)
    ——absolute_error: 4.584 + / - 0.480 (mikro: 4.584 + / - 5.750)
    ——相关:0.991 + / - 0.002 (mikro: 0.991)]
    LibSVMLearner.C = 100
    LibSVMLearner。Gamma = .01

    如果我运行您的原始代码,但将XValidation设置为线性采样,就像这样……
    <?XML版本="1.0"编码="windows-1252"?>
    <过程version = " 4.2 " >




    .


    < /操作符>
    .


    .

    < /操作符>


    < /操作符>
    < /操作符>


    “参数”<列表键= >
    .
    <参数键= " LibSVMLearner。伽马“价值= " .00001。,措施,幅" / >
    < / >列表





    <列出关键= " class_weights " >
    < / >列表

    .
    < /操作符>
    < /操作符>


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



    /> .
    < /操作符>

    .
    <列出关键= "日志" >

    /> . .
    /> .
    < /操作符>
    < /操作符>
    < /操作符>
    < /操作符>
    < /操作符>
    < /操作符>

    > < /过程
    我得到了非常不同的结果,比如这个....

    PerformanceVector [
    * * * * * root_mean_squared_error: 7.930 + / - 6.408 (mikro: 10.199 + / - 0.000)
    ——absolute_error: 6.567 + / - 5.394 (mikro: 6.569 + / - 7.802)
    ——相关:0.648 + / - 0.196 (mikro: 0.982)]
    LibSVMLearner.C = 100
    LibSVMLearner。Gamma = .001

    正如我在上一篇文章中提到的,分层抽样是“保持类别分布不变的随机子集”,这是不合适的,因为为了推导出分布,必须知道所有类别的值。在你的情况下,标签从10开始,到150左右!还有一个问题是,时间序列预测需要指定一个“视界”,因为今天的10天预测不应该与明天的数据进行验证。XValidation没有提供这个选项,但是SlidingWindow提供。所以把代码改成
    <?XML版本="1.0"编码="windows-1252"?>
    <过程version = " 4.2 " >




    .


    < /操作符>
    .


    .

    < /操作符>


    < /操作符>
    < /操作符>


    “参数”<列表键= >
    .
    <参数键= " LibSVMLearner。伽马“价值= " .00001。,措施,幅" / >
    < / >列表





    <列出关键= " class_weights " >
    < / >列表

    .
    < /操作符>
    < /操作符>


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


    /> .
    < /操作符>

    .
    <列出关键= "日志" >

    /> . .
    /> . http://data-snooping.martinsewell.com/.这是一个真实的问题,如果您计划利用您通过挖掘发现的东西进行交易,请务必确保您的模型是无窥探的!

    Caio



  • maxdamamaxdama 成员职位:7因素二世
    黑线鳕,

    谢谢你的帮助。我不确定我是否理解为什么将XValidation转换为线性采样后仍然存在问题。是否是训练集围绕测试集,由于MultivariateSeries2Window (MVS2W)包含滞后值,它是在一些测试数据上进行训练?当我增加MVS2W上的“地平线”参数时,性能就会下降,如果好的结果仅仅是由窥探引起的,我不希望出现这种情况。

    SlidingWIndowValidation (SWV)是用于MVS2W的吗?如果是这样,每个“地平线”的参数值是否应该匹配?非常感谢您的帮助,尽管缺乏文档,但我希望尽可能直观地理解这些强大的操作符。也许英戈也会给一些建议。

    问候,
    马克斯
  • 黑线鳕黑线鳕 成员职位:849Maven
    考虑一些10天的预测训练例子,最后一个是7月4日;最后一个例子包含了一系列回顾30天的属性,以及一个未来10天的标签,从7月14日开始。任何使用7月4日的例子生成的模型都要到7月14日之后才能使用。因此,需要指定一个时间范围,以防止7月4日的模型在7月5日至14日期间的示例上进行测试,届时它将不可用。

    此外,该模型有一些7月4日至14日期间的编码知识,因此在7月5日至14日的示例验证中使用它会引入数据窥探。因此,如果您没有为验证指定范围,那么随着范围的增加,性能将会下降,因为其中包含了更少的窥探。

    希望这能让它变得不那么模糊....
登录注册置评。