Как рассчитать Cp Маллоуса в R


В регрессионном анализе Cp Маллоуза — это показатель, который используется для выбора наилучшей модели регрессии среди нескольких потенциальных моделей.

Мы можем определить «лучшую» регрессионную модель, найдя модель с наименьшим значением Cp, которое близко к p +1, где p — количество переменных-предикторов в модели.

Самый простой способ вычислить Cp Маллоуса в R — использовать функцию ols_mallows_cp() из пакета olsrr .

В следующем примере показано, как использовать эту функцию для расчета Cp Маллоуза, чтобы выбрать лучшую модель регрессии среди нескольких потенциальных моделей в R.

Пример: расчет Cp Маллоу в R

Предположим, мы хотели бы подобрать три разные модели множественной линейной регрессии, используя переменные из набора данных mtcars .

В следующем коде показано, как подобрать следующие модели регрессии:

  • Переменные-предикторы в полной модели: все 10 переменных
  • Переменные-предикторы в модели 1: disp, hp, wt, qsec.
  • Переменные-предикторы в модели 2: disp, qsec
  • Переменные-предикторы в модели 3: disp, wt

В следующем коде показано, как подобрать каждую из этих регрессионных моделей и использовать функцию ols_mallows_cp() для вычисления 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 имеет значение Cp Маллоуза, наиболее близкое к p + 1, что указывает на то, что это лучшая модель, которая приводит к наименьшему количеству смещения среди трех потенциальных моделей.

Примечания к Cp Маллоуса

Вот несколько вещей, о которых следует помнить в отношении Cp Маллоуса:

  • Если каждая потенциальная модель имеет высокое значение Cp Маллоуса, это указывает на то, что в каждой модели, вероятно, отсутствуют некоторые важные переменные-предикторы.
  • Если несколько потенциальных моделей имеют низкие значения Cp Маллоу, выберите модель с наименьшим значением в качестве наилучшей модели для использования.

Имейте в виду, что Cp Маллоуза — это только один из способов определить «лучшую» модель регрессии среди нескольких потенциальных моделей.

Другой часто используемой метрикой является скорректированный R-квадрат, который сообщает нам долю дисперсии переменной отклика , которая может быть объяснена переменными-предикторами в модели с поправкой на количество используемых переменных-предикторов.

При принятии решения о том, какая регрессионная модель является лучшей из списка нескольких различных моделей, рекомендуется смотреть как на Cp Маллоуза, так и на скорректированный R-квадрат.

Дополнительные ресурсы

Как рассчитать скорректированный R-квадрат в R
Как рассчитать AIC в R