Jak przeprowadzić solidną regresję w r (krok po kroku)


Regresja solidna to metoda, którą możemy zastosować jako alternatywę dla zwykłej regresji metodą najmniejszych kwadratów, gdy w zbiorze danych, z którym pracujemy, występują wartości odstające lub wpływowe obserwacje .

Aby przeprowadzić solidną regresję w R, możemy użyć funkcji rlm() z pakietu MASS , która wykorzystuje następującą składnię:

Poniższy przykład pokazuje krok po kroku, jak przeprowadzić solidną regresję w języku R dla danego zbioru danych.

Krok 1: Utwórz dane

Najpierw utwórzmy fałszywy zbiór danych, z którym będziemy mogli pracować:

 #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

Krok 2: Wykonaj zwykłą regresję metodą najmniejszych kwadratów

Następnie dopasujmy zwykły model regresji metodą najmniejszych kwadratów i utwórzmy wykres reszt standaryzowanych .

W praktyce często za wartość odstającą uznajemy każdą standaryzowaną resztę, której wartość bezwzględna jest większa niż 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 ) 

Z wykresu widać, że istnieją dwie obserwacje ze standardowymi resztami w okolicach 3.

Oznacza to, że w zbiorze danych znajdują się dwie potencjalne wartości odstające i dlatego zamiast tego możemy skorzystać z solidnej regresji.

Krok 3: Wykonaj solidną regresję

Następnie użyjmy funkcji rlm() , aby dopasować solidny model regresji:

 library (MASS)

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

Aby określić, czy ten solidny model regresji zapewnia lepsze dopasowanie do danych w porównaniu z modelem OLS, możemy obliczyć resztkowy błąd standardowy każdego modelu.

Resztowy błąd standardowy (RSE) to sposób pomiaru odchylenia standardowego reszt w modelu regresji. Im niższa wartość CSR, tym lepiej model jest w stanie dopasować dane.

Poniższy kod pokazuje, jak obliczyć RSE dla każdego modelu:

 #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

Widzimy, że RSE solidnego modelu regresji jest znacznie niższy niż zwykłego modelu regresji metodą najmniejszych kwadratów, co mówi nam, że solidny model regresji zapewnia lepsze dopasowanie do danych.

Dodatkowe zasoby

Jak wykonać prostą regresję liniową w R
Jak wykonać wielokrotną regresję liniową w R
Jak wykonać regresję wielomianową w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *