我有一个包含分类变量和连续变量的数据集。建议我将分类变量转换为每个级别的二进制变量(即A_level1:{0,1},A_level2:{0,1})-我认为有些人将其称为“虚拟变量”。
话虽这么说,然后使用新变量对整个数据集进行居中和缩放会产生误导吗?似乎我将失去变量的“开/关”含义。
如果产生误导,是否意味着我应该分别对连续变量进行居中和缩放,然后将其重新添加到我的数据集中?
TIA。
我有一个包含分类变量和连续变量的数据集。建议我将分类变量转换为每个级别的二进制变量(即A_level1:{0,1},A_level2:{0,1})-我认为有些人将其称为“虚拟变量”。
话虽这么说,然后使用新变量对整个数据集进行居中和缩放会产生误导吗?似乎我将失去变量的“开/关”含义。
如果产生误导,是否意味着我应该分别对连续变量进行居中和缩放,然后将其重新添加到我的数据集中?
TIA。
Answers:
构造用于回归分析的虚拟变量时,分类变量中的每个类别(除了一个)都应获得一个二进制变量。因此,您应该具有例如A_level2,A_level3等。类别之一不应具有二进制变量,并且该类别将用作参考类别。如果您不忽略其中一个类别,则回归分析将无法正常运行。
如果您使用SPSS或R,我认为整个数据集的缩放和居中通常不会成为问题,因为那些软件包通常仅将变量解释为两个级别,但是这可能取决于所使用的特定统计方法。在任何情况下,缩放和居中二进制(或分类)变量都没有意义,因此,如果必须这样做,则仅应居中和缩放连续变量。
如果使用R并将虚拟变量或具有0或1的变量缩放到0到1之间的小数位数,则这些变量的值将没有任何变化,其余列将被缩放。
maxs <- apply(data, 2, max)
mins <- apply(data, 2, min)
data.scaled <- as.data.frame(scale(data, center = mins, scale = maxs - mins))
回归中均值居中的目的是使截距更易于解释。也就是说,id表示您将回归模型中所有变量居中,然后截距(SPSS输出中称为Constant)等于结果变量的总体均值。解释最终模型时,这很方便。
关于平均居中虚拟变量,我刚刚与我的一位教授讨论了回归模型中的平均居中虚拟变量(在我的情况下是一个具有3个级别的随机块设计多级模型),我的收获是平均居中虚拟变量。虚拟变量实际上并不会改变回归系数的解释(除非解决方案是完全标准化的)。通常,不需要在回归中解释实际单位水平的平均中心值-只需解释系数。基本上,这并没有改变-在大多数情况下。她说,它的变化很小,因为它是标准化的,对于傻瓜来说,它不那么直观。
警告:那是我离开教授办公室时的理解。我当然可以弄错了。