आर (एननेट पैकेज) में "मल्टीइनम" के लिए पी-वैल्यू प्राप्त करना


19

पैकेज के multinomफ़ंक्शन का उपयोग करके मुझे पी-मान कैसे मिलता nnetहै R?

मेरे पास एक डेटासेट है जिसमें परिणाम पैराग्राफ के रूप में "पैथोलॉजी स्कोर" (अनुपस्थित, हल्का, गंभीर) शामिल हैं, और दो मुख्य प्रभाव: आयु (दो कारक: बीस / तीस दिन) और उपचार समूह (चार कारक: एटीबी के बिना संक्रमित; संक्रमित + ATB1; संक्रमित + एटीबी 2; संक्रमित + एटीबी 3)।

पहले मैंने एक ऑर्डिनल रिग्रेशन मॉडल को फिट करने की कोशिश की, जो मेरे आश्रित चर (ऑर्डिनल) की विशेषताओं को देखते हुए अधिक उपयुक्त लगता है। हालांकि, अनुपात आनुपातिकता की धारणा का गंभीर रूप से उल्लंघन किया गया था (ग्राफिक रूप से), जिसने मुझे nnetपैकेज का उपयोग करने के बजाय एक बहुराष्ट्रीय मॉडल का उपयोग करने के लिए प्रेरित किया ।

पहले मैंने आधार स्तर को चुना जिसे मुझे आधारभूत श्रेणी के रूप में उपयोग करने की आवश्यकता है:

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

फिर, मुझे स्वतंत्र चर के लिए आधारभूत श्रेणियां निर्धारित करने की आवश्यकता थी:

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

आदर्श:

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

उत्पादन:

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

ptzmultinom

p


आप एक पूर्ण और कम किए गए मॉडल के उपयोग nnetकी संभावना अनुपात परीक्षणों के साथ मॉडल तुलना का उपयोग कर सकते हैं anova()
काराकल

जवाबों:


14

का उपयोग करने के बारे में क्या

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

मूल रूप से, यह उनकी मानक त्रुटि के सापेक्ष अनुमानित गुणांक पर आधारित होगा, और दो-पूंछ वाले परीक्षण के आधार पर शून्य के साथ एक महत्वपूर्ण अंतर के खिलाफ परीक्षण करने के लिए az परीक्षण का उपयोग करेगा। पीटर डेलगार्ड द्वारा ऊपर बताई गई समस्या को दो का कारक सही करता है (आपको इसकी आवश्यकता है क्योंकि आप दो पूंछ वाला परीक्षण चाहते हैं, न कि एक पूंछ वाला), और यह एक टी-टेस्ट के बजाय एक जेड-टेस्ट का उपयोग करता है, दूसरे को हल करने के लिए समस्या जिसका आप उल्लेख करते हैं।

तुम भी एक ही परिणाम (Wald z- परीक्षण) का उपयोग कर प्राप्त कर सकते हैं

library(AER)
coeftest(test)

संभावना अनुपात परीक्षण आमतौर पर वाल्ड जेड परीक्षणों की तुलना में अधिक सटीक माना जाता है (उत्तरार्द्ध एक सामान्य सन्निकटन का उपयोग करते हैं, एलआर परीक्षण नहीं करते हैं), और इनका उपयोग करके प्राप्त किया जा सकता है

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

यदि आप जोड़ीदार टके पोस्टहॉक परीक्षण करना चाहते हैं, तो ये lsmeansपैकेज का उपयोग करके प्राप्त किया जा सकता है जैसा कि मेरी अन्य पोस्ट में बताया गया है !


चरणों की थोड़ी और व्याख्या ओपी को मदद कर सकती है।
मोमो

1
अब थोड़ा और स्पष्टीकरण जोड़ा ...
टॉम वेन्स्लेर्स

1
यहाँ एक अच्छा पृष्ठ है जो वाल्ड z- परीक्षण के विकल्प पर फैलता है: आंकड़े ।idre.ucla.edu
dae
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.