Как создать остаточный график в ggplot2 (с примером)


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

Чтобы создать остаточный график в ggplot2, вы можете использовать следующий базовый синтаксис:

 library (ggplot2)

ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0 )

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: создание графика остатков в ggplot2

В этом примере мы будем использовать набор данных mtcars , встроенный в R:

 #view first six rows of mtcars dataset
head(mtcars)
                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

Во-первых, мы подберем регрессионную модель, используя миль на галлон в качестве переменной отклика и qsec в качестве предикторной переменной:

 #fit regression model
model <- lm(mpg ~ qsec, data=mtcars)

Далее мы будем использовать следующий синтаксис для создания остаточного графика в ggplot2:

 library (ggplot2)

#create residual plot
ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0 ) 

остаточный график в ggplot2

По оси X отображаются подобранные значения, а по оси Y — остатки.

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

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

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

 library (ggplot2)

#create residual plot with title and axis labels
ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0 ) +
  labs(title=' Residual vs. Fitted Values Plot ', x=' Fitted Values ', y=' Residuals ') 

ggplot2 отображает остатки в зависимости от подобранных значений с метками осей

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

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

Как рассчитать стандартизированные остатки в R
Как рассчитать стьюдентизированные остатки в R
Как создать гистограмму остатков в R

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

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