我学会了如何使用R对回归模型缺乏拟合进行F检验,其中$ H_0 $:“回归模型中并不缺乏拟合”。
其中df_1是SSLF的自由度(缺乏拟合平方和),df_2是SSPE的自由度(由纯误差引起的平方和)。
在R中,可以用
计算F检验(比如对于具有2个预测因子的模型) anova(lm(y~x1+x2), lm(y~factor(x1)*factor(x2)))
示例输出:
Model 1: y ~ x1 + x2
Model 2: y ~ factor(x1) * factor(x2)
Res.Df RSS Df Sum of Sq F Pr(>F)
1 19 18.122
2 11 12.456 8 5.6658 0.6254 0.7419
F-统计:0.6254,p值为0.7419。
由于p值大于0.05,我们不会拒绝$ H_0 $表示不合适。因此模型就足够了。
我想知道的是为什么要使用2个模型以及为什么要使用命令factor(x1)*factor(x2)
?显然,来自Model 2
的12.456,神奇地 Model 1
的SSPE。
为什么?
答案 0 :(得分:1)
您正在测试具有交互的模型是否可以改善模型拟合。
模型1对应x1
和x2
的累加效应。
一种方法来检查"如果模型的复杂性足够(在您的情况下,加性效应的多元回归是否对您的数据有意义)是将建议的模型与更灵活/复杂的模型进行比较。
您的模型2具有这种更灵活的模型的作用。首先,预测变量是分类的(使用factor(x1)
和factor(x2)
),然后它们之间的交互由factor(x1)*factor(x2)
构成。交互模型包括作为特殊情况的附加模型(即,模型1嵌套在模型2中)并且具有若干额外参数以提供可能更好地适合数据。
您可以在anova
的输出中看到两个模型之间参数数量的差异。模型2有8个额外参数,以便更好地拟合,但由于p值不重要,您可以得出结论,模型2(基于额外的8个参数具有额外的灵活性)实际上并不能提供更好的拟合。数据。因此,与模型2相比,附加模型提供了足够适合的数据。
请注意,只有当x1
和x2
的唯一值数量较少时,才能使x1
和x2
的类别(因子)真正起作用。如果x1
和x2
是数字且每个人都有自己的值,则模型2没有那么有用,因为您最终会得到与您观察到的相同数量的参数。在这些情况下,会使用更多 ad hoc 修改,例如对变量进行分级。