忽略交互项后的状态变量“共线性”变量

问题描述

在Stata中,我最近发现,当我在一个回归模型中的多个交互项中使用相同的变量时,Stata将该变量标记为共线性。例如,运行:

regress dep i.gender##c.age i.ethnicity##c.age

标记以下消息:

note: age omitted because of collinearity

年龄仍然包含在随后的回归表中,但是两次,第一次是如人们所期望的那样具有系数,SE等,但是第二次是omitted

我之前已经做过很多次类似的分析,但是从来没有(或者至少从来没有注意到)。这很刺激,因为不用说年龄与自己共线。但这没关系,因为并不是我试图同时输入两个称为“年龄”的变量。很明显,这是我在两个交互条件下使用的一个变量。还有其他人遇到过这种情况吗,他们知道抑制这种情况的方法吗?

解决方法

是的,stata不会解析输入以检查变量是否完全相同,但是您可以使用noomitted选项或通过确保仅在每个变量中包含一次来抑制由于多重共线性变量而导致的省略通过使用单个#作为交互项来进行回归。

sysuse nlsw88

reg wage i.south##c.age i.union##c.age 
reg wage i.south##c.age i.union#c.age i.union // only one each

reg wage age age age 
reg wage age age age,noomitted // suppress output. 

另一个可能的问题是由于通过构造许多交互项来使用稀疏数据,并且对于生成的虚拟变量(所有“ 1”或所有“ 0”)只有一种观察结果。请参见下一个示例。

cls
reg wage i.south##age    // runs fine
replace south = 1 if age == 46
reg wage i.south##age    // note: 1.south#46.age omitted because of collinearity
reg wage i.south##c.age  // runs fine

无论如何,我不确定它是否适用于您的问题,因为您在与种族和性别互动的连续age上明确地退步。我认为使用连续变量时不会出现此问题。也许吗?