更改要求的对比度会更改模型的自由度。如果一个模型要求线性和二次对比,而第二个模型只需要指定线性对比度,那么第二个模型具有额外的自由度:这将增加测试线性假设的能力(以防止模型拟合二次趋势)。
使用完整的(“nlevels-1”)对比度集创建了一组正交对比度,探索整套(独立)响应配置。削减到只有一个防止模型与二次成分,我们的数据实际上具备安装一个配置(在这种情况下。
要看到这是如何工作的,使用内置的数据集mtcars
,并测试(混淆)的齿轮加仑的关系,我们将假设越齿轮的更好(至少到某一点)
df = mtcars # copy the dataset
df$gear = as.ordered(df$gear) # make an ordered factor
有序因素默认为多项式对比,但是我们在这里将它们设置要明确。:
contrasts(df$gear) <- contr.poly(nlevels(df$gear))
然后我们可以建立关系的模型。
m1 = lm(mpg ~ gear, data = df);
summary.lm(m1)
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 20.6733 0.9284 22.267 < 2e-16 ***
# gear.L 3.7288 1.7191 2.169 0.03842 *
# gear.Q -4.7275 1.4888 -3.175 0.00353 **
#
# Multiple R-squared: 0.4292, Adjusted R-squared: 0.3898
# F-statistic: 10.9 on 2 and 29 DF, p-value: 0.0002948
注意,我们有F(2,29)= 10.9总体模型和p = 0.038我们估计有额外的3.7英里/齿轮线性效应。
现在我们只需要线性对比度,然后运行“相同”分析。
contrasts(df$gear, how.many = 1) <- contr.poly(nlevels(df$gear))
m1 = lm(mpg ~ gear, data = df)
summary.lm(m1)
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 21.317 1.034 20.612 <2e-16 ***
# gear.L 5.548 1.850 2.999 0.0054 **
# Multiple R-squared: 0.2307, Adjusted R-squared: 0.205
# F-statistic: 8.995 on 1 and 30 DF, p-value: 0.005401
齿轮的线性效应现在更大(5.5英里)和p < < 0.05 - 甲赢?除了整体模型适合现在显着更糟糕:方差占现在只有23%(是43%)!如果我们绘制的关系为什么是明确的:
plot(mpg ~ gear, data = df) # view the relationship
所以,如果你有兴趣的线性趋势,但也希望(或者是不清楚)复杂的附加层,你也应该测试这些更高级的多项式。二次方(或者总体上趋向于-1级)。
请注意,在这个例子中,物理机制是混乱的:我们已经忘记了齿轮的数量与自动变速器和手动变速器以及重量,轿车与跑车混淆。
如果有人想测试4档优于3的假设,他们可以回答this问题:-)