การทำนายเกี่ยวกับโมเดลเอฟเฟกต์ผสม: จะทำอย่างไรกับเอฟเฟกต์แบบสุ่ม?


13

ลองพิจารณาชุดข้อมูลสมมุตินี้:

set.seed(12345)

num.subjects <- 10

dose <- rep(c(1,10,50,100), num.subjects)
subject <- rep(1:num.subjects, each=4)
group <- rep(1:2, each=num.subjects/2*4)

response <- dose*dose/10 * group + rnorm(length(dose), 50, 30)

df <- data.frame(dose=dose, response=response, 
                 subject=subject, group=group)

เราสามารถใช้lmeเพื่อจำลองการตอบสนองด้วยโมเดลเอฟเฟกต์แบบสุ่ม:

require(nlme)
model <- lme(response ~ dose + group + dose*group, 
             random = ~1|subject, df)

ฉันต้องการใช้predictกับผลลัพธ์ของโมเดลนี้เพื่อรับการตอบสนองของหัวเรื่องทั่วไปของกลุ่ม 1 ถึงปริมาณ 10:

pred <- predict(model, newdata=list(dose=10, group=1))

อย่างไรก็ตามด้วยรหัสนี้ฉันได้รับข้อผิดพลาดต่อไปนี้:

Error in predict.lme(model, newdata = list(dose = 10, group = 1)) : 
cannot evaluate groups for desired levels on 'newdata'

เพื่อกำจัดมันฉันต้องทำเช่น

pred <- predict(model, newdata=list(dose=10, group=1, subject=5))

นี้ แต่ไม่ได้จริงๆทำให้รู้สึกมากฉัน ... เรื่องที่เป็นปัจจัยที่ก่อความรำคาญในรูปแบบของฉันดังนั้นสิ่งที่รู้สึกไม่ได้มีการรวมไว้ในpredict? ถ้าฉันใส่จำนวนเรื่องไม่ได้อยู่ในชุดข้อมูลที่ผลตอบแทนpredictNA

นี่เป็นพฤติกรรมที่ต้องการสำหรับpredictในสถานการณ์นี้หรือไม่? ฉันขาดอะไรบางอย่างที่ชัดเจนจริง ๆ ?


ฉันคิดว่าคุณกำลังมองหาการตอบสนองของประชากรมากกว่าการคาดการณ์ค่าเฉลี่ย เงื่อนไขที่ไม่มีเงื่อนไขmodelจะถือว่าค่าเฉลี่ยของคุณถูกกำหนดโดย (โดยเฉพาะดังนั้นมันจะคาดหวังว่าค่าบางอย่างสำหรับพารามิเตอร์รำคาญด้วย มีบางสถานการณ์ที่อาจไม่เหมาะสมที่จะถือว่าจุดประเมินผลของคุณไม่มีลำดับชั้น (ดังนั้นไม่มี ) นั่นคือสาเหตุที่ทำให้ติดตั้ง () ให้ผลลัพธ์ที่ "รบกวน" ในตอนแรก (และที่จริงแล้วฉันไม่ทำ คิดว่ามันน่ารำคาญ แต่เป็นข้อมูลเพิ่มเติม แต่ก็โอเค ... )Xβ+ZγyN(Xβ+Zγ,σ2I)Z
usεr11852

@ user11852: เพียงเพื่อชี้แจงฉันกำลังคิดเกี่ยวกับสิ่งนี้เป็นรูปแบบที่จะใช้ตัวอย่างเช่นในกรณีของมาตรการซ้ำสำหรับหัวข้อเดียวกัน
โก้

ให้คุณกำลังมองหาการประมาณการสำหรับเรื่องเดียวกันทำไมจึงไม่รวม? หากคุณต้องการประมาณการระดับประชากร (ไม่มีข้อมูล ) เป็นคำถามที่แตกต่าง อย่างที่เกร็กกล่าวไว้ในการตอบสนองของเขาคุณจะได้รับการประเมินสำหรับประชากรหากคุณต้องการ แต่นั่นจะไม่เจาะจง Z
usεr11852

2
@ user11852: ฉันไม่ได้มองหาประมาณการในเรื่องเดียวกัน ฉันใช้มาตรการซ้ำ ๆ ในวิชาต่าง ๆ เพื่อรับค่าประมาณประชากร ฉันไม่สนใจวิชาที่ฉันทดสอบแล้วเนื่องจากฉันมีคำตอบทดลองอยู่แล้ว ... ฉันต้องการที่จะสามารถคาดเดาได้ว่าวิชาใหม่ของกลุ่มเฉพาะจะตอบสนองต่อสิ่งกระตุ้นอย่างไร คำตอบของ Greg แก้ปัญหาได้แน่นอน
โก้

คำตอบ:


17

หากคุณดูความช่วยเหลือสำหรับpredict.lmeคุณจะเห็นว่ามันมีlevelข้อโต้แย้งที่กำหนดระดับที่จะทำให้การคาดการณ์ที่ ค่าเริ่มต้นคือสูงสุดหรือต่ำสุดซึ่งหมายความว่าหากคุณไม่ได้ระบุระดับก็จะพยายามทำนายในระดับหัวเรื่อง หากคุณระบุว่าlevel=0เป็นส่วนหนึ่งของการpredictโทรครั้งแรก(ไม่รวมsubject) การโทรนั้นจะทำการคาดคะเนที่ระดับประชากรและไม่จำเป็นต้องมีหมายเลขหัวเรื่อง

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