确定高度相关的细分

数据挖掘 机器学习 r 相关性
2021-10-13 02:04:49

给定一个具有二进制 (0/1) 因变量和大量连续和分类自变量的数据集,是否有一个过程,理想情况下是一个 R 包,可以找到与高度相关的 IV 的组合/子集/段DV?

简单示例:DV:大学教育(0/1),IV:年龄(20 到 120)、收入(0 到 100 万)、种族(白人、黑人、西班牙裔等)、性别(0/1)、州、等等。

然后找到结合 IV 和 IV 子集的相关性(例如,30 到 50 岁之间的女性,收入超过 10 万与 DV 高度正相关),然后能够比较这些组合(例如,找出 30 到 40 岁之间的女性,与收入超过 10 万的相关性高于 40 至 50 岁的女性(收入超过 10 万)

4个回答

您想到的想法称为“特征选择”或“属性选择”。您拥有分类因变量和连续自变量这一事实几乎无关紧要,因为您需要使用适合您要求的算法或统计方法。

至于特征选择方法,有几种选择:

  1. 找到实现更好性能的特征子集(通常在交叉验证中)

  2. 找到与目标变量高度相关且彼此相关性较低的特征子集(尽管可以使用其他标准)

  3. 使用包含内置特征选择机制的算法(例如决策树、分层贝叶斯方法)

此外,有几种方法旨在在彻底的搜索和合理的时间执行之间取得良好的折衷(例如,最佳优先、最陡上升搜索等)

这个问题特别为 R 包提供了非常好的建议。

我建议考虑使用潜在变量建模 (LVM)或类似的结构方程建模 (SEM)作为解决此问题的方法。使用这种方法是基于识别和分析潜在变量- 结构(因素),不是直接测量,而是通过一组测量变量(指标)。请注意,在机器学习领域中经常使用密切相关的术语潜在特征。在我看来,潜在变量类似于您所说的“IV 的组合/子集/段”。

通过假设(通常基于理论或领域知识)因素的潜在结构,LVM 或 SEM 能够自动确认或拒绝这些假设。这是通过结合使用探索性因子分析 (EFA)验证性因子分析 (CFA)来完成的(请参阅我的答案)。虽然 EFA 经常独立执行(也许这对您的目的来说已经足够了),但与 CFA 一起执行它代表了 LVM/SEM 方法的很大一部分,通常通过执行路径分析来完成,路径分析关注潜在变量之间的关系。

R 生态系统提供了多种软件包,用于整体执行 LVM/SEM 或执行 EFA、CFA 和路径分析。最受欢迎的 EFApsych最流行的 CFA、路径分析和 LVM 包是( SEM第一个 R 包)、、、、、还提供各种以 SEM 为重点的补充软件包GPArotationHmiscsemlavaanOpenMxsemPLSplspm

我不是那种特殊情况的专家,但做了一些研究,似乎你想要构建的度量被称为“点双列相关系数”,即连续变量之间的推断相关性X 和一个分类变量 Y,例如 Y{1,0,1}. 请参阅Cross Validated SE上的相关问题

是的,有一个 R 包:)

最近我正在做一个类似的分析。我编写了一些函数来测试变量之间的任何可能组合,但是它专门用于我自己的数据集,这肯定与你的不同。

这是一项相当小的工作,所以我不能说任何处理此类测试的包。你已经制定了一些组合。继续做一个理想的功能,也许会在几天内完成。

我在这里添加了一个链接,它部分回答了您的问题,并且包含代码:https ://stats.stackexchange.com/questions/4040/r-compute-correlation-by-group