R で尤度比検定を実行する方法
尤度比検定では、 2 つのネストされた回帰モデルの適合度を比較します。
ネストされたモデルは、回帰モデル全体の予測子変数のサブセットを含む単なるモデルです。
たとえば、4 つの予測子変数を含む次の回帰モデルがあるとします。
Y = β 0 + β 1 × 1 + β 2 × 2 + β 3 × 3 + β 4 × 4 + ε
入れ子になったモデルの例は、元の予測子変数が 2 つだけある次のモデルです。
Y = β 0 + β 1 × 1 + β 2 × 2 + ε
これら 2 つのモデルが大きく異なるかどうかを判断するには、次の帰無仮説と対立仮説を使用する尤度比検定を実行できます。
H 0 :完全なモデルとネストされたモデルはデータに同様によく適合します。したがって、ネストされたモデルを使用する必要があります。
H A :完全なモデルは、入れ子になったモデルよりもはるかによくデータに適合します。したがって、完全なテンプレートを使用する必要があります。
検定の p 値が特定の有意レベル (例: 0.05) を下回っている場合、帰無仮説を棄却し、完全なモデルが大幅に良好な適合を提供すると結論付けることができます。
次の例は、R で尤度比検定を実行する方法を示しています。
例: R での尤度比検定
次のコードは、組み込みのmtcarsデータセットのデータを使用して、次の 2 つの回帰モデルを R で近似する方法を示しています。
フルモデル: mpg = β 0 + β 1利用可能 + β 2炭水化物 + β 3 hp + β 4シリンダー
モデル: mpg = β 0 + 利用可能な β 1 + β 2炭水化物
lmtestパッケージのlrtest()関数を使用して、これら 2 つのモデルに対して尤度比テストを実行します。
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 未満であるため、帰無仮説は棄却されます。
したがって、2 つの予測子モデルは、単一の予測子モデルに比べて適合度が大幅に向上すると結論付けられます。
したがって、最終的なモデルは次のようになります。
mpg = β 0 + 利用可能なβ 1 + β 2炭水化物