เปรียบเทียบแบบผสมเอฟเฟกต์และเอฟเฟกต์คงที่ (การทดสอบความสำคัญของเอฟเฟกต์แบบสุ่ม)


10

ให้สามตัวแปรyและxซึ่งเป็นบวกอย่างต่อเนื่องและzซึ่งเป็นเด็ดขาดฉันมีสองรูปแบบผู้สมัครที่กำหนดโดย:

fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )

และ

fit.fe <- lm( y ~ 1 + x )

ฉันหวังว่าจะเปรียบเทียบแบบจำลองเหล่านี้เพื่อพิจารณาว่าแบบจำลองใดเหมาะสมกว่า ดูเหมือนว่าผมว่าในความรู้สึกบางอย่างฝังอยู่ในfit.fe fit.meโดยทั่วไปเมื่อสถานการณ์ทั่วไปนี้มีการทดสอบแบบไคสแควร์สามารถทำได้ ในRเราสามารถทำการทดสอบนี้ด้วยคำสั่งดังต่อไปนี้

anova(fit.fe,fit.me)

เมื่อทั้งสองรุ่นมีเอฟเฟกต์แบบสุ่ม (สร้างโดยlmerจากlme4แพ็คเกจ) anova()คำสั่งทำงานได้ดี เนื่องจากโดยทั่วไปแล้วจะแนะนำให้ทดสอบสถิติ Chi-Square ผ่านการจำลองอย่างไรก็ตามเรายังสามารถใช้สถิติในขั้นตอนการจำลองได้

เมื่อทั้งสองรุ่นมีเอฟเฟกต์ถาวรเท่านั้นวิธีการนี้ --- และanova()คำสั่งที่เกี่ยวข้อง--- ทำงานได้ดี

แต่เมื่อรุ่นหนึ่งที่มีผลกระทบสุ่มและรูปแบบที่ลดลงมีเพียงผลกระทบคงที่ในขณะที่สถานการณ์ข้างต้นanova()คำสั่งไม่ทำงาน

โดยเฉพาะอย่างยิ่งฉันได้รับข้อผิดพลาดต่อไปนี้:

 > anova(fit.fe, fit.me)
 Error: $ operator not defined for this S4 class

มีอะไรผิดปกติหรือไม่หากใช้วิธี Chi-Square จากด้านบน (พร้อมการจำลอง) หรือนี่เป็นเพียงปัญหาของการanova()ไม่รู้วิธีจัดการกับตัวแบบเชิงเส้นที่เกิดจากฟังก์ชั่นต่าง ๆ หรือไม่?

กล่าวอีกนัยหนึ่งการสร้างสถิติ Chi-Square ด้วยตนเองนั้นมาจากแบบจำลองด้วยตนเองหรือไม่ ถ้าเป็นเช่นนั้นระดับของเสรีภาพที่เหมาะสมสำหรับการเปรียบเทียบแบบจำลองเหล่านี้คืออะไร? โดยการคำนวณของฉัน:

F=((SSEreducedSSEfull)/(pk))((SSEfull)/(np1))Fpk,np1

เรากำลังประเมินสองพารามิเตอร์ในโมเดลผลกระทบคงที่ (ความชันและจุดตัด) และอีกสองพารามิเตอร์ (พารามิเตอร์ความแปรปรวนสำหรับความชันแบบสุ่มและจุดตัดแบบสุ่ม) ในโมเดลผสมผลกระทบ โดยทั่วไปแล้วพารามิเตอร์สกัดกั้นไม่ได้ถูกนับในการคำนวณองศาอิสระดังนั้นนั่นหมายความว่าและ ; ต้องบอกว่าฉันไม่แน่ใจว่าควรรวมพารามิเตอร์ความแปรปรวนสำหรับพารามิเตอร์สุ่มเอฟเฟ็กต์ในการคำนวณอิสระหรือไม่ การประมาณค่าความแปรปรวนสำหรับพารามิเตอร์เอฟเฟกต์คงที่ไม่ได้ถูกพิจารณาแต่ฉันเชื่อว่าเป็นเพราะการประมาณค่าพารามิเตอร์สำหรับเอฟเฟกต์คงที่จะถือว่าเป็นค่าคงที่ที่ไม่รู้จักในขณะที่พวกเขาถูกพิจารณาว่าเป็นตัวแปรสุ่มที่ไม่รู้จักk=1p=k+2=3สำหรับผลผสม ฉันขอขอบคุณความช่วยเหลือเกี่ยวกับปัญหานี้

ในที่สุดใครบ้างมีวิธีที่เหมาะสมกว่า ( R- ตาม) การเปรียบเทียบแบบจำลองเหล่านี้หรือไม่


4
หากคุณแทนที่lm()ด้วยgls()จากnlmeแพคเกจและlmer()ด้วยlme()(อีกครั้งจากnlmeแพคเกจ) ทุกอย่างจะทำงานได้ดี แต่โปรดทราบว่าคุณจะได้รับการทดสอบแบบอนุรักษ์นิยม (ค่าpใหญ่เกินไป) เนื่องจากพารามิเตอร์สำหรับโมเดลที่ง่ายกว่านั้นอยู่บนขอบเขตของพื้นที่พารามิเตอร์ และการเลือกว่าจะรวมเอฟเฟกต์แบบสุ่มควรขึ้นอยู่กับทฤษฎี (เช่นแผนการสุ่มตัวอย่าง) ไม่ใช่การทดสอบทางสถิติ
Karl Ove Hufthammer

1
คุณต้องการทำอะไรกับโมเดลนี้? แบบจำลองหนึ่งอาจดีกว่าสำหรับวัตถุประสงค์บางอย่างและรุ่นอื่นดีกว่าสำหรับวัตถุประสงค์อื่น แบบจำลองทั้งหมดไม่ถูกต้องดังนั้นคำถามไม่ใช่แบบจำลองที่ถูกต้อง แต่มีประโยชน์มากกว่าสำหรับปัญหาเฉพาะของคุณ
Kodiologist

1
@Kodiologist โดยทั่วไปฉันต้องการตรวจสอบให้แน่ใจว่าการประมาณค่าพารามิเตอร์สำหรับเอฟเฟกต์คงที่นั้นเชื่อถือได้ ข้อผิดพลาดมาตรฐานซึ่งอาจไม่น่าเชื่อถือหากการสังเกตนั้นถือว่าเป็นอิสระ นอกจากนี้มันจะเป็นการดีถ้าจะให้แถลงการณ์ว่าตัวแปรสุ่มเอฟเฟกต์เป็นอย่างไร แต่ฉันคิดว่ามันไม่สำคัญเท่าไหร่
user9171

2
@ user9171 วิธีที่ดีในการตรวจสอบความเสถียร (ความน่าเชื่อถือ) ในการประมาณค่าพารามิเตอร์ของรุ่นคือการใช้การบูตสแตรป กราฟการกระจาย bootstrap สำหรับแต่ละพารามิเตอร์ที่ทั้งสองโมเดลแบ่งปันด้วยหนึ่งกราฟต่อพารามิเตอร์และโมเดล การกระจายที่เข้มงวดยิ่งขึ้นบ่งบอกถึงเสถียรภาพที่สูงขึ้น คุณอาจจะพบว่าแบบจำลองที่ง่ายกว่าให้การประมาณที่มีความเสถียรมากกว่าเนื่องจากพารามิเตอร์ที่น้อยลงทำให้การประมาณค่าที่แม่นยำยิ่งขึ้นของแต่ละพารามิเตอร์
Kodiologist

คำตอบ:


6

ในทางเทคนิคคุณสามารถทำให้มันทำงานได้โดยเพียงแค่เปลี่ยนลำดับของพารามิเตอร์:

> anova(fit.me, fit.fe) 

จะทำงานได้ดี หากคุณผ่านวัตถุที่สร้างขึ้นโดยlmerแรกanova.merModจะถูกเรียกแทนanova.lm(ซึ่งไม่ทราบวิธีจัดการกับlmerวัตถุ) ดู:

?anova.merMod

แม้ว่าการเลือกรูปแบบผสมหรือแบบจำลองคงที่เป็นตัวเลือกการสร้างแบบจำลองที่ต้องคำนึงถึงการออกแบบการทดลองไม่ใช่ปัญหาในการเลือกรูปแบบ ดูที่https://bbolker.github.io/mixedmodels-misc/glmmFAQ.htmlของ @B BenBolker สำหรับรายละเอียดเพิ่มเติม:

พิจารณาไม่ได้ทดสอบอย่างมีนัยสำคัญของผลการสุ่ม


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