首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stata在相互作用项后省略‘共线’变量

Stata在相互作用项后省略‘共线’变量
EN

Stack Overflow用户
提问于 2020-09-29 02:08:44
回答 1查看 1K关注 0票数 0

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

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

标记以下消息:

note: age omitted because of collinearity

年龄仍然包括在随后的回归表中,但有两次,第一次带有系数,SE等,正如人们所预期的,但第二次说的是omitted

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-29 05:38:11

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

代码语言:javascript
复制
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”)。请参见下一个示例。

代码语言:javascript
复制
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。我不认为在使用连续变量时会出现这个问题。也许吧?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64107423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档