我应该在神经网络中包含所有虚拟变量还是 N-1 个虚拟变量(保留一个作为参考)

数据挖掘 机器学习 神经网络 虚拟变量
2022-03-10 06:10:01

我在分类问题中有一个具有 N 个因子级别(例如性别有两个级别)的分类变量。我已将其转换为虚拟变量(男性和女性)。

我必须使用神经网络(nnet)进行分类。我有两个选择——

  1. 在输入数据中包括任何 N-1 个虚拟变量(例如,包括男性或女性)。在统计模型中,我们使用 N-1 个虚拟变量。
  2. 包括所有 N 个虚拟变量(例如包括男性和女性)

有人可以强调两种选择在预测能力和可解释性方面的优缺点吗

1个回答

我将在神经网络上下文中回答这个问题(即我不会谈论回归算法中的正则化处理这个问题)。

不掉线的问题编码变量之一将导致多重共线性。也就是说,可以使用其他变量来估计其中一个变量。例如,如果您有一个变量来说明一个人是否为女性,那么您为什么需要另一个变量来说明一个人是否为男性。然而,人们在回答这个问题时忘记说的主要事情是多重共线性实际上并不是一个大问题,除非你需要解释你的变量。多重共线性会导致您的系数为假,但不会影响您的预测。因此,除非您需要根据变量来解释您的模型,否则这应该不是一个大问题。另一种可能性是,如果您在训练集和测试集中的变量之间的协方差不同,那么您的预测就会受到影响,你会得到不正确的结果。但是,如果您对数据集进行充分洗牌(这是您的假设)并正确拆分训练集和测试集(也是验证集),那么两者的协方差应该是相同的。换句话说,可以假设这些相关变量之间的关系在训练集和测试集中保持不变。因此,您可以放心地假设您的预测是正确的。