Nasıl düzeltilir? kötü sıralama ayarlamasını tahmin etmek yanıltıcı olabilir


R’de karşılaşabileceğiniz yaygın bir uyarı:

 Warning message:
In predict.lm(model, df):
  prediction from a rank-deficient fit may be misleading

Bu uyarı iki nedenden dolayı ortaya çıkabilir:

Sebep 1 : İki yordayıcı değişken mükemmel bir şekilde ilişkilidir.

Sebep 2 : Veri kümesindeki gözlemlerden daha fazla model parametreniz var.

Aşağıdaki örnekler her sorunun pratikte nasıl ortaya çıkabileceğini göstermektedir.

Sebep #1: İki yordayıcı değişken mükemmel bir şekilde ilişkilidir

Aşağıdaki çoklu doğrusal regresyon modelini R’ye uydurduğumuzu ve onu tahminlerde bulunmak için kullanmaya çalıştığımızı varsayalım:

 #create data frame
df <- data. frame (x1=c(1, 2, 3, 4),
                 x2=c(2, 4, 6, 8),
                 y=c(6, 10, 19, 26))

#fit multiple linear regression model
model <- lm(y~x1+x2, data=df)

#use model to make predictions
predict(model, df)

   1 2 3 4 
 4.9 11.8 18.7 25.6 
Warning message:
In predict.lm(model, df):
  prediction from a rank-deficient fit may be misleading

Tahmin edici değişkenler x1 ve x2 mükemmel bir şekilde ilişkili olduğu için bir uyarı mesajı alıyoruz.

X2 değerlerinin basitçe x1 değerlerinin ikiyle çarpımına eşit olduğunu unutmayın. Bu mükemmel çoklu bağlantının bir örneğidir.

Bu, x1 ve x2’nin regresyon modelinde benzersiz veya bağımsız bilgi sağlamadığı anlamına gelir; bu da modelin yerleştirilmesinde ve yorumlanmasında sorunlara neden olur.

Bu sorunu çözmenin en kolay yolu, tahmin değişkenlerinden birini modelden çıkarmaktır çünkü modelde her iki tahmin değişkeninin de bulunması gereksizdir.

Sebep #2: Gözlemlerden daha fazla model parametresi var

Aşağıdaki çoklu doğrusal regresyon modelini R’ye uydurduğumuzu ve onu tahminlerde bulunmak için kullanmaya çalıştığımızı varsayalım:

 #create data frame
df <- data. frame (x1=c(1, 2, 3, 4),
                 x2=c(3, 3, 8, 12),
                 x3=c(4, 6, 3, 11),
                 y=c(6, 10, 19, 26))

#fit multiple linear regression model
model <- lm(y~x1*x2*x3, data=df)

#use model to make predictions
predict(model, df)

 1 2 3 4 
 6 10 19 26 
Warning message:
In predict.lm(model, df):
  prediction from a rank-deficient fit may be misleading

Yedi toplam model katsayısına sahip bir regresyon modelini uydurmaya çalıştığımız için bir uyarı mesajı alıyoruz:

  • x1
  • x2
  • x3
  • x1*x2
  • x1*3
  • x2*x3
  • x1*x2*x3

Ancak veri setinde toplamda yalnızca dört gözlemimiz var.

Model parametrelerinin sayısı veri setindeki gözlem sayısından fazla olduğu için buna yüksek boyutlu veri diyoruz.

Yüksek boyutlu verilerle, yordayıcı değişkenler ile yanıt değişkeni arasındaki ilişkiyi tanımlayabilecek bir model bulmak imkansız hale gelir çünkü modeli eğitmek için yeterli gözlemimiz yoktur.

Bu sorunu çözmenin en basit yolu, veri kümemiz için daha fazla gözlem toplamak veya tahmin etmek için daha az katsayıya sahip daha basit bir model kullanmaktır.

Ek kaynaklar

Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl ele alınacağı açıklanmaktadır:

Nasıl başa çıkılır: glm.fit: algoritma birleşemedi
Nasıl ele alınır: glm.fit: sayısal olarak ayarlanmış olasılıklar 0 veya 1’in oluşması

Yorum ekle

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