【发布时间】:2016-07-18 14:45:38
【问题描述】:
我是线性回归的新手,我正在尝试弄清楚如何解释汇总结果。我很难解释分类预测变量的估计值。考虑以下示例。我添加了年龄和长度列以包含数字预测器和数字目标。
library(MASS)
data <- as.data.frame(HairEyeColor)
data$length <- c(155, 173, 172, 176, 186, 188, 160, 154, 192, 192, 185, 150, 181, 195, 161, 194,
173, 185, 185, 195, 168, 158, 151, 170, 163, 156, 186, 173, 167, 172, 164, 182)
data$age <- c(48, 44, 8, 23, 23, 63, 64, 26, 8, 56, 40, 11, 17, 12, 60, 10, 9, 21, 46, 7, 12, 9, 32, 37, 52, 64, 36, 31, 41, 24)
summary(lm(length ~ Hair + Eye + Sex + age, data))
输出:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 182.72906 8.22026 22.229 <2e-16 ***
HairBrown 6.22998 7.45423 0.836 0.412
HairRed -0.38261 7.50570 -0.051 0.960
HairBlond -0.25860 7.36012 -0.035 0.972
EyeBlue -8.44369 7.36646 -1.146 0.263
EyeHazel 0.06968 7.49589 0.009 0.993
EyeGreen -0.15554 7.27704 -0.021 0.983
SexFemale -4.92415 5.18308 -0.950 0.352
age -0.19084 0.15910 -1.200 0.243
其中大部分并不重要,但我们暂时忽略它。
-
关于(拦截)有什么要说的?直观地说,这是当分类预测变量(头发 = 黑色、眼睛 = 棕色、性别 = 男性)的基线值适用且年龄 = 0 时的长度值。这是正确的吗?
数据集中长度的平均值为 173.8125,但估计值为 182.72906。这是否意味着对于基线情况,长度的估计实际上高于平均长度?
与问题 2 类似的问题:假设 Eye = Blue,所有其他值仍作为基线。然后估计值变为 174.284 (182.72906 - 8.44369)。我可以由此推断出预期的平均长度是 174.284,因此仍高于整体平均值(173.8125)吗?
如何发现哪个预测变量/值对长度有正面或负面影响?简单地采用估计的方向是行不通的:负估计仅意味着与基线相比具有负面影响。这是否意味着我可以仅推断例如 Eye = Blue 与 Eye = Brown 相比具有负面影响,而不是推断它总体上具有负面影响?
为什么 (Intercept) 很重要,而所有其他行都不重要?拦截的意义是什么?
-
当仅使用 Hair 作为预测变量运行模型时,Hair = Blond 的方向变为正(见下文),而在之前的模型中为负。那么为每个预测器单独运行模型是否更明智,以便我可以捕获单个预测器的真实大小和方向?
summary(lm(length ~ Hair, data)) Estimate Std. Error t value Pr(>|t|) (Intercept) 173.125 5.107 33.900 <2e-16 *** HairBrown 4.250 7.222 0.588 0.561 HairRed -2.625 7.222 -0.363 0.719 HairBlond 1.125 7.222 0.156 0.877
感谢您的帮助。
【问题讨论】:
标签: r regression linear-regression lm