我正在开发一个回归模型,我的大部分变量都是 0/1 变量。
应该将这些变量视为模型中的因子变量,还是可以将它们保留为数字 0,1?
我正在开发一个回归模型,我的大部分变量都是 0/1 变量。
应该将这些变量视为模型中的因子变量,还是可以将它们保留为数字 0,1?
在线性回归中,如果它们是自变量并且 1 和 0 是唯一可能的结果,那么任何一种方式都可以。
建模为二进制,但将其指定为连续的(数据和语法属于 Stata 12):
. sysuse auto
. reg mpg foreign
Source | SS df MS Number of obs = 74
-------------+------------------------------ F( 1, 72) = 13.18
Model | 378.153515 1 378.153515 Prob > F = 0.0005
Residual | 2065.30594 72 28.6848048 R-squared = 0.1548
-------------+------------------------------ Adj R-squared = 0.1430
Total | 2443.45946 73 33.4720474 Root MSE = 5.3558
------------------------------------------------------------------------------
mpg | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign | 4.945804 1.362162 3.63 0.001 2.230384 7.661225
_cons | 19.82692 .7427186 26.70 0.000 18.34634 21.30751
------------------------------------------------------------------------------
建模为因子:
. reg mpg i.foreign
Source | SS df MS Number of obs = 74
-------------+------------------------------ F( 1, 72) = 13.18
Model | 378.153515 1 378.153515 Prob > F = 0.0005
Residual | 2065.30594 72 28.6848048 R-squared = 0.1548
-------------+------------------------------ Adj R-squared = 0.1430
Total | 2443.45946 73 33.4720474 Root MSE = 5.3558
------------------------------------------------------------------------------
mpg | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1.foreign | 4.945804 1.362162 3.63 0.001 2.230384 7.661225
_cons | 19.82692 .7427186 26.70 0.000 18.34634 21.30751
------------------------------------------------------------------------------
值得注意的是,如果建模为连续变量(尽管记住它实际上是二进制的),参考组总是编码为 0。然而,在某些统计软件中,建模为因子的二进制变量可能会将其参考组交换为任何= 1. ANOVA 和 F 统计量不会受到影响,但回归系数可能会发生变化(由于重新分配了参考组。)仔细检查输出。
在 R 中,它们是因子还是数值变量都没有关系。但请务必通过指示family=binomial例如一般线性模型或混合效应模型来表明您正在进行逻辑回归。
如果不指出这一点,假设的分布方差将有所不同。在二项式族中,方差(离散参数)取为 1,与高斯族不同。