gl - R - hangi değer tüm modelin uyum iyiliğini temsil eder?


10

R'de glm'ler çalıştırıyorum (genelleştirilmiş doğrusal modeller). Değerleri bildiğimi sanıyordum - bir glm için bir özet çağırmanın size bir bütün olarak modelin geçersiz kılınan bir değer vermediğini görene kadar - en azından doğrusal modellerin yaptığı yerde değil.

Bunun katsayı tablosunun üst kısmında Kesişim için bir değer olarak verilip verilmediğini merak ediyorum. Yani aşağıdaki örnekte, Wind.speed..knots ve canopy_density model için önemli olsa da, modelin kendisinin önemli olup olmadığını nasıl bilebiliriz? Bu değerlere güvenip güvenmeyeceğinizi nasıl bilebilirim? (Kesme noktası) için Pr (> | z |) 'nin modelin önemini temsil ettiğini merak etmeye hakkım var mı? Bu model önemli mi ??? Teşekkürler!

Binom ailesinde F-testleri çalıştırmanın uygun olmadığını söyleyen bir hata mesajı aldığım için bir F-testi çalıştırmanın bir pvalue vermeyeceğini not etmeliyim.

Call:
glm(formula = Empetrum_bin ~ Wind.speed..knots. + canopy_density, 
    family = binomial, data = CAIRNGORM)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2327  -0.7167  -0.4302  -0.1855   2.3194  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)  
(Intercept)          1.8226     1.2030   1.515   0.1298  
Wind.speed..knots.  -0.5791     0.2628  -2.203   0.0276 *
canopy_density      -2.5733     1.1346  -2.268   0.0233 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 59.598  on 58  degrees of freedom
Residual deviance: 50.611  on 56  degrees of freedom
  (1 observation deleted due to missingness)
AIC: 56.611

1
Bir binom regresyonunda doğru hatırlıyorsam, sapma testi, yani bir Log Olabilirlik testi - lineer regresyonda kullanılan F-testine benzeyen bir test kullanmalısınız. Bu, ki-kare dağılımına uyan -2 * (Boş LL - Doymuş LL) 'dir. Her ne kadar özet çıktınızda bir model Günlük olasılığı göremiyorum. Model nesnesinde mi ama özet çıktısında değil mi?
SamPassmore

Yanıtlar:


10

(59.598-50.611) 'nin (58-56) df ile bir ki-kare ile asimptotik ki-kare testi yapabilir veya anova()glm nesnenizde kullanabilirsiniz (testi doğrudan yapmaz, ancak en azından hesaplar ( 59.598-50.611) ve (58-56) sizin için).

Bu etkili bir sapma analizidir .

İşte yapabileceğiniz hesaplamalar (R ile birlikte gelen farklı bir veri kümesinde):

spray1=glm(count~spray,family=poisson,data=InsectSprays)  # full model
spray0=glm(count~1,family=poisson,data=InsectSprays)      # null model
with(anova(spray0,spray1),pchisq(Deviance,Df,lower.tail=FALSE)[2]) 

Sapmaya bağlı olarak asimtotik bir ki kare istatistiği için p-değerini verir .

Veya bunu yapmak için devianceve df.residualişlevlerini kullanabilirsiniz:

 pchisq(deviance(spray0)-deviance(spray1),
     df.residual(spray0)-df.residual(spray1),
    lower.tail=FALSE)

-

Birçok kişi, modelin bu anlamda sıfırdan daha iyi olup olmadığını anlamak için tam ve sıfır-model AIC (veya bazı durumlarda belki de ilgilenilen bir model ile doymuş model arasındaki bir karşılaştırma) arasındaki karşılaştırmayı kullanır.

-

(Kesişim) için Pr (> | z |) 'nin modelin önemini temsil ettiğini merak etmeye hakkım var mı?

Öyle değil. Gerçekten, kesişen p-değeri genellikle doğrudan ilgi göstermez.

Bir dağılım parametresi olan bir model düşünüyorsanız, bazı insanların asimptotik ki-kare yerine F testi yapmak için tartıştığını gördüm; bireysel katsayılarda az yerine t testi kullanan kişilere karşılık gelir. Küçük örneklerde makul bir yaklaşım olması muhtemel değildir. Genel olarak GLM'lerde F'nin mutlaka uygun bir yaklaşım (yani asimtotik sonuçtan daha iyi) olduğunu düşündürecek bir türev veya simülasyon görmedim. Biri var olabilir, ama ben görmedim.


2
Ayrıca çalıştırabilir Anova(fit, type = 2)gelen carkütüphanede
algorithmatic

3

Modelinizin 'fit' nesnesinde olduğunu varsayarsak, bu kodu binom modelinizde bir log-liklihood testi yapmak için kullanabilirsiniz. rastgele.

LLR = -2 * (fit$null.deviance - fit$deviance)

Bu, Log-olasılık oranı testinin formülüdür.

pchisq(LLR, 2, lower.tail = FALSE)

Ve bu size p değerini verecektir. % 100 doğru df olduğundan emin değilim. Doymuş modelinizde 2 olan ve Null modelinde hiçbiri olmayan parametre sayısındaki fark olduğundan eminim, ergo df = 3 - 1 = 2. Ama bu takip edilecek bir şey olabilir.


1

@SamPassmore belirtildiği gibi, Sapkınlık Analizi (örneğin araba için bkz :: Anova () benzer-ISH) kabaca eşdeğer bir şey almak için kullanabileceğiniz -test ancak birlikte dağılımı. Bununla ilgili olabilirlik oranı testi (modelinizin null modelle karşılaştırılması), ancak bu testler sadece asemptolojik olarak iyi performans gösterir.Fχ2

Alternatif olarak, AIC'ye veya BIC gibi ilgili önlemlere bakabilirsiniz.

Lütfen unutmayın: Bu tür bir model için, aynı nedenlerden dolayı p-değeri gibi bir şey elde etmek zordur, anlamlı bir değeri tanımlamak zordur , örneğin Doug Bates tarafından bu "vaaz" a bakın .R,2

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.