如何用两个分类变量(无序或有序因子)解释回归系数

时间:2017-11-30 13:51:05

标签: r statistics regression linear-regression

我对如何用两个分类变量解释多元回归中的系数感到困惑。以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  

非常感谢你。

1 个答案:

答案 0 :(得分:0)

关于第一个问题,如果

  • cyl处于参考级别且vs处于1级,则他们所指的平均值为95.29 - 13.92 + 0且
  • vscyl均为参考级别,均值为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中的实现假设等级是等距的。这种假设一般都值得怀疑。