วิธีการตีความสัมประสิทธิ์ในการถดถอยปัวซอง?


64

ฉันจะตีความผลกระทบหลัก (ค่าสัมประสิทธิ์สำหรับปัจจัยจำลอง) ในการถดถอยปัวซองได้อย่างไร

สมมติตัวอย่างต่อไปนี้:

treatment     <- factor(rep(c(1, 2), c(43, 41)), 
                        levels = c(1, 2),
                        labels = c("placebo", "treated"))
improved      <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
                        levels = c(1, 2, 3),
                        labels = c("none", "some", "marked"))    
numberofdrugs <- rpois(84, 10) + 1    
healthvalue   <- rpois(84, 5)   
y             <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test          <- glm(healthvalue~numberofdrugs+treatment+improved, y, family=poisson)
summary(test)

ผลลัพธ์คือ:

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       1.88955    0.19243   9.819   <2e-16 ***
numberofdrugs    -0.02303    0.01624  -1.418    0.156    
treatmenttreated -0.01271    0.10861  -0.117    0.907   MAIN EFFECT  
improvedsome     -0.13541    0.14674  -0.923    0.356   MAIN EFFECT 
improvedmarke    -0.10839    0.12212  -0.888    0.375   MAIN EFFECT 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

ฉันรู้ว่าอัตราการเกิดสำหรับเป็นnumberofdrugs exp(-0.023)=0.977แต่ฉันจะตีความผลกระทบหลักสำหรับตัวแปรจำลองได้อย่างไร


คำตอบที่คล้ายกัน ( แต่กรอบมากขึ้นทางคณิตศาสตร์) สามารถพบได้ที่นี่: วิธีการตีความประมาณการพารามิเตอร์ในผล Poisson GLM
gung - Reinstate Monica

เป็นที่น่าสนใจว่าคำถามที่อ้างอิงถูกปิดเป็นนอกหัวข้อ (ฉันจะไม่ได้ตกลงกันว่ามันเป็นนอกหัวข้อเนื่องจากคำตอบใด ๆ ก็จะนำไปใช้กับผลลัพธ์ของโปรแกรมสถิติใด ๆ ที่ส่งกลับค่าสัมประสิทธิ์ของตารางให้กับผู้ใช้และเห็นด้วยกับคุณว่ามันมีค่าบนพื้นฐานที่ใกล้เคียง ของการซ้ำซ้อน) ดูเหมือนว่าชุมชน SO นั้น "เข้มงวด" เกินไปสำหรับคำถามที่ขอการตีความผลลัพธ์จาก R พวกเขาไม่ได้อยู่ในหัวข้อของ StackOverflow เนื่องจากไม่มีข้อเสนอแนะที่ต้องการความช่วยเหลือในการเขียนโค้ด
DWIN

@DWin ผมไม่คิดว่าการตีความการส่งออกสถิติปิดหัวข้อข้ามการตรวจสอบ ฉันโหวตให้ปิดคำถามนั้นซ้ำกับคำถามนี้ คนอื่น ๆ ดูเหมือนจะลงคะแนน OT ฉันรวบรวมเพราะมันดูเหมือนว่าพวกเขาว่า OP "dump [ed] เอาท์พุทคอมพิวเตอร์ของพวกเขาที่นั่นและ [หวังว่าจะมีใครสักคน] เรียกใช้การวิเคราะห์สถิติสำหรับ
gung - Reinstate Monica

1
@ gung: ฉันชัดเจนว่าไม่ใช่คุณที่เรียกว่า OT ความคิดเห็นของคุณชัดเจนในจุดนั้น (ฉันคิดว่าฉันเห็นด้วยกับคุณ) "เหตุผล" ที่ปรากฏในการโหวตอย่างใกล้ชิดมักจะเป็นการตัดสินใจส่วนใหญ่หรือส่วนใหญ่
DWIN

คำตอบ:


56

numberofdrugsสัมประสิทธิ์exponentiated เป็นคำ multiplicative เพื่อใช้ในการคำนวณประมาณhealthvalueเมื่อnumberofdrugsเพิ่มขึ้น 1 หน่วย ในกรณีของตัวแปรเด็ดขาด (ปัจจัย) ค่าสัมประสิทธิ์การแจกแจงคือเทอมการคูณที่สัมพันธ์กับระดับฐาน (ตัวคูณแรก) สำหรับตัวแปรนั้น (เนื่องจาก R ใช้การเปรียบเทียบการรักษาโดยค่าเริ่มต้น) นี่exp(Intercept)คืออัตราพื้นฐานและการประมาณการอื่น ๆ ทั้งหมดจะสัมพันธ์กับมัน

ในตัวอย่างของคุณค่าประมาณhealthvalueสำหรับคนที่มี2ยาเสพติด"placebo"และimprovement=="none"น่าจะเป็น (โดยใช้การเพิ่มค่า EXP ภายในเท่ากับการคูณ):

 exp( 1.88955 + 2*-0.02303 + 0 + 0 )
 [1] 6.318552

ในขณะที่คนใน4ยาเสพติด"treated"และ"some"การปรับปรุงจะมีการประเมินhealthvalueของ

exp( 1.88955 + 4*-0.02303 + -0.01271 + -0.13541)
[1] 5.203388

เพิ่ม: นี่คือความหมายว่าเป็น "สารเติมแต่งในระดับบันทึก" "สารเติมแต่งในระดับอัตราต่อรอง" เป็นวลีที่บาร์บาร่าแม็คไนท์ครูของฉันใช้เมื่อเน้นความจำเป็นที่จะต้องใช้สัมประสิทธิ์เทอมทั้งหมดที่ใช้ในการถดถอยโลจิสติกเมื่อทำการทำนายชนิดใด ๆ คุณเพิ่มสัมประสิทธิ์ทั้งหมดก่อนคูณค่า covariate จากนั้นยกกำลัง วิธีการคืนค่าสัมประสิทธิ์จากวัตถุการถดถอยใน R โดยทั่วไปแล้วจะใช้coef()ฟังก์ชั่นการแยก (ทำด้วยการสำนึกแบบสุ่มด้านล่าง):

 coef(test)
  #   (Intercept)    numberofdrugs treatmenttreated     improvedsome   improvedmarked 
  #   1.18561313       0.03272109       0.05544510      -0.09295549       0.06248684 

ดังนั้นการคำนวณการประมาณสำหรับวิชาที่มี4ยาเสพติด"treated"โดยมี"some"การปรับปรุงจะเป็น:

 exp( sum( coef(test)[ c(1,2,3,4) ]* c(1,4,1,1) ) ) 
 [1] 3.592999

และตัวทำนายเชิงเส้นสำหรับกรณีนั้นควรเป็นผลรวมของ:

 coef(test)[c(1,2,3,4)]*c(1,4,1,1) 
 #    (Intercept)    numberofdrugs treatmenttreated     improvedsome 
 #     1.18561313       0.13088438       0.05544510      -0.09295549

หลักการเหล่านี้ควรใช้กับแพคเกจสถิติใด ๆ ที่ส่งคืนตารางค่าสัมประสิทธิ์ให้กับผู้ใช้ วิธีการและหลักการทั่วไปกว่าอาจปรากฏขึ้นจากการใช้อาร์ของฉัน


ฉันกำลังคัดลอกความคิดเห็นที่เลือกชัดเจนเนื่องจากพวกเขา 'หายไป' ในการแสดงเริ่มต้น:

ถาม: คุณตีความค่าสัมประสิทธิ์เป็นอัตราส่วน! ขอขอบคุณ! - MarkDollar

A: สัมประสิทธิ์เป็น natural_logarithms ของอัตราส่วน - DWIN

Q2: ในกรณีนั้นในการถดถอยปัวส์ซองค่าสัมประสิทธิ์เลขยกกำลังยังเรียกว่า "อัตราส่วนอัตราต่อรอง" - ออร์

A2: ไม่ถ้ามันเป็นการถดถอยโลจิสติกพวกเขาจะเป็น แต่ในปัวซองถดถอยซึ่ง LHS เป็นจำนวนของเหตุการณ์และตัวส่วนโดยนัยคือจำนวนที่มีความเสี่ยงจากนั้นค่าสัมประสิทธิ์ exponentiated


ดังนั้นให้คุณโหวตสองครั้ง ดีแค่ไหน. ฉันคิดว่าการเสนอการใช้รหัส R ของการตีความอาจช่วยได้จากกองกำลังของการจำแนกประเภท OP ประกอบด้วยตัวอย่างที่ดีในตัวเอง บางทีฉันควรจะได้สาธิตฟังก์ชั่นการแยกดังนั้นฉันคิดว่าฉันจะ
DWIN

ใช่ฉันเพิ่มการตอบสนองของคุณใน SO จากนั้นมันก็ย้ายมาที่นี่และฉันเพิ่มอีกครั้ง :)
แบรนดอน Bertelsen

ขอบคุณมาก! ฉันรู้ความจริงระหว่างหุ่นกับหุ่นม้า แต่ฉันแค่สนใจที่จะตีความผลกระทบหลัก (ฉันทำเครื่องหมายไว้) เป็นไปได้ไหมที่จะใช้อัตราอุบัติการณ์จากเอฟเฟกต์หลักตัวอย่างเช่นสำหรับประสบการณ์จำลอง 'exp (-0.012) = 0.99' และตีความว่าเป็นอัตราที่ค่า healtval ลดลงเมื่อเปลี่ยนจากหมวดหมู่อ้างอิงเป็นการบำบัด? มันจะต้องใช่มั้ย
MarkDollar

สัมประสิทธิ์เลขยกกำลังจะถูกตีความเป็นอัตราส่วนเสมอ อัตราส่วนของ 'what' to 'what' ขึ้นอยู่กับหน่วยของการวิเคราะห์ 'ราคา' นั้นแตกต่างกันโดยมีหมายเลขและค่าเวลาโดยนัย . ดังนั้นถ้าคุณมีความยินดีที่จะเปลี่ยนแปลงคำศัพท์ของคุณแล้วบางที 'ใช่" คำตอบที่ดีที่สุดมาจากการอธิบายสถานการณ์การวิเคราะห์อย่างเต็มที่.
dwin

อาตกลงนี่คือสิ่งที่ฉันอยากรู้ คุณตีความค่าสัมประสิทธิ์เป็นอัตราส่วน! ขอขอบคุณ!
MarkDollar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.