R'de sağlam regresyon nasıl gerçekleştirilir (adım adım)
Robust regresyon , üzerinde çalıştığımız veri setinde aykırı değerlerin veya etkili gözlemlerin olduğu durumlarda sıradan en küçük kareler regresyonuna alternatif olarak kullanabileceğimiz bir yöntemdir.
R’de sağlam regresyon gerçekleştirmek için, aşağıdaki sözdizimini kullanan MASS paketindeki rlm() işlevini kullanabiliriz:
Aşağıdaki adım adım örnek, belirli bir veri kümesi için R’de sağlam regresyonun nasıl gerçekleştirileceğini gösterir.
1. Adım: Verileri oluşturun
Öncelikle çalışmak için sahte bir veri kümesi oluşturalım:
#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
Adım 2: Sıradan En Küçük Kareler Regresyonunu Gerçekleştirin
Daha sonra, sıradan bir en küçük kareler regresyon modelini yerleştirelim ve standartlaştırılmış artıkların bir grafiğini oluşturalım.
Pratikte, mutlak değeri 3’ten büyük olan herhangi bir standartlaştırılmış artık değeri genellikle aykırı değer olarak kabul ederiz.
#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 )
Grafikten, standartlaştırılmış artıkların 3 civarında olduğu iki gözlemin olduğunu görebiliriz.
Bu, veri kümesinde iki potansiyel aykırı değer olduğunu ve dolayısıyla bunun yerine sağlam regresyondan yararlanabileceğimizi gösterir.
Adım 3: Sağlam Regresyon Gerçekleştirin
Daha sonra sağlam bir regresyon modeline uyum sağlamak için rlm() fonksiyonunu kullanalım:
library (MASS)
#fit robust regression model
robust <- rlm(y~x1+x2, data=df)
Bu sağlam regresyon modelinin OLS modeline kıyasla verilere daha iyi uyum sağlayıp sağlamadığını belirlemek için her modelin artık standart hatasını hesaplayabiliriz.
Artık standart hata (RSE), bir regresyon modelinde artıkların standart sapmasını ölçmenin bir yoludur. CSR değeri ne kadar düşük olursa, model verilere o kadar iyi uyum sağlayabilir.
Aşağıdaki kod, her model için RSE’nin nasıl hesaplanacağını gösterir:
#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
Sağlam regresyon modelinin RSE’sinin sıradan en küçük kareler regresyon modelinden çok daha düşük olduğunu görebiliyoruz, bu da bize sağlam regresyon modelinin verilere daha iyi uyum sağladığını söylüyor.
Ek kaynaklar
R’de basit doğrusal regresyon nasıl gerçekleştirilir
R’de çoklu doğrusal regresyon nasıl gerçekleştirilir
R’de polinom regresyonu nasıl gerçekleştirilir