我正在阅读 Gelman 和 Hill 的“使用线性回归和多级/分层模型的数据分析”。我对第 3 章中的练习 2 有疑问。
假设,对于某个人口,我们可以从对数高度预测对数收益,如下所示:
- 预计身高 66 英寸的人的收入为 30,000 美元。身高每增加 1%,对应的收入预计增加 0.8%。
- 大约 95% 的人的收入在预测值的 1.1 倍范围内。
- 给出回归线的方程和回归的残差标准差。
假设此总体中对数高度的标准偏差为 5%。那么,这里描述的回归模型的 R2 是多少?
在 R 中,我使用以下代码推导出回归线的方程
alpha = log(30000) - (0.008/0.01) * log(66) # find the y-intercept
alpha
log.y = alpha + (0.008/0.01) * log(66)
exp(log.y) # we need to take the exponential of log.y to have our final result
等式是。为了计算预测的标准偏差,我使用了一个基于第二个要点事实的简单方程。
sd = 0.1 * .50 / .95
回归残差的标准差。不过,在尝试解决最后一个问题时,我很难;我们模型的 R2 是多少?
sd.population = 0.05
R2 <- 1 - (sd^2 / sd.population^2)
然而,这会返回一个负的 R 平方,这显然是错误的。我究竟做错了什么?