R'de nasıl düzeltilir: modelde takma ad katsayıları var


R’de karşılaşabileceğiniz bir hata:

 Error in vive.default(model): there are aliased coefficients in the model

Bu hata genellikle bir regresyon modelinde çoklu doğrusallık mevcut olduğunda ortaya çıkar. Yani, modeldeki iki veya daha fazla yordayıcı değişken yüksek oranda (veya mükemmel şekilde) ilişkilidir.

Bu olduğunda, bir değişkenin başka bir değişkenin “takma adı” olduğunu söyleriz, bu da regresyon modelinin yerleştirilmesinde sorunlara neden olur.

Aşağıdaki örnekte bu hatanın pratikte nasıl düzeltileceği gösterilmektedir.

Hata nasıl yeniden oluşturulur?

R’de aşağıdaki regresyon modelini uyguladığımızı varsayalım:

 #make this example reproducible
set. seeds (0)

#define data
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- x2*3
y <- rnorm(100)

#fit regression model
model <- lm(y~x1+x2+x3)

Çoklu bağlantının bir sorun olup olmadığını belirlemek amacıyla modeldeki her bir tahmin değişkeninin VIF değerlerini hesaplamak için araba paketinin vive() fonksiyonunu kullanabiliriz:

 library (car)

#calculate VIF values for predictor variables
lively(model)

Error in vive.default(model): there are aliased coefficients in the model

Modelde takma katsayılar var” hatası alıyoruz.

Bu bize modeldeki iki veya daha fazla yordayıcı değişkenin mükemmel bir şekilde ilişkili olduğunu söyler.

Hata nasıl düzeltilir?

Hangi yordayıcı değişkenlerin mükemmel şekilde korelasyona sahip olduğunu belirlemek amacıyla değişkenler için birkorelasyon matrisi oluşturmak amacıyla cor() fonksiyonunu kullanabiliriz:

 #place variables in data frame
df <- data. frame (x1, x2, x3, y)

#create correlation matrix for data frame
cor(df)

           x1 x2 x3 y
x1 1.00000000 0.126886263 0.126886263 0.065047543
x2 0.12688626 1.000000000 1.000000000 -0.009107573
x3 0.12688626 1.000000000 1.000000000 -0.009107573
y 0.06504754 -0.009107573 -0.009107573 1.000000000

x2 ve x3 değişkenlerinin korelasyon katsayısının 1 olduğunu görebiliriz. Bu bize bu iki değişkenin mükemmel korelasyona sahip oldukları için hataya neden olduğunu söyler.

Bu hatayı düzeltmek için regresyon modelini yeniden ayarlamanız ve bu iki değişkenden birini dışarıda bırakmanız yeterlidir.

Her ikisi de regresyon modelinde tamamen aynı bilgiyi sağladığı için hangi değişkeni atladığımız önemli değil.

Basit olması açısından x3’ü çıkaralım ve regresyon modelini tekrar yerleştirelim:

 library (car)

#make this example reproducible
set. seeds (0)

#define data
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- x2*3
y <- rnorm(100)

#fit regression model
model <- lm(y~x1+x2)

#calculate VIF values for predictor variables in model
lively(model)

      x1 x2 
1.016364 1.016364 

Modelin VIF değerlerini hesaplarken bu sefer herhangi bir hata almadığımızı unutmayın çünkü çoklu bağlantı artık sorun değil.

İlgili: R’de VIF Değerleri Nasıl Hesaplanır ve Yorumlanır?

Ek kaynaklar

Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

R’de nasıl onarılır: değiştirmenin uzunluğu sıfırdır
R’de nasıl düzeltilir: bağımsız değişkenler farklı sayıda satır içerir
R’de nasıl düzeltilir: argüman ne sayısal ne de mantıksal: return na

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir