Как рассчитать студенческие остатки в R

Как рассчитать студенческие остатки в R

Стьюдентизированный остаток — это просто остаток, деленный на его оценочное стандартное отклонение.

На практике мы обычно говорим, что любое наблюдение в наборе данных со студенческой невязкой, превышающей абсолютное значение 3, является выбросом.

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

шпильки(модель)

где модель представляет собой любую линейную модель.

Пример: вычисление студенческих остатков в R

Предположим, мы строим следующую простую модель линейной регрессии в R, используя встроенный набор данных mtcars :

#build simple linear regression model
model <- lm(mpg ~ disp, data=mtcars)

Мы можем использовать функцию studres() из пакета MASS для вычисления студенческих остатков для каждого наблюдения в наборе данных:

library (MASS)

#calculate studentized residuals
stud_resids <- studres(model)

#view first three studentized residuals
head(stud_resids, 3)

 Mazda RX4 Mazda RX4 Wag Datsun 710 
 -0.6236250 -0.6236250 -0.7405315

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

#plot predictor variable vs. studentized residuals
plot(mtcars$disp, stud_resids, ylab='Studentized Residuals', xlab='Displacement') 

#add horizontal line at 0
abline(0, 0) 
Стьюдентизированные остатки в R

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

Мы также можем добавить студенческие остатки каждого наблюдения обратно в исходный набор данных, если хотим:

#add studentized residuals to orignal dataset
final_data <- cbind (mtcars[c('mpg', 'disp')], stud_resids)

#view final dataset
head(final_data)

 mpg disp stud_resids
Mazda RX4 21.0 160 -0.6236250
Mazda RX4 Wag 21.0 160 -0.6236250
Datsun 710 22.8 108 -0.7405315
Hornet 4 Drive 21.4 258 0.7556078
Hornet Sportabout 18.7 360 1.2658336
Valiant 18.1 225 -0.6896297

Затем мы можем отсортировать каждое наблюдение от наибольшего к наименьшему в соответствии с его студенческим остатком, чтобы получить представление о том, какие наблюдения ближе всего к выбросам:

#sort studentized residuals descending
final_data[ order (-stud_resids),]

 mpg disp stud_resids
Toyota Corolla 33.9 71.1 2.52397102
Pontiac Firebird 19.2 400.0 2.06825391
Fiat 128 32.4 78.7 2.03684699
Lotus Europa 30.4 95.1 1.53905536
Honda Civic 30.4 75.7 1.27099586
Hornet Sportabout 18.7 360.0 1.26583364
Chrysler Imperial 14.7 440.0 1.06486066
Hornet 4 Drive 21.4 258.0 0.75560776
Porsche 914-2 26.0 120.3 0.42424678
Fiat X1-9 27.3 79.0 0.30183728
Merc 240D 24.4 146.7 0.26235893
Ford Pantera L 15.8 351.0 0.20825609
Cadillac Fleetwood 10.4 472.0 0.08338531
Lincoln Continental 10.4 460.0 -0.07863385
Duster 360 14.3 360.0 -0.14476167
Merc 450SL 17.3 275.8 -0.28759769
Dodge Challenger 15.5 318.0 -0.30826585
Merc 230 22.8 140.8 -0.30945955
Merc 450SE 16.4 275.8 -0.56742476
AMC Javelin 15.2 304.0 -0.58138205
Camaro Z28 13.3 350.0 -0.58848471
Mazda RX4 Wag 21.0 160.0 -0.62362497
Mazda RX4 21.0 160.0 -0.62362497
Maserati Bora 15.0 301.0 -0.68315010
Valiant 18.1 225.0 -0.68962974
Datsun 710 22.8 108.0 -0.74053152
Merc 450SLC 15.2 275.8 -0.94814699
Toyota Corona 21.5 120.1 -0.99751166
Volvo 142E 21.4 121.0 -1.01790487
Merc 280 19.2 167.6 -1.09979261
Ferrari Dino 19.7 145.0 -1.24732999
Merc 280C 17.8 167.6 -1.57258064

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

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

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