交易中的机器学习:理论、模型、实践和算法交易 - 页 551

 

我想补充一下我的意见:在过去的几天里,我也在考虑减少输入变量的数量以加快优化过程。而且我必须说,这些天我在筛选不必要的投入方面获得了一些成功。

问题:哪些输入变量应该从训练样本中删除,因为它们是噪音????。

其实这个问题并不简单,如果我们知道哪些输入是噪音,哪些不是。要建立一个模型是很容易的。但是,当我们把所有的输入以某种方式与输出相关时。然后?????哪些是要删除的?

对我来说,答案非常简单....你只需要保留那些具有正态分布规律的输入。当直方图具有正态分布且其中心位于范围的中间时。这些都是对训练有用的变量。我并不是说在这种变量中存在一个输出的阿尔法。它可能不在那里。但搜索本身会更彻底,在这样的变量中,算法有更多机会抓住并增加输入的数量。这里有一个例子。

这种输入被认为是好的。由于它具有正态分布,并且直方图的中心部分位于范围的中部

但是这个数据有一个偏斜的分布,在主直方图之外有异常值。这个直方图显示,数据向一边倾斜,不可能对构建模型有帮助。

在选择投入的初始阶段,我们无法判断一个投入对产出的意义。因为这是优化者的工作。在初始阶段,我们只能判断变量相对于零的分布。而如果这个分布是正态的(数据均匀地分布在关于零的一边和另一边),那么优化器很可能会有更多的选择,而不是关于零的斜向数据,大部分的数据都在负区,或者反之亦然。

因此,它是这样的:....

 

这取决于你为哪个模型选择它们:)如果在移除一个不具参考价值的特征后,模型的准确性没有损失多少,那么你就不需要它。你删除它,再重新训练它,看看是否又有多余的东西。

如果你有一个 在输出端有非平稳过程的回归模型,你将用这种方法毁掉一切,因为它将在正态分布的噪声上重新训练。

 
马克西姆-德米特里耶夫斯基

这取决于你为哪个模型选择它们:)如果在移除一个不具参考价值的特征后,模型的准确性没有损失多少,那么你就不需要它。你删除它,再重新训练它,看看是否又有多余的东西。

如果你有一个在输出端有非平稳过程的回归模型,用这种方法你会反过来毁掉一切,因为它将对正态分布的噪声进行重新训练。


相对于零的分类。就这些目的而言,这种方法是恰到好处的,IMHO!

 
Mihail Marchukajtes:

另一方面,这个数据有一个偏斜的分布,在主要直方图之外有一个离群值。这个直方图表明,数据偏向一边,这对建立模型不太可能有用。

在弗拉基米尔的文章中,有一个关于去除异常值的观点,如果你的图2中的异常值被去除,你会得到一个更正常的分布。

还有就是输入数据的集中化--它将使情况得到更大的改善。

 
elibrarius

在弗拉基米尔的文章中,有一个关于去除异常值的观点,如果你的图2中的异常值被去除,你会得到一个更正常的分布。

然后是输入中心化--它将使事情得到更大的改善。


当这个异常点出现在新的数据中时,我们该怎么办呢?该模型是如何解释的?

从数据中删除一个离群点,意味着在某个离群点上删除整个输入向量,如果在其他输入向量上有重要的数据怎么办。如果输入的性质容易出现这种异常值,那么最好根本就不要接受这种输入。IMHO。

 
Mihail Marchukajtes:

相对于零的分类。就这些目的而言,这种方法是恰到好处的IMHO!


是的,如果输出大致按照相同的规律分布,如果不是--相同的再培训

 
elibrarius

在弗拉基米尔的文章中,有一个关于去除异常值的观点,如果你的图2中的异常值被去除,你会得到一个更正常的分布。

然后是输入数据中心化--它将使事情得到更大的改善。


去除异常值是一种统计措施或拐杖(就像使一切静止的愿望一样),这可能大大恶化对外汇的预测,并使整个系统化为乌有(只有在市场是正态分布的情况下才有效)。

你需要了解NS的使用范围和目的......而不是照本宣科,为所欲为 :)

弗拉基米尔没有证明他的模型的稳健性......只有对同一R中的模型进行非常粗略的测试

所以我不知道今生该相信什么......一切都要反复检查。

 
马克西姆-德米特里耶夫斯基

是的,如果产出的分布规律大致相同,如果不是,就会出现同样的过度训练。


好吧,我总是平衡输出的 "0 "和 "1 "类的数量相等。也就是说,我的输出是平衡的,采取相对于零的正态分布的输入。优化器必须运行数次,但作为一项规则,模型中使用的输入越多,其性能越好。因此,我选择了在试验段上有最大结果的参数较多的模型。接下来我将使用助推和其他技巧...

 
Mihail Marchukajtes:

当这个异常点出现在新数据中时,该怎么办?该模型是如何解释的?

从数据中删除离群点意味着删除某个离群点的整个输入向量,以防该向量中存在其他输入的重要数据。如果输入的性质容易出现这种异常值,那么最好根本就不要接受这种输入。IMHO。

在新的数据中,异常值也被移除,由训练期间获得的范围。假设你在训练过程中从-100到+100删除,记住了--并在新的数据上以同样的水平删除。你应该在绝对值上做文章,然后你可以进行归一化处理。 在没有去除异常值的情况下,我的删除数据的中心一直在移动,变得无法比较)与一周前的自己。

而离群值只在新闻 或特殊事件发生 时刻出现,但每次这些离群值的强度都会不同。我自己决定最好抛弃它们,弗拉基米尔,这不是我自己想出来的,显然它已经被许多人的研究所证实。

 
Mihail Marchukajtes:


好吧,我总是平衡输出的 "0 "和 "1 "类的数量相等。也就是说,我平衡输出,并采取相对于零的正态分布的输入。优化器必须运行数次,但作为一项规则,模型中使用的输入越多,其性能越好。因此,我选择了在试验段上有最大结果的参数较多的模型。进一步说,我们做了一些钻孔和其他调整......


那么,它终于不是jPredictor了?:)