【发布时间】:2015-04-27 22:14:37
【问题描述】:
我编写了一个 GA 来在一段时间(5 年)内对少数股票 (4) 进行建模。 GA 能够以多快的速度找到训练数据的最佳解决方案令人印象深刻,但我也知道这主要是由于它在训练阶段倾向于过度拟合。
但是,我仍然认为我可以采取一些预防措施,并对同一时期的一组看不见的测试股票进行某种预测。
我采取的一项预防措施是: 当多只股票可以在同一天购买时,GA 只从列表中购买一只,并随机选择这一只。我认为这种随机性可能有助于避免过度拟合?
即使过拟合还在发生,不应该在最初几代的 GA 中不存在,因为它还没有机会过拟合吗?
作为说明,我知道没有免费午餐定理,它证明(我相信)没有完美的参数集可以为两个不同的数据集产生最佳输出。如果我们更进一步,这个无免费午餐定理是否也禁止泛化?
下图说明了这一点。 ->蓝线是GA输出。 ->红线是训练数据(由于前面提到的随机性略有不同) -> 黄线是顽固的测试数据,没有泛化性。事实上,这是我能画出的最讨人喜欢的图表..
y 轴是利润,x 轴是根据各自的利润从最差到最好(从左到右)排序的交易策略(在 y 轴上)
到目前为止,我收到的一些最佳建议(感谢 seaotternerd)是专注于前几代并增加训练示例的数量。下图有 12 个训练库存,而不仅仅是 4 个,并且只显示了前 200 代(而不是 1000 代)。同样,这是我能制作的最讨人喜欢的图表,这一次选择压力中等。它当然看起来好一点,但也不是很棒。红线是测试数据。
【问题讨论】:
-
y 轴代表交易策略,这些策略根据获利多少进行排序(x 轴)。因此,交易策略会随着您从左到右而改进。我希望这是有道理的。
-
您确定没有切换 X 轴和 Y 轴吗?似乎每个 X 值都有不同的 Y 值,这让我认为利润在 Y 上。
-
对不起,你是对的。 X = 策略,Y = 利润。哦!
-
好的,现在说得通了。
标签: statistics genetic-algorithm prediction generalization