รับค่า p สำหรับ“ multinom” ใน R (แพ็คเกจ nnet)


19

ฉันจะรับค่า p โดยใช้multinomฟังก์ชันของnnetแพ็คเกจได้Rอย่างไร

ฉันมีชุดข้อมูลซึ่งประกอบด้วย“ คะแนนพยาธิวิทยา” (ขาด, อ่อน, รุนแรง) เป็นตัวแปรผลลัพธ์และสองผลหลัก: อายุ (สองปัจจัย: ยี่สิบ / สามสิบวัน) และกลุ่มการรักษา (สี่ปัจจัย: การติดเชื้อโดยไม่ต้อง ATB; ATB1; ที่ติดเชื้อ + ATB2; ที่ติดเชื้อ + ATB3)

ก่อนอื่นฉันพยายามจัดรูปแบบการถดถอยตามลำดับซึ่งดูเหมือนจะเหมาะสมกว่าเนื่องจากลักษณะของตัวแปรตาม (ลำดับ) ของฉัน อย่างไรก็ตามข้อสันนิษฐานของอัตราต่อรองถูกละเมิดอย่างรุนแรง (กราฟิก) ซึ่งทำให้ฉันใช้โมเดล multinomial แทนโดยใช้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

สำหรับในขณะที่ฉันไม่สามารถหาวิธีการที่จะได้รับที่ -values สำหรับรูปแบบและการประมาณการเมื่อใช้ เมื่อวานนี้ฉันได้พบกับโพสต์ที่ผู้เขียนหยิบยกปัญหาที่คล้ายกันเกี่ยวกับการประเมินค่าสำหรับค่าสัมประสิทธิ์ ( วิธีการตั้งค่าและประมาณการรูปแบบ multinomial logit ใน R? ) มี Blogger หนึ่งคนแนะนำว่าการรับค่า value จากผลลัพธ์ของนั้นค่อนข้างง่ายโดยรับค่าดังนี้พีnnet:multinomพีพีsummarymultinomเสื้อ

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

ตามที่ปีเตอร์ Dalgard "มีอย่างน้อยหนึ่งปัจจัยที่ 2 ขาดหายไปสำหรับสองเทลด์ -value มันมักจะเป็นความผิดพลาดที่จะใช้ได้. -distribution สำหรับสิ่งที่เป็นจริง -statistic สำหรับรวบรวมข้อมูลที่จะสามารถ ความผิดพลาดที่แย่มาก " ตามที่ไบรอันริปลีย์กล่าวว่า "มันเป็นความผิดพลาดที่จะใช้การทดสอบ Wald สำหรับความพอดีเนื่องจากพวกเขาประสบปัญหาเดียวกัน (ที่อาจรุนแรง) ในขณะที่ทวินามใช้พอดีใช้ช่วงความมั่นใจในโปรไฟล์ - ความน่าจะเป็น ถ้าคุณต้องทดสอบการทดสอบความน่าจะเป็นอัตราส่วน (เหมือนกัน) "พีเสื้อZmultinom

ฉันแค่ต้องสามารถหาค่าเชื่อถือได้พี


คุณสามารถใช้การเปรียบเทียบรูปแบบกับการทดสอบอัตราส่วนสำหรับรูปแบบเต็มรูปแบบและการลดการใช้nnetของanova()ฟังก์ชั่น
caracal

คำตอบ:


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 เพื่อทดสอบกับความแตกต่างที่สำคัญกับศูนย์ตามการทดสอบแบบสองด้าน ปัจจัยของทั้งสองแก้ไขปัญหา Peter Dalgaard ที่อ้างถึงข้างต้น (คุณต้องการเพราะคุณต้องการการทดสอบแบบสองทางไม่ใช่แบบหนึ่งแบบด้านเดียว) และใช้การทดสอบแบบ z แทนการทดสอบแบบทีเพื่อแก้ปัญหาแบบอื่น ปัญหาที่คุณพูดถึง

คุณสามารถได้ผลลัพธ์เดียวกัน (การทดสอบ Wald z) โดยใช้

library(AER)
coeftest(test)

การทดสอบอัตราส่วนความน่าจะเป็นโดยทั่วไปถือว่ามีความแม่นยำมากกว่าการทดสอบ Wald z (หลังใช้การประมาณปกติการทดสอบ LR ไม่ได้) และสิ่งเหล่านี้สามารถใช้งานได้

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

หากคุณต้องการที่จะทำการทดสอบแบบคู่ Tukey posthoc จากนั้นคุณสามารถรับlsmeansแพ็คเกจนี้ได้ตามที่อธิบายไว้ในโพสต์อื่นของฉัน !


การอธิบายขั้นตอนเพิ่มเติมอีกเล็กน้อยอาจช่วย OP ได้
Momo

1
เพิ่มบิตคำอธิบายเพิ่มเติมในขณะนี้ ...
ทอม Wenseleers

1
นี่คือหน้าเว็บที่ดีที่ขยายตัวเลือกการทดสอบ z Wald: stats.idre.ucla.edu/r/dae/multinomial-logistic-regression
DirtStats
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.