在序数或名义数据中合并/减少类别的方法?

机器算法验证 r 分类数据 降维 多类
2022-02-13 11:32:00

我正在努力寻找一种方法来减少名义或有序数据中的类别数量。

例如,假设我想在具有许多名义和有序因素的数据集上构建回归模型。虽然我对这一步没有任何问题,但我经常遇到这样的情况,即名义特征在训练集中没有观察到,但随后存在于验证数据集中。当模型呈现(到目前为止)未见过的情况时,这自然会导致错误。我想组合类别的另一种情况是当类别太多而观察值很少时。

所以我的问题是:

  • 虽然我意识到最好根据它们所代表的先前真实世界背景信息组合许多名义(和序数)类别,但是否有可用的系统方法(R最好是包)?
  • 您会就截止阈值等提出哪些指导方针和建议?
  • 文学中最流行的解决方案是什么?
  • 除了将小的名义类别组合到一个新的“其他”类别之外,还有其他策略吗?

如果您还有其他建议,请随时加入。

2个回答

这是对你第二个问题的回答。

我怀疑这些决定的正确方法将在很大程度上取决于纪律规范和您工作的目标受众的期望。作为一名社会科学家,我经常使用调查(或类似调查)的数据,当我折叠序数尺度或分类变量时,我总是试图平衡实质性和数据驱动的逻辑。换句话说,在我折叠这些项目之前,我会尽力考虑哪些项目组合在它们的实质以及响应的分布方面“挂在一起”。

这是一个涉及五点频率量表的特定(有序)调查问题的最新示例:

您多久参加一次您所在社区的俱乐部或组织的会议?

  • 绝不
  • 一年几次
  • 每月一次
  • 一个月几次
  • 每周一次或更多

我目前没有可用的数据,但结果强烈倾向于规模的“永不”结束。因此,我和我的合著者选择将回复分为两组:“每月一次或更多”和“每月少于一次”。由此产生的(二元)变量分布更均匀,并反映了实际意义上的有意义的区别:由于许多俱乐部和组织每月开会的次数不超过一次,因此有充分的理由相信,至少经常参加会议的人这些团体的“活跃”成员,而那些不经常(或从不)参加的人是“不活跃的”。

所以根据我的经验,这些决定至少和科学一样是艺术。也就是说,我通常也会在拟合任何模型之前尝试这样做,因为我工作的学科中,其他任何事情都被(负面地)视为数据挖掘和高度不科学(有趣的时代!)。

考虑到这一点,如果你能多说一些关于你为这项工作考虑的观众类型可能会有所帮助。回顾您所在领域的一些著名方法教科书也符合您的最佳利益,因为它们通常可以阐明给定研究社区中“正常”行为的标准。

ashaw 讨论的各种方法可以导致相对更系统的方法论。但我也认为系统化的意思是算法。在这里,数据挖掘工具可能会填补空白。一方面,SPSS 的决策树模块中内置了卡方自动交互检测 (CHAID) 程序;它可以根据用户设置的规则,在结果变量(无论是连续的还是名义的)上显示相似值时,折叠预测变量的序数或名义类别。这些规则可能取决于被折叠或通过折叠创建的组的大小,或者取决于p-相关统计检验的值。我相信一些分类和回归树(CART)程序可以做同样的事情。其他受访者应该能够谈论神经网络或通过各种数据挖掘包提供的其他应用程序执行的类似功能。