การสร้างแบบจำลองผลกระทบเชิงเส้นผสมกับข้อมูลการศึกษาคู่


14

สมมติว่าฉันมีตัวแปรตอบสนองบางอย่างที่วัดจากพี่น้องคนที่ในครอบครัวที่นอกจากนี้ข้อมูลพฤติกรรมบางอย่างถูกรวบรวมในเวลาเดียวกันจากแต่ละเรื่อง ฉันพยายามวิเคราะห์สถานการณ์ด้วยโมเดลผสมผลกระทบเชิงเส้นต่อไปนี้: j ฉันx ฉันjyijjixij

yij=α0+α1xij+δ1ixij+εij

โดยที่และเป็นจุดตัดและความชันคงที่ตามลำดับ คือความชันแบบสุ่มและคือส่วนที่เหลือα 1 δ 1 i ε i jα0α1δ1iεij

สมมติฐานสำหรับผลกระทบแบบสุ่มและส่วนที่เหลือคือ (สมมติว่ามีพี่น้องเพียงสองคนเท่านั้นในแต่ละครอบครัว) ε ฉันjδ1iεij

δ1idN(0,τ2)(εi1,εi2)TdN((0,0)T,R)

โดยที่เป็นพารามิเตอร์แปรปรวนที่ไม่รู้จักและโครงสร้างความแปรปรวนร่วม - ความแปรปรวนร่วมเป็นเมทริกซ์สมมาตรแบบ 2 x 2 ของแบบฟอร์ม Rτ2R

(r12r122r122r22)

นั่นคือรูปแบบความสัมพันธ์ระหว่างพี่น้องสองคน

  1. นี่เป็นรูปแบบที่เหมาะสมสำหรับการศึกษาแบบพี่น้องหรือไม่?

  2. ข้อมูลมีความซับซ้อนเล็กน้อย ในบรรดา 50 ครอบครัวใกล้เคียงกับ 90% ของพวกเขาเป็นฝาแฝด dizygotic (DZ) สำหรับครอบครัวที่เหลือ

    1. สองคนมีพี่น้องเพียงคนเดียว
    2. สองมีหนึ่งคู่ DZ บวกหนึ่งพี่น้อง และ
    3. สองมีคู่ DZ หนึ่งคู่บวกกับพี่น้องอีกสองคน


    ฉันเชื่อlmeในแพคเกจ R nlmeสามารถจัดการ (1) กับสถานการณ์ที่ขาดหายไปหรือไม่สมดุลได้อย่างง่ายดาย ปัญหาของฉันคือวิธีจัดการกับ (2) และ (3)? ความเป็นไปได้อย่างหนึ่งที่ฉันคิดได้คือแบ่งครอบครัวทั้งสี่ใน (2) และ (3) ออกเป็นสองครอบครัวเพื่อให้แต่ละครอบครัวย่อยจะมีพี่น้องหนึ่งหรือสองคน สบายดีไหม อีกทางเลือกหนึ่งคือการทิ้งข้อมูลจากพี่น้องหนึ่งหรือสองคนใน (2) และ (3) ซึ่งดูเหมือนจะเป็นการสิ้นเปลือง มีวิธีใดที่ดีกว่านี้?

  3. ดูเหมือนว่าlmeจะช่วยให้เราสามารถแก้ไขค่าในเมทริกซ์ความแปรปรวนที่เหลือ - ความแปรปรวนร่วมตัวอย่างเช่น = 0.5 มันสมเหตุสมผลหรือไม่ที่จะกำหนดโครงสร้างความสัมพันธ์หรือฉันควรประมาณมันจากข้อมูล?R r 2 12rRr122


1
อะไรแสดงว่า? xj
มาโคร

@Macro: ขอบคุณที่จำได้ เพิ่งแก้ไข OP เพื่อระบุว่าเป็นตัวแปรอธิบายการวัดพฤติกรรมจากพี่น้องแต่ละคน xij
bluepole

1
คำถามและแอปพลิเคชั่นที่น่าสนใจมาก ฉันอาจจะหายไปบางสิ่งบางอย่าง แต่ดูเหมือนว่าสำหรับฉันรุ่นนี้มีการกำหนดพารามิเตอร์มากเกินไป ข้อผิดพลาดที่มีลักษณะร่วมกันสามารถมีประสิทธิภาพเป็นปัจจัยเป็นองค์ประกอบที่ "ยกเลิกการแชร์" และ "สาธารณะ" องค์ประกอบหลังที่มีฟังก์ชั่นเดียวกับ{} คุณจะต้องลบสร้างข้อผิดพลาดของหรือกำหนดข้อ จำกัด เช่นสำหรับการระบุตัวตน - คุณกำลังทำเช่นนั้นเพื่อแยกส่วนประกอบด้านสิ่งแวดล้อม / พันธุกรรม เพื่อพี่น้องสัมพันธ์? δ 0 ฉัน δ 0 ฉัน ε R 2 12 =0.5ϵi1,ϵi2δ0iδ0iϵr122=.5
มาโคร

@Macro: ถูกต้อง:ไม่จำเป็นในแบบจำลอง ขอบคุณที่ชี้นำสิ่งนี้! แปลกไม่บ่นเกี่ยวกับความซ้ำซ้อนดังกล่าว δ0ilme
bluepole

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

คำตอบ:


10

คุณสามารถรวมฝาแฝดและไม่ฝาแฝดในโมเดลรวมโดยใช้ตัวแปรดัมมี่และรวมถึงการสุ่มลาดในตัวแปรดัมมี่ เนื่องจากทุกครอบครัวมีคู่แฝดได้มากที่สุดชุดหนึ่งนี่จึงค่อนข้างง่าย:

ให้ถ้าพี่น้องในครอบครัวเป็น twin และ 0 เป็นอย่างอื่น ฉันสมมติว่าคุณต้องการให้ความชันแบบสุ่มแตกต่างกันไปสำหรับฝาแฝดกับพี่น้องทั่วไป - ถ้าไม่อย่าใส่คำว่าในแบบจำลองด้านล่างAij=1jiηi3

จากนั้นให้พอดีกับรูปแบบ:

yij=α0+α1xij+ηi0+ηi1Aij+ηi2xij+ηi3xijAij+εij
  • α0,α1เป็นเอฟเฟกต์คงที่เช่นเดียวกับในสของคุณ

  • η ฉัน1 ฉันJ = 1ηi0คือเอฟเฟกต์แบบสุ่ม 'พื้นฐาน' และเป็นเอฟเฟกต์แบบสุ่มเพิ่มเติมที่ช่วยให้ฝาแฝดมีความคล้ายคลึงกันมากกว่าพี่น้องทั่วไป ขนาดของความแปรปรวนของเอฟเฟกต์แบบสุ่มที่สอดคล้องกันจะคำนวณปริมาณของพี่น้องที่คล้ายคลึงกันและจำนวนฝาแฝดที่คล้ายกันนั้นมีจำนวนมากกว่าพี่น้องทั่วไป โปรดทราบว่าทั้งคู่แฝดและคู่ที่ไม่ใช่คู่มีความโดดเด่นโดยรุ่นนี้ - ความสัมพันธ์คู่จะถูกคำนวณโดยการรวมผลกระทบแบบสุ่มอย่างเหมาะสม (เสียบ )ηi1Aij=1

  • η ฉัน3 x ฉันเจηi2และมีบทบาทคล้ายกันเพียงพวกเขาทำหน้าที่เป็นลาดสุ่มของηi3xij

  • εijเป็นเงื่อนไขข้อผิดพลาดของ iid - โปรดทราบว่าฉันได้เขียนแบบจำลองของคุณแตกต่างกันเล็กน้อยในแง่ของการดักจับแบบสุ่มมากกว่าข้อผิดพลาดที่สัมพันธ์กัน

คุณสามารถเหมาะสมกับรูปแบบโดยใช้แพคเกจR lme4ในรหัสด้านล่างตัวแปรตามคือตัวแปรyดัมมี่คือAตัวทำนายคือxผลิตภัณฑ์ของตัวแปรดัมมี่และตัวทำนายคือAxและfamIDเป็นหมายเลขตัวบ่งชี้สำหรับตระกูล ข้อมูลของคุณจะถูกจัดเก็บในกรอบข้อมูลDโดยมีตัวแปรเหล่านี้เป็นคอลัมน์

library(lme4) 
g <- lmer(y ~ x + (1+A+x+Ax|famID), data=D) 

summary(g)ตัวแปรที่มีผลสุ่มและประมาณการผลกระทบคงสามารถดูได้โดยการพิมพ์ โปรดทราบว่ารุ่นนี้อนุญาตให้เอฟเฟกต์แบบสุ่มมีความสัมพันธ์อย่างอิสระซึ่งกันและกัน

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

g <- lmer(y ~ x + (1|famID) + (A-1|famID) + (x-1|famID) +(Ax-1|famID), data=D) 

นี่เป็นทางออกที่ดีและฉันชอบ! จะลองเร็ว ๆ นี้และดูว่ามันจะไป ... ขอบคุณมาก!
bluepole

ไม่เป็นไร หากคุณพบว่าวิธีการแก้ปัญหานี้เป็นประโยชน์โปรดพิจารณายอมรับคำตอบ :)
มาโคร

สองประเด็น: 1) เนื่องจากวิชาส่วนใหญ่เป็นฝาแฝด dizygotic วิธีการของคุณดูเหมือนจะไม่สร้างความสัมพันธ์ระหว่างคู่แฝด DZ 2) มีเพียง 4 ครอบครัวเท่านั้นที่มีพี่น้องเพิ่ม ฉันกังวลว่าจะเป็นการยากที่จะประมาณค่าเอฟเฟกต์แบบสุ่มสำหรับพี่น้องโดยอ้างอิงจาก 4 ครอบครัวเหล่านั้นเท่านั้น เนื่องจากความแตกต่างระหว่างคู่แฝด DZ กับพี่น้องคนอื่นนั้นค่อนข้างเล็ก (ส่วนใหญ่เป็นสิ่งแวดล้อมไม่ใช่พันธุกรรม) บางทีฉันอาจจะมองข้ามความแตกต่างเล็กน้อยของคู่แฝดกับพี่น้อง หรือมีความสัมพันธ์กับสิ่งที่เหลืออยู่ใน OP ของฉัน
bluepole

วิธีการนี้จะสร้างแบบจำลองความสัมพันธ์ระหว่างฝาแฝด ตัวอย่างเช่นหากค่าตัวทำนายค่าเป็น 0 ดังนั้นความสัมพันธ์ระหว่างฝาแฝดคือโดยที่เป็นความแปรปรวนของตามลำดับและคือความแปรปรวนของคำที่ผิดพลาด เมื่อค่าตัวทำนายไม่ใช่ 0 นิพจน์นี้จะเกี่ยวข้องกับความแปรปรวนของเอฟเฟกต์สุ่มอีกสองแบบ σ 2 0 ,σ 2 1 ηฉัน0,ηฉัน1σ 2 ε
σ02+σ12σ02+σ12+σε2
σ02,σ12ηi0,ηi1σε2
มาโคร

คุณพูดถูกเพราะมีคู่ไม่กี่คู่ความแปรปรวนของและนั้นยากที่จะประเมิน คุณสามารถปล่อยให้พวกมันออกมา แต่คุณจะไม่สูญเสียอะไรเลยโดยใช้ตัวแบบที่ฉันแนะนำ แต่อาจจะเป็นช่วงสั้น ๆ ของการคำนวณ หากคุณเป็นเช่นนั้นคุณกำลังสมมติว่าพี่น้องที่ไม่ใช่คู่นั้นมีความเป็นอิสระ แต่คุณยังสามารถใช้การสังเกตเหล่านั้นเพื่อประเมินค่าเฉลี่ยของพารามิเตอร์ (เช่นอย่าปล่อยให้พวกเขาออกจากตัวแบบจำลอง) หรืออย่างที่คุณพูดคุณสามารถทำได้ราวกับว่าพี่น้องปกติเหมือนกับแฝดและคุณไม่จำเป็นต้องหลอกรหัสเลย η ฉัน2ηi0ηi2
มาโคร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.