一、虚拟变量概念
虚拟变量 ( Dummy Variables) 又称虚设变量、名义变量或哑变量,用以反映质的属性的一个人工变量,是量化了的自变量,通常取值为0或1。引入哑变量可使线形回归模型变得更复杂,但对问题描述更简明,一个方程能达到两个方程的作用,而且接近现实。
二、为什么使用虚拟变量
在回归分析中,自变量X既可以是定量数据也可以定类数据。回归分析计算时是将所有自变量X视为数字,但当数据为定类数据时,此时数字代表类别,数字大小本身没有比较意义。因此,这类数据在做回归分析时,需要设置成虚拟变量才能纳入回归分析正确分析数据。
三、使用范围
通常情况下,回归分析,逐步回归,分层回归,Logistic回归,PLS回归等这类影响关系研究的方法时,才可能涉及到虚拟变量设置。其它分析方法并不会涉及。
四、设置原则
在模型中引入多个虚拟变量时,虚拟变量的个数应按下列原则确定:
(1)如果回归模型有截距项:有m种互斥的属性类型,在模型中引入(m-1)个虚拟变量。
(2)如果回归模型无截距项,有m个特征,设置m个虚拟变量
五、举例
1、方法
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False)
2、参数
data : array-like, Series, or DataFrame 输入的数据
prefix : get_dummies转换后,列名的前缀
*columns :指定需要实现类别转换的列名
dummy_na : bool, default False 增加一列表示空缺值,如果False就忽略空缺值
drop_first : bool, default False 获得k中的k-1个类别值,去除第一个
3、例子
没有设置虚拟变量的结果:
设置了虚拟变量的结果:
对指定列设置虚拟变量:
对指定列设置虚拟变量后并将其结果合并到原始数据中: