繁体   English   中英

解释 R 中 lm() summary() 中分类变量系数的估计

[英]Interpreting Estimate of categorical variable coefficient in lm() summary() in R

我有一个线性 model 的 class “lm”,我正在查看摘要(lm),它的玩具版本是:

fit <- lm(Strength ~ Age + Sex, data = mydata)

summary(fit)

可以理解, Age是一个连续变量,而Sex是一个分类变量。 summary(fit) output 的相关部分如下所示:

             Estimate 
(Intercept)  -1.838e-01
Age          -5.264e-03
Sex.L        3.260e-01

我应该如何解释这一点,特别是分类变量? 我理解这意味着:

力量 = -0.1838 + (0.005264 * 年龄) + (0.326 * 性别)

但这是正确的吗? Sex有什么价值? 一种性别为 1,另一种性别为 0? 我应该如何检查哪个性别取值 1? 由于我的性别因素水平是男性和女性,我假设.L 是其中一个的虚拟变量,但我不知道如何检查这一点。

任何建议将不胜感激。

非常感谢。

系数的名称是“Sex.L”这意味着Sex是一个有序的分类变量,并且使用了多项式对比编码而不是处理编码。 在这种情况下,方程中的Sex不只是取 0 或 1。


您确实需要先将此有序因子转换为通常的因子:

mydata$Sex <- factor(mydata$Sex)

您可以在此阶段检查levels(mydata$Sex) 第一级将被丢弃, Sex系数为第二级。 请注意,使用不同的对比度将导致不同的系数。


您还可以将级别控制为您想要的顺序,例如:

mydata$Sex <- factor(mydata$Sex, levels = c("Male", "Female"))

请注意,更改级别的顺序也会产生不同的回归系数。


无论如何,只要Sex是通常的因素(即is.ordered(mydata$Sex)为 FALSE),就会应用处理对比编码。 第一级编码为 0,第二级编码为 1。假设拟合的 model 系数为abc ,则方程为:

Strength = a + b * Age + c * Sex

其中第一Sex为 0,第二级为 1。


一点背景:

“Sex.L”中的“L”表示“线性”,表示多项式对比度。 如果因子有 4 个水平,我们将看到“L”(线性)、“Q”(二次)和“C”(三次)。

但是,如果Sex是通常的因素,则报告的名称应该是“SexMale”或“SexFemale”。 是的,这是足够的信息。

  • 如果我们看到“SexMale”,那么“Female”是第一个级别,所以在等式中, Sex为 0 表示女性,1 表示男性。

  • 如果我们看到“SexFemale”,那么“Male”是第一个级别,所以在等式中, Sex为 0 表示男性,1 表示女性。

对比编码后的分类变量的这种命名约定非常有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM