Как создать графики частичных остатков в R

Как создать графики частичных остатков в R

Множественная линейная регрессия — это статистический метод, который мы можем использовать для понимания взаимосвязи между несколькими переменными-предикторами и переменной- откликом .

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

Если это допущение нарушается, то результаты регрессионной модели могут быть недостоверными.

Один из способов проверить это предположение — создать график частичных остатков , на котором отображаются остатки одной переменной-предиктора по сравнению с переменной-откликом.

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

Пример: как создать графики частичных остатков в R

Предположим, мы подогнали регрессионную модель с тремя переменными-предикторами в R:

#make this example reproducible
set. seed (0)

#define response variable
y <- c(1:1000)

#define three predictor variables
x1 <- c(1:1000)\*runif(n=1000)
x2 <- (c(1:1000)\*rnorm(n=1000))^2
x3 <- (c(1:1000)\*rnorm(n=1000))^3

#fit multiple linear regression model
model <- lm(y~x1+x2+x3))

Мы можем использовать функцию crPlots() из пакета car в R, чтобы создать частичные остаточные графики для каждой переменной-предиктора в модели:

library (car)

#create partial residual plots
crPlots(model)
частичные остаточные участки в R

Синяя линия показывает ожидаемые остатки, если связь между предиктором и переменной отклика была линейной. Розовая линия показывает фактические остатки.

Если две линии существенно отличаются, то это свидетельствует о нелинейной зависимости.

Из приведенных выше графиков видно, что остатки как для x2, так и для x3 кажутся нелинейными.

Это нарушает предположение о линейности множественной линейной регрессии. Один из способов решить эту проблему — использовать квадратный корень или кубическое преобразование переменных-предикторов:

library (car)

#fit new model with transformed predictor variables
model_transformed <- lm(y~x1+sqrt(x2)+log10(x3^(1/3)))

#create partial residual plots for new model
crPlots(model_transformed)

Из графиков частичных остатков мы видим, что x2 теперь имеет более линейную связь с переменной отклика.

Предикторная переменная x3 все еще несколько нелинейна, поэтому мы можем решить попробовать другое преобразование или, возможно, вообще исключить переменную из модели.

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

В следующих руководствах объясняется, как создавать другие распространенные графики в R:

Как создавать диагностические графики в R
Как создать график масштабирования-местоположения в R
Как создать остаточный график в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.