Çoklu doğrusallık ile başa çıkmak


13

Paket vif()yöntemini kullanarak car, bir modeldeki girdilerin çok doğrusallık derecesini hesaplayabileceğimizi öğrendim . Gönderen wikipedia eğer vifdeğer büyükse 5o zaman giriş çoklu bağlantı problemi yaşayan olduğunu düşünebilirsiniz. Örneğin, lm()yöntemi kullanarak doğrusal bir regresyon modeli geliştirdim ve vif()aşağıdaki gibi verir. Gördüğümüz gibi, girişler ub, lbve tbçoklu doğrusal yaşıyorlar.

 vif(lrmodel)
     tb        ub        lb          ma     ua        mb         sa     sb 
 7.929757 50.406318 30.826721  1.178124  1.891218  1.364020  2.113797  2.357946

Benim modeli daha sağlam hale getirmek için bu şekilde çoklu bağlantı sorunu önlemek ve amacıyla, ben arasındaki etkileşimi almış ubve lbve şimdi yeni modelin tablo aşağıdaki gibidir vif:

   tb     ub:lb      ma       mb      sa        sb     ua
1.763331 1.407963 1.178124 1.327287 2.113797 1.860894 1.891218

R^2Yukarıdaki her iki durumda da değerler arasında bir fark yoktur ve tek bir bırakma CV testlerinden kaynaklanan hatalar arasında çok fazla fark yoktur.

Sorularım:

  1. Yukarıda gösterildiği gibi etkileşimi alarak çoklu bağlantı probleminden kaçınmak iyi midir?

  2. Yukarıdaki vif yöntemi sonuçlarına kıyasla çoklu-doğrusallık problemini göstermenin daha iyi bir yolu var mı?

Lütfen bana önerilerinizi verin.

Teşekkürler.


Model log-log regresyonunuz mu (onlarla tamam olarak kısıtlama olarak etkileşim)? Wiki'de çoklu bağlantı sorunu ile ilgili daha eksiksiz bir makale var en.wikipedia.org/wiki/Multicollinearity Ayrıca bu sitede çoklu bağlantı etiketini keşfetmenizi öneririm, sık sorulan bir soru gibi görünüyor.
Dmitrij Celov

@Dmitrij Celov: Teşekkür ederim. Hayır, modelim günlükleri olmayan basit doğrusal regresyon ...
samarasa

Yanıtlar:


11

Sen etkileşim terimini içeren görünüyor ub:lb, ama değil ubve lbayrı belirleyicileri olarak kendilerini. Bu, yüksek dereceli terimlerin yalnızca düşük dereceli terimlerdeki değişkenleri ( başlangıç ​​için Wikipedia ) içermesi gerektiğini belirten "marjinallik ilkesini" ihlal eder . Etkili, artık tek öğeye göre ürünüdür bir prediktör dahil ubve lb.

VIFj11Rj2Rj2R2jjRx1R2ubublbR2

Tahminciler arasındaki tüm çift korelasyonları yapmaya başlarım ve hangi değişkenlerin öngördüğünü ubve lbartıklığın kolayca açıklanıp açıklanmadığını görmek için yukarıda belirtilen regresyonları çalıştırırdım . Öyleyse, gereksiz tahmincileri kaldırabilirsiniz. Ayrıca sırt regresyonuna da bakabilirsiniz ( R'deki lm.ridge()paketten MASS).

XtXXκλmaxλminλmaxλmin0XtXkappa(lm(<formula>))lm()

κκ

κκvif(lm(y ~ x1 + x2))vif(lm(scale(y) ~ scale(x1) + scale(x2)))kappa(lm(y ~ x1 + x2))kappa(lm(scale(y) ~ scale(x1) + scale(x2)))


ub lbalogub+aloglb=alogublbublb

@Dmitrij: Hayır, ub + lb + sb = 100.
samarasa

Çoklu doğrusallık için hoş bir grafik temsil var mı? Lütfen bana R için thi için herhangi bir yöntem olup olmadığını önerin.
samarasa

2
pairs()scatterplot3dκ2perturb

1

Değişken değerlendirme sırasında da P değerini dikkate almalısınız.

  1. P-Değeri çok düşükse (p <0.05) ve VIF yüksekse (> 5), diğer önemsiz değişkenleri göz önünde bulundurmalısınız. Ve modelinizi yeniden oluşturun.
  2. Hem P değeri hem de VIF değeri yüksekse bu değişken önemsiz olacaktır.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.