วิธีจัดการกับคำเตือน“ ไม่เป็นจำนวนเต็ม” จากลบ binomial GLM อย่างไร


11

ฉันพยายามจำลองความเข้มเฉลี่ยของปรสิตที่มีผลต่อโฮสต์ใน R โดยใช้โมเดลทวินามลบ ฉันได้รับคำเตือน 50 คำขึ้นไปที่บอกว่า:

In dpois(y, mu, log = TRUE) : non-integer x = 251.529000

ฉันจะจัดการกับสิ่งนี้ได้อย่างไร รหัสของฉันมีลักษณะเช่นนี้:

mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season, data=MI.df)

1
โปรดเพิ่มตัวอย่างที่ทำซ้ำได้สำหรับคนที่จะทำงานด้วย
gung - Reinstate Monica

5
ลบทวินาม GLiM เป็นรูปแบบการนับ การตอบสนองควรจะนับ การนับตามนิยามไม่สามารถเป็นค่าเศษส่วน คุณมีค่าดังกล่าวหรือไม่
gung - Reinstate Monica

1
คุณสามารถอธิบายสิ่งที่คุณหมายถึงโดย "ความหนาแน่น" หรือไม่ คุณแบ่งจำนวนปรสิตด้วยการพูดจำนวนพื้นที่ผิวของโฮสต์หรือไม่?
gung - Reinstate Monica

1
ฉันมีข้อมูลนับ แต่ฉันต้องคำนวณค่าความเข้มเพื่ออธิบายความพยายามในการสุ่มตัวอย่างที่แตกต่างกัน ฉันเข้าใจว่าฉันต้องการข้อมูลนับที่นั่น แต่ฉันแค่สงสัยว่ามีวิธีอื่นในการทำงานกับตัวเลขที่ไม่ใช่จำนวนเต็มโดยใช้โมเดลเดียวกันหรือไม่ สำหรับความเข้มฉันแบ่งจำนวนปรสิตด้วยจำนวนโฮสต์ที่ติดเชื้อ
นาตาชา

2
@ นาตาชาอย่าทำ เป็นไปได้ยากที่วิธีที่ถูกต้องในการจัดการปัญหานี้เป็นไปตามคำตอบของ Gung โดยมีการชดเชย หากคุณต้องการความมั่นใจให้แก้ไขคำถามของคุณเพื่ออธิบายเพิ่มเติมเกี่ยวกับความหนาแน่นของการสุ่มตัวอย่างที่ต่างกัน จำนวนโฮสต์ที่ต่างกันเหล่านี้หรือไม่ สุ่มตัวอย่างระยะเวลาที่แตกต่างกันหรือจำนวนนักสะสม?
Ben Bolker

คำตอบ:


9

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

mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season + offset(log(num.hosts)), 
                data=MI.df)

ขอบคุณ. ฉันจะลองและกลับไปบอกคุณว่าฉันทำอะไร
นาตาชา

OT: ฉันพลาดอะไรบางอย่างมันมีผลอะไรมากมายในการถดถอย?
Bakaburg

@ Bakaburg ฉันไม่สามารถบอกได้ว่าคุณหมายถึงอะไร
gung - Reinstate Monica

ส่วน "ตัวอ่อน + นางไม้ + ผู้ใหญ่ ~" ในรหัส
Bakaburg

1
@Bakaburg นี่เป็นเรื่องเกี่ยวกับวิธีการทำงานของ R นอกจากนี้ยังเป็นองค์ประกอบ การเพิ่ม 3 เวกเตอร์ช่วยให้คุณมีเวกเตอร์เดียวซึ่งแต่ละองค์ประกอบคือผลรวมของ 3 องค์ประกอบที่สอดคล้องกัน จะมีตัวแปรหลายการตอบสนองใน LHS ของสูตร R cbind()ที่คุณจำเป็นต้องใช้
gung - Reinstate Monica

4

มันเป็นคำเตือนไม่ใช่ข้อผิดพลาดร้ายแรง glm.nb () คาดว่าจะนับเป็นตัวแปรผลลัพธ์ของคุณซึ่งเป็นจำนวนเต็ม ข้อมูลของคุณไม่ใช่จำนวนเต็ม: 251.529

R กำลังพูดว่า "อืม ... คุณอาจต้องการตรวจสอบเรื่องนี้และตรวจสอบให้แน่ใจว่ามันใช้ได้เพราะอาจไม่ถูกต้อง" หากหน่วยความจำของฉันถูกต้อง SPSS จะไม่เตือนเช่นนั้น

หากคุณแน่ใจว่าคุณกำลังใช้โมเดลที่ถูกต้องแม้ว่าคุณจะไม่มีจำนวนเต็มก็ตามให้เพิกเฉยต่อไปและทำต่อไป


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

1
วิธีการระงับคำเตือนอธิบายไว้ที่นี่: stackoverflow.com/questions/16194212/…
kjetil b halvorsen

-2

ฉันเป็นนักนิเวศวิทยาทางนิเวศวิทยา .. วิธีที่คุณควรจัดการสิ่งนี้คือการผูกโฮสต์ที่ถูกเบียนและสิ่งที่ไม่ถูกแล้วใช้การกระจายแบบทวินาม .. ดูรหัสด้านล่าง

ฉันยังไม่เคยใช้ glm w / ตัวแปร y มากกว่าหนึ่งตัว .. ดังนั้นสมมติว่าคุณต้องการดูตัวอ่อนที่มีพยาธิ: คุณจะมีจำนวนตัวอ่อนที่แข็งแรงและ # ที่ถูกเบียน

ให้พูดว่า: Lh และ Lp

ตัวอย่างเช่น

parasitizedL = cbind (Lp, Lh) hist (parasitized) # ฉันเดาว่าคุณสามารถใช้การแจกแจงแบบทวินามปกติด้วย w / glm .. และอาจไม่จำเป็นต้องใช้รูปแบบ neg.binomial PLarvae1 = glm (parasitizedL ~ B.type + เดือน + ฤดูกาล) ครอบครัว = ทวินามข้อมูล = MI.df)

จากนั้นทำการลดแบบจำลองตามขั้นตอนเพื่อดูว่าปัจจัยใดของคุณที่มีผลกระทบต่อปรสิตอย่างมีนัยสำคัญ ... ดูลิงค์ด้านล่าง

http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html

อย่างไรก็ตามดูเหมือนว่าคุณจะต้องมีเอฟเฟกต์แบบสุ่มในการสุ่มตัวอย่างซ้ำ ๆ ดังนั้นโอกาสที่เอฟเฟกต์แบบสุ่มของคุณจะเป็น (1 | ฤดูกาล / เดือน) ... แต่ยากที่จะบอกว่าไม่มีข้อมูลของคุณ

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