Güçlü standart hatalarla ANOVA tablosu nasıl edinilir?


10

R'de plm paketini kullanarak toplanmış bir OLS regresyonu yürütüyorum. Yine de, sorum temel istatistikler hakkında daha fazla, bu yüzden önce buraya göndermeyi deniyorum;)

Regresyon sonuçlarım heteroskedastik kalıntılar verdiğinden, heteroskedastisite sağlam standart hatalarını kullanmayı denemek istiyorum. Sonuç olarak coeftest(mod, vcov.=vcovHC(mod, type="HC0"))her bağımsız değişken için temel olarak "sağlam" regresyon sonuçlarım olan tahminler, standart hatalar, t-değerleri ve p-değerlerini içeren bir tablo alıyorum.

Farklı değişkenlerin önemini tartışmak için, her bir bağımsız değişkenin açıkladığı varyans payını çizmek istiyorum, bu yüzden ilgili karelerin toplamına ihtiyacım var. Ancak, işlevi kullanarak aov(), R'ye sağlam standart hataları kullanmasını nasıl söyleyeceğimi bilmiyorum.

Şimdi sorum şu: ANOVA tablosunu / sağlam standart hatalara işaret eden karelerin toplamını nasıl alabilirim? Normal standart hatalarla regresyondan ANOVA tablosuna göre hesaplamak mümkün müdür?

Düzenle:

Başka bir deyişle ve R sorunlarımı göz ardı ederek:

R sağlam standart hatalardan etkilenmezse, farklı açıklayıcı değişkenler tarafından açıklanan varyansa ilişkin katkılar da değişecek mi?2

Düzenle:

R'de, aov(mod)aslında bir panel modeli (plm) için doğru bir ANOVA tablosu verir mi?

Yanıtlar:


12

Doğrusal regresyon modellerindeki ANOVA, karşılık gelen iç içe modellerin Wald testine (ve olasılık oranı testine) eşdeğerdir. Dolayısıyla, ilgili testi heteroskedastisite tutarlı (HC) standart hatalar kullanarak yapmak istediğinizde, bu, karelerin toplamlarının ayrışmasından elde edilemez, ancak bir HC kovaryans tahmini kullanarak Wald testini gerçekleştirebilirsiniz. Bu fikir hem kullanılan Anova()ve linearHypothesis()gelen carpaket ve coeftest()ve waldtest()gelen lmtestpaketin. Son üçü plmnesnelerle de kullanılabilir .

Basit (çok ilginç / anlamlı olmasa da) bir örnek şudur. Biz standart modeli kullanmak ?plmmanuel sayfa ve her ikisi önemi için Wald testi yerine getirmek istiyorsunuz log(pcap)ve unemp. Şu paketlere ihtiyacımız var:

library("plm")
library("sandwich")
library("car")
library("lmtest")

Model (alternatif altında):

data("Produc", package = "plm")
mod <- plm(log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp,
  data = Produc, index = c("state", "year"))

İlk olarak, tüm bireysel katsayılar için HC standart hataları ile marjinal Wald testlerine bakalım:

coeftest(mod, vcov = vcovHC)

t test of coefficients:

            Estimate Std. Error t value  Pr(>|t|)    
log(pc)    0.2920069  0.0617425  4.7294 2.681e-06 ***
log(emp)   0.7681595  0.0816652  9.4062 < 2.2e-16 ***
log(pcap) -0.0261497  0.0603262 -0.4335   0.66480    
unemp     -0.0052977  0.0024958 -2.1226   0.03411 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Ve sonra her ikisi için de bir Wald testi gerçekleştiriyoruz log(pcap)ve unemp:

linearHypothesis(mod, c("log(pcap)", "unemp"), vcov = vcovHC)

Linear hypothesis test

Hypothesis:
log(pcap) = 0
unemp = 0

Model 1: restricted model
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp

Note: Coefficient covariance matrix supplied.

  Res.Df Df  Chisq Pr(>Chisq)  
1    766                       
2    764  2 7.2934    0.02608 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Alternatif olarak, modeli mod0iki katsayı olmadan sıfır hipotezi ( diyelim) altına sığdırabilir ve sonra çağırabiliriz waldtest():

mod0 <- plm(log(gsp) ~ log(pc) + log(emp),
  data = Produc, index = c("state", "year"))
waldtest(mod0, mod, vcov = vcovHC)

Wald test

Model 1: log(gsp) ~ log(pc) + log(emp)
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp
  Res.Df Df  Chisq Pr(>Chisq)  
1    766                       
2    764  2 7.2934    0.02608 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Test istatistiği ve p-değeri hesaplanır linearHypothesis()ve waldtest()tamamen aynıdır. Sadece arayüz ve çıktı biçimlendirmesi biraz farklıdır. Bazı durumlarda biri veya diğeri daha basit veya daha sezgiseldir.

Not: vocvHC(mod)Bir kovaryans matris kestirimcisi (yani, bir işlev gibi vocvHC) yerine bir kovaryans matris kestirimi (yani, matris benzeri ) sağlarsanız, alternatifin altındaki modelin HC kovaryans matris kestirimini sağladığınızdan emin olun. kısıtlanmamış model.


1
Doğru anlıyorsam, Wald testi belirli değişkenleri dahil etmenin anlamlı olup olmadığını gösterir. Ancak, örneğin karelerin toplamı gibi modeli gerçekten ne kadar geliştirdiklerinin bir ölçüsü var mı?
Aki

HAC standart hatalarını nasıl uygulayabilirim? Ben coeftest (mod, vcov = vcovHAC) denedim ama "c sınıfı 'bir nesneye uygulanan' estfun 'için geçerli bir yöntem yok" ("plm', 'panelmodel')" diyerek bir hata mesajı aldım. ya da önce bir tahmin fonksiyonunu
Aki

plmPaket, paketten vcovHC()genel için yöntemler olsa da sandwich, için yöntemler sağlamaz vcovHAC(). Bunun yerine plm, potansiyel olarak seri korelasyon içeren panel modellerinde kovaryans matrislerini hesaplamak için kendi özel fonksiyonları ile birlikte gönderilir. Bakın vcovNW()veya vcovSCC()pakette plm.
Achim Zeileis

Teşekkür ederim! Anladığım kadarıyla her iki fonksiyon da otokorelasyon sağlam SE ile ilgilidir. Hem hetero-esneklik hem de otokorelasyon sağlam SE için kullanılabilecek herhangi bir işlev var mı?
Aki

Her üç fonksiyonları ( vcovHAC, vcovNW, vcovSCC) ... HAC açılımı ne olduğunu en _H_eteroskedasticity ve _A_utocorrelation _C_onsistent vardır.
Achim Zeileis

2

Bu Anova, carpaketteki işlevle yapılabilir . ANOVA'da heteroskedastisite ile başa çıkmak için daha fazla detay ve diğer tekniklerin gözden geçirilmesi için bu mükemmel cevaba bakınız .


Teşekkür ederim. Sorun şu ki, Anova (), plm (panelmodel) tipi modellerle çalışmıyor gibi görünüyor.
Aki

@Aki yanılmıyorsam, toplanan OLS,
skeçte

@Aki daha zengin bir ANOVA modeliyle ilgileniyor gibi görünebilir. Burada bazı R örnekleri var: stats.stackexchange.com/questions/3874/…
shadowtalker
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.