Stata 省略 'collinear' 交互项后的变量

Stata omitting 'collinear' variables following interaction term

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

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

标记以下消息:

note: age omitted because of collinearity

年龄仍然包含在随后的回归中 table,但是两次,第一次使用系数、SE 等,正如人们所期望的,但第二次说 omitted

我以前做过很多次类似的分析,但从来没有(或者至少从来没有注意到)。这很刺耳,因为不用说年龄与自身共线。但这应该无关紧要,因为我并没有尝试同时输入两个名为 'age' 的变量。很明显,这是我在两个交互项中使用的一个变量。有没有其他人遇到过这个,他们知道抑制它的方法吗?

是的,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 与种族和性别的互动方面明显倒退。我认为使用连续变量时不会出现此问题。也许?