แบบผสมจำเป็นไหม

Oct 24 2020

ฉันพบว่าวรรณกรรมที่มีอยู่ (ออนไลน์มีให้ฟรี) เกี่ยวกับแบบจำลองเชิงเส้นผสมที่ครอบคลุม แต่ซับซ้อนอย่างเต็มที่

สมมติว่าเรามีข้อมูลระยะยาว เรามีตัวแปรตาม$Y_{it}$ซึ่งจัดทำดัชนีตามเวลาและกลุ่ม ภายในกลุ่มการสังเกตเมื่อเวลาผ่านไปจะมีระดับความสัมพันธ์อัตโนมัติ (เช่นความเป็นอิสระของการสังเกตภายในกลุ่มไม่เกิดขึ้น)

นอกจากนี้ยังมีตัวแปรอิสระ $X$ซึ่งสามารถจัดทำดัชนีได้ตามเวลา $X_{t}$หรือตามกลุ่มและเวลา $X_{it}$ขึ้นอยู่กับวิธีการตั้งค่าโมเดล นอกจากนี้เราคาดหวังว่าการสกัดกั้นและความชันจะแตกต่างกันไปในแต่ละกลุ่ม

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


เพื่อให้มีบริบทมากขึ้นสมมติว่าเรากำลังพยายามประเมินวัฏจักรเศรษฐกิจ $Z_{it}$ สำหรับประเทศต่างๆ $i$ และเวลา $t$.

เพื่อทำนายสิ่งนี้ $Z_{it}$เรามีตัวทำนายสองตัว ลองจินตนาการว่านี่คือ GDP ทั่วโลกและอัตราการว่างงานของแต่ละประเทศ$i$. การวัด GDP จะแปรผันตามเวลา$t$ แต่ไม่ใช่กับประเทศ $i$เนื่องจากไม่ใช่ประเทศเฉพาะ การวัดอัตราการว่างงานจะแตกต่างกันไปตามทั้งประเทศและเวลา

เพื่อความชัดเจนยิ่งขึ้นลองจินตนาการถึงข้อมูลที่จัดเรียงไว้ในลักษณะนี้

$$\begin{array}{|c|c|c|c|c|} \hline \text{Z} & \text{Country} & \text{Date} & \text{GDP} & \text{Unemployment}\\ \hline -2.4 & A & \text{Jan } 2010 & 0.3 & 4.8\\ 2.8 & A & \text{Feb } 2010 & 0.4 & 4.9\\ 1.3 & A & \text{Mar } 2010 & 0.7 & 5.2\\ 3.1 & A & \text{Apr } 2010 & 0.8 & 4.9\\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 3.3 & B & \text{Jan } 2010 & 0.3 & 3.2\\ 1.5 & B & \text{Feb } 2010 & 0.4 & 3.1\\ -2.3 & B & \text{Mar } 2010 & 0.7 & 2.9\\ 4.0 & B & \text{Apr } 2010 & 0.8 & 2.8\\ \vdots & \vdots & \vdots & \vdots & \vdots \\ \hline \end{array}$$

ดังนั้นเราจึงเห็นว่าตัวแปร GDP นั้นเหมือนกันสำหรับแต่ละประเทศ ณ วันที่ที่กำหนด

สำหรับประเทศที่ระบุ $Z_{it}$ จะมีความสัมพันธ์โดยอัตโนมัติเพราะเราคาดหวังอย่างนั้น $Z_{i(t+1)}$ จะมีความสัมพันธ์กับ $Z_{it}$. เท่าที่ฉันเข้าใจตัวแปรประเทศจะถูกใช้เพื่อจัดกลุ่มการสังเกต GDP และตัวแปรการว่างงานจะเข้าสู่ตัวทำนายแบบไดนามิก

ดังนั้นโมเดลที่ตั้งขึ้นเช่น

lmer(Z ~ Country + GDP + Unemployment + (1 | Date), data = data)

จะให้ผลแบบสุ่มสำหรับวันที่และผลคงที่สำหรับประเทศและตัวแปรทางเศรษฐกิจ สิ่งนี้เหมาะสมหรือไม่?

ยิ่งไปกว่านั้นในการสรุปคำถามข้อดีของการใช้แบบจำลองแบบผสมนี้ต่างจากการใช้แบบจำลองเชิงเส้นอย่างง่าย

lm(Z ~ Country + GDP + Unemployment, data = data)

ในกรณีนี้?

คำตอบ

3 IsabellaGhement Oct 24 2020 at 22:54

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

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

  1. ปัจจัยการจัดกลุ่มแบบสุ่ม
  2. กลุ่มศึกษาหรือกลุ่มทดลอง.

สถานการณ์ที่ 1:สมมติว่าคุณมีการศึกษา / การทดลองที่คุณสุ่มเลือกบุคคลบางคนจากกลุ่มเป้าหมายที่คุณสนใจและวัดค่าของตัวแปรการตอบสนอง (เช่นน้ำหนักเป็นกิโลกรัม) สำหรับแต่ละคนในช่วงเวลาหลาย ๆ จุด (เช่น รายเดือนเป็นระยะเวลา 3 เดือน) ในการตั้งค่านี้บุคคลนั้นสามารถมองได้ว่าเป็นปัจจัยการจัดกลุ่มแบบสุ่มเนื่องจากจะรวมค่าการตอบกลับหลายค่าที่มาจากบุคคลเดียวกันซึ่งคาดว่าจะมีความสัมพันธ์กันเนื่องจากทั้งหมดได้รับผลกระทบจากปัจจัยภายนอกหรือภายในเดียวกันซึ่งส่งผลต่อบุคคลนั้น

สถานการณ์ที่ 2:สมมติว่าคุณมีการศึกษาที่คุณเลือกบุคคลที่มีคุณสมบัติเหมาะสมจากกลุ่มเป้าหมายที่คุณสนใจจากนั้นคุณสุ่มมอบหมายให้พวกเขาเข้ารับการรักษาใหม่ (กลุ่ม A) หรือการรักษามาตรฐาน (กลุ่ม B) หลังจากมอบหมายงานนี้คุณจะบันทึกค่าของตัวแปรตอบสนองที่สนใจ (เช่นน้ำหนักเป็นกิโลกรัม) สำหรับแต่ละคนในช่วงเวลาหลาย ๆ จุด (เช่นเดือนละครั้งเป็นระยะเวลา 3 เดือน) ในการตั้งค่านี้แต่ละคนยังสามารถมองว่าเป็นปัจจัยที่มีการจัดกลุ่มแบบสุ่ม ; กลุ่ม (A หรือ B) สามารถดูเป็นกลุ่มการศึกษาได้

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

  😊            😊            😊           😊        😊       

71,71,72      68,67,69      73,70,71     65,65,67   81,82,82

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

ตัวอย่างของตัวทำนายระดับหัวเรื่องจะเป็นเพศ ตัวทำนายนี้จะถือว่าเป็นตัวทำนายแบบคงที่เนื่องจากค่าของมันจะไม่ถูกคาดหวังว่าจะเปลี่ยนแปลงไปตามเวลาตอบสนองสำหรับบุคคลเดียวกัน

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

ตัวอย่างของตัวทำนายระดับการตอบสนองคือความดันโลหิต (หากวัดพร้อมกับน้ำหนักและคาดว่าค่าจะเปลี่ยนแปลงไปตามเวลาตอบสนอง) ทำนายการตอบสนองระดับแบบไดนามิก

ตัวอย่างของการทำนายการตอบสนองในระดับหนึ่งคือเวลาซึ่งจะเห็นได้ชัดแบบไดนามิก

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

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

หากเป็นการกำหนดซอฟต์แวร์นี่คือสิ่งที่โมเดลสำหรับ Scenario 1 อาจมีลักษณะในสูตร lmer หากซอฟต์แวร์ที่คุณเลือกคือ R:

library(lme4)

m1 <- lmer(weight ~ time + (1|subject), data = yourdata)

m2 <- lmer(weight ~ time + (1 + time|subject), data = yourdata)

แบบจำลองแรก m1 ตั้งสมมติฐานว่าน้ำหนักจะเพิ่มขึ้นในอัตราเชิงเส้นเดียวกันสำหรับแต่ละคน แต่อนุญาตให้แต่ละคนเริ่มต้นด้วยน้ำหนักที่แตกต่างกันเมื่อเริ่มการศึกษาหากเวลาถูกกำหนดเป็น 0 สำหรับเดือน 1, 1 สำหรับเดือนที่ 2 และ 2 สำหรับ เดือน 3. รูปแบบนี้มักจะเรียกว่าเป็นรูปแบบการตัดแบบสุ่ม

แบบจำลองที่สองคือ m2 กำหนดว่าน้ำหนักจะเพิ่มขึ้นในอัตราเชิงเส้นที่แตกต่างกันสำหรับแต่ละคนในขณะเดียวกันก็อนุญาตให้บุคคลเริ่มต้นด้วยน้ำหนักที่แตกต่างกันเมื่อเริ่มการศึกษาโดยสันนิษฐานว่าเวลาจะถูกเข้ารหัสเป็น 0 สำหรับเดือน 1, 1 สำหรับเดือนที่ 2 และ 2 สำหรับ เดือน 3. รูปแบบนี้มักจะเรียกว่าสกัดแบบสุ่มและรูปแบบลาดเอียงแบบสุ่ม แบบจำลองยังสันนิษฐานว่ามีความสัมพันธ์ระหว่างการสกัดกั้นแบบสุ่มและความลาดชันแบบสุ่มที่สอดคล้องกับบุคคลที่รวมอยู่ในแบบจำลอง (เช่นบุคคลที่เริ่มต้นด้วยน้ำหนักที่สูงขึ้นมักจะได้รับอัตราการเพิ่มน้ำหนักที่มากขึ้น)

หากสมมติฐานสุดท้ายนี้ใช้ไม่ได้กับข้อมูลของคุณคุณไม่สามารถกำหนดความสัมพันธ์ระหว่างการสกัดกั้นแบบสุ่มและความลาดชันแบบสุ่มได้:

m2 <- lmer(weight ~ time + (1 + time||subject), data = yourdata)

สำหรับสถานการณ์ที่ 1 หากคุณมีตัวทำนายแบบไดนามิกอื่น ๆ เช่นความดันโลหิต (bp) คุณสามารถรวมไว้ในแบบจำลอง m2 ซึ่งมีความชันเท่ากันในแต่ละบุคคลหรือมีความลาดชันต่างกันในแต่ละบุคคล:

m2a <- lmer(weight ~ time + bp + (1 + time|subject), data = yourdata)

m2b <- lmer(weight ~ time + bp + (1 + time + bp|subject), data = yourdata)

คุณยังสามารถอนุญาตให้มีการโต้ตอบระหว่างเวลาและ bp และถือว่าเอฟเฟกต์การโต้ตอบเหมือนกันในแต่ละบุคคลหรือแตกต่างกันในแต่ละบุคคล:

m2c <- lmer(weight ~ time + bp + time:bp + (1 + time|subject), data = yourdata)

m2d <- lmer(weight ~ time + bp + time:bp + (1 + time + bp + time:bp|subject), data = yourdata)

บรรทัดล่างคือมีเพียงตัวทำนายแบบไดนามิกเท่านั้นที่สามารถมีความลาดชันที่แตกต่างกันไปในแต่ละบุคคล

สำหรับสถานการณ์ที่ 2 ซึ่งเวลาเป็นตัวทำนายแบบไดนามิกและกลุ่มเป็นตัวทำนายแบบคงที่โมเดลที่เป็นไปได้ ได้แก่ :

M1 <- lmer(weight ~ time + group + (1|subject), data = yourdata)

M2 <- lmer(weight ~ time + group + (1 + time|subject), data = yourdata)

M3 <- lmer(weight ~ time + group + time:group + (1|subject), data = yourdata)

M4 <- lmer(weight ~ time + group + time:group + (1 + time|subject), data = yourdata)

M5 <- lmer(weight ~ time + group + time:group + (1 + time + time:group|subject), data = yourdata)

หากคุณโต้ตอบตัวทำนายแบบไดนามิกกับตัวทำนายแบบคงที่คุณจะได้ตัวทำนายแบบไดนามิกซึ่งผลกระทบอาจแตกต่างกันไปในแต่ละเรื่อง

ภาคผนวก

หากคุณกำหนดแบบจำลองของคุณดังนี้:

lmer(Z ~ Country + GDP + Unemployment + (1 | Date), data = data)

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

วิธีกำหนดแบบจำลองของคุณขึ้นอยู่กับหลายสิ่งรวมถึงคำถามการวิจัยจำนวนประเทศที่คุณมีในข้อมูลของคุณและวิธีการเลือกประเทศเหล่านั้นเพื่อรวมไว้ในการศึกษาของคุณ

หากคุณมีเพียงไม่กี่ประเทศที่จะทำงานด้วย (เช่นน้อยกว่า 5) คุณอาจไม่มีทางเลือกนอกจากพิจารณาแบบจำลอง lm () สำหรับประเทศของคุณ ถึงกระนั้นโมเดลของคุณอาจต้องเผื่อความเป็นไปได้ที่จะเกิดข้อผิดพลาดที่สัมพันธ์กันในแต่ละประเทศ หากมีการบ่งชี้ความสัมพันธ์ชั่วคราวของส่วนที่เหลือของโมเดล lm () คุณจะต้องเปลี่ยนไปใช้ฟังก์ชัน gls () จากแพ็คเกจ nlme ของ R ซึ่งสามารถจัดการความสัมพันธ์ชั่วคราวระหว่างข้อผิดพลาดของโมเดล การพิจารณาเหล่านี้จะนำไปใช้ไม่ว่าคุณจะเลือกประเทศจำนวนน้อยเพื่อให้เป็นตัวแทนของกลุ่มประเทศที่ใหญ่กว่าที่คุณสนใจหรือหากคุณเลือกประเทศเหล่านั้นเพราะเป็นประเทศเดียวที่คุณสนใจ

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

lmer(Z ~  GDP + Unemployment + (1 | Country), data = data)

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

lmer(Z ~  GDP + Unemployment + Date + (1 | Country), data = data)

ดังนั้นคำตอบสำหรับคำถามสุดท้ายของคุณจึงลึกซึ้งกว่าการพูดถึงข้อดีและข้อเสียของ lm () เทียบกับ lmer () - คุณต้องคิดจริงๆว่าคุณกำลังพยายามทำอะไรจากนั้นทำสิ่งที่สะท้อนความเป็นจริงของข้อมูลของคุณ และคำถามการวิจัย