0

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

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

标记以下消息:

note: age omitted because of collinearity

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

我以前做过很多次类似的分析,但从未有过(或至少从未注意到)。这很不和谐,因为不言而喻,年龄与自身共线。但这无关紧要,因为我并没有试图同时输入两个名为“年龄”的变量。很明显,这是我在两个交互术语中使用的一个变量。有没有其他人遇到过这种情况,他们知道抑制它的方法吗?

4

1 回答 1

2

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

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与种族和性别的持续互动。我认为使用连续变量时不会出现这个问题。也许?

于 2020-09-28T21:38:10.787 回答