В регрессионном анализе 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