วิธีการใช้รูปแบบผสมโดยใช้ฟังก์ชั่น betareg ใน R?


12

ฉันมีชุดข้อมูลประกอบด้วยสัดส่วนที่วัด "ระดับกิจกรรม" ของลูกอ๊อดแต่ละตัวดังนั้นจึงทำให้ค่าที่ผูกไว้ระหว่าง 0 และ 1 ข้อมูลนี้ถูกรวบรวมโดยการนับจำนวนครั้งที่บุคคลย้ายภายในช่วงเวลาหนึ่ง (1 สำหรับการเคลื่อนไหว 0 สำหรับไม่มีการเคลื่อนไหว) จากนั้นค่าเฉลี่ยเพื่อสร้างหนึ่งค่าต่อบุคคล ผลกระทบคงที่หลักของฉันคือ "ระดับความหนาแน่น"

ปัญหาที่ฉันเผชิญคือว่าฉันมีตัวแปรปัจจัย "บ่อน้ำ" ที่ฉันต้องการรวมไว้เป็นเอฟเฟกต์แบบสุ่ม - ฉันไม่สนใจความแตกต่างระหว่างบ่อน้ำ แต่ต้องการที่จะอธิบายถึงสถิติเหล่านั้น ประเด็นสำคัญอย่างหนึ่งเกี่ยวกับบ่อน้ำคือฉันมีเพียง 3 แห่งเท่านั้นและฉันเข้าใจว่ามันเป็นอุดมคติที่จะมีระดับปัจจัยมากกว่า (5+) เมื่อจัดการกับเอฟเฟกต์แบบสุ่ม

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

ในบันทึกที่เกี่ยวข้องฉันสงสัยว่าถ้าฉันสามารถใช้glm()ภายใต้ตระกูลทวินามและลิงค์ logit แทนการทำบัญชีสุ่มเอฟเฟ็กต์กับข้อมูลประเภทนี้


ไม่คุณไม่สามารถรวมเงื่อนไขข้อผิดพลาดใน glm () logit เปลี่ยนการตอบสนองของคุณและพิจารณาแบบผสมเชิงเส้นอย่างไร
utobi

@utobi ขอบคุณฉันจะลองทำดู ดังนั้นคุณไม่มีข้อสงสัยว่าจะมีเอฟเฟกต์แบบสุ่มเพียง 3 ระดับหรือไม่
Kat Y

ฉันไม่ทราบความหมายของตัวแปร "สระน้ำ" ของคุณ แต่ถ้าคุณมีมาตรการซ้ำกัน ในกรณีที่คุณไม่มีมาตรการซ้ำกันการสุ่มเทียบกับที่นี่เป็นการอภิปรายแบบเปิด เอฟเฟกต์แบบสุ่มสามระดับอาจโอเคในหลักการความแปรปรวนของพวกมันสามารถประมาณได้ ฉันแนะนำให้คุณตรวจสอบวรรณกรรมในสาขาของคุณ เป็นหนังสือที่ดีซึ่งกล่าวถึงเกี่ยวกับการสุ่มเทียบกับผลกระทบคงเป็นstat.columbia.edu/~gelman/arm
utobi

1
@utobi ขอบคุณสำหรับคำแนะนำของคุณ มันเป็นประโยชน์ ฉันจะดูหนังสือเล่มนั้น! ฉันลงเอยด้วยการแปลงโลจิทและใช้ lmer ()
Kat Y

ลองดูคำตอบนี้stats.stackexchange.com/questions/167340/…
Diogo B Provete

คำตอบ:


11

ความสามารถในปัจจุบันของbetaregไม่รวมถึงการสุ่ม / ผสมผลกระทบ ในbetareg()คุณสามารถรวมเอฟเฟกต์คงที่เท่านั้นเช่นสำหรับตัวแปรบ่อสามระดับของคุณ betamix()ดำเนินฟังก์ชั่น จำกัดส่วนผสมถดถอยเบต้าไม่ผสมผลกระทบถดถอยเบต้า

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

ในที่สุดขณะที่glm()ไม่สนับสนุนการถดถอยเบต้า แต่ในmgcvแพคเกจมีbetar()ครอบครัวที่สามารถใช้กับgam()ฟังก์ชั่น


ขอบคุณสำหรับข้อมูลของคุณ คุณชี้แจงบางแง่มุมของฟังก์ชั่นการพนัน ณ จุดนี้ฉันได้รับคำแนะนำของ @utobi แล้วและทำการแปลง logit เพื่อที่ฉันจะได้ใช้ lmer () ฉันจะดูเป็น gam () เนื่องจากชุดข้อมูลถัดไปของฉันถูกผูกไว้ระหว่าง 0 และ 1 และฉันไม่สามารถทำให้การกระจายแบบปกติผ่านการแปลงเป็นรูปเป็นร่างได้ :)
Kat Y

1
ฉันคาดหวังว่าวิธีการจะให้ผลลัพธ์ที่คล้ายกัน แต่ก็มีความแตกต่างจากที่คุณสามารถเรียนรู้บางสิ่งบางอย่าง ดังนั้นผมจึงอยากจะแนะนำให้ลองทั้งสามคือbetaregมีผลกระทบคง logit-เปลี่ยนlmerที่มีผลกระทบแบบสุ่มและมีgam betar(และเช่นกัน: หากคำตอบมีประโยชน์ให้พิจารณาการถอนหรือยอมรับคำตอบนั้น)
Achim Zeileis

15

แพ็คเกจglmmTMBอาจมีประโยชน์สำหรับทุกคนที่มีคำถามคล้ายกัน ตัวอย่างเช่นหากคุณต้องการรวมสระจากคำถามข้างต้นเป็นผลแบบสุ่มรหัสต่อไปนี้จะทำเคล็ดลับ:

glmmTMB(y ~ 1 + (1|pond), df, family=list(family="beta",link="logit"))

ยินดีต้อนรับสู่ประวัติย่อ ขอขอบคุณสำหรับการสนับสนุนของคุณ. นี่เป็นความเห็นมากกว่าคำตอบ คุณช่วยขยายคำตอบหน่อยได้ไหม?
Ferdi

ขออภัยในความล่าช้าฉันไม่เห็นความคิดเห็นทันที หวังว่าจะช่วย
Kori K

3

สิ่งนี้เริ่มเป็นความเห็น แต่ใช้เวลานาน ฉันไม่คิดว่ารูปแบบเอฟเฟกต์แบบสุ่มเหมาะสมที่นี่ มีเพียง 3 บ่อ - คุณต้องการประเมินความแปรปรวนจากตัวเลข 3 ตัวหรือไม่? นั่นเป็นสิ่งที่เกิดขึ้นกับโมเดลเอฟเฟกต์แบบสุ่ม ฉันเดาว่าบ่อได้รับเลือกจากเหตุผลของความสะดวกในการทำวิจัยและไม่ใช่แบบสุ่มของ "Ponds of the Americas"

ข้อดีของแบบจำลองเอฟเฟกต์แบบสุ่มคือช่วยให้คุณสร้างช่วงความมั่นใจในการตอบสนอง (ระดับกิจกรรม) ที่นำการเปลี่ยนแปลงรูปแบบของสระน้ำไปใช้ในบ่อ แบบจำลองเอฟเฟกต์คงที่ - กล่าวอีกอย่างหนึ่งคือการรักษาบ่อน้ำเหมือนบล็อก - ปรับการตอบสนองของเอฟเฟกต์สระ หากมีผลการรักษาเพิ่มเติมบางอย่าง - พูดว่ากบสองสายพันธุ์ในแต่ละบ่อ - การปิดกั้นช่วยลดความคลาดเคลื่อนกำลังสองเฉลี่ย (ส่วนของการทดสอบ F) และช่วยให้ผลของการรักษาส่องประกายออกมา

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

โปรดจำไว้ว่าการใช้โมเดลเอฟเฟกต์แบบสุ่มใด ๆ ที่นี่จะเป็นการประเมินความไม่น่าเชื่อถืออย่างมากสำหรับความแปรปรวนของบ่อและต้องใช้ด้วยความระมัดระวัง

แต่สำหรับคำถามเดิมของคุณ - ปัญหาอัตรานี้ไม่ได้อีกแล้วใช่ไหม การกระจายไปสู่สำหรับเหตุการณ์ต่อหน่วยคือปัวซอง ดังนั้นคุณสามารถทำการปัวซองถดถอยได้โดยใช้การนับด้วยช่วงเวลาเป็นออฟเซ็ต

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