R'de standartlaştırılmış regresyon katsayıları nasıl hesaplanır?
Tipik olarak, çoklu doğrusal regresyon uyguladığımızda, model çıktısında elde edilen regresyon katsayıları standartlaştırılmaz , yani en uygun çizgiyi bulmak için ham verileri kullanırlar.
model <- lm(price ~ age + sqfeet, data=df)
Bununla birlikte, her bir yordayıcı değişkeni ve yanıt değişkenini standartlaştırmak (her değişkenin ortalama değerini orijinal değerlerden çıkararak ve ardından bunu değişkenlerin standart sapmasına bölerek) ve ardından bir regresyon çalıştırmak mümkündür; bu da şu sonucu verir: standartlaştırılmış regresyon katsayıları .
R’de standartlaştırılmış regresyon katsayılarını hesaplamanın en basit yolu, modeldeki her değişkeni standartlaştırmak için Scale() işlevini kullanmaktır:
model <- lm(scale(price) ~ scale(age) + scale(sqfeet), data=df)
Aşağıdaki örnek, standartlaştırılmış regresyon katsayılarının pratikte nasıl hesaplanacağını göstermektedir.
Örnek: R’de standartlaştırılmış regresyon katsayıları nasıl hesaplanır?
12 evin yaşı, metrekaresi ve satış fiyatına ilişkin bilgileri içeren aşağıdaki veri setine sahip olduğumuzu varsayalım:
#create data frame df <- data. frame (age=c(4, 7, 10, 15, 16, 18, 24, 28, 30, 35, 40, 44), sqfeet=c(2600, 2800, 1700, 1300, 1500, 1800, 1200, 2200, 1800, 1900, 2100, 1300), price=c(280000, 340000, 195000, 180000, 150000, 200000, 180000, 240000, 200000, 180000, 260000, 140000)) #view data frame df age square feet price 1 4 2600 280000 2 7 2800 340000 3 10 1700 195000 4 15 1300 180000 5 16 1500 150000 6 18 1800 200000 7 24 1200 180000 8 28 2200 240000 9 30 1800 200000 10 35 1900 180000 11 40 2100 260000 12 44 1300 140000
Daha sonra tahmin değişkenleri olarak yaş ve metrekareyi ve yanıt değişkeni olarak fiyatı kullanarak çoklu doğrusal regresyon uyguladığımızı varsayalım:
#fit regression model model <- lm(price ~ age + sqfeet, data=df) #view model summary summary(model) Call: lm(formula = price ~ age + sqfeet, data = df) Residuals: Min 1Q Median 3Q Max -32038 -10526 -6139 21641 34060 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 34736.54 37184.32 0.934 0.374599 age -409.83 612.46 -0.669 0.520187 sqfeet 100.87 15.75 6.405 0.000125 *** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 24690 on 9 degrees of freedom Multiple R-squared: 0.8508, Adjusted R-squared: 0.8176 F-statistic: 25.65 on 2 and 9 DF, p-value: 0.0001916
Model sonuçlarından standartlaştırılmamış regresyon katsayılarını görebiliriz:
- Kesişme: 34736,54
- Yaş: -409.83
- Metrekare: 100,87
İlk bakışta, regresyon tablosundaki katsayısı -409.833 olduğundan, metrekare tahmin değişkeni için sadece 100.866 olan yaşın gayrimenkul fiyatı üzerinde çok daha büyük bir etkiye sahip olduğu görülmektedir.
Bununla birlikte, standart hata yaşa göre metrekareye göre çok daha büyüktür; bu nedenle karşılık gelen p değeri aslında yaşa göre büyük (p = 0,520) ve metrekareye göre küçüktür (p = 0,000).
Regresyon katsayılarındaki aşırı farklılıkların nedeni, iki değişken için ölçeklerdeki aşırı farklılıklardan kaynaklanmaktadır:
- Yaşa göre değerler 4 ile 44 yaş arasında değişmektedir.
- Metrekare değerleri 1.200 ile 2.800 arasında değişmektedir.
Bunun yerine ham verileri normalleştirdiğimizi ve yeni bir regresyon modeline uyduğumuzu varsayalım:
#standardize each variable and fit regression model model_std <- lm(scale(price) ~ scale(age) + scale(sqfeet), data=df) #turn off scientific notation options(scipen= 999 ) #view model summary summary(model_std) Call: lm(formula = scale(price) ~ scale(age) + scale(sqfeet), data = df) Residuals: Min 1Q Median 3Q Max -0.5541 -0.1820 -0.1062 0.3743 0.5891 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.0000000000000002253 0.1232881457926768426 0.000 1.000000 scale(age) -0.0924421263946849786 0.1381464029075653854 -0.669 0.520187 scale(sqfeet) 0.8848591938302141635 0.1381464029075653577 6.405 0.000125 (Intercept) scale(age) scale(sqfeet)*** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.4271 on 9 degrees of freedom Multiple R-squared: 0.8508, Adjusted R-squared: 0.8176 F-statistic: 25.65 on 2 and 9 DF, p-value: 0.0001916
Bu tablodaki regresyon katsayıları standartlaştırılmıştır , yani bu regresyon modeline uymak için standartlaştırılmış veriler kullanılmıştır.
Tablodaki katsayıların yorumlanma şekli şu şekildedir:
- Metrekarenin sabit kaldığı varsayıldığında, yaştaki bir standart sapmalık artış, ev fiyatında 0,092 standart sapmalık bir düşüşle ilişkilidir.
- Yaşın sabit kaldığı varsayıldığında , metrekaredeki bir standart sapmalık artış, ev fiyatındaki 0,885 standart sapmalık artışla ilişkilidir.
Artık konut fiyatları üzerinde metrekarenin yaştan çok daha büyük bir etkiye sahip olduğunu görebiliyoruz.
Not : Her yordayıcı değişkenin p değerleri önceki regresyon modelindekilerle tamamen aynıdır.
Hangi son modelin kullanılacağına karar verirken, bir evin fiyatını tahmin etmede metrekare boyutunun yaşından çok daha önemli olduğunu artık biliyoruz.
Ek kaynaklar
Aşağıdaki eğitimler regresyon modelleri hakkında ek bilgi sağlar:
Regresyon tablosu nasıl okunmalı ve yorumlanmalıdır?
Regresyon katsayıları nasıl yorumlanır?
Doğrusal regresyonda P değerleri nasıl yorumlanır