在Stata中,我最近发现,当我在一个回归模型中的多个交互项中使用相同的变量时,Stata会将该变量标记为共线性。例如,运行:
regress dep i.gender##c.age i.ethnicity##c.age
标记以下消息:
note: age omitted because of collinearity
年龄仍然包括在随后的回归表中,但有两次,第一次带有系数,SE等,正如人们所预期的,但第二次说的是omitted。
我以前做过很多次类似的分析,但从来没有(或者至少从来没有注意到)。这是不和谐的,因为不言而喻,年龄与其自身是共线的。但这并不重要,因为我试图同时输入的并不是两个名为“年龄”的变量。这是一个非常明显的变量,我在两个交互术语中使用它。有没有其他人遇到过这种情况,他们知道如何抑制它吗?
发布于 2020-09-29 05:38:11
是的,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。我不认为在使用连续变量时会出现这个问题。也许吧?
https://stackoverflow.com/questions/64107423
复制相似问题