对外汇的依赖性要复杂得多,一个森林需要几十个预测器来描述目标值。森林肯定会找到描述目标值的这种预测因子及其组合的区间,但它们只是被选中的组合,没有任何逻辑或分析。森林将采取什么决定--噪音,或一个真正重要的预测因素--是一个机会问题。只有在事先剔除不合适的预测因素,只留下必要的预测因素进行学习的情况下,Forest for forex才能正常工作。问题是,必须以某种方式确定或找到必要的预测因素,而森林在这方面没有帮助。
unit-variance: Mean relative difference: 3.520041 e-06
Error in check_whitened(out$score, FALSE) : Data must be whitened:
Each variable must have variance 1.
在使用它做外汇时,保持不信任的重要性。虹膜是非常简单的数据,现有数据和类之间有直接的模式。RF只需找到一个最小的 预测器集合,在此基础上可以定义虹膜类别,就可以了。
在我看来,它对市场不起作用,只是因为预测器很烂,如果有正常的预测器,它就会像虹膜一样发挥作用,误差率为95%。
对于虹膜来说,这很简单--如果一个花瓣从某某到某某的长度,那么它就是1级,如果它从某某到某某的宽度,那么它就是2级,等等。射频所做的是找到最符合目标值的预测值区间。
我甚至不需要森林来完成这项任务,一棵树就足以达到90%的精确度。
也就是说,如果某个类别对应于某个预测值 或其组合的范围,并且这些区间不重叠--那么树或森林将100%地解决一切问题。
对外汇的依赖性要复杂得多,一个森林需要几十个预测器来描述目标值。森林肯定会找到描述目标值的这种预测因子及其组合的区间,但它们只是被选中的组合,没有任何逻辑或分析。森林将采取什么决定--噪音,或一个真正重要的预测因素--是一个机会问题。只有在事先剔除不合适的预测因素,只留下必要的预测因素进行学习的情况下,Forest for forex才能正常工作。问题是,必须以某种方式确定或找到必要的预测因素,而森林在这方面没有帮助。
我还没能做到这一点。
大部分时间是在训练表的cov()之后,筛出特征值=0的预测因子(我假设只有特别相关的预测因子才适合)。24小时后,就到了训练ForeCA模型本身的时候了,由于一个错误,它没有训练。
该软件包对预测器的要求非常高,有很多各种各样的限制。我甚至不知道最后一个错误是什么意思,我将进一步研究它。
我以后会完成这个任务。
谷歌说你不需要删除预测器。你可以对它们进行转换,使它们不再相关,那么协方差矩阵将具有全等级,这是ForeCA所要求的。对于美白,包装本身有一些功能(不是马上就能用的,你需要弄清楚),加上下面链接中的理论。
要正确使用ForeCA,你需要先了解和学习如何做。
http://stats.stackexchange.com/questions/23420/is-whitening-always-good
http://courses.media.mit.edu/2010fall/mas622j/whiten.pdf
1)只有事先筛选出不合适的预测因子,只留下需要的预测因子进行训练,外汇森林才能正确地工作。问题是,需要确定或找到正确的预测因素,而森林在这方面没有任何帮助。
2)该软件包对预测器的要求很高,有很多限制。我甚至不知道最后一个错误是什么意思,我将进一步研究它。
1) 我提出了一个我认为足够好的想法,如何做这样的选择,但没有人感兴趣,我自己也无法实现它。
2)我自己做不到。2)你可能只减少数据量,否则你自己会知道)。
我已经发过这个帖子,但没有人反应,我再试试。
我已经发过这个帖子,但没有人响应,我再试一次。 在BP中有这样一个概念,即动态时间扭曲(DTW),在它的帮助下,你可以使价格图表更易读,从而使算法更容易识别。
一切似乎都很酷,但可悲的是,作为这种转换的结果,我们得到两个坐标x和y的时间(合成) 和值
问题是如何将这个转换返回到一个矢量,以便它不会失去其属性
这就是它的样子--上面是普通的,下面是DTW。
1)我提出了我认为足够好的想法来进行这样的选择,但没有人感兴趣,我自己也无法实施。
2)只减少数据量或你自己知道)
你有什么建议?事实证明,我错过了什么?我可以重复你的想法吗?
问题是 如何在不失去其属性的情况下将这个变换返回到一个正常的矢量上
我又用ForeCA做了一个例子,在档案小表里做了测试和代码,用它来工作。
这一次,我已经得到了它的权利。
你可以使用你自己的模型训练数据表,主要是它必须是矩阵,没有因素(用lm训练,你可以只使用回归)。行的数量应该远远多于预测因子的数量,否则ForeCA会有误差。
我有0和1的目标值,其他的精度将无法正确确定,如果是这样,请在RegressionToClasses01(regr)中为你的情况纠正代码,在回归结果被四舍五入到类的地方。
trainData - 用于训练的数据
trainDataFT - 前端测试的数据
结果。
在原始数据上的lm:在训练数据上有75%的准确性,在新数据上有57%的准确性。
在foreCA的所有14个组件上的lm:训练数据上的75%和新数据上的61%。稍微好一点,但在这种情况下,+4%只是+1个正确的结果,表格相当小 :)
也就是说,如果预测器已经预选好了,那么在ForeCA之后应该不会更差,也许还能增加几个百分点的准确性。
我还添加了一个图表,其中显示了精度对ForeCA组件数量的依赖性。看来,组件的数量越多,结果越准确。允许的最大成分数=预测器的数量。
实验的第二部分是。
我有14个先前选定的预测因子,又增加了14个随机值。现在允许的ForeCA组件的最大数量是28个。
在两种情况下(有和没有foreCA),用所有28个组件对训练数据的预测准确率为76%,在两种情况下对新数据的预测准确率为57%。
我不认为foreCA应对了预测器中的垃圾,我没有看到预期的奇迹。
那又怎样?