Ben de aynı soruyu sordum ve yoluma gitmeye çalıştım. Aşağıda ayrıntılı cevabımı görün.
Her şeyden önce, R'de benzer VIF değerleri üreten 4 seçenek buldum:
• corvif
AED paketinden komut,
• vif
araç paketinden komut,
• vif
rms paketinden komut,
• vif
DAAG paketinden komut.
Bu komutları, herhangi bir faktör / kategorik değişken veya polinom terimini içermeyen bir dizi yordayıcı üzerinde kullanmak oldukça zordur. Her üç corvif
komut da, AED paketinden gelen komut sonuçları GVIF olarak etiketlese bile aynı sayısal çıktıyı üretir.
Bununla birlikte, tipik olarak, GVIF sadece faktörler ve polinom değişkenleri için devreye girer. 1'den fazla katsayı gerektiren ve dolayısıyla 1 serbestlik derecesinden fazlasını gerektiren değişkenler tipik olarak GVIF kullanılarak değerlendirilir. Tek katsayılı terimler için VIF GVIF'e eşittir.
Böylece, eşdoğrusallığın 3, 5 veya 10 eşik gibi bir sorun olup olmadığına dair standart kurallar uygulayabilirsiniz. Ancak, bazı uyarılar uygulanabilir (gerekir) (bkz . Http://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdf ).
Çok katsayılı terimler söz konusu olduğunda, örneğin kategorik yordayıcılar için olduğu gibi, 4 paket farklı çıktılar üretir. vif
Rms ve daag paketlerden komutları diğer iki üretmek GVIF değerleri ise, VIF'ye değerleri üretir.
Önce rms ve DAAG paketlerinden VIF değerlerine bir göz atalım:
TNAP ICE RegB RegC RegD RegE
1.994 2.195 3.074 3.435 2.907 2.680
TNAP ve ICE sürekli prediktördür ve Reg, RegB'den RegE'ye olan aptallar tarafından sunulan kategorik bir değişkendir. Bu durumda RegA başlangıç noktasıdır. Tüm VIF değerleri oldukça ılımlı ve genellikle endişelenecek bir şey yok. Bu sonuçla ilgili sorun, kategorik değişkenin taban çizgisinden etkilenmesidir. Kabul edilebilir bir seviyenin üzerinde bir VIF değerine sahip olmadığından emin olmak için, bu analizi, bazik olan kategorik değişkenin her seviyesi için yeniden yapmak gerekir. Bu durumda beş kez.
Uygulama corvif
AED paket veya gelen komutu vif
araba paketinden komuta, GVIF değerleri üretilir:
| GVIF | Df | GVIF^(1/2Df) |
TNAP | 1.993964 | 1 | 1.412078 |
ICE | 2.195035 | 1 | 1.481565 |
Reg | 55.511089 | 5 | 1.494301 |
GVIF, bir dizi sahte regülatör gibi ilgili regresör setleri için hesaplanır. İki sürekli değişken TNAP ve ICE için bu, önceki VIF değerleriyle aynıdır. Kategorik değişken Reg için, kategorik değişkenin tek seviyelerinin VIF değerlerinin (ortada gösterildiği gibi) tümünün orta olmasına rağmen, şimdi çok yüksek bir GVIF değeri elde ediyoruz.
Ancak, yorum farklı. İki sürekli değişken için, (temel olarak DF = 1 olarak VIF / GVIF değerinin kare köküdür), standart hatanın orantılı değişimi ve güven aralığı Eşitlik seviyesi nedeniyle katsayıları. kategorik değişkenin değeri halde bak da alıntı hazır nedeniyle (Eşdoğrusallık için katsayıları kestirim hassasiyet azalması için de benzer bir ölçü değildir http: / /socserv2.socsci.mcmaster.ca/jfox/papers/linear-models-problems.pdf ).GVIF(1/(2×Df))GVIF(1/(2×Df))
O zaman VIF için literatürde önerildiği gibi değerleri için aynı standart kurallara , .GVIF(1/(2×Df))GVIF(1/(2×Df))
Tüm forum yazılarını, web’deki kısa notları ve bilimsel makaleleri okurken, bir miktar karışıklık yaşandığı görülüyor. makalelerde, göz ardı ettim ve VIF için önerilen aynı standart kurallar GVIF değerlerine uygulanır. Başka bir makalede, 100'e yakın GVIF değerleri oldukça küçük bir (yüksek DF nedeniyle hariç . kuralı bazı yayınlarda uygulanır; bu, bir katsayılı değişkenler için 4 VIF'ye eşit olur.GVIF(1/(2×Df))GVIF(1/(2×Df))GVIF2(1/(2×Df))<2