Rで紫色の'cpを計算する方法


回帰分析では、 Mallows Cp は、いくつかの潜在的なモデルの中から最適な回帰モデルを選択するために使用されるメトリックです。

p +1 に近い最小の Cp 値を持つモデルを特定することで、「最良の」回帰モデルを特定できます。ここで、 pはモデル内の予測子変数の数です。

R で Mallows の Cp を計算する最も簡単な方法は、 olsrrパッケージのols_mallows_cp()関数を使用することです。

次の例は、この関数を使用してマローズの Cp を計算し、R のいくつかの潜在的なモデルの中から最適な回帰モデルを選択する方法を示しています。

例: R におけるマローズ Cp の計算

mtcarsデータセットの変数を使用して 3 つの異なる重線形回帰モデルを近似したいとします。

次のコードは、次の回帰モデルを近似する方法を示しています。

  • 完全なモデルの予測変数: 10 個の変数
  • モデル 1 の予測変数: disp、hp、wt、qsec
  • モデル 2 の予測子変数: disp、qsec
  • モデル 3 の予測子変数: disp、wt

次のコードは、これらの各回帰モデルを近似し、 ols_mallows_cp()関数を使用して各モデルの Mallows Cp を計算する方法を示しています。

 library (olsrr)

#fit full model
full_model <- lm(mpg ~ ., data = mtcars)

#fit three smaller models
model1 <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)

#calculate Mallows' Cp for each model
ols_mallows_cp(model1, full_model)

[1] 4.430434

ols_mallows_cp(model2, full_model)

[1] 18.64082

ols_mallows_cp(model3, full_model)

[1] 9.122225

結果を解釈する方法は次のとおりです。

  • モデル 1: p + 1 = 5、マローズ Cp = 4.43
  • モデル 2: p + 1 = 3、マローズ Cp = 18.64
  • モデル 3: p + 1 = 30、マローズ Cp = 9.12

モデル 1 の Mallows の Cp 値がp + 1 に最も近いことがわかります。これは、モデル 1 が 3 つの潜在的なモデルの中で最小のバイアスをもたらす最良のモデルであることを示しています。

Cp des mauves についてのメモ

Mallows Cp について留意すべき点は次のとおりです。

  • 各潜在モデルのマローズ Cp 値が高い場合、これは、いくつかの重要な予測変数が各モデルから欠落している可能性があることを示します。
  • いくつかの潜在的なモデルの Mallow’s Cp の値が低い場合は、使用する最適なモデルとして最も低い値を持つモデルを選択します。

Mallows の Cp は、いくつかの潜在的なモデルの中から「最良の」回帰モデルを特定する 1 つの方法にすぎないことに留意してください。

もう 1 つの一般的に使用される尺度は、調整済み R 二乗です。これは、使用される予測子変数の数に合わせて調整された、モデル内の予測子変数によって説明できる応答変数の分散の割合を示します。

いくつかの異なるモデルのリストの中でどの回帰モデルが最適であるかを判断するには、Mallows の Cp と調整済み R 二乗の両方を調べることをお勧めします。

追加リソース

R の調整済み R 二乗を計算する方法
RでAICを計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です