Як виконати стійку регресію в r (покроково)


Надійна регресія – це метод, який ми можемо використовувати як альтернативу звичайній регресії найменших квадратів, коли в наборі даних, з яким ми працюємо, є викиди або впливові спостереження .

Щоб виконати надійну регресію в R, ми можемо використати функцію rlm() із пакету MASS , яка використовує такий синтаксис:

Наступний покроковий приклад показує, як виконати надійну регресію в R для певного набору даних.

Крок 1: Створіть дані

Спочатку давайте створимо підроблений набір даних для роботи:

 #create data
df <- data. frame (x1=c(1, 3, 3, 4, 4, 6, 6, 8, 9, 3,
                      11, 16, 16, 18, 19, 20, 23, 23, 24, 25),
                 x2=c(7, 7, 4, 29, 13, 34, 17, 19, 20, 12,
                      25, 26, 26, 26, 27, 29, 30, 31, 31, 32),
                  y=c(17, 170, 19, 194, 24, 2, 25, 29, 30, 32,
                      44, 60, 61, 63, 63, 64, 61, 67, 59, 70))

#view first six rows of data
head(df)

  x1 x2 y
1 1 7 17
2 3 7 170
3 3 4 19
4 4 29 194
5 4 13 24
6 6 34 2

Крок 2: Виконайте звичайну регресію найменших квадратів

Далі підберемо звичайну регресійну модель найменших квадратів і створимо графік стандартизованих залишків .

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

 #fit ordinary least squares regression model
ols <- lm(y~x1+x2, data=df)

#create plot of y-values vs. standardized residuals
plot(df$y, rstandard(ols), ylab=' Standardized Residuals ', xlab=' y ') 
abline(h= 0 ) 

З графіка ми бачимо, що є два спостереження зі стандартизованими залишками близько 3.

Це вказує на те, що в наборі даних є два потенційні викиди, і тому ми можемо скористатися надійною регресією.

Крок 3: Виконайте надійну регресію

Далі скористаємося функцією rlm() , щоб підібрати надійну регресійну модель:

 library (MASS)

#fit robust regression model
robust <- rlm(y~x1+x2, data=df)

Щоб визначити, чи забезпечує ця надійна регресійна модель кращу відповідність даним порівняно з моделлю OLS, ми можемо обчислити залишкову стандартну помилку кожної моделі.

Залишкова стандартна помилка (RSE) — це спосіб вимірювання стандартного відхилення залишків у регресійній моделі. Чим нижче значення CSR, тим краще модель може відповідати даним.

Наступний код показує, як обчислити RSE для кожної моделі:

 #find residual standard error of ols model
summary(ols)$sigma

[1] 49.41848

#find residual standard error of ols model
summary(robust)$sigma

[1] 9.369349

Ми бачимо, що RSE надійної регресійної моделі набагато нижчий, ніж у звичайної регресійної моделі найменших квадратів, що говорить нам про те, що надійна регресійна модель забезпечує кращу відповідність даним.

Додаткові ресурси

Як виконати просту лінійну регресію в R
Як виконати множинну лінійну регресію в R
Як виконати поліноміальну регресію в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *