r - 为什么 poly(x,2) 中的一阶自变量不会在多元回归中生成其估计值?
问题描述
我的回归模型有两种多项式项,但其中一个一阶变量(此处age
)未能生成其估计值,exper
而exper^2
项没有失败。我想明白为什么。
我的代码是:
library(wooldridge)
data('card')
fit1_ols <- lm(lwage~educ + poly(exper, 2) + black + smsa + south + poly(age, 2), data = card)
fit2_ols <- lm(lwage~educ + poly(exper, 2) + black + smsa + south + poly(age, 2) + motheduc + fatheduc, data = card)
summ(fit1_ols)
summ(fit2_ols)
结果分别是:
----------------------------------------------------
Est. S.E. t val. p
--------------------- ------- ------ -------- ------
(Intercept) 5.26 0.05 107.40 0.00
educ 0.07 0.00 21.10 0.00
poly(exper, 2)1 8.93 0.49 18.05 0.00
poly(exper, 2)2 -2.71 0.41 -6.66 0.00
black -0.19 0.02 -10.75 0.00
smsa 0.16 0.02 10.36 0.00
south -0.12 0.02 -8.23 0.00
poly(age, 2)1 ???
poly(age, 2)2 0.17 0.41 0.41 0.68
----------------------------------------------------
----------------------------------------------------
Est. S.E. t val. p
--------------------- ------- ------ -------- ------
(Intercept) 5.18 0.06 87.10 0.00
educ 0.07 0.00 16.99 0.00
poly(exper, 2)1 9.45 0.60 15.65 0.00
poly(exper, 2)2 -2.89 0.51 -5.67 0.00
black -0.16 0.02 -6.69 0.00
smsa 0.16 0.02 8.74 0.00
south -0.11 0.02 -6.22 0.00
poly(age, 2)1 ???
poly(age, 2)2 0.20 0.49 0.41 0.69
motheduc 0.01 0.00 2.24 0.03
fatheduc -0.00 0.00 -0.25 0.80
----------------------------------------------------
解决方案
如果您使用普通summary
而不是summ
(为此您确实加载了相应的库),R 会告诉您问题:
library(wooldridge)
data('card')
fit1_ols <- lm(lwage~educ + poly(exper, 2) + black + smsa + south + poly(age, 2), data = card)
fit2_ols <- lm(lwage~educ + poly(exper, 2) + black + smsa + south + poly(age, 2) + motheduc + fatheduc, data = card)
summary(fit1_ols)
summary(fit2_ols)
如您所见,错误消息指示“由于奇异性而未定义”。这是有关如何处理此问题的有用帖子。基本上,缺失的变量可能与其他变量共线,这表明您需要更改模型的规格。
推荐阅读
- java - assertEquals 的匹配日期格式
- xcode - 尝试连接 Braintree 时出现问题
- lua - Lua 基准测试
- ruby-on-rails - 从 Ruby on Rails 应用程序向节点服务器发送数据
- c# - 获取按级别排序的父级的所有子级
- regex - 如何排除其中包含连字符的行?Python(3.6) 重新
- c - struct 程序中的 struct 不会启动
- python - 使用 pandas 的滚动统计模型协整
- javascript - 为来自 State 的初始表单值的 Redux 表单编写 Jest 测试时出错
- rust - 在接受特征对象的方法中使用关联函数