R (nnet paketi) içinde “multinom” için p-değerleri alma


19

İçindeki paket multinomişlevini kullanarak p-değerlerini nasıl alabilirim ?nnetR

Sonuç değişkeni olarak “Patoloji skorlarından” (Yok, Hafif, Şiddetli) oluşan bir veri setim ve iki ana etkim var: Yaş (iki faktör: yirmi / otuz gün) ve Tedavi Grubu (dört faktör: ATB olmadan enfekte; enfekte + ATB1; enfekte + ATB2; enfekte + ATB3).

İlk önce bağımlı değişkenimin (sıralı) özellikleri göz önüne alındığında daha uygun görünen bir sıralı regresyon modeline uymaya çalıştım. Bununla birlikte, oran orantılılığı varsayımı ciddi bir şekilde ihlal edildi (grafiksel olarak), bu da nnetpaketi kullanarak bir multinom modeli kullanmamı istedi .

İlk önce temel kategori olarak kullanmam gereken sonuç düzeyini seçtim:

Data$Path <- relevel(Data$Path, ref = "Absent")

Ardından, bağımsız değişkenler için taban çizgisi kategorileri ayarlamam gerekiyordu:

Data$Age <- relevel(Data$Age, ref = "Twenty")
Data$Treat <- relevel(Data$Treat, ref="infected without ATB") 

Model:

test <- multinom(Path ~ Treat + Age, data = Data) 
# weights:  18 (10 variable) 
initial value 128.537638 
iter 10 value 80.623608 
final  value 80.619911 
converged

Çıktı:

Coefficients:
         (Intercept)   infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate   -2.238106   -1.1738540      -1.709608       -1.599301        2.684677
Severe     -1.544361   -0.8696531      -2.991307       -1.506709        1.810771

Std. Errors:
         (Intercept)    infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate   0.7880046    0.8430368       0.7731359       0.7718480        0.8150993
Severe     0.6110903    0.7574311       1.1486203       0.7504781        0.6607360

Residual Deviance: 161.2398
AIC: 181.2398

pnnet:multinomppsummarymultinomt

pt(abs(summary1$coefficients / summary1$standard.errors), df=nrow(Data)-10, lower=FALSE) 

         (Intercept)   infected+ATB1   infected+ATB2   infected+ATB3    AgeThirty
Moderate 0.002670340   0.08325396      0.014506395     0.02025858       0.0006587898
Severe   0.006433581   0.12665278      0.005216581     0.02352202       0.0035612114

Peter Dalgard'a göre, "İki kuyruklu bir değeri için en az 2 faktör eksik . Genellikle dağılımını gerçekten -istatist olan için kullanmak bir hatadır ; toplanan veriler için, çok kötü bir hata. " Brian Ripley'e göre, " aynı zamanda binom uyuşmalarıyla aynı (potansiyel olarak ciddi) problemlerden muzdarip olduklarından uygunluk için Wald testlerini kullanmak da bir hatadır . Profil olabilirlik güven aralıkları (paketin yazılım sağladığı) veya test etmeniz gerekiyorsa, olasılık oranı testleri (ditto). "ptzmultinom

Sadece güvenilir -değerleri türetebilmem gerekiyor .p


Sen kullanarak tam ve azaltılmış model için olabilirlik oranı testleri ile modeli karşılaştırmaları kullanabilirsiniz nnet'in anova()fonksiyonu.
caracal

Yanıtlar:


14

Kullanmaya ne dersiniz?

z <- summary(test)$coefficients/summary(test)$standard.errors
# 2-tailed Wald z tests to test significance of coefficients
p <- (1 - pnorm(abs(z), 0, 1)) * 2
p

Temel olarak, bu, standart hatalarına göre tahmini katsayılara dayanır ve iki kuyruklu bir teste dayanarak sıfır ile önemli bir farka karşı test etmek için az testi kullanır. İki faktör, Peter Dalgaard'ın yukarıda bahsettiği sorunu düzeltir (buna ihtiyacınız vardır çünkü iki kuyruklu bir test istiyorsunuz, bir kuyruklu değil) ve diğerini çözmek için bir t testi yerine bir z testi kullanır. bahsettiğiniz sorun.

Aynı sonucu (Wald z-testleri) kullanarak da elde edebilirsiniz.

library(AER)
coeftest(test)

Olabilirlik oranı testleri genellikle Wald z testlerinden daha doğru olarak kabul edilir (ikincisi normal bir yaklaşım kullanır, LR testleri kullanmaz) ve bunlar kullanılarak elde edilebilir

library(afex)
set_sum_contrasts() # use sum coding, necessary to make type III LR tests valid
library(car)
Anova(test,type="III")

Eğer çift Tukey posthoc testleri yapmak isterseniz, bunlar benim diğer yazımda açıklandığı gibilsmeans paket kullanılarak elde edilebilir !


Adımların biraz daha açıklaması OP'ye yardımcı olabilir.
Momo

1
Şimdi biraz daha açıklama eklendi ...
Tom Wenseleers

1
İşte Wald z-test seçeneğinde genişleyen iyi bir sayfa: stats.idre.ucla.edu/r/dae/multinomial-logistic-regression
DirtStats
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.