贝叶斯回归 - 有没有人用这种算法做了一个EA? - 页 26

 
СанСаныч Фоменко:

是的,我做到了...我不记得了...

如果我们谈论测试员,在我看来,这就是问题所在。

我们取一些样品,用测试器来计算,比如说,利润系数。然后我们再取一个样本,得到一个新的利润系数值。我们总共得到两个数字。两个数字是统计结论的基础吗?这些数字根本不意味着什么。

必须解决这个问题,而且解决的方式也不同。

采取了一个样本。从这个样本中随机选择一些子集,并将其作为利润因素来计算。然后再次进行随机抽样,以此类推,例如1000次。你将得到1000个利润系数。这组数据已经可以作为统计结论的基础。

顺便说一下,这种方法并不排除使用测试器,演示...

SS,日安

什么的样本?交易?

我明白你的意思了--通过自举类型来估计样本统计量的定量。

但问题是,如果在整个可用的样本上拟合TS,那么这种方法将显示我们已经知道的东西,即利润因素是哦好的。

我将在我的博客中以一种不同的方式处理这个问题。首先,用k-fold交叉验证进行训练;取5个子集(在我的例子中,它将是5个货币对的数据),你将得到一个有趣的实验:在4个货币对上训练模型,在第5个上测试。我想重复这个实验5次。但这还不是全部。最初,我纯粹是想证明外汇是可以预测的。所以,m-best模型(在交叉验证的截止点上)会在机器还没有看到的大样本上通过验证。验证性抽样的另一个特性是,它将未来按时间分开的价格汇总在一起。我希望得到一个100*18的矩阵,其中有前100个模型对18个预测输出变量(从未来2分钟到724分钟)的验证结果,例如通过R^2标准。这将立即显示我的 "盒子 "是否比平均水平预测得更好。

而如果有赞助商为我的自我发现 提供赞助,人们可以租一个亚马逊云,重复实验1000次,每次产生不同的训练和验证集。然后会有一个1000*100*18的三维矩阵,可以让你估计最佳模型和不同目标的R^2指标的标准误差。但那已经很厚了。

我的观点是,我们应该在未来的数据上(或在过去的数据上,但明显被时间隔开)进行测试,一切都会好起来。

 
Alexey Burnakov:

CC,下午好!

选择什么?交易?

我明白你的意思了--通过自举类型来估计样本统计量的定量。

但问题是,如果在整个可用的样本上拟合 TS,那么这种方法将显示我们已经知道的东西,即利润因素是哦好的。

我将在我的博客中以一种不同的方式处理这个问题。首先,用k-fold交叉验证进行训练;取5个子集(在我的例子中,它将是5个货币对的数据),你将得到一个有趣的实验:在4个货币对上训练模型,在第5个上测试。我想重复这个实验5次。但这还不是全部。最初,我纯粹是想证明外汇是可以预测的。所以,m-best模型(在交叉验证的截止点上)会在机器还没有看到的大样本上通过验证。验证性抽样的另一个特性是,它将未来按时间分开的价格汇总在一起。我希望得到一个100*18的矩阵,其中有前100个模型对18个预测输出变量(从未来2分钟到724分钟)的验证结果,例如通过R^2标准。这将立即显示我的 "盒子 "是否比平均水平预测得更好。

而如果有赞助商为我的自我发现 提供赞助,人们可以租一个亚马逊云,重复实验1000次,每次产生不同的训练和验证集。然后会有一个1000*100*18的三维矩阵,可以让你估计最佳模型和不同目标的R^2指标的标准误差。但那已经很厚了。

我的观点是,你需要对未来的数据(或过去的数据,但明确地按时间分开)进行测试,你就会好起来。

你的帖子的关键词用红色突出显示。

过度拟合(overfitting)模型是所有科学的一个方法论问题:一个过度拟合的模型(任何知识分支中的任何一个)在训练数据上说明了一些特殊性,然后这些特殊性在训练数据之外没有被发现。在这样做的时候,该模型未能捕捉到某些在普通人群中常见的模式。

我的理解是,这个问题不是由模型本身,或任何统计测试技术来解决的:你正确地指出,过度训练的结果将是合理的。试图在我手中使用模型的 "粗化 "技术并没有带来结果。

在我看来,过度训练的问题完全是由输入数据集产生的。在直观的层面上:原始数据(预测因素)是否与变量有关。极端的情况--完全没有--我不考虑。中级:有的人做,有的人不做。根据个人经验,一个完全可行的情况是,与目标变量不相关的预测因子 "沉默 "了与目标变量相关的预测因子。如果你已经设法手动筛选出最可恶的噪音预测器,那么在某些时候,预测器筛选 算法开始发挥作用。

这些数字如下。我通过自己的方法从最初的50-200个预测器中选择了大约30个预测器。这30个项目没有 产生任何过度训练的模型,也就是说,在训练、AOVA、测试和验证的样本上的有效性大致相同。然后使用软件包(我使用varSelRF,其他的也可以),我使用一个滑动窗口选择预测器,大约300-500条。我得到10-15个预测器的工作集。随着窗口的移动,预测因子的构成也发生了变化。由此产生的任何一组预测器也不会导致过度训练,而是将性能从5%提高到10%。对于分类任务,这大约是20%的误差。

 
СанСаныч Фоменко:


在我看来,过度学习的问题完全是由输入数据集产生的。在直观的层面上:原始数据(预测因素)是否与变量有关。极端的情况--完全没有--我不考虑。中级:有的人做,有的人不做。根据个人经验,一个完全可行的情况是,与目标变量不相关的预测因子 "沉默 "了目标 变量相关的预测因子。如果你已经设法手动筛选出最可恶的噪音预测器,那么在某些时候,预测器筛选算法开始发挥作用。

这些数字如下。我通过自己的方法从最初的50-200个预测器中选择了大约30个预测器。这30个项目没有 产生任何过度训练的模型,即对训练、AOVA、测试和验证样本的有效性大致相同。然后使用软件包(我使用varSelRF,其他的也可以),我使用一个滑动窗口选择预测器,大约300-500条。我得到10-15个预测器的工作集。随着窗口的移动,预测因子的构成也发生了变化。由此产生的任何一组预测器也不会导致过度训练,而是将性能从5%提高到10%。对于分类任务,这大约是20%的误差。

你可以通过选择变量来处理噪音,正如你所说的。但我是否可以这样说,你的意思是说嘈杂的数据阻碍了好的变量的选择,它们应该被一些启发式的方法提前发现并去除?

还有一个问题。你正在使用一种决策森林,正如我从这个缩写中理解的那样(我自己没有使用过这种方法)。

任何决策森林树都是一种贪婪的变量选择算法+度量,允许你在该变量的数值区域上画出一个分界线(切断边界)。因此,基于 "贪婪 "的树,他们应该在树枝的最高层选择最个别重要的变量。在树的较低层次上(事实上最早从第二层次开始),对下一个最重要的变量的选择已经是在中间的截止点产生的观察的子样本上进行的。而在这个子样本中,我们也要寻找下一个最重要的变量(对于每个变量,我们都要经过所有可能的截止点,并选择一个最佳的截止点,对其计算变量的相关性指标)。但由于这已经是在用观察的子样本工作了,事实证明,在一般情况下,条件分布会生效:鉴于之前使用的2号变量,18号变量在4号子样本中是最好的。因此,随着树的深度增加,变量的重要性越来越依赖于上面使用的变量。

根据作者的想法,噪声变量应该被排除在外。但是!该方法的贪婪性导致了这样一个事实:例如,在第1级被拒绝的变量,与另一个可能的第2级的其他可能的变量一起,也可能在目标指标中获得显著的收益,这本身就是过头了。在极端情况下,也可能出现这样的情况:两个自变量,每个都是目标变量的噪音,与目标变量有这样的联合分布,以至于它们成为一个重要的互动。贪婪的模型会查到这一点,但它很少发生,我指的是这种配置的数据。

你怎么看?

 
请回答一个问题,你们有人在外汇上赚到钱了吗? 我已经花了5年的时间和超过100万卢布,但到现在还没有任何结果。
 
Alexey Burnakov:

你可以通过选择变量来处理噪音,正如你所说的。但是,我是否可以这样说,你的意思是,嘈杂的数据使我们无法选择好的变量,我们需要使用一些启发式方法事先找到并去除这些变量?

正是如此。

还有一个问题。你正在使用一种决策森林,正如我从这个缩写中理解的那样(我自己没有使用过这种方法)。

以森林为例,但所选择的问题模型,当噪声变量 "淹没 "正常变量时,并不能解决问题:变量选择是一个单独的问题。

 
Mikhail Gorenberg:
请回答一个问题,你们有人在外汇上赚到钱了吗? 我已经花了5年的时间和超过100万卢布,但到现在还没有任何结果。
从信号开始,学习如何选择有利可图的信号。
 
Mikhail Gorenberg:
请回答一个问题,你们有人在外汇上赚到钱了吗? 我已经花了5年的时间和超过100万卢布,但到现在还没有任何结果。
难怪,你在定量、交叉估值和引导方面不是一个植物学家。
 
Mikhail Gorenberg:
请回答一个问题,你们中谁在外汇上赚了钱? 我已经花了5年的时间和超过一百万卢布,但到目前为止还没有任何收获。

我最后的结果是大致为零(也许有一点增加)。我所有的投资都被贪婪毁了。

即使你有一个有利可图的 交易机器人(我有一个)--我是指真正的有利可图和稳定的交易--当它发挥作用,而你在等待结果的几个月里,它开始看起来30%的增长是不够的。然后是更远。也就是说,即使是全自动交易,在计算风险和控制最大跌幅的情况下,从心理上讲,我个人也觉得不舒服。

因此,我决定使用定量分析。

PS:如果我做出一个好的自动交易系统,我会让它为大家服务。而我将把它出租给有钱的人。

 
СанСаныч Фоменко:

你可以通过选择变量来处理噪音,正如你所说的。但是,我是否可以这样说,你的意思是,嘈杂的数据使我们无法选择好的变量,我们需要使用一些启发式方法事先找到并去除这些变量?

正是如此。

还有一个问题。你正在使用一种决策森林,正如我从这个缩写中理解的那样(我自己没有使用过这种方法)。

森林作为一个例子,但上述问题所选择的模型,当噪声变量 "淹没 "正常变量时,并不能解决问题:变量选择是一个独立的问题。

为什么噪音会淹没信号?我并不完全清楚。

你看,如果模型本身包含了特征正则化,那么在比较了它对目标变量的影响后,所有的噪声数据都会被忽略。如果模型没有提供防止过度训练的保护(例如,没有设置树的终端节点的观察值数量的较低阈值),那么所有的噪声都将被使用。但这一点即使在随机森林内也能得到解决。

也许你可以更详细地解释你的想法?

 
Alexey Burnakov:

为什么噪声会干扰信号?我并不完全清楚。

你看,如果模型本身包括特征正则化,那么在比较了它对目标变量的影响后,所有的噪声数据都被忽略了。如果该模型没有提供防止过度训练的保护(例如,没有设置树的终端节点的观察数的较低阈值),那么所有的噪声都将被使用。但这一点即使在随机森林内也能得到解决。

也许你可以更详细地解释你的想法?

为什么噪音会干扰信号?我不太清楚。

我不知道。

我有一个程序,可以计算出预测变量与目标变量的比率的措施。这是一些抽象的价值。

如果它<1,那就是噪音。

1-2 - 最好不要乱来。

3次以上 - 很好。

5个以上--运气好,但很少见。

因此,如果有太多得分低于2的预测因子,那么除了我自己的预测因子外,我无法通过任何其他手段来识别有用的预测因子。如何解释这一点--我不知道。我们不要忘记,预测因素不仅对目标变量有影响,而且它们之间也有影响。很多时候,重要的不仅是要删除的预测因子列表,而且还有删除的顺序。

我的观点是什么?

交易的基本问题是过度训练(overfitting)的问题,这本身就是一个问题,并不取决于使用的模型和方法。