我对如何用两个分类变量解释多元回归中的系数感到困惑。以mtcars数据集为例。根据一些在线资料和书籍,一个分类变量的系数是水平和参考水平之间的平均值的不同,给定另一个变量是参考水平。在这个例子中,根据聚合结果,因子(vs)1的系数应该是81-91 = -10,但事实并非如此。这是-13.92。这些说法似乎是错误的 有人可以澄清一个吗?如何用'均值差'来解释系数?
fit <- lm(data=df, hp~factor(vs)+factor(cyl))
Call:
lm(formula = hp ~ factor(vs) + factor(cyl), data = df)
Coefficients:
(Intercept) factor(vs)1 factor(cyl)6 factor(cyl)8
95.29 -13.92 34.95 113.93
# then mean of hp at different levels of vs ans cyl.
aggregate(hp~vs+cyl, df, mean)
0 4 91.0000
1 4 81.8000
0 6 131.6667
1 6 115.2500
0 8 209.2143
我的第二个问题是: 如果将那些分类变量视为有序因子怎么办?这些因素将有线性或二次项。但是我应该如何解释系数?
lm(data=df, hp~factor(vs, ordered=TRUE)+factor(cyl, ordered=TRUE))
Call:
lm(formula = hp ~ factor(vs, ordered = TRUE) + factor(cyl, ordered = TRUE),
data = df)
Coefficients:
(Intercept) factor(vs, ordered = TRUE).L
137.96 -9.84
factor(cyl, ordered = TRUE).L factor(cyl, ordered = TRUE).Q
80.56 17.97
非常感谢你。
答案 0 :(得分:0)
关于第一个问题,如果
cyl
处于参考级别且vs
处于1级,则他们所指的平均值为95.29 - 13.92 + 0且vs
和cyl
均为参考级别,均值为95.29 + 0 + 0 所以-13.92是这两种手段之间的差异。
它们指的是通过预测值估计的y的期望值。如果我们将回归方程写为y = terms + residuals
,则y的期望值等于条件,即
E(y) = E(terms + residuals)
= E(terms) + E(residuals)
= terms + 0 <- because terms is not random and residuals have mean 0
= terms
关于第二个询问有序因子的问题,很少使用它们,我会忽略它们对线性模型的存在。在彼得·达尔加德(Peter Dalgaard)所着的“入门统计与R ”一书中,他提到R中的实现假设等级是等距的。这种假设一般都值得怀疑。