พิจารณาตัวแบบอุปสรรค์ที่ทำนายข้อมูลนับy
จากตัวทำนายปกติx
:
set.seed(1839)
# simulate poisson with many zeros
x <- rnorm(100)
e <- rnorm(100)
y <- rpois(100, exp(-1.5 + x + e))
# how many zeroes?
table(y == 0)
FALSE TRUE
31 69
ในกรณีนี้ฉันมีข้อมูลนับด้วย 69 ศูนย์และจำนวนบวก 31 รายการ ไม่เป็นไรตอนนี้โดยนิยามของกระบวนการสร้างข้อมูลเป็นกระบวนการปัวซองเพราะคำถามของฉันเกี่ยวกับแบบจำลองอุปสรรค์
สมมติว่าฉันต้องการจัดการค่าศูนย์ส่วนเกินเหล่านี้ด้วยแบบจำลองอุปสรรค์ จากการอ่านของฉันเกี่ยวกับพวกเขาดูเหมือนว่าแบบจำลองอุปสรรค์ไม่ใช่แบบจำลองที่แท้จริงต่อพวกเขากำลังทำการวิเคราะห์สองแบบที่ต่างกันตามลำดับ ก่อนอื่นการถดถอยแบบลอจิสติกจะทำนายว่าค่านั้นเป็นค่าบวกกับศูนย์หรือไม่ ประการที่สองการถดถอยปัวซองที่ไม่มีการตัดทอนด้วยการรวมกรณีที่ไม่เป็นศูนย์เท่านั้น ขั้นตอนที่สองนี้รู้สึกผิดกับฉันเพราะเป็น (ก) ทิ้งข้อมูลที่ดีอย่างสมบูรณ์แบบซึ่ง (b) อาจนำไปสู่ปัญหาด้านพลังงานเนื่องจากข้อมูลส่วนใหญ่เป็นศูนย์และ (c) ไม่ใช่ "แบบจำลอง" ในตัวของมันเอง แต่เพียงแค่เรียกใช้สองรุ่นที่แตกต่างกันตามลำดับ
ดังนั้นฉันจึงลอง "แบบจำลองอุปสรรค์" กับเพิ่งใช้การถดถอยแบบโลจิสติกและศูนย์ที่ถูกตัดทอนแยกต่างหาก พวกเขาให้คำตอบที่เหมือนกัน (ฉันจะย่อเอาท์พุทเพื่อประโยชน์ของความกะทัดรัด):
> # hurdle output
> summary(pscl::hurdle(y ~ x))
Count model coefficients (truncated poisson with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5182 0.3597 -1.441 0.1497
x 0.7180 0.2834 2.533 0.0113 *
Zero hurdle model coefficients (binomial with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7772 0.2400 -3.238 0.001204 **
x 1.1173 0.2945 3.794 0.000148 ***
> # separate models output
> summary(VGAM::vglm(y[y > 0] ~ x[y > 0], family = pospoisson()))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5182 0.3597 -1.441 0.1497
x[y > 0] 0.7180 0.2834 2.533 0.0113 *
> summary(glm(I(y == 0) ~ x, family = binomial))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.7772 0.2400 3.238 0.001204 **
x -1.1173 0.2945 -3.794 0.000148 ***
---
สิ่งนี้ดูเหมือนกับฉันเนื่องจากการแสดงทางคณิตศาสตร์หลายแบบรวมถึงความน่าจะเป็นที่การสังเกตนั้นไม่เป็นศูนย์ในการประมาณจำนวนคดีที่เป็นบวก แต่โมเดลที่ฉันวิ่งไปด้านบนนั้นไม่สนใจสิ่งใดเลย ตัวอย่างเช่นนี่คือจากบทที่ 5 หน้า 128 ของโมเดลเชิงเส้นทั่วไปของ Smithson & Merkle สำหรับตัวแปรที่ขึ้นอยู่กับหมวดหมู่และ จำกัด อย่างต่อเนื่อง :
... ประการที่สองความน่าจะเป็นที่ถือว่าค่าใด ๆ (ศูนย์และจำนวนเต็มบวก) ต้องเท่ากับหนึ่ง ไม่รับประกันในสมการ (5.33) เพื่อจัดการกับปัญหานี้เราคูณน่าจะเป็น Poisson โดย Bernoulli น่าจะประสบความสำเร็จ\ ปัญหาเหล่านี้ต้องการให้เราแสดงโมเดลตัวกีดขวางด้านบนในรูปแบบ โดยที่ , ,π
π =Loกรัมฉันที-1(Zγ)xZ β γเป็นโควาเรียตสำหรับโมเดลปัวซองคือโควาเรียตสำหรับโมเดลการถดถอยโลจิสติกและและเป็นค่าสัมประสิทธิ์การถดถอยตามลำดับ ... .
โดยการทำทั้งสองแบบแยกจากกันโดยสิ้นเชิง - ซึ่งดูเหมือนจะเป็นสิ่งที่แบบจำลองอุปสรรค์ทำ - ฉันไม่เห็นว่ารวมอยู่ในการทำนายของจำนวนคดีที่เป็นบวก แต่จากวิธีที่ฉันสามารถจำลองฟังก์ชันได้โดยใช้รุ่นที่แตกต่างกันสองรุ่นฉันไม่เห็นว่ามีบทบาทใน Poisson ที่ถูกตัดทอน การถดถอยทั้งหมดhurdle
ฉันเข้าใจโมเดลอุปสรรค์อย่างถูกต้องหรือไม่? ดูเหมือนว่าพวกเขาสองคนกำลังรันโมเดลเรียงตามลำดับสองแบบ: อันดับแรกโลจิสติกส์ ประการที่สอง Poisson สมบูรณ์ละเว้นกรณีที่0 ฉันอยากจะขอบคุณถ้ามีคนสามารถล้างขึ้นความสับสนของฉันกับธุรกิจ
หากฉันถูกต้องว่านั่นคือสิ่งที่แบบจำลองอุปสรรค์อะไรคือความหมายของรูปแบบ "อุปสรรค์" โดยทั่วไปมากขึ้น? ลองนึกภาพสองสถานการณ์ที่แตกต่าง:
ลองนึกภาพการสร้างแบบจำลองความสามารถในการแข่งขันของเผ่าพันธุ์เลือกโดยดูจากคะแนนการแข่งขัน (1 - (สัดส่วนของผู้ชนะในการโหวต - สัดส่วนการโหวตของนักวิ่งขึ้น) นี่คือ [0, 1) เนื่องจากไม่มีความสัมพันธ์ (เช่น 1) แบบจำลองอุปสรรค์ทำให้รู้สึกที่นี่เพราะมีกระบวนการหนึ่ง (a) การเลือกตั้งไม่มีใครโต้แย้ง? และ (b) ถ้าไม่ใช่ก็เป็นสิ่งที่สามารถแข่งขันได้ ดังนั้นก่อนอื่นเราทำการถดถอยโลจิสติกเพื่อวิเคราะห์ 0 เทียบกับ (0, 1) จากนั้นเราทำการถดถอยเบต้าเพื่อวิเคราะห์กรณี (0, 1)
ลองนึกภาพการศึกษาทางจิตวิทยาทั่วไป การตอบสนองคือ [1, 7] เหมือนมาตราส่วน Likert แบบดั้งเดิมโดยมีเอฟเฟกต์เพดานขนาดใหญ่ที่ 7 เราสามารถทำแบบจำลองอุปสรรค์นั่นคือการถดถอยแบบลอจิสติกของ [1, 7) กับ 7 และจากนั้นก็ถดถอย Tobit สำหรับทุกกรณี คำตอบที่สังเกตได้คือ <7
มันจะปลอดภัยไหมที่จะเรียกทั้งสองแบบว่า "อุปสรรค์" ในสถานการณ์เหล่านี้แม้ว่าฉันจะประเมินพวกมันด้วยสองซีเควนเชียลต่อเนื่อง (โลจิสติกแล้วเบต้าในกรณีแรกโลจิสติกแล้ว Tobit ในวินาที)
pscl::hurdle
แต่ดูเหมือนกันในสมการ 5 ที่นี่: cran.r-project.org/web/packages/pscl/vignettes/countreg.pdfหรือบางทีฉันอาจ ยังขาดสิ่งพื้นฐานที่จะทำให้คลิกสำหรับฉัน
hurdle()
ซึ่งเป็นค่าเริ่มต้นใน ในคู่ของเรา / บทความสั้น ๆ เราพยายามเน้นการสร้างแบบทั่วไปมากขึ้น