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


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

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

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

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

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

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

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

 #make this example reproducible
set. seeds (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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *