分类数据中的降维处理及缺失值处理

24

我有一个回归模型,其中因变量是连续的,但九十%的自变量是分类的(包括有序和无序的),并且约百分之三十的记录存在缺失值(更糟糕的是,它们是随机缺失,没有任何模式,也就是说,超过四十五%的数据至少有一个缺失值)。在运行回归之前,降低维度是关键任务之一,因为没有先验理论可选择模型规格。虽然我知道几种用于连续变量的维度约减方法,但我不知道是否有类似的统计文献适用于分类数据(除了作为对频率表基本上是主成分分析的对应分析的一部分)。此外,数据集的大小为500000个观测值,共200个变量。 我有两个问题。

  1. 是否有针对分类数据的好的统计参考资料,以及强大的插补方法(我认为第一个问题是插补,然后才是降维)?
  2. 这与实现上述问题有关。我之前广泛使用R,并倾向于为连续变量大量使用transcan和impute函数,并使用树方法的变体来填充分类值。我对Python有工作知识,因此如果有适用于此目的的好东西,我会使用它。 有关Python或R的任何实现提示都将非常有帮助。谢谢。
2个回答

22

关于分类数据的填充,建议查看 mice 包。此外,还可以查看这个演示文稿,解释了如何填充多元分类数据。另一个用于不完整多元数据的多重插补的包是Amelia。Amelia 包含一些处理序数和名义变量的有限能力。

关于分类数据的降维(即将变量排列成同质聚类的方法),我建议使用多重对应分析,它将给出最大化聚类同质性的潜在变量。与主成分分析(PCA)和因子分析中所做的类似,MCA解决方案也可以旋转以增加组件的简单性。旋转背后的想法是找到更清楚地与旋转的组件相一致的变量子集。这意味着最大化组件的简单性有助于因子解释和变量聚类。在R中,MCA方法包括在ade4MASSFactoMineRca等软件包中。至于FactoMineR,如果将其作为额外菜单添加到Rcmdr软件包已提供的菜单中,即可通过图形界面使用它,安装RcmdrPlugin.FactoMineR

您好,演示文稿的链接目前无法找到。 - GoingMyWay
mice 包现在已经 404。 - Srinath Ganesh
1
@Srinath Ganesh 已经纠正。 - gd047

0

你说有45%的数据至少有一个缺失值,这很令人印象深刻。我首先会看是否存在模式。你说它们是随机缺失的。你测试过MAR了吗?你测试过子组的MAR了吗?

不知道你的数据,我首先会看是否存在许多缺失值的情况,并查看是否有理论或实际原因将其排除。实际原因是数据的生产。可能是因为它们没有被很好地观察到,生成数据的机器没有一直运转,调查没有一直覆盖所有国家等等。例如,你有关于当前职业的调查数据,但部分受访者已经退休了。所以他们必须是(系统)缺失的。你不能用某些计算出的值替换这些数据。

也许你可以从完整的案例中削减出一些片段,并寻找数据生产的条件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接