这个问题在这里已有答案:
我是线性回归的新手,我正在试图弄清楚如何解释汇总结果 . 我难以解释分类预测因子的估计 . 请考虑以下示例 . 我添加了列的年龄和长度,以包括数字预测器和数字目标 .
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
其中大多数都不重要,但现在让我们忽略它 .
-
有什么可说的(拦截)?直观地说,当分类预测因子(Hair = Black,Eye = Brown,Sex = Male)的基线值适用时,以及当年龄= 0时,我会说这是长度值 . 这是正确的吗?
-
数据集中长度的平均值为173.8125,但估计值为182.72906 . 这是否意味着对于基线情况,长度的估计实际上高于平均长度?
-
与问题2类似的问题:假设Eye = Blue,所有其他值仍然作为基线 . 估计时间变为174.284(182.72906 - 8.44369) . 我可以从中推断出预期的平均长度是174.284,因此仍高于整体平均值(173.8125)吗?
-
如何发现哪个预测变量/值对长度有正面或负面影响?简单地采用估计的方向是行不通的:负面估计仅意味着与基线相比它具有负面影响 . 这是否意味着我只能推断出例如Eye = Blue与Eye = Brown相比具有负面影响,而不是推断它一般会产生负面影响?
-
怎么来(拦截)是重要的而其他所有行都没有?拦截的意义是什么?
-
当仅使用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
谢谢您的帮助 .
2 回答
这些点:
1)是的,你的解释是正确的 . HairBrown = 6表示棕发型个体的长度比基线类别长6个单位 . 在这种黑头发的情况下,但值得注意的是,对于分类变量,基线的选择是任意的 .
2)我不会以这种方式单独解释截距值,因为:A)记住你在那里也有一个连续的预测器(年龄),你没有加入这个概念;没有人在年龄= 0,因此您正在估算一个没有(或不能,而不是)在您的数据集中出现的个人的值 . B)你有几个解释变量,所以'基线情况'是将不需要集中的东西混为一谈 . 您拥有关于每个变量正在做什么的信息,并且可以将它们组合起来预测年龄,眼睛颜色,性别和头发颜色的任何特定组合的值 .
3)在某些情况下,你可能会在你的例子中谈论年龄= 0的人 . 即便如此,我也不明白你为什么要与平均情况进行比较(原因在前一个案例中有所解释) . 此外,忽略当前的连续预测因子,组间样本量的差异可能会严重影响整体平均值 . 将组相互比较比将各组与总体平均值进行比较几乎总是更有意义 . 另请注意,这忽略了参数估计的不确定性 .
4)“总体上有负面影响”并不是很有意义 . 这必然是一种比较,即相对于某事物是负面的 . 您可以做的是在其他类别(不仅仅是基线)与估计系数之间进行成对比较,因为关系是可传递的 . 例如 . EyeBlue和EyeGreen都是相对于基线的阴性,但EyeGreen更负面 . 因此,绿眼睛的个体长度较短(忽略变量不显着的事实)
5)拦截是重要的只是意味着你的基线长度不等于0.在大多数情况下,这不是很有用,特别是因为(再次!)这假设年龄为0.这是一个外推的问题 .
6)不,但这不是一个非常简单的话题(如果您有兴趣了解更多信息,请查看模型选择) . 在这种情况下,你的变量都不重要,(松散地说)意味着你无法确定任何变量是否具有正面或负面影响 . 因此,模型结构的变化会使标志翻转,这并不奇怪 . 查看置信区间以查看参数估计的范围有多宽;它们的范围从负面到正面 . 基本上,假设你有一个不错的样本量,你的变量可能没有多大解释 .
这里的所有比较都更容易用图形来思考(使用上面的参数值制作,并用头发颜色着色):
是的 . 虚拟变量由对比度编码创建,因此您的截距确实是基值的预测 .
再次如第1点所述,是的 .
是的,你可以得出结论,但差别很小 . 您应该检查平均值是否在置信区间内下降 . 如果确实如此,那么平均值与蓝色值之间的差异对于实际目的而言并不重要 .
由于这些都是虚拟变量,因此推断出正面估计表明正面影响,反之亦然 . 但是,更准确地看一下置信区间 . 只有当上下两个区间都是正数时,您才能充满信心地说该变量具有正面影响 . 否则它不可预测 .
由于您的数据未向模型提供有关所有变量为零时发生的情况的任何信息,因此模型将具有较少的观测值以对截距进行任何有意义的预测 . 你的虚拟变量在任何时候都不会全为零 .
是的,你可以这样做,但它主要只给你方向,只要它们之间的置信区间不包括零 .
如果我是你,我会选择一个不同的模型,比如回归树,它们可以很好地与分类变量配合使用 .