4

我有一个我正在尝试改进的外汇市场交易策略。

我有一个巨大的表格(100k+ 行),代表市场上所有可能的交易、交易类型(买入或卖出)、交易结束后的利润/损失,以及 10 个左右的附加变量,代表各种市场测量开市时间。

我试图找出这 10 个变量中的任何一个是否与利润/损失显着相关。

例如,假设变量 X 的范围是 50 到 -50。买单的 X 平均值为 25,卖单的 X 平均值为 -25。

如果最有利可图的买单价值 X > 25,最有利可图的卖单价值 X < -25,那么我认为 X 与利润的关系很重要。

我想要一个好的起点。我已经安装RapidMiner 5了,以防有人可以给我一个具体的建议。

4

1 回答 1

16

决策树也许是最好的起点。

树本身是特征重要性排名(或OP 中所说的重要变量)的视觉总结。

  • 为您提供整个分类/回归分析的可视化表示(以二叉树的形式),这将其与我所知道的任何其他分析/统计技术区分开来;

  • 决策树算法需要对您的数据进行非常少的预处理,无需标准化,无需重新缩放,无需将离散变量转换为整数(例如,男性/女性 => 0/1);它们可以接受分类(离散)和连续变量,并且许多实现可以处理不完整的数据(数据矩阵中某些行中缺少值);和

  • 同样,树本身是特征重要性排名
    (即显着变量)的视觉总结——最显着的变量是
    根节点,并且比两个子节点更显着,而这两个子节点又比它们的四个组合更显着孩子们。这里的“显着性”是指解释的方差百分比(相对于某些响应变量,即“目标变量”或您试图预测的事物)。一个附带条件:从对决策树的目视检查中,您无法将变量重要性
    与相同等级的节点区分开来。

如果您以前没有使用过它们,这里是决策树的工作原理:算法将遍历数据中的每个变量(列)和每个变量的每个值,并根据每个值将数据分成两个子集。这些分割中的哪一个实际上是由算法选择的——即分割标准是什么?选择最能“净化”数据(即最大化信息增益)的特定变量/值组合来拆分数据(该变量/值组合通常表示为节点的标签)。这种简单的启发式只是递归地执行,直到剩余的数据子集是纯的或进一步拆分不会增加信息增益。

这告诉您数据集中变量的“重要性”是什么?井的重要性通过与根节点的接近程度来表示——即层次级别或等级

一个建议:决策树通常可以毫无问题地处理分类数据和离散数据;但是,根据我的经验,如果响应变量(您尝试使用所有其他变量预测的变量)是离散/分类而不是连续的,则决策树算法总是表现更好。看起来你的可能是连续的,在这种情况下会考虑离散化它(除非这样做只会导致整个分析毫无意义)。为此,只需使用对您的问题域有意义的参数(bin 大小、bin 编号和 bin 边缘)对您的响应变量值进行 bin 分类 - 例如,如果您的 r/v 由 1 的“连续值”组成到 100,您可能会明智地将它们分成 5 个箱子,0-20、21-40、41-60 等。

例如,根据您的问题,假设数据中的一个变量是 X,它有 5 个值(10、20、25、50、100);还假设用第三个值 (25) 拆分此变量上的数据会导致两个几乎纯子集 - 一个低值和一个高值。只要这种纯度高于从其他值拆分获得的子集,数据就会在该变量/值对上拆分。

RapidMiner 确实有一个决策树实现,而且似乎网上有很多可用的教程(例如,来自 YouTube,这里这里)。(注意,我没有在 R/M 中使用过决策树模块,也没有使用过 RapidMiner。)

我会考虑的另一组技术通常归类为Dimension Reduction特征提取特征选择可能是 D/R 之后最常见的两个术语。最广泛使用的是PCA主成分分析,它基于协方差矩阵的特征向量分解(源自您的数据矩阵)。

这种特征向量分解的一个直接结果是每个特征向量所解释的数据可变性的分数。仅根据此结果,您就可以确定需要多少维度来解释,例如,数据中 95% 的可变性

如果 RapidMiner 具有 PCA 或其他功能相似的降维技术,那么在哪里可以找到它并不明显。我知道RapidMiner有一个R Extension,当然可以让你在 RapidMiner 中访问 R。R 有很多 PCA 库(包)。我在下面提到的那些都在CRAN上可用,这意味着那里的任何 PCA 包都满足文档和小插图(代码示例)的最低包要求。我可以推荐pcaPP(Projection Pursuit 的鲁棒 PCA)。

此外,我可以推荐两个关于 PCA 的优秀分步教程。第一个来自NIST 工程统计手册。第二个是独立分量分析(ICA)而不是 PCA 的教程,但我在这里提到它是因为它是一个很好的教程,并且这两种技术用于类似的目的。

于 2011-09-25T22:51:44.147 回答