Как создать частичные остаточные графики в 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)
Синяя линия показывает ожидаемые остатки, если связь между предиктором и переменной ответа была линейной. Розовая линия показывает фактические остатки.
Если две линии существенно отличаются, это указывает на нелинейную связь.
Из графиков выше мы видим, что остатки для 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