กลุ่มประชากรเดียวกัน แต่ Odds Ratio สองค่า: Non-Collapsibility ที่ไม่มีตัวกวนเกี่ยวข้อง

On this page
Read the English version
บทคัดย่อ
เมื่อการทดลองแบบสุ่มปรับ odds ratio ด้วยปัจจัยพยากรณ์โรค (prognostic factor) ที่มีผลแรง ซึ่งเป็นลักษณะที่ทำนายผลลัพธ์ ค่าประมาณมักขยับห่างจาก 1 ทั้งที่การสุ่มไม่ได้เหลือตัวกวนใดไว้ ต้นเหตุจึงเป็นอย่างอื่น นั่นคือความไม่ยุบรวมได้ (non-collapsibility) odds ratio ในผู้ป่วยที่มีค่าตัวแปรร่วมเดียวกัน (odds ratio แบบมีเงื่อนไข หรือ conditional odds ratio) ไม่จำเป็นต้องเท่ากับ odds ratio ของประชากรทั้งหมด (odds ratio ระดับประชากร หรือ marginal odds ratio) ในตัวอย่างคำนวณด้วยมือที่มีสองกลุ่มย่อยขนาดเท่ากัน แต่ละกลุ่มมี odds ratio เท่ากับ 2.00 และ odds ratio ระดับประชากรเท่ากับ 1.72 ส่วนอัตราส่วนความเสี่ยงและผลต่างความเสี่ยงยังเป็นค่าเฉลี่ยถ่วงน้ำหนักของค่าในแต่ละกลุ่มย่อย ในข้อมูลจำลองผู้ป่วยกระดูกสะโพกหัก แบบจำลองโลจิสติกหนึ่งแบบให้ odds ratio แบบมีเงื่อนไขของการผ่าตัดเร็วเท่ากับ 0.70 และเมื่อเฉลี่ยความเสี่ยงที่ทำนายได้ทั่วทั้งกลุ่มประชากร (การปรับมาตรฐานระดับประชากร หรือ marginal standardisation) ได้ odds ratio ระดับประชากรเท่ากับ 0.81 บทความนี้สรุปว่า odds ratio แบบมีเงื่อนไขกับแบบระดับประชากรเป็น estimand คนละตัว คือปริมาณเป้าหมายของการประมาณ ดังนั้นควรรายงาน odds ratio ทุกค่าพร้อม estimand ของมัน
คณะกรรมการอำนวยการการทดลองกับ odds ratio สองค่า
คณะกรรมการอำนวยการการทดลอง (trial steering committee) กำลังทบทวนการทดลองแบบสุ่มของการรักษาใหม่สำหรับโรคอักเสบเรื้อรัง ผลลัพธ์คือการตอบสนองเมื่อสิ้นสุดการรักษา odds ratio ที่ไม่ได้ปรับสำหรับการตอบสนองเท่ากับ 1.72
แผนวิเคราะห์ที่กำหนดไว้ล่วงหน้าให้ปรับด้วยความรุนแรงของโรคตอนเริ่มต้น ซึ่งเป็นปัจจัยพยากรณ์โรค (prognostic factor) ที่มีผลแรง คือลักษณะที่ทำนายผลลัพธ์ไม่ว่าผู้ป่วยจะได้รับการรักษาแบบใด odds ratio ที่ปรับแล้วเท่ากับ 2.00 ซึ่งห่างจาก 1 มากขึ้น นักวิจัยท่านหนึ่งถามว่าการปรับนั้นกำจัดตัวกวนอะไรออกไป ในเมื่อการสุ่มทำให้ความรุนแรงของโรคสมดุลกันระหว่างสองกลุ่มอยู่แล้ว
การปรับไม่ได้กำจัดตัวกวนใดเลย ตัวเลขทั้งสองถูกต้อง และตอบคำถามต่างกัน การทดลองนี้เป็นตัวอย่างคำนวณด้วยมือ ซึ่งแสดงวิธีคิดไว้ด้านล่าง
สองกลุ่มย่อยที่มี odds ratio เท่ากัน
ให้ $A$ เป็นการรักษา (1 คือได้รับการรักษา 0 คือกลุ่มควบคุม) $Y$ เป็นการตอบสนอง (1 คือตอบสนอง 0 คือไม่ตอบสนอง) และ $Z$ เป็นความรุนแรงของโรค (1 คือไม่รุนแรง 0 คือรุนแรง) ผู้ป่วยที่มีค่า $Z$ เดียวกันเรียกว่ากลุ่มย่อย (stratum, พหูพจน์ strata) คำว่า "ความเสี่ยง" ในที่นี้หมายถึงความน่าจะเป็นของผลลัพธ์ แม้ผลลัพธ์นั้นจะเป็นสิ่งที่พึงประสงค์ อัตราส่วนความเสี่ยง (risk ratio, RR) คือความเสี่ยงของกลุ่มที่ได้รับการรักษาหารด้วยความเสี่ยงของกลุ่มควบคุม ส่วนผลต่างความเสี่ยง (risk difference, RD) คือความเสี่ยงของกลุ่มที่ได้รับการรักษาลบด้วยความเสี่ยงของกลุ่มควบคุม
odds ratio แบบมีเงื่อนไข (conditional odds ratio) หรือ $\mathrm{OR}_c$ เปรียบเทียบสองกลุ่มในผู้ป่วยที่มีค่า $Z$ เดียวกัน ส่วนodds ratio ระดับประชากร (marginal odds ratio) หรือ $\mathrm{OR}_m$ เปรียบเทียบสองกลุ่มในประชากรทั้งหมดของการทดลอง ผู้ป่วยครึ่งหนึ่งมีโรคไม่รุนแรง และในตัวอย่างคำนวณด้วยมือนี้ทั้งสองกลุ่มมีสัดส่วนเท่ากันพอดี เหมือนที่การสุ่มให้ผลโดยเฉลี่ย การรักษาจึงเป็นอิสระจาก $Z$ และไม่มีตัวกวน
ตัวอย่างคำนวณด้วยมือ: odds ratio เท่ากับ 2.00 ในแต่ละกลุ่มย่อย
ตัวอย่างคำนวณด้วยมือ การตอบสนองในกลุ่มควบคุมคือ 10.0% ในโรคที่รุนแรง ($Z = 0$) และ 50.0% ในโรคที่ไม่รุนแรง ($Z = 1$) กลุ่มย่อยทั้งสองมีขนาดเท่ากัน และการรักษาเพิ่ม odds เป็นสองเท่าในทั้งสองกลุ่ม odds คือความเสี่ยงหารด้วยหนึ่งลบความเสี่ยง ส่วนความเสี่ยงคือ odds หารด้วยหนึ่งบวก odds
-
โรครุนแรง กลุ่มควบคุม
\[ \text{odds} = \frac{0.100}{1 - 0.100} = 0.111 \]
odds ของการตอบสนองเมื่อไม่ได้รับการรักษา
-
โรครุนแรง กลุ่มที่ได้รับการรักษา
\[ \text{odds} = 2.00 \times 0.111 = 0.222 \]
ความเสี่ยงของกลุ่มที่ได้รับการรักษาคือ 0.182 ดังนั้น RR ของกลุ่มย่อยเท่ากับ 1.82 และ RD เท่ากับ 0.082
-
โรคไม่รุนแรง
\[ \text{odds} = \frac{0.500}{1 - 0.500} = 1.000 \]
odds ของกลุ่มที่ได้รับการรักษาคือ 2.000 และความเสี่ยงคือ 0.667 ดังนั้น RR ของกลุ่มย่อยเท่ากับ 1.33 และ RD เท่ากับ 0.167
-
ความเสี่ยงระดับประชากร
\[ p_0 = \frac{0.100 + 0.500}{2} = 0.300, \;\; p_1 = \frac{0.182 + 0.667}{2} = 0.424 \]
ในที่นี้ $p_0$ และ $p_1$ คือความเสี่ยงของทั้งกลุ่มควบคุมและทั้งกลุ่มที่ได้รับการรักษา แต่ละค่าเป็นค่าเฉลี่ยธรรมดาของความเสี่ยงในกลุ่มย่อย คำนวณจากค่าที่ยังไม่ปัดเศษ
-
odds ratio ระดับประชากร
\[ \mathrm{OR}_m = \frac{0.424 / 0.576}{0.300 / 0.700} = \frac{0.737}{0.429} = 1.72 \]
ทุกกลุ่มย่อยมี odds ratio เท่ากับ 2.00 แต่ odds ratio ระดับประชากรที่คำนวณจากความเสี่ยงที่ยังไม่ปัดเศษเท่ากับ 1.72
-
RR และ RD ระดับประชากร
\[ \mathrm{RR}_m = \frac{0.424}{0.300} = 1.41, \;\; \mathrm{RD}_m = 0.424 - 0.300 = 0.124 \]
RR ระดับประชากรเป็นค่าเฉลี่ยถ่วงน้ำหนักของ RR ในกลุ่มย่อย คือ $0.167 \times 1.82 + 0.833 \times 1.33 = 1.41$ โดยน้ำหนักเท่ากับสัดส่วนของผู้ตอบสนองในกลุ่มควบคุมที่อยู่ในกลุ่มย่อยนั้น (ในที่นี้เป็นสัดส่วนกับความเสี่ยงของกลุ่มควบคุม เพราะกลุ่มย่อยมีขนาดเท่ากัน) ส่วน RD ระดับประชากรเป็นค่าเฉลี่ยของ 0.082 และ 0.167 โดยคลาดเคลื่อนจากการปัดเศษเท่านั้น
ผลลัพธ์: $\mathrm{OR}_m = 1.72$ อยู่นอกช่วงของ odds ratio ในกลุ่มย่อย จึงไม่ใช่ค่าเฉลี่ยของ odds ratio เหล่านั้น ส่วน RR และ RD ระดับประชากรอยู่ระหว่างค่าของกลุ่มย่อย
มาตรวัดที่ยุบรวมได้และยุบรวมไม่ได้
มาตรวัดหนึ่งยุบรวมได้ (collapsible) เมื่อไม่มีตัวกวน และค่าระดับประชากรของมันเป็นค่าเฉลี่ยถ่วงน้ำหนักของค่าในแต่ละกลุ่มย่อย [1, 2] RD และ RR ยุบรวมได้ ดังที่ตัวอย่างคำนวณด้วยมือแสดงไว้ แต่ odds ratio ไม่เป็นเช่นนั้น นี่คือความไม่ยุบรวมได้ (non-collapsibility) [1, 3]
อัตราส่วนฮาซาร์ด (hazard ratio) ก็ยุบรวมไม่ได้เช่นกัน มันเปรียบเทียบอัตราการเกิดเหตุการณ์ทันทีของสองกลุ่มในผู้ป่วยที่ยังไม่เกิดเหตุการณ์ และมักประมาณด้วยแบบจำลอง Cox ซึ่งเป็นการถดถอยมาตรฐานสำหรับข้อมูลเวลาจนเกิดเหตุการณ์
สาเหตุอยู่ที่มาตรวัด odds เมื่อปัจจัยพยากรณ์โรคเป็นตัวแปรสองค่า แบบจำลองโลจิสติกคือ
$$\operatorname{logit} P(Y = 1 \mid A, Z) = \beta_0 + \beta_1 A + \beta_2 Z$$ในสมการนี้ $\operatorname{logit}(p) = \ln\{p/(1 - p)\}$ คือลอการิทึมของ odds (log odds) $\beta$ แต่ละตัวคือสัมประสิทธิ์ และ $\mathrm{OR}_c = \exp(\beta_1)$ ในทุกกลุ่มย่อย การรวมข้อมูลเฉลี่ยความเสี่ยงของกลุ่มย่อย ไม่ได้เฉลี่ย log odds และ log odds ของค่าเฉลี่ยไม่เท่ากับค่าเฉลี่ยของ log odds พิสูจน์ได้ว่าเมื่อการรักษาเป็นอิสระจาก $Z$ มีทั้งสองกลุ่มย่อย และ $\beta_1 \neq 0$ กับ $\beta_2 \neq 0$ ค่า $\mathrm{OR}_m$ จะอยู่ใกล้ 1 กว่า $\mathrm{OR}_c$ [4]
ช่องว่างนี้กว้างขึ้นตามความแรงของปัจจัยพยากรณ์โรคและขนาดของผล ช่องว่างจะเล็กเมื่อผลลัพธ์พบน้อยในทุกกลุ่มย่อย เพราะ odds ratio จะใกล้เคียง RR ภาวะสับสนเฉียบพลัน (delirium) หลังกระดูกสะโพกหัก ซึ่งเท่ากับ 31.0% ในข้อมูลจำลองด้านล่าง ไม่ใช่ผลลัพธ์ที่พบน้อย
Estimand ที่ถูกต้องสองแบบ
Estimand (ปริมาณเป้าหมายของการประมาณ) คือปริมาณที่แน่ชัดที่การศึกษาตั้งใจประมาณ ได้แก่ประชากร การเปรียบเทียบ และมาตรวัดสรุป $\mathrm{OR}_c$ ตอบคำถามเกี่ยวกับผู้ป่วยหนึ่งคนที่มีความรุนแรงของโรคค่าหนึ่ง ส่วน $\mathrm{OR}_m$ ตอบคำถามเกี่ยวกับประชากร คือ odds ของการตอบสนองจะเปลี่ยนไปอย่างไรหากทุกคนได้รับการรักษาแทนที่จะไม่มีใครได้รับ
ทั้งสองแบบถูกต้องตามความหมายของตนเอง และไม่มีแบบใดเป็นความผิดพลาดของอีกแบบ คำถามเป็นตัวกำหนดว่ารายงานจะเลือกค่าใด ไม่ใช่ว่าค่าใดมากกว่า
odds ratio แบบมีเงื่อนไขกับแบบระดับประชากร รวมทั้ง hazard ratio ทั้งสองแบบ อาจต่างกันได้แม้ไม่มีตัวกวนเลย ในการทดลองแบบสุ่ม การปรับด้วยปัจจัยพยากรณ์โรคที่มีผลแรงมักทำให้ odds ratio ขยับห่างจาก 1 มากขึ้น นั่นคือการเปลี่ยน estimand ไม่ใช่การกำจัดความลำเอียง
ตัวกวนเป็นปัญหาอีกอย่าง คือสาเหตุร่วมของการรักษาและผลลัพธ์ ซึ่งทำให้การเปรียบเทียบแบบดิบลำเอียงสำหรับ estimand ทั้งสองแบบ ความไม่ยุบรวมได้ไม่ต้องมีสาเหตุร่วม ดังนั้นช่องว่างระหว่าง $\mathrm{OR}_c$ กับ $\mathrm{OR}_m$ ในประชากรและชุดตัวแปรร่วมเดียวกัน ไม่ได้เป็นหลักฐานของตัวกวนโดยลำพัง [1, 5]
เมื่อความต่างนี้มีความสำคัญ
การปรับในการทดลองแบบสุ่ม การเพิ่มปัจจัยพยากรณ์โรคเข้าไปเปลี่ยนเป้าหมายจาก $\mathrm{OR}_m$ เป็น $\mathrm{OR}_c$ ซึ่งมักห่างจาก 1 มากกว่า [4] ค่าคลาดเคลื่อนมาตรฐานของมันใหญ่กว่า แต่การทดสอบว่าไม่มีผลมักมีอำนาจการทดสอบ (power) เพิ่มขึ้น [6]
การวัดซ้ำ สำหรับผลลัพธ์สองค่าที่วัดหลายครั้ง สมการประมาณค่าวางนัยทั่วไป (generalized estimating equations, GEE) ซึ่งเป็นวิธีถดถอยที่สร้างแบบจำลองผลลัพธ์เฉลี่ยข้ามผู้ป่วย โดยยอมให้การวัดหลายครั้งของผู้ป่วยคนเดียวกันสัมพันธ์กัน จะประมาณ odds ratio ระดับประชากร ส่วนแบบจำลองผสมเชิงเส้นวางนัยทั่วไป (generalized linear mixed model, GLMM) ซึ่งเป็นแบบจำลองโลจิสติกที่มีผลสุ่มเลื่อน odds เริ่มต้นของผู้ป่วยแต่ละคน จะประมาณ odds ratio แบบมีเงื่อนไข ซึ่งมักห่างจาก 1 มากกว่า คู่มือเลือกแบบจำลองสำหรับการวัดซ้ำกล่าวถึงการเลือกนี้
การวิเคราะห์การรอดชีพ ในการทดลองแบบสุ่ม การเพิ่มปัจจัยพยากรณ์โรคที่มีผลแรงเข้าไปในแบบจำลอง Cox มักทำให้ hazard ratio ขยับห่างจาก 1 [4] บทความเรื่องเส้น Kaplan-Meier และแบบจำลอง Coxวางเรื่องนี้ไว้ท่ามกลางวิธีอ่าน hazard ratio แบบอื่น
จากแบบจำลองที่ปรับแล้วสู่ odds ratio ระดับประชากร
แบบจำลองโลจิสติกที่ปรับแล้วยังให้ $\mathrm{OR}_m$ ได้ การปรับมาตรฐานระดับประชากร (marginal standardisation) ซึ่งเรียกอีกชื่อว่า g-computation หรือ regression standardisation ทำนายความเสี่ยงของผู้ป่วยทุกคนสองครั้งจากแบบจำลองที่ฟิตแล้ว ครั้งแรกกำหนดให้การรักษาเป็น 1 และครั้งที่สองเป็น 0 โดยคงตัวแปรร่วมของผู้ป่วยแต่ละคนไว้ตามเดิม เมื่อเฉลี่ยแต่ละชุดทั่วทั้งกลุ่มประชากรจะได้ความเสี่ยงระดับประชากรสองค่า คือ $\hat p_1$ และ $\hat p_0$ โดยเครื่องหมายหมวกแสดงว่าเป็นค่าประมาณ
$$\widehat{\mathrm{OR}}_m = \frac{\hat p_1 / (1 - \hat p_1)}{\hat p_0 / (1 - \hat p_0)}$$สูตรนี้คือ odds ratio ของความเสี่ยงเฉลี่ยสองค่า และความเสี่ยงชุดเดียวกันให้ RR และ RD ระดับประชากรด้วย ใน Stata ขั้นตอนเหล่านี้คือ margins และ nlcom ใน R คือ avg_comparisons() จากแพ็กเกจ marginaleffects ช่วงเชื่อมั่นได้จากวิธีเดลตา (delta method) ซึ่งเป็นการประมาณมาตรฐานสำหรับตัวอย่างขนาดใหญ่ ตอนเรื่อง risk ratio ในชุดบทความนี้ใช้ขั้นตอนเดียวกัน
การถ่วงน้ำหนักด้วยส่วนกลับของความน่าจะเป็นในการได้รับการรักษา (inverse probability of treatment weighting, IPTW) ซึ่งถ่วงน้ำหนักผู้ป่วยเพื่อให้การรักษาไม่ขึ้นกับตัวแปรร่วมที่วัดไว้อีกต่อไป ก็มุ่งไปที่ odds ratio ระดับประชากรเช่นกัน การถดถอยที่ปรับแล้วกับการวิเคราะห์ถ่วงน้ำหนักที่ถูกต้องของกลุ่มประชากรเดียวกันจึงให้ผลต่างกันได้โดยไม่มีฝ่ายใดผิดพลาด
ความไม่ยุบรวมได้ในข้อมูลจำลองกระดูกสะโพกหัก
ทะเบียนผู้ป่วยจำลองมีผู้สูงอายุที่กระดูกสะโพกหัก 20,000 คน สิ่งสัมผัสคือการผ่าตัดภายในหนึ่งวันหลังรับไว้ในโรงพยาบาล (surg24) และผลลัพธ์คือภาวะสับสนเฉียบพลันหลังผ่าตัด ซึ่งเกิด 31.0% ของทั้งหมด ผู้ป่วยที่อ่อนแอ (frail) และผู้ป่วยที่มีภาวะสมองเสื่อมต้องรอนานกว่า การเปรียบเทียบในทะเบียนจึงมีตัวกวน การทดลองแบบสุ่มที่ซ้อนอยู่ในทะเบียนสุ่มให้ผู้ป่วย 950 คนผ่าตัดเร็ว
ภาวะอ่อนแอ (frailty) ทำนายภาวะสับสนเฉียบพลันได้แรง และในโลกจำลองนี้ยังเปลี่ยนผลของการผ่าตัดเร็วด้วย odds ratio แบบมีเงื่อนไขที่แท้จริงเท่ากับ 0.50 ในผู้ป่วยที่ไม่อ่อนแอ และ 1.00 ในผู้ป่วยที่อ่อนแอ คำว่า "แบบมีเงื่อนไข" ในที่นี้หมายถึงในกลุ่มผู้ป่วยที่เหมือนกันทุกลักษณะที่การจำลองใช้สร้างภาวะสับสนเฉียบพลัน
คู่ค่าจากประชากรขนาดใหญ่
เพื่อตัดความบังเอิญออก การจำลองยังคำนวณ odds ratio แต่ละแบบในประชากรขนาดใหญ่มากจากตัวสร้างข้อมูลเดียวกัน ในผู้เข้าร่วมการทดลองที่ไม่อ่อนแอ odds ratio ระดับประชากรเท่ากับ 0.52 เทียบกับค่าแบบมีเงื่อนไขที่ 0.50 การรักษาถูกสุ่ม และตามการออกแบบของการจำลอง odds ratio แบบมีเงื่อนไขเท่ากันในผู้ป่วยที่ไม่อ่อนแอทุกคน ช่องว่างนี้จึงเป็นความไม่ยุบรวมได้ล้วน ๆ
ในกลุ่มประชากรจำลองนี้ โอกาสเข้าร่วมการทดลองถูกกำหนดให้ต่ำลงในผู้ที่อายุมากกว่า ผู้ที่อ่อนแอ ผู้ที่มีภาวะสมองเสื่อม และผู้ที่มีปัจจัยเสี่ยงอื่นของภาวะสับสนเฉียบพลัน ภาวะสับสนเฉียบพลันในการทดลองจึงพบน้อยกว่าในทะเบียนทั้งหมด (31.0%) ช่องว่างในผู้ที่ไม่อ่อนแอข้างต้นจึงเล็ก ส่วนในคู่ค่าจากทะเบียนด้านล่างซึ่งภาวะสับสนเฉียบพลันพบบ่อย ช่องว่างจะใหญ่กว่า
ในผู้ป่วยที่อ่อนแอ ค่าทั้งสองแบบเท่ากับ 1.00 เพราะ odds ratio เท่ากับ 1 ยุบรวมได้ ในผู้เข้าร่วมการทดลองทั้งหมด odds ratio ระดับประชากรเท่ากับ 0.69 แบบจำลองโลจิสติกที่ปรับด้วยตัวแปรร่วมหกตัวมีค่าในตัวอย่างขนาดใหญ่เท่ากับ 0.65 การปรับจึงทำให้ odds ratio ขยับห่างจาก 1
ตัวแปรร่วมคืออายุ เพศ ภาวะอ่อนแอ ภาวะสมองเสื่อม ระดับสภาวะทางกายตามเกณฑ์ของ American Society of Anesthesiologists (ASA) ตั้งแต่ 3 ขึ้นไป และการใช้ยาต้านการแข็งตัวของเลือด เมื่อไม่มีพจน์ภาวะอ่อนแอคูณการรักษา ค่า 0.65 เป็นค่าประนีประนอมระหว่าง 0.50 กับ 1.00 ไม่ใช่ผลระดับผู้ป่วยรายเดียว
แบบจำลองหนึ่งแบบ odds ratio สองค่า
ภาพประกอบที่สองฟิตแบบจำลองโลจิสติกหนึ่งแบบ ด้วยตัวแปรร่วมหกตัวชุดเดียวกัน กับผู้ป่วยในทะเบียนทั้ง 20,000 คน ค่าเอกซ์โปเนนเชียลของสัมประสิทธิ์การรักษา ซึ่งคือ odds ratio แบบมีเงื่อนไข เท่ากับ 0.70 (ช่วงเชื่อมั่น 95% คือ 0.64 ถึง 0.76) การปรับมาตรฐานระดับประชากรของแบบจำลองเดียวกันให้ odds ratio ระดับประชากรเท่ากับ 0.81 (ช่วงเชื่อมั่น 95% คือ 0.77 ถึง 0.85)
ทั้งสองค่ามาจากแบบจำลองเดียว ที่ปรับตัวกวนที่วัดไว้ด้วยวิธีเดียว ตัวกวนใดที่แบบจำลองยังเหลืออยู่ย่อมกระทบตัวเลขทั้งสอง ดังนั้นสำหรับแบบจำลองนั้น ช่องว่างระหว่างสองค่าจึงเป็นความไม่ยุบรวมได้ ไม่ใช่ตัวกวนที่เหลืออยู่ เช่นเดียวกับ 0.65 ค่า 0.70 เป็นค่าประนีประนอมข้ามระดับของภาวะอ่อนแอ เพราะแบบจำลองไม่มีพจน์ภาวะอ่อนแอคูณการรักษา เหมือนทุกการเปรียบเทียบที่ไม่เป็นศูนย์ข้างต้น odds ratio ระดับประชากรคือค่าที่ใกล้ 1 กว่า
| แหล่งที่มา | ประชากร | odds ratio แบบมีเงื่อนไขหรือแบบที่ปรับแล้ว | odds ratio ระดับประชากร |
|---|---|---|---|
| ค่าจริงในประชากรขนาดใหญ่ | ผู้เข้าร่วมการทดลองที่ไม่อ่อนแอ | 0.50 | 0.52 |
| ค่าจริงในประชากรขนาดใหญ่ | ผู้เข้าร่วมการทดลองที่อ่อนแอ | 1.00 | 1.00 |
| ค่าจริงในประชากรขนาดใหญ่ | ผู้เข้าร่วมการทดลองทั้งหมด | 0.65 (แบบจำลองที่มีตัวแปรร่วมหกตัว) | 0.69 |
| แบบจำลองที่ฟิตหนึ่งแบบ | ผู้ป่วยในทะเบียนทั้ง 20,000 คน | 0.70 (0.64 ถึง 0.76) | 0.81 (0.77 ถึง 0.85) |
Stata: แบบจำลองหนึ่งแบบ odds ratio สองค่า
logit delirium i.surg24 age_c female frail dementia asa3 anticoag
ciz c5.or_cond 1.surg24 exp
margins surg24, post
nlcom (rd: _b[1.surg24] - _b[0.surg24]) (lnrr: ln(_b[1.surg24]/_b[0.surg24])) (lnor: ln((_b[1.surg24]/(1 - _b[1.surg24]))/(_b[0.surg24]/(1 - _b[0.surg24])))), post
. logit delirium i.surg24 age_c female frail dementia asa3 anticoag
Iteration 0: Log likelihood = -12384.413
Iteration 1: Log likelihood = -8110.2012
Iteration 2: Log likelihood = -7862.3384
Iteration 3: Log likelihood = -7859.1356
Iteration 4: Log likelihood = -7859.132
Iteration 5: Log likelihood = -7859.132
Logistic regression Number of obs = 20,000
LR chi2(7) = 9050.56
Prob > chi2 = 0.0000
Log likelihood = -7859.132 Pseudo R2 = 0.3654
------------------------------------------------------------------------------
delirium | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
1.surg24 | -.3588307 .0437061 -8.21 0.000 -.4444931 -.2731684
age_c | .0536275 .0020106 26.67 0.000 .0496868 .0575682
female | -.0455033 .0437455 -1.04 0.298 -.1312429 .0402362
frail | 1.85723 .0425718 43.63 0.000 1.77379 1.940669
dementia | 2.056683 .0450837 45.62 0.000 1.96832 2.145045
asa3 | .4778636 .0438002 10.91 0.000 .3920168 .5637103
anticoag | .1739927 .0528003 3.30 0.001 .070506 .2774794
_cons | -2.654324 .0611431 -43.41 0.000 -2.774162 -2.534485
------------------------------------------------------------------------------
. ciz c5.or_cond 1.surg24 exp
CANON w1.c5.or_cond 0.6985
CANON w1.c5.or_cond.lo 0.6411
CANON w1.c5.or_cond.hi 0.7610
. margins surg24, post
Predictive margins Number of obs = 20,000
Model VCE: OIM
Expression: Pr(delirium), predict()
------------------------------------------------------------------------------
| Delta-method
| Margin std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
surg24 |
0 | .3274425 .0033774 96.95 0.000 .320823 .334062
1 | .2820044 .0042555 66.27 0.000 .2736638 .2903449
------------------------------------------------------------------------------
. nlcom (rd: _b[1.surg24] - _b[0.surg24]) (lnrr: ln(_b[1.surg24]/_b[0.surg24])) (lnor: ln((_b[1.surg24]/(1 - _b[1.surg24
> ]))/(_b[0.surg24]/(1 - _b[0.surg24])))), post
rd: _b[1.surg24] - _b[0.surg24]
lnrr: ln(_b[1.surg24]/_b[0.surg24])
lnor: ln((_b[1.surg24]/(1 - _b[1.surg24]))/(_b[0.surg24]/(1 - _b[0.surg24])))
------------------------------------------------------------------------------
| Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
rd | -.0454381 .0056018 -8.11 0.000 -.0564174 -.0344587
lnrr | -.1493897 .0188227 -7.94 0.000 -.1862814 -.1124979
lnor | -.2147655 .0268091 -8.01 0.000 -.2673104 -.1622206
------------------------------------------------------------------------------
R: คู่ค่าเดียวกัน
lg <- glm(f_out, family = binomial, data = d)
b <- coef(lg)[["surg24"]]; se <- sqrt(vcov(lg)["surg24", "surg24"])
canon_ci("c5.or_cond", exp(b), exp(b - z * se), exp(b + z * se))
std <- function(cmp) avg_comparisons(lg, variables = list(surg24 = c(0, 1)), comparison = cmp)
rr <- std("lnratioavg"); canon_ci("c3.rr_std", exp(rr$estimate), exp(rr$conf.low), exp(rr$conf.high))
rd <- std("differenceavg"); canon_ci("c3.rd_std", rd$estimate, rd$conf.low, rd$conf.high)
# the same model averaged over the cohort gives the marginal odds ratio (non-collapsibility)
om <- std("lnoravg"); canon_ci("c5.or_marg", exp(om$estimate), exp(om$conf.low), exp(om$conf.high))
> lg <- glm(f_out, family = binomial, data = d)
> b <- coef(lg)[["surg24"]]
> se <- sqrt(vcov(lg)["surg24", "surg24"])
> canon_ci("c5.or_cond", exp(b), exp(b - z * se), exp(b +
+ z * se))
CANON w1.c5.or_cond 0.6985
CANON w1.c5.or_cond.lo 0.6411
CANON w1.c5.or_cond.hi 0.7610
> std <- function(cmp) avg_comparisons(lg, variables = list(surg24 = c(0,
+ 1)), comparison = cmp)
> rr <- std("lnratioavg")
> canon_ci("c3.rr_std", exp(rr$estimate), exp(rr$conf.low),
+ exp(rr$conf.high))
CANON w1.c3.rr_std 0.8612
CANON w1.c3.rr_std.lo 0.8300
CANON w1.c3.rr_std.hi 0.8936
> rd <- std("differenceavg")
> canon_ci("c3.rd_std", rd$estimate, rd$conf.low, rd$conf.high)
CANON w1.c3.rd_std -0.0454
CANON w1.c3.rd_std.lo -0.0564
CANON w1.c3.rd_std.hi -0.0345
> om <- std("lnoravg")
> canon_ci("c5.or_marg", exp(om$estimate), exp(om$conf.low),
+ exp(om$conf.high))
CANON w1.c5.or_marg 0.8067
CANON w1.c5.or_marg.lo 0.7654
CANON w1.c5.or_marg.hi 0.8503
หมายเหตุ: ชุดการทดลองที่สุ่มสร้างขึ้นจริง 950 คน
หมายเหตุ ข้อมูลจำลอง: ผู้ป่วยในการทดลอง 950 คนเป็นตัวอย่างจำกัดที่สุ่มสร้างขึ้นหนึ่งชุด ในชุดนี้ การปรับทำให้ odds ratio ขยับเข้าใกล้ 1 เล็กน้อย จาก 0.56 เป็น 0.57 เพราะความไม่สมดุลของตัวแปรร่วมที่เกิดจากความบังเอิญมีน้ำหนักมากกว่าความไม่ยุบรวมได้ การปรับมาตรฐานของแบบจำลองที่ปรับแล้วให้ 0.62 ซึ่งเป็นค่าประมาณของ estimand ระดับประชากรตัวเดียวกับ 0.56 ที่ไม่ได้ปรับ โดยปรับสำหรับความไม่สมดุลที่เกิดจากความบังเอิญในตัวแปรร่วมหกตัวที่วัดไว้ ช่วงเชื่อมั่นของมันคือ 0.42 ถึง 0.92 เทียบกับ 0.37 ถึง 0.86 และแคบกว่าบนมาตราลอการิทึม ซึ่งเป็นมาตราที่ใช้คำนวณช่วงของ odds ratio
การทดลองขนาดนี้แสดงความไม่ยุบรวมได้อย่างชัดเจนไม่ได้ จึงใช้คู่ค่าจากประชากรขนาดใหญ่เป็นตัวพาข้อโต้แย้ง
| การประมาณ | Estimand | Odds ratio (ช่วงเชื่อมั่น 95%) | ค่าในตัวอย่างขนาดใหญ่ |
|---|---|---|---|
| แบบจำลองโลจิสติกที่ไม่ได้ปรับ | ระดับประชากร | 0.56 (0.37 ถึง 0.86) | 0.69 |
| แบบจำลองโลจิสติกที่มีตัวแปรร่วมหกตัว | แบบมีเงื่อนไข | 0.57 (0.36 ถึง 0.90) | 0.65 |
| แบบจำลองที่ปรับแล้ว ปรับมาตรฐานแล้ว | ระดับประชากร | 0.62 (0.42 ถึง 0.92) | 0.69 |
logit delirium surg24 if trial == 1
ciz c5.trial_realised.or_crude surg24 exp
logit delirium i.surg24 age_c female frail dementia asa3 anticoag if trial == 1
ciz c5.trial_realised.or_adj 1.surg24 exp
* trial-standardised marginal OR: the adjusted trial model averaged over the trial participants
margins surg24, post
nlcom (lnor: ln((_b[1.surg24]/(1 - _b[1.surg24]))/(_b[0.surg24]/(1 - _b[0.surg24])))), post
ciz c5.trial_realised.or_std lnor exp
. logit delirium surg24 if trial == 1
Iteration 0: Log likelihood = -315.36835
Iteration 1: Log likelihood = -311.81017
Iteration 2: Log likelihood = -311.76372
Iteration 3: Log likelihood = -311.76371
Logistic regression Number of obs = 950
LR chi2(1) = 7.21
Prob > chi2 = 0.0073
Log likelihood = -311.76371 Pseudo R2 = 0.0114
------------------------------------------------------------------------------
delirium | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
surg24 | -.5789759 .2183915 -2.65 0.008 -1.007015 -.1509365
_cons | -1.89712 .1384437 -13.70 0.000 -2.168465 -1.625775
------------------------------------------------------------------------------
. ciz c5.trial_realised.or_crude surg24 exp
CANON w1.c5.trial_realised.or_crude 0.5605
CANON w1.c5.trial_realised.or_crude.lo 0.3653
CANON w1.c5.trial_realised.or_crude.hi 0.8599
. logit delirium i.surg24 age_c female frail dementia asa3 anticoag if trial == 1
Iteration 0: Log likelihood = -315.36835
Iteration 1: Log likelihood = -280.15645
Iteration 2: Log likelihood = -259.58042
Iteration 3: Log likelihood = -259.36843
Iteration 4: Log likelihood = -259.36809
Iteration 5: Log likelihood = -259.36809
Logistic regression Number of obs = 950
LR chi2(7) = 112.00
Prob > chi2 = 0.0000
Log likelihood = -259.36809 Pseudo R2 = 0.1776
------------------------------------------------------------------------------
delirium | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
1.surg24 | -.569812 .237313 -2.40 0.016 -1.034937 -.1046871
age_c | .0512336 .0113324 4.52 0.000 .0290224 .0734447
female | -.1175797 .2537164 -0.46 0.643 -.6148548 .3796953
frail | 1.64791 .249635 6.60 0.000 1.158635 2.137186
dementia | 1.515149 .4364832 3.47 0.001 .6596574 2.37064
asa3 | .1945099 .2438201 0.80 0.425 -.2833688 .6723885
anticoag | .4303196 .3769845 1.14 0.254 -.3085564 1.169196
_cons | -2.184724 .2759506 -7.92 0.000 -2.725577 -1.64387
------------------------------------------------------------------------------
. ciz c5.trial_realised.or_adj 1.surg24 exp
CANON w1.c5.trial_realised.or_adj 0.5656
CANON w1.c5.trial_realised.or_adj.lo 0.3552
CANON w1.c5.trial_realised.or_adj.hi 0.9006
. * trial-standardised marginal OR: the adjusted trial model averaged over the trial participants
. margins surg24, post
Predictive margins Number of obs = 950
Model VCE: OIM
Expression: Pr(delirium), predict()
------------------------------------------------------------------------------
| Delta-method
| Margin std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
surg24 |
0 | .1251813 .0139445 8.98 0.000 .0978506 .152512
1 | .0811157 .0116559 6.96 0.000 .0582706 .1039609
------------------------------------------------------------------------------
. nlcom (lnor: ln((_b[1.surg24]/(1 - _b[1.surg24]))/(_b[0.surg24]/(1 - _b[0.surg24])))), post
lnor: ln((_b[1.surg24]/(1 - _b[1.surg24]))/(_b[0.surg24]/(1 - _b[0.surg24])))
------------------------------------------------------------------------------
| Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
lnor | -.4830296 .2019661 -2.39 0.017 -.8788759 -.0871833
------------------------------------------------------------------------------
. ciz c5.trial_realised.or_std lnor exp
CANON w1.c5.trial_realised.or_std 0.6169
CANON w1.c5.trial_realised.or_std.lo 0.4152
CANON w1.c5.trial_realised.or_std.hi 0.9165
tr <- d[d$trial == 1, ]
for (nm in c("crude", "adj")) {
f <- if (nm == "crude") delirium ~ surg24 else f_out
ft <- glm(f, family = binomial, data = tr)
b <- coef(ft)[["surg24"]]; se <- sqrt(vcov(ft)["surg24", "surg24"])
canon_ci(paste0("c5.trial_realised.or_", nm), exp(b), exp(b - z * se), exp(b + z * se))
}
# trial-standardised marginal OR: the adjusted trial model averaged over the trial participants
ltr <- glm(f_out, family = binomial, data = tr)
om_t <- avg_comparisons(ltr, variables = list(surg24 = c(0, 1)), comparison = "lnoravg")
canon_ci("c5.trial_realised.or_std", exp(om_t$estimate), exp(om_t$conf.low), exp(om_t$conf.high))
> tr <- d[d$trial == 1, ]
> for (nm in c("crude", "adj")) {
+ f <- if (nm == "crude")
+ delirium ~ surg24
+ else f_out
+ ft <- glm(f, family = binomial, data = tr)
+ b <- coef(ft)[["surg24"]]
+ se <- sqrt(vcov(ft)["surg24", "surg24"])
+ canon_ci(paste0("c5.trial_realised.or_", nm), exp(b), exp(b -
+ z * se), exp(b + z * se))
+ }
CANON w1.c5.trial_realised.or_crude 0.5605
CANON w1.c5.trial_realised.or_crude.lo 0.3653
CANON w1.c5.trial_realised.or_crude.hi 0.8599
CANON w1.c5.trial_realised.or_adj 0.5656
CANON w1.c5.trial_realised.or_adj.lo 0.3553
CANON w1.c5.trial_realised.or_adj.hi 0.9006
> ltr <- glm(f_out, family = binomial, data = tr)
> om_t <- avg_comparisons(ltr, variables = list(surg24 = c(0,
+ 1)), comparison = "lnoravg")
> canon_ci("c5.trial_realised.or_std", exp(om_t$estimate),
+ exp(om_t$conf.low), exp(om_t$conf.high))
CANON w1.c5.trial_realised.or_std 0.6169
CANON w1.c5.trial_realised.or_std.lo 0.4153
CANON w1.c5.trial_realised.or_std.hi 0.9165
สิ่งที่ควรรายงาน
ระบุ estimand ไว้ข้างทุก odds ratio คำว่า "OR ที่ปรับแล้ว 0.70" ทำให้ผู้อ่านต้องเดา แต่ "OR 0.70 แบบมีเงื่อนไขต่ออายุ เพศ ภาวะอ่อนแอ ภาวะสมองเสื่อม สถานะ ASA และการใช้ยาต้านการแข็งตัวของเลือด จากแบบจำลองที่ไม่มีพจน์ภาวะอ่อนแอคูณการรักษา" ไม่ทำให้เกิดการเดา ส่วน odds ratio ระดับประชากรควรระบุประชากรและวิธีการของมัน
สำหรับผลลัพธ์ที่พบบ่อย RD หรือ RR ระดับประชากรจากการปรับมาตรฐานชุดเดียวกันมักอ่านง่ายกว่า odds ratio จากต่างการศึกษาหรือต่างแบบจำลองประมาณปริมาณเดียวกันได้ก็ต่อเมื่อปรับด้วยตัวแปรร่วมชุดเดียวกัน [6] แม้เช่นนั้น ปัจจัยพยากรณ์โรคที่ถูกละไว้ก็ต้องกระจายใกล้เคียงกันในแต่ละประชากร การปรับมาตรฐานแต่ละประชากรให้เป็นประชากรที่ระบุชื่อเป็นวิธีหนึ่งในการเปรียบเทียบ [6]
ความเข้าใจผิดที่พบบ่อยและวิธีแก้
-
"ความต่างระหว่าง odds ratio สองค่าหมายถึงมีตัวกวน"
ไม่มีสิ่งใดเป็นตัวกวนในตัวอย่างคำนวณด้วยมือหรือในคู่ค่าจากประชากรขนาดใหญ่ แต่ odds ratio ทั้งสองก็ยังต่างกัน
วิธีแก้: odds ratio แบบมีเงื่อนไขกับแบบระดับประชากร รวมทั้ง hazard ratio ทั้งสองแบบ อาจต่างกันได้แม้ไม่มีตัวกวนเลย ในการทดลองแบบสุ่ม การปรับด้วยปัจจัยพยากรณ์โรคที่มีผลแรงมักทำให้ odds ratio ขยับห่างจาก 1 มากขึ้น นั่นคือการเปลี่ยน estimand ไม่ใช่การกำจัดความลำเอียง
-
"odds ratio ระดับประชากรคือผลจริง ดังนั้นแบบจำลองที่ปรับแล้วจึงประเมินผลเกินจริง"
ทั้งสองเป็นค่าจริงของ estimand คนละแบบ ในตัวอย่างคำนวณด้วยมือ 2.00 สำหรับผู้ป่วยที่มีความรุนแรงของโรคค่าหนึ่ง และ 1.72 สำหรับประชากรของการทดลอง
วิธีแก้: เลือก estimand จากคำถามก่อนจะเห็นตัวเลขใด ๆ
-
"odds ratio เปลี่ยนไปมากกว่า 10% หลังเพิ่มตัวแปรร่วม แสดงว่าตัวแปรนั้นเป็นตัวกวน"
สำหรับ odds ratio และ hazard ratio การเปลี่ยนแปลงนั้นอาจเกิดจากความไม่ยุบรวมได้บางส่วนหรือทั้งหมด [1]
วิธีแก้: ตัดสินตัวกวนจากโครงสร้างเชิงสาเหตุ เช่น DAG หรือเปรียบเทียบค่าประมาณระดับประชากรเมื่อมีและไม่มีตัวแปรร่วมนั้น
-
"ยุบรวมได้หมายความว่า risk ratio ที่ปรับแล้วเท่ากับ risk ratio ระดับประชากร"
เมื่อ RR ของกลุ่มย่อยต่างกัน เช่น 1.82 และ 1.33 ในตัวอย่างคำนวณด้วยมือ แบบจำลองที่ไม่มีพจน์ปฏิกิริยาสัมพันธ์จะรายงานค่าประนีประนอมที่ไม่จำเป็นต้องเท่ากับค่าระดับประชากร
วิธีแก้: หา risk ratio ระดับประชากรด้วยการปรับมาตรฐานระดับประชากร ไม่ว่าจะใช้ฟังก์ชันเชื่อมโยงแบบใด
สิ่งที่ควรทำในการวิเคราะห์ของคุณเอง
- เขียน estimand ลงในแผนวิเคราะห์ว่า มีเงื่อนไขต่อตัวแปรร่วมใดบ้าง หรือเป็นระดับประชากรของประชากรใด
- ในการทดลอง ควรพิจารณาปรับด้วยปัจจัยพยากรณ์โรคที่มีผลแรง และระบุผลว่าเป็นแบบมีเงื่อนไข หรือแบบระดับประชากรที่ปรับมาตรฐานแล้ว
- สำหรับ odds ratio ระดับประชากรจากแบบจำลองที่ปรับแล้ว ให้ใช้การปรับมาตรฐานระดับประชากร ไม่ใช่ค่าสัมประสิทธิ์
- สำหรับผลลัพธ์ที่พบบ่อย ควรพิจารณารายงาน RD หรือ RR ระดับประชากรควบคู่กับ odds ratio
- ก่อนเปรียบเทียบ odds ratio ข้ามแบบจำลองหรือข้ามการศึกษา ให้ตรวจชุดตัวแปรร่วมและประชากรของแต่ละค่า คู่มือเรื่องความยุบรวมได้และแนวทางดูการเปลี่ยนของค่าประมาณอธิบายต่อไปอีกขั้น
อภิธานศัพท์
- non-collapsibility (ความไม่ยุบรวมได้)
- สมบัติของ odds ratio และ hazard ratio ที่ค่าระดับประชากรอาจต่างจากค่าแบบมีเงื่อนไขที่เท่ากันในทุกกลุ่มย่อยได้ แม้ไม่มีตัวกวน
- collapsible
- ใช้กับมาตรวัดที่ค่าระดับประชากรของมัน เมื่อไม่มีตัวกวน เป็นค่าเฉลี่ยถ่วงน้ำหนักของค่าในแต่ละกลุ่มย่อย
- conditional odds ratio (odds ratio แบบมีเงื่อนไข)
- odds ratio ในผู้ป่วยที่มีค่าของตัวแปรร่วมในแบบจำลองเหมือนกัน
- marginal odds ratio (odds ratio ระดับประชากร)
- odds ratio ที่เปรียบเทียบทั้งประชากรเมื่อได้รับการรักษากับเมื่อไม่ได้รับการรักษา
- marginal standardisation (การปรับมาตรฐานระดับประชากร)
- การเฉลี่ยความเสี่ยงที่แบบจำลองทำนายทั่วทั้งกลุ่มประชากร โดยกำหนดให้การรักษาเป็นแต่ละระดับ แล้วเปรียบเทียบค่าเฉลี่ย เรียกอีกชื่อว่า g-computation หรือ regression standardisation
- prognostic factor
- ลักษณะของผู้ป่วยที่ทำนายผลลัพธ์ไม่ว่าจะได้รับการรักษาแบบใด
- estimand (ปริมาณเป้าหมายของการประมาณ)
- ปริมาณที่แน่ชัดที่การศึกษาตั้งใจประมาณ ได้แก่ประชากร การเปรียบเทียบ และมาตรวัดสรุป
- hazard ratio (อัตราส่วนฮาซาร์ด)
- อัตราส่วนของอัตราการเกิดเหตุการณ์ทันทีระหว่างสองกลุ่มในผู้ป่วยที่ยังไม่เกิดเหตุการณ์
เอกสารอ้างอิง
- Greenland S, Pearl J, Robins JM. Confounding and collapsibility in causal inference. Stat Sci. 1999;14(1):29-46. doi:10.1214/ss/1009211805 https://doi.org/10.1214/ss/1009211805
- Hernán MA, Clayton D, Keiding N. The Simpson's paradox unraveled. Int J Epidemiol. 2011;40(3):780-785. doi:10.1093/ije/dyr041 https://doi.org/10.1093/ije/dyr041
- Whitcomb BW, Naimi AI. Defining, quantifying, and interpreting 'noncollapsibility' in epidemiologic studies of measures of 'effect'. Am J Epidemiol. 2021;190(5):697-700. doi:10.1093/aje/kwaa267 https://doi.org/10.1093/aje/kwaa267
- Gail MH, Wieand S, Piantadosi S. Biased estimates of treatment effect in randomized experiments with nonlinear regressions and omitted covariates. Biometrika. 1984;71(3):431-444. doi:10.1093/biomet/71.3.431 https://doi.org/10.1093/biomet/71.3.431
- Didelez V, Stensrud MJ. On the logic of collapsibility for causal effect measures. Biom J. 2022;64(2):235-242. doi:10.1002/bimj.202000305 https://doi.org/10.1002/bimj.202000305
- Daniel R, Zhang J, Farewell D. Making apples from oranges: comparing noncollapsible effect estimators and their standard errors after adjustment for different covariate sets. Biom J. 2021;63(3):528-557. doi:10.1002/bimj.201900297 https://doi.org/10.1002/bimj.201900297
ประเด็นสำคัญ
- เมื่อไม่มีตัวกวน ผลต่างความเสี่ยงและอัตราส่วนความเสี่ยงยุบรวมได้ คือค่าระดับประชากรของมันเป็นค่าเฉลี่ยถ่วงน้ำหนักของค่าในแต่ละกลุ่มย่อย
- odds ratio แบบมีเงื่อนไขกับแบบระดับประชากร รวมทั้ง hazard ratio ทั้งสองแบบ อาจต่างกันได้แม้ไม่มีตัวกวนเลย ในการทดลองแบบสุ่ม การปรับด้วยปัจจัยพยากรณ์โรคที่มีผลแรงมักทำให้ odds ratio ขยับห่างจาก 1 มากขึ้น นั่นคือการเปลี่ยน estimand ไม่ใช่การกำจัดความลำเอียง
- ในตัวอย่างคำนวณด้วยมือ odds ratio เท่ากับ 2.00 ในแต่ละกลุ่มย่อยจากสองกลุ่มที่ขนาดเท่ากัน ให้ odds ratio ระดับประชากรเท่ากับ 1.72
- การปรับมาตรฐานระดับประชากรเปลี่ยนแบบจำลองโลจิสติกที่ปรับแล้วให้เป็น odds ratio อัตราส่วนความเสี่ยง และผลต่างความเสี่ยงระดับประชากรสำหรับประชากรที่ระบุชื่อ
- รายงาน odds ratio ทุกค่าพร้อม estimand ของมัน คือมีเงื่อนไขต่อตัวแปรร่วมใด หรือเป็นระดับประชากรของประชากรใด
อ่านต่อในวิกิ: [[repeated-measures-modeling-guide-th]] [[collapsibility-effect-change-guide]]