Mik*_*der 2 statistics machine-learning data-mining rapidminer
我在外汇市场上有一个交易策略,我试图改进.
我有一个巨大的表(100k +行)代表市场上的每一个可能的交易,交易的类型(买入或卖出),交易结束后的盈利/亏损,以及代表各种市场测量的10个左右的额外变量.贸易开放时间.
我试图找出这10个变量中的任何一个是否与利润/损失显着相关.
例如,假设变量X的范围是50到-50.买单的X平均值为25,卖单的平均值为-25.
如果大多数有利可图的买单具有X> 25的值,并且大多数有利可图的卖单具有X <-25的值,那么我会认为X与利润的关系是显着的.
我想要一个很好的起点.我已安装RapidMiner 5以防万一有人可以给我一个具体的建议.
dou*_*oug 14
一个决策树也许是开始的最佳场所.
树本身是特征重要性排序(或OP中表达的重要变量)的视觉摘要.
为您提供整个分类/回归分析的可视化表示(以二叉树的形式),它将其与我所知道的任何其他分析/统计技术区分开来;
决策树算法需要对数据进行非常少的预处理,不进行标准化,不进行重新缩放,不将离散变量转换为整数(例如,男/女=> 0/1); 它们可以接受分类(离散)和连续变量,许多实现可以处理不完整的数据(数据矩阵中某些行缺少值); 和
再次,树本身是特征重要性排序的视觉摘要
(即重要变量) - 最重要的变量是
根节点,并且比两个子节点更重要,而这两个子节点反过来比它们的四个组合更重要儿童."重要性"在这里表示解释的方差百分比(关于某些响应变量,也称为"目标变量"或您试图预测的事物).一个附带条件:从对决策树的视觉检查中,您无法区分
相同等级的节点之间的变量显着性.
如果您之前没有使用它们,那么决策树的工作原理如下:算法将遍历数据中的每个变量(列)和每个变量的每个值,并根据每个值将数据拆分为两个子集.算法实际上选择了哪些分裂 - 即分裂标准是什么?选择"净化"数据最多的特定变量/值组合(即,最大化信息增益)以分割数据(该变量/值组合通常表示为节点的标签).这种简单的启发式只是递归地执行,直到剩余的数据子集是纯的或者进一步的分裂不会增加信息增益.
这告诉您数据集中变量的"重要性"是什么?通过与根节点的接近度来表示重要性 - 即,层次级别或等级.
一个建议:决策树通常没有问题地处理分类和离散数据; 但是,根据我的经验,如果响应变量(您尝试使用所有其他变量预测的变量)是离散的/分类的而不是连续的,则决策树算法总是表现得更好.看起来你的可能是连续的,在这种情况下会考虑离散它(除非这样做只会导致整个分析毫无意义).要做到这一点,只需使用参数(bin大小,bin数和bin边缘)将响应变量值绑定到有问题的w/r/t你的问题域 - 例如,如果你的r/v由来自1的'连续值'组成到100,您可能明智地将它们分成5个箱子,0-20个,21-40个,41-60个等等.
例如,根据您的问题,假设您的数据中的一个变量是X,它有5个值(10,20,25,50,100); 假设用第三个值(25)将这个变量的数据分割成两个几乎纯的子集 - 一个是低值,一个是高值.只要该纯度高于通过分裂其他值获得的子集,该数据将在该变量/值对上分开.
RapidMiner确实有一个决策树实现,似乎网上有很多教程(例如,来自YouTube,这里和这里).(注意,我没有在R/M中使用决策树模块,也没有使用过RapidMiner.)
我将考虑的另一组技术通常归入术语维度缩减.特征提取和特征选择可能是D/R之后最常见的两个术语.最广泛使用的是PCA或主成分分析,它基于协方差矩阵的特征向量分解(从您的数据矩阵导出).
该特征向量分解的一个直接结果是由每个特征向量计算的数据的可变性部分.只需从此结果中,您可以确定需要解释的维数,例如,数据中95%的可变性
如果RapidMiner具有PCA或其他功能相似的降维技术,那么在何处找到它并不明显.我知道RapidMiner有一个R扩展,当然让你在RapidMiner中访问R.R有很多PCA库(包).我在下面提到的那些都在CRAN上可用,这意味着任何PCA包都满足文档和插图的最低包要求(代码示例).我可以推荐pcaPP(Robust PCA by Projection Pursuit).
此外,我可以推荐两个关于PCA的优秀分步教程.第一部分来自NIST工程统计手册.第二个是独立组件分析(ICA)而不是PCA 的教程,但我在这里提到它是因为它是一个很好的教程,这两种技术用于类似的目的.
| 归档时间: |
|
| 查看次数: |
2430 次 |
| 最近记录: |