如何在 r 中执行似然比检验
似然比检验比较两个嵌套回归模型的拟合优度。
嵌套模型只是在整体回归模型中包含预测变量子集的模型。
例如,假设我们有以下具有四个预测变量的回归模型:
Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + β 4 x 4 + ε
嵌套模型的一个示例是以下仅包含两个原始预测变量的模型:
Y = β 0 + β 1 x 1 + β 2 x 2 + ε
为了确定这两个模型是否显着不同,我们可以使用以下原假设和备择假设执行似然比检验:
H 0 :完整模型和嵌套模型同样适合数据。所以,你应该使用嵌套模型。
H A :完整模型比嵌套模型更适合数据。所以你必须使用完整的模板。
如果检验的 p 值低于一定的显着性水平(例如 0.05),那么我们可以拒绝零假设并得出结论:完整模型提供了明显更好的拟合。
以下示例展示了如何在 R 中执行似然比检验。
示例:R 中的似然比测试
以下代码展示了如何使用内置mtcars数据集中的数据在 R 中拟合以下两个回归模型:
完整模型: mpg = β 0 + β 1可用 + β 2碳水化合物 + β 3 hp + β 4汽缸
模型: mpg = β 0 + β 1可用 + β 2碳水化合物
我们将使用lmtest包的lrtest()函数对这两个模型进行似然比检验:
library (lmtest) #fit full model model_full <- lm(mpg ~ disp + carb + hp + cyl, data = mtcars) #fit reduced model model_reduced <- lm(mpg ~ disp + carb, data = mtcars) #perform likelihood ratio test for differences in models lrtest(model_full, model_reduced) Likelihood ratio test Model 1: mpg ~ disp + carb + hp + cyl Model 2: mpg ~ available + carb #Df LogLik Df Chisq Pr(>Chisq) 1 6 -77.558 2 4 -78.603 -2 2.0902 0.3517
从结果中,我们可以看到卡方检验统计量为2.0902 ,相应的 p 值为0.3517 。
由于该 p 值不小于 0.05,因此我们将无法拒绝原假设。
这意味着完整模型和嵌套模型同样适合数据。因此,我们必须使用嵌套模型,因为完整模型中的附加预测变量不会显着改善拟合效果。
然后,我们可以执行另一个似然比检验,以确定具有单个预测变量的模型是否与具有两个预测变量的模型显着不同:
library (lmtest) #fit full model model_full <- lm(mpg ~ disp + carb, data = mtcars) #fit reduced model model_reduced <- lm(mpg ~ disp, data = mtcars) #perform likelihood ratio test for differences in models lrtest(model_full, model_reduced) Likelihood ratio test Model 1: mpg ~ available + carb Model 2: mpg ~ available #Df LogLik Df Chisq Pr(>Chisq) 1 4 -78.603 2 3 -82.105 -1 7.0034 0.008136 ** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
从结果中,我们可以看到似然比检验的 p 值为0.008136 。由于这个数字小于 0.05,我们将拒绝原假设。
因此,我们得出的结论是,与单预测器模型相比,双预测器模型在拟合方面提供了显着的改进。
所以,我们的最终模型是:
mpg = β 0 + β 1可用 + β 2碳水化合物