【问题标题】:Dummy Variable Trap And removing one Column虚拟变量陷阱并删除一列
【发布时间】:2020-05-07 07:17:29
【问题描述】:

谁能详细解释一下虚拟变量陷阱是什么意思?为什么我们要删除一列以避免该陷阱?请提供一些链接或解释一下。我不清楚这个过程。

【问题讨论】:

    标签: pandas dummy-variable


    【解决方案1】:

    在回归分析中,经常会谈到多重共线性问题,您可能已经很熟悉了。虚拟变量陷阱只是两个或多个变量之间的完美共线性。如果对于一个二元变量,包含两个虚拟变量,则可能会出现这种情况;假设您有一个变量x,当某事物为True 时,它等于1。如果在回归模型中包含x,以及另一个变量z,这将与x相反(即1,当相同的东西是False),在你的回归模型中,你将有两个完美的负相关变量。

    这是一个简单的演示。假设您的xTrue/False 数据框中的True/False 值的一列。看看当你在下面使用pd.get_dummies(df.x) 时会发生什么。创建的两个虚拟对象相互镜像,因此其中一个是多余的。简单来说,您只需要其中一个,因为您总是可以根据您拥有的那个来猜测另一个的值。

    import pandas as pd
    
    df = pd.DataFrame({'x': [True, False]})
    
    pd.get_dummies(df.x)
        False   True
    0   0       1
    1   1       0
    

    如果您有一个可以取两个以上值的分类变量,这同样适用。无论是否是二元的,总有一个“基本场景”可以通过其他情况的变化来定义。因此,这个“基本场景”是多余的,如果包含,只会在模型中引入完美的共线性。

    那么多重共线性/线性相关的问题是什么?简短的回答是,如果您的解释变量之间存在不完美的多重共线性,您的估计系数可能会失真/有偏差。如果存在完美的多重共线性(虚拟变量陷阱就是这种情况),您根本无法估计您的模型;可以这样想,如果你有一个变量可以用另一个变量完美解释,这意味着你的样本数据只包含一个有价值的信息,而不是两个真正唯一的变量。因此,不可能为同一变量获得两个单独的系数估计值。

    进一步阅读
    Multicolinearity
    Dummy Variable Trap

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 2018-08-19
      • 2019-02-28
      • 2018-04-17
      • 2018-05-29
      • 2019-07-19
      • 2019-07-14
      相关资源
      最近更新 更多