因子型变量的特点就是采用二进制来表示响应变量,即0和1,0表示没有这个变量而1代表有这个变量。
我们已其中一个例子为例:
这是我们的输入数据,其中height为响应变量,为连续型变量;sex和att为决策变量,为因子型变量
单一因子变量
如果我们已sex为决策变量,那么它只有两个水平:female和male,我们可以看下它的因子水平:
contrasts(test$sex)
而在建模时,谁在前面就默认为对照组,此例子中female在前面,因此female为对照组
显然female编码为0,male编码为1;建模如下:
lm_sex <- lm(height ~ sex, data = test)
打开模型我们容易看:
由于female = 0,male = 1,那么截距项为167.31表示的是female的平均height,而sexmale表示的是回归方程的斜率,male的平均height为167.31 + 15.13
回归方程为:height = sex × β + b;那么对于sex来说存在两种水平:female = 0,male = 1,因此当female = 0时,female的平均height即为方程截距b;而当male = 1时,male的平均height为 β + b
多水平因子变量
我们以att为例,首先看下因子水平:
contrasts(test$att)
很显然,这次 1 为对照组,而后的 2,3,4,5 都是与 1 作为比较,建模如下:
lm_att <- lm(height ~ att, data = test)
线性模型:height = att × β + b,对于多水平的因子模型,斜率 β 会随着因子决策变量的不同而不同,即 att 不同,则 β 也就不同,并且所有组别(2,3,4,5)均是与组别 1 作为对比
对于多因子的线性模型,结合上图结果我们看到,截距 b 表示 1 组别的平均height,而当 att = 2 时,β = 7.564,因此 att = 2 的平均height为 169.8 + 7.564;当 att = 3 时,β = 6.533,因此 att = 3 的平均height为 169.8 + 6.533;当 att = 4 时,β = 7.8,因此 att = 4 的平均height为 169.8 + 7.8;当 att = 5 时,β = 4.2,因此 att = 5 的平均height为 169.8 + 4.2
网友评论