重要变量(数值)的数据挖掘:从哪里开始?
Posted
技术标签:
【中文标题】重要变量(数值)的数据挖掘:从哪里开始?【英文标题】:Data mining for significant variables (numerical): Where to start? 【发布时间】:2011-11-24 15:33:34 【问题描述】:我有一个我正在尝试改进的外汇市场交易策略。
我有一个巨大的表格(超过 100k 行),代表市场中所有可能的交易、交易类型(买入或卖出)、交易结束后的利润/损失,以及代表各种市场的 10 个左右的附加变量开市时的测量值。
我试图找出这 10 个变量中的任何一个是否与利润/损失显着相关。
例如,假设变量 X 的范围是 50 到 -50。 买单 X 的平均值是 25,卖单是 -25。
如果最有利可图的买单的价值 X > 25,最有利可图的卖单的价值 X
我想要一个好的起点。我已经安装了RapidMiner 5
,以防有人可以为此提供具体建议。
【问题讨论】:
【参考方案1】:决策树也许是最好的起点。
树本身是特征重要性排名的直观总结(或 OP 中的重要变量)。
为您提供整体的可视化表示 分类/回归分析(以二叉树的形式), 这将它与任何其他分析/统计数据区分开来 我知道的技术;
决策树算法只需要对您的数据进行很少的预处理,无需标准化,无需重新缩放,无需将离散变量转换为整数(例如,男性/女性 => 0/1);它们可以接受分类(离散)和连续变量,并且许多实现可以处理不完整的数据(数据矩阵中某些行中缺少值);和
同样,树本身是特征重要性排名的视觉总结 (即,重要变量)--最重要的变量是 根节点,并且比两个子节点更重要,其中 转身比他们的四个孩子加起来更重要。 这里的“显着性”是指解释的方差百分比(关于某些响应变量,也就是“目标变量”或事物 你试图预测)。一个附带条件:从目视检查 无法区分变量重要性的决策树 在相同等级的节点之间。
如果您以前没有使用过它们,下面是决策树的工作原理:该算法将遍历数据中的每个变量(列)以及每个变量的每个值,并根据每个变量将数据分成两个子集那些价值观。这些分割中的哪一个实际上是由算法选择的——即分割标准是什么?选择最能“净化”数据(即最大化信息增益)的特定变量/值组合来拆分数据(该变量/值组合通常表示为节点的标签)。这种简单的启发式只是递归地执行,直到剩余的数据子集是纯的或进一步拆分不会增加信息增益。
这告诉您数据集中变量的“重要性”是什么?井的重要性通过与根节点的接近程度来表示 - 即层次级别或 rank。
一个建议:决策树处理分类和离散数据通常没有问题;但是,根据我的经验,如果响应变量(您尝试使用所有其他变量预测的变量)是离散/分类而不是连续的,则决策树算法总是表现更好。看起来你的可能是连续的,在这种情况下会考虑离散化它(除非这样做只会导致整个分析毫无意义)。为此,只需使用参数(bin 大小、bin 编号和 bin 边缘)对您的问题域有意义的参数(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、here 和 here)。 (注意,我没有使用 R/M 中的决策树模块,也没有使用过 RapidMiner。)
我会考虑的另一组技术通常归类为 降维。 Feature Extraction 和 Feature Selection 可能是 D/R 之后最常见的两个术语。最广泛使用的是PCA,或主成分分析,它基于协方差矩阵的特征向量分解(源自您的数据矩阵)。
这种特征向量分解的一个直接结果是每个特征向量所解释的数据可变性的分数。仅根据此结果,您就可以确定需要多少维度来解释,例如,数据中 95% 的可变性
如果 RapidMiner 具有 PCA 或其他功能相似的降维技术,那么在哪里可以找到它并不明显。我知道 RapidMiner 有一个 R 扩展,当然可以让你在 RapidMiner 中访问 R。R 有很多 PCA 库(包) .我在下面提到的那些都可以在CRAN 上找到,这意味着那里的任何 PCA 包都满足文档和小插曲(代码示例)的最低包要求。我可以推荐pcaPP(Projection Pursuit 的鲁棒 PCA)。
此外,我可以推荐两个关于 PCA 的优秀分步教程。第一个来自NIST Engineering Statistics Handbook。第二个是 tutorial 用于独立分量分析 (ICA) 而不是 PCA,但我在这里提到它是因为它是一个优秀的教程,并且这两种技术用于相似的目的。
【讨论】:
@MikeFurlender 没问题——我希望它会有所帮助。出于某种原因,我期望您最感兴趣的帖子部分(决策树)没有出现在我的答案中——可能是我的剪切和粘贴错误。我现在将编辑我的答案以包含该信息。 决策树听起来确实是正确的起点。我需要一个月的时间来挖掘与数据挖掘有关的大量信息——然后再花一个月的时间来理解它。你给了我一个巨大的开端!再次感谢!以上是关于重要变量(数值)的数据挖掘:从哪里开始?的主要内容,如果未能解决你的问题,请参考以下文章