Kaplan-Meier และ Cox: หกการอ่านผลที่ฟังดูถูกแต่ไม่ถูก

Clinical Epidemiology ResearchMethodology and Research Design THUniqcret doctor knowledges TH
Kaplan-Meier และ Cox: หกการอ่านผลที่ฟังดูถูกแต่ไม่ถูก
On this page

Read the English version

บทคัดย่อ

กราฟ Kaplan-Meier และ hazard ratio จากแบบจำลอง Cox มักถูกอ่านเกินกว่าที่ข้อมูลแสดง ตัวอย่างผู้ป่วยสิบคนและการทดลองหัวใจล้มเหลวจำลองใช้แสดงการอ่านผลหกแบบนี้ กราฟ Kaplan-Meier ไม่ได้ปรับอะไรเลย และมัธยฐานที่ยังไม่ถึงหมายความเพียงว่ากราฟยังอยู่เหนือครึ่งหนึ่ง สมมติว่าการทดลองหนึ่งรายงาน hazard ratio เท่ากับ 0.70 ซึ่งควรอ่านดังนี้ hazard ratio เท่ากับ 0.70 เปรียบเทียบอัตราการเกิดเหตุการณ์ในผู้ป่วยที่ยังไม่เกิดเหตุการณ์ สรุปตลอดช่วงติดตามภายใต้ข้อสมมติ proportional hazards ส่วนผลต่างของสัดส่วนผู้เสียชีวิต ณ เวลาที่ระบุต้องอ่านจากกราฟการรอดชีพ ไม่ใช่จาก hazard ratio เมื่อเปรียบเทียบเฉพาะผู้ที่ยังรอดชีวิต ณ แต่ละเวลา อัตราส่วนนี้จึงไม่ใช่ผลเชิงเหตุผลสำหรับผู้ป่วยแต่ละคน ค่าระดับประชากรและค่าแบบมีเงื่อนไขของมันยังอาจต่างกันได้แม้ไม่มีตัวกวน ในการทดลองรุ่นดัดแปลงที่อัตราส่วนเปลี่ยนเมื่อครบหนึ่งปี ค่าโดยรวม 0.84 ซ่อน 0.62 ก่อนหน้านั้นและ 1.07 หลังจากนั้นไว้ การขาดการติดตามที่สัมพันธ์กับพยากรณ์โรคอาจทำให้ทั้งสองวิธีลำเอียง บทความนี้สรุปว่า hazard ratio เป็นตัวสรุปที่ถูกต้องภายใต้ proportional hazards เมื่ออ่านคู่กับการรอดชีพ ณ เวลาที่ระบุ


ภาพสรุป ข้อมูลจำลอง

รายงานการทดลองกับข่าวประชาสัมพันธ์

รายงานการทดลองหัวใจล้มเหลวฉบับหนึ่งสรุปผลหลักไว้ในหน้าเดียว กราฟ Kaplan-Meier แสดงเส้นขั้นบันไดของการรอดชีพในแต่ละกลุ่ม และ hazard ratio ของการเสียชีวิตจาก Cox ซึ่งเป็นอัตราส่วนของอัตราการเสียชีวิตระหว่างสองกลุ่ม เท่ากับ 0.70 จากนั้นข่าวประชาสัมพันธ์ระบุว่ายานี้ลดการเสียชีวิตลง 30% แพทย์โรคหัวใจที่กำลังตัดสินใจว่าจะเปลี่ยนการสั่งยาหรือไม่ต้องการรู้ว่าประโยคใดบ้างที่ตัวเลขเหล่านี้รองรับ

การทดลองนี้เป็นของสมมติ การอ่านผลของหน้าแบบนี้ที่พบบ่อยหกแบบพูดเกินกว่าที่กราฟหรืออัตราส่วนแสดง และแต่ละแบบมีวิธีแก้ ส่วนสุดท้ายหันไปที่ความผิดพลาดด้านตรงข้าม คือทิ้ง hazard ratio ไปเลย

เครื่องมือสองอย่างประมาณอะไร

ให้ $T$ เป็นเวลาจากการสุ่มถึงการเสียชีวิตจากทุกสาเหตุ หน่วยเป็นเดือน ฟังก์ชันการรอดชีพ (survival function) $S(t) = P(T > t)$ คือความน่าจะเป็นที่จะยังมีชีวิตอยู่เกินเดือนที่ $t$ ตัวประมาณ Kaplan-Meier (Kaplan-Meier estimator) ประมาณฟังก์ชันนี้จากการติดตามที่สิ้นสุดก่อนเวลาในผู้ป่วยบางคน โดยไม่ต้องสมมติรูปร่างของเส้น [1] เส้นจะตกเป็นขั้นที่การเสียชีวิตแต่ละครั้งและราบอยู่ระหว่างนั้น

ฮาซาร์ด (hazard) $h(t)$ คืออัตราการเสียชีวิต ณ เดือนที่ $t$ ในผู้ป่วยที่ยังมีชีวิตอยู่ เป็นอัตราต่อหนึ่งหน่วยเวลา ไม่ใช่ความน่าจะเป็นที่จะเสียชีวิตไปแล้ว อัตราส่วนฮาซาร์ด (hazard ratio, HR) คือฮาซาร์ดของกลุ่มที่ได้รับการรักษา $h_1(t)$ หารด้วยฮาซาร์ดของกลุ่มควบคุม $h_0(t)$ แบบจำลอง Cox (Cox proportional hazards model) ประมาณค่านี้โดยไม่ต้องระบุว่าตัวฮาซาร์ดเองเปลี่ยนไปตามเวลาอย่างไร [2]

HR ค่าเดียวสรุปการติดตามทั้งช่วงได้ภายใต้ข้อสมมติฮาซาร์ดเป็นสัดส่วน (proportional hazards assumption) คือ $h_1(t)/h_0(t)$ เท่ากันที่ทุก $t$ เมื่ออัตราส่วนเปลี่ยนไปตามการติดตาม ฮาซาร์ดจะไม่เป็นสัดส่วน (non-proportional)

ตัวอย่างคำนวณด้วยมือ: Kaplan-Meier ในผู้ป่วยสิบคน

ผู้ป่วยหัวใจล้มเหลวสิบคนถูกติดตามนับจากการสุ่มนานถึง 24 เดือน และเหตุการณ์คือการเสียชีวิตจากทุกสาเหตุ ห้าคนเสียชีวิตเมื่อเดือนที่ 6, 10, 14, 18 และ 20 หนึ่งคนขาดการติดตามเมื่อเดือนที่ 8 และอีกสี่คนยังมีชีวิตเมื่อการติดตามสิ้นสุดที่เดือนที่ 24 จึงมีห้าคนที่ถูกเซ็นเซอร์

ชุดเสี่ยง (at-risk set) ณ เวลาที่เสียชีวิต $t_j$ คือผู้ป่วยทุกคนที่ยังมีชีวิตและยังอยู่ในการติดตามก่อนถึง $t_j$ เล็กน้อย ให้ $n_j$ เป็นขนาดของชุดนั้น และ $d_j$ เป็นจำนวนการเสียชีวิตที่ $t_j$ ค่าประมาณ Kaplan-Meier คือ

$$\hat S(t) = \prod_{t_j \le t} \left(1 - \frac{d_j}{n_j}\right)$$

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

  1. เดือนที่ 6

    \[ \hat S(6) = 1 - \frac{1}{10} = 0.9 \]

    ผู้ป่วยทั้งสิบคนอยู่ในชุดเสี่ยงและเสียชีวิตหนึ่งคน

  2. เดือนที่ 8: การขาดการติดตาม ไม่ใช่การเสียชีวิต

    \[ \hat S(8) = 0.9 \]

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

  3. เดือนที่ 10

    \[ \hat S(10) = 0.9 \times \frac{7}{8} = 0.7875 \]

    หนึ่งใน 8 คนในชุดเสี่ยงเสียชีวิต ตัวคูณคือ 0.875

  4. เดือนที่ 14

    \[ \hat S(14) = 0.7875 \times \frac{6}{7} = 0.675 \]

    หนึ่งใน 7 คนเสียชีวิต ตัวคูณคือ 0.857

  5. เดือนที่ 18

    \[ \hat S(18) = 0.675 \times \frac{5}{6} = 0.5625 \]

    หนึ่งใน 6 คนเสียชีวิต ตัวคูณคือ 0.833

  6. เดือนที่ 20

    \[ \hat S(20) = 0.5625 \times \frac{4}{5} = 0.45 \]

    หนึ่งใน 5 คนเสียชีวิต ตัวคูณคือ 0.8 ผู้รอดชีวิตสี่คนถูกเซ็นเซอร์ที่เดือนที่ 24 เส้นจึงอยู่ที่ 0.45 จนจบ

  7. มัธยฐานการรอดชีพ

    \[ \hat S(18) = 0.5625 > \tfrac{1}{2} \ge \hat S(20) = 0.45 \]

    มัธยฐานการรอดชีพ (median survival) คือเวลาแรกที่เส้นลดถึงครึ่งหนึ่งหรือต่ำกว่า ในที่นี้คือเดือนที่ 20

ผลลัพธ์: การรอดชีพเท่ากับ 0.7875 ที่เดือนที่ 12 อ่านจากขั้นสุดท้ายที่เดือนนั้นหรือก่อนหน้า และ 0.45 ที่เดือนที่ 24 มัธยฐานการรอดชีพคือ 20 เดือน

ตัวอย่างคำนวณด้วยมือ ชุดเสี่ยงหดลงทุกครั้งที่มีผู้เสียชีวิตและทุกครั้งที่มีการเซ็นเซอร์ แต่เฉพาะการเสียชีวิตเท่านั้นที่ทำให้เส้นลดเป็นขั้น
เดือนชุดเสี่ยง ($n_j$)การเสียชีวิต ($d_j$)ถูกเซ็นเซอร์ตัวคูณ ($1 - d_j/n_j$)การรอดชีพ ($\hat S$)
610100.90.9
8901 (ขาดการติดตาม)ไม่ลดเป็นขั้น0.9
108100.8750.7875
147100.8570.675
186100.8330.5625
205100.80.45
24404 (การติดตามสิ้นสุด)ไม่ลดเป็นขั้น0.45
แก้เดือนของผู้ป่วยหรือสลับจากการเสียชีวิตเป็นการเซ็นเซอร์ แล้วเส้นขั้นบันได ตารางชุดเสี่ยง และเครื่องหมายมัธยฐานจะวาดใหม่ ส่วนตัวเลื่อนอ่านค่าประมาณที่เดือนใดก็ได้ แถว P1 ถึง P10 เริ่มต้นเป็นผู้ป่วยสิบคนของตัวอย่างคำนวณด้วยมือ ต่างจากตารางด้านบน วิดเจ็ตแสดงการเซ็นเซอร์แต่ละครั้งไว้ใต้เดือนที่เสียชีวิตก่อนหน้า จุดเริ่มต้นที่สองเปลี่ยนการเสียชีวิตที่เดือนที่ 18 และ 20 เป็นการเซ็นเซอร์ ดังในการอ่านที่ 2

การทดลองจำลองที่ใช้ในบทความนี้

ส่วนที่เหลือของบทความนี้ใช้การทดลองจำลองหนึ่งชุด (ข้อมูลจำลอง) ซึ่งรับผู้ใหญ่ 1,500 คนหลังเข้ารักษาตัวด้วยหัวใจล้มเหลว กลุ่มละ 750 คน และติดตามตั้งแต่การสุ่มจนถึงวันปิดการศึกษาร่วมกันในอีก 24 ถึง 36 เดือนต่อมา ยานี้เป็นของสมมติ โดยการออกแบบมันลดฮาซาร์ดของการเสียชีวิตจากโรคหัวใจและหลอดเลือด (HR จริง 0.70) และไม่แตะการเสียชีวิตจากสาเหตุอื่น (HR จริง 1.00) เนื่องจากฮาซาร์ดการเสียชีวิตทั้งสองชนิดคงที่ตามเวลา HR จริงของการเสียชีวิตจากทุกสาเหตุจึงเท่ากับ 0.79 ทุกเดือน

มีผู้เสียชีวิต 825 คน เป็นกลุ่มควบคุม 444 คนและกลุ่มที่ได้รับยา 381 คน ในผู้ป่วยที่ไม่ได้เสียชีวิต มี 80 คนขาดการติดตาม กลุ่มละ 40 คน และ 595 คนถูกเซ็นเซอร์ ณ วันปิดการศึกษา เป็นกลุ่มควบคุม 266 คนและกลุ่มที่ได้รับยา 329 คน

ข้อมูลจำลอง การเสียชีวิตจากทุกสาเหตุ กลุ่มละ 750 คน ค่าประมาณ Kaplan-Meier เทียบกับค่าจริงที่ใช้สร้างการทดลอง มัธยฐานทั้งสองค่าไปถึงภายในช่วงติดตาม
ปริมาณกลุ่มควบคุม ค่าประมาณกลุ่มควบคุม ค่าจริงกลุ่มที่ได้รับยา ค่าประมาณกลุ่มที่ได้รับยา ค่าจริง
การรอดชีพที่ 12 เดือน0.6880.6810.7430.737
การรอดชีพที่ 24 เดือน0.4730.4640.5690.544
มัธยฐานการรอดชีพ (เดือน)22.621.728.327.3

R: การรอดชีพ Kaplan-Meier ที่ 12 และ 24 เดือน

โค้ด R w3_sim_r.R (บรรทัด 46-50 จาก 384)
# ---------------------------------------------------------------- all-cause death: Kaplan-Meier
# time origin = randomisation; censoring = end of study or loss to follow-up
km <- survfit(Surv(fu_months, death) ~ arm, data = w3)
s <- summary(km, times = c(12, 24))
print(s)
ผลลัพธ์จากการรัน w3_sim_r.log
> km <- survfit(Surv(fu_months, death) ~ arm, data = w3)

> s <- summary(km, times = c(12, 24))

> print(s)
Call: survfit(formula = Surv(fu_months, death) ~ arm, data = w3)

                arm=0
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    498     230    0.688  0.0171        0.656        0.722
   24    332     153    0.473  0.0186        0.438        0.511

                arm=1
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    542     190    0.743  0.0161        0.713        0.776
   24    400     125    0.569  0.0184        0.534        0.606
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง summary(km, times = c(12, 24)) พิมพ์จำนวนในชุดเสี่ยง จำนวนการเสียชีวิตตั้งแต่เดือนที่ระบุก่อนหน้า ค่าประมาณการรอดชีพ และช่วงเชื่อมั่น 95% ของมัน สำหรับแต่ละกลุ่มและแต่ละเดือน นี่คือส่วนที่ตัดมาจากสคริปต์จำลอง คือบรรทัดที่ใช้วิเคราะห์นี้ พร้อมผลลัพธ์ของการรันวางคู่กัน w3 คือการทดลองจำลองที่สคริปต์อ่านเข้ามาก่อนหน้านี้ ไฟล์ข้อมูลการทดลองจำลองไม่ได้เผยแพร่

แบบจำลอง Cox และการตรวจฮาซาร์ดเป็นสัดส่วน

แบบจำลอง Cox ให้ HR เท่ากับ 0.78 ของกลุ่มที่ได้รับการรักษาเทียบกับกลุ่มควบคุม โดยมีช่วงเชื่อมั่น (confidence interval, CI) 95% คือ 0.68 ถึง 0.90 เทียบกับค่าจริง 0.79 ผลลัพธ์ของ Stata ด้านล่างพิมพ์ค่า P ด้วย จากนั้นสคริปต์ตรวจข้อสมมติฮาซาร์ดเป็นสัดส่วนด้วย estat phtest, detail และ cox.zph และแบ่งการติดตามออกเป็นช่วงเวลาด้วย stsplit และ survSplit ส่วนเหตุผลอธิบายไว้ในการอ่านที่ 5 ผลการตรวจของ Stata สำหรับการทดลองนี้แสดงต่อจากผลของแบบจำลอง ตามด้วยช่องโค้ดสามช่องของรุ่นดัดแปลงของการทดลองที่อธิบายในการอ่านที่ 5

Stata: แบบจำลอง Cox สำหรับการเสียชีวิตจากทุกสาเหตุ

โค้ด Stata w3_sim.do (บรรทัด 98-100 จาก 637)
* ---------------------------------------------------------------- all-cause death: Cox model
* hazard ratio for treatment versus control (Breslow ties; there are no tied times)
stcox arm
ผลลัพธ์จากการรัน w3_sim.log
. * ---------------------------------------------------------------- all-cause death: Cox model
. * hazard ratio for treatment versus control (Breslow ties; there are no tied times)
. stcox arm

        Failure _d: death==1
  Analysis time _t: fu_months

Iteration 0:  Log likelihood = -5648.1152
Iteration 1:  Log likelihood = -5641.8514
Iteration 2:  Log likelihood = -5641.8514
Refining estimates:
Iteration 0:  Log likelihood = -5641.8514

Cox regression with no ties

No. of subjects =       1,500                           Number of obs =  1,500
No. of failures =         825
Time at risk    = 29,562.8078
                                                        LR chi2(1)    =  12.53
Log likelihood = -5641.8514                             Prob > chi2   = 0.0004

------------------------------------------------------------------------------
          _t | Haz. ratio   Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         arm |   .7812631   .0545882    -3.53   0.000      .681275    .8959261
------------------------------------------------------------------------------
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง stcox arm รายงาน HR ของกลุ่มที่ได้รับการรักษาเทียบกับกลุ่มควบคุมพร้อม CI 95% จากผู้ป่วย 1,500 คนและการเสียชีวิต 825 ครั้ง "no ties" หมายความว่าไม่มีการเสียชีวิตสองครั้งที่เวลาเดียวกัน นี่คือส่วนที่ตัดมาจากสคริปต์จำลอง คือบรรทัดที่ใช้วิเคราะห์นี้ พร้อมผลลัพธ์ของการรันวางคู่กัน แบบจำลองใช้การกำหนดข้อมูลเวลารอดชีพที่ประกาศไว้ก่อนหน้าในสคริปต์ คือ stset fu_months, failure(death == 1) ไฟล์ข้อมูลการทดลองจำลองไม่ได้เผยแพร่

Stata: การตรวจฮาซาร์ดเป็นสัดส่วนของการทดลองจำลอง

โค้ด Stata w3_sim.do (บรรทัด 104-105 จาก 637)
* proportional-hazards check: scaled Schoenfeld residuals against analysis time
estat phtest, detail
ผลลัพธ์จากการรัน w3_sim.log
. * proportional-hazards check: scaled Schoenfeld residuals against analysis time
. estat phtest, detail

Test of proportional-hazards assumption

Time function: Analysis time
--------------------------------------------------------
             |        rho     chi2       df    Prob>chi2
-------------+------------------------------------------
         arm |    0.00359     0.01        1       0.9179
-------------+------------------------------------------
 Global test |                0.01        1       0.9179
--------------------------------------------------------
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง เป็นการทำงานต่อจากแบบจำลอง Cox ด้านบนในการรัน Stata ครั้งเดียวกัน estat phtest, detail ทดสอบว่า HR ของการรักษาเปลี่ยนไปตามช่วงติดตามหรือไม่ และแถว Global test ให้ค่าสถิติไคสแควร์ 0.01 กับ P = 0.92 คือไม่พบแนวโน้ม การอ่านที่ 5 อธิบายส่วนตกค้างที่อยู่เบื้องหลังการทดสอบนี้ นี่คือส่วนที่ตัดมาจากสคริปต์จำลอง คือบรรทัดที่ใช้ตรวจนี้ พร้อมผลลัพธ์ของการรันวางคู่กัน ไฟล์ข้อมูลการทดลองจำลองไม่ได้เผยแพร่

Stata: hazard ratio ค่าเดียวของการทดลองรุ่นดัดแปลง

โค้ด Stata w3_sim.do (บรรทัด 238-239 จาก 637)
* one hazard ratio averaged over follow-up, then the PH check
stcox arm
ผลลัพธ์จากการรัน w3_sim.log
. * one hazard ratio averaged over follow-up, then the PH check
. stcox arm

        Failure _d: death==1
  Analysis time _t: fu_months
       ID variable: id

Iteration 0:  Log likelihood = -5860.3193
Iteration 1:  Log likelihood = -5857.1468
Iteration 2:  Log likelihood = -5857.1468
Refining estimates:
Iteration 0:  Log likelihood = -5857.1468

Cox regression with no ties

No. of subjects =       1,500                           Number of obs =  1,500
No. of failures =         861
Time at risk    = 29,758.7835
                                                        LR chi2(1)    =   6.35
Log likelihood = -5857.1468                             Prob > chi2   = 0.0118

------------------------------------------------------------------------------
          _t | Haz. ratio   Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         arm |   .8421581   .0574503    -2.52   0.012     .7367606    .9626332
------------------------------------------------------------------------------
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง ในรุ่นดัดแปลงของการทดลองที่อธิบายในการอ่านที่ 5 ซึ่ง HR ของการเสียชีวิตในกลุ่มที่ได้รับการรักษาเท่ากับ 0.60 จนถึงเดือนที่ 12 และ 1.10 หลังจากนั้น stcox arm ให้ HR ค่าเดียวตลอดการติดตามเท่ากับ 0.84 โดยมี CI 95% คือ 0.74 ถึง 0.96

Stata: การตรวจ proportional hazards ของการทดลองรุ่นดัดแปลง

โค้ด Stata w3_sim.do (บรรทัด 243-243 จาก 637)
estat phtest, detail
ผลลัพธ์จากการรัน w3_sim.log
. estat phtest, detail

Test of proportional-hazards assumption

Time function: Analysis time
--------------------------------------------------------
             |        rho     chi2       df    Prob>chi2
-------------+------------------------------------------
         arm |    0.13819    16.36        1       0.0001
-------------+------------------------------------------
 Global test |               16.36        1       0.0001
--------------------------------------------------------
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง estat phtest, detail ที่รันต่อจากแบบจำลอง Cox ค่าเดียวของรุ่นดัดแปลงด้านบน ให้แถว Global test ค่าสถิติไคสแควร์ 16.36 กับ P < 0.001 คือ HR ของการรักษาในรุ่นดัดแปลงเปลี่ยนไปตามช่วงติดตาม

Stata: hazard ratio หนึ่งค่าต่อช่วงเวลาของการทดลองรุ่นดัดแปลง

โค้ด Stata w3_sim.do (บรรทัด 252-256 จาก 637)
* split follow-up at 12 months and give each period its own treatment hazard ratio
stsplit late, at(12)
generate byte arm_0_12 = arm * (late == 0)
generate byte arm_12plus = arm * (late == 12)
stcox arm_0_12 arm_12plus
ผลลัพธ์จากการรัน w3_sim.log
. * split follow-up at 12 months and give each period its own treatment hazard ratio
. stsplit late, at(12)
(1,075 observations (episodes) created)

. generate byte arm_0_12 = arm * (late == 0)

. generate byte arm_12plus = arm * (late == 12)

. stcox arm_0_12 arm_12plus

        Failure _d: death==1
  Analysis time _t: fu_months
       ID variable: id

Iteration 0:  Log likelihood = -5860.3193
Iteration 1:  Log likelihood = -5849.6257
Iteration 2:  Log likelihood = -5849.6247
Refining estimates:
Iteration 0:  Log likelihood = -5849.6247

Cox regression with no ties

No. of subjects =       1,500                           Number of obs =  2,575
No. of failures =         861
Time at risk    = 29,758.7835
                                                        LR chi2(2)    =  21.39
Log likelihood = -5849.6247                             Prob > chi2   = 0.0000

------------------------------------------------------------------------------
          _t | Haz. ratio   Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
    arm_0_12 |   .6245692   .0650446    -4.52   0.000     .5092532    .7659976
  arm_12plus |   1.067557   .0982992     0.71   0.478     .8912784    1.278699
------------------------------------------------------------------------------
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง stsplit ตัดการติดตามของผู้ป่วยแต่ละคนที่เดือนที่ 12 และ stcox ที่มีพจน์การรักษาหนึ่งพจน์ต่อช่วงเวลาให้ HR 0.62 (CI 95% 0.51 ถึง 0.77) ในเดือนที่ 0 ถึง 12 และ 1.07 (CI 95% 0.89 ถึง 1.28) หลังเดือนที่ 12

การอ่านที่ 1: "กราฟแสดงผลที่ปรับแล้ว"

เส้น Kaplan-Meier ใช้เพียงเวลาและสถานะของผู้ป่วยแต่ละคนภายในกลุ่ม จึงไม่ได้ปรับอะไรเลย ในการทดลองแบบสุ่มนี่เป็นข้อดี เพราะการสุ่มทำให้พยากรณ์โรคสมดุลกันโดยเฉลี่ย เส้นที่ไม่ปรับของแต่ละกลุ่มจึงประมาณการรอดชีพของประชากรที่ถูกสุ่มทั้งหมดภายใต้การรักษานั้น

ในกลุ่มตัวอย่างติดตามเชิงสังเกต (observational cohort) เส้นที่แยกตามสิ่งสัมผัสเป็นเส้นดิบที่มีตัวกวนติดมาด้วย การปรับมาตรฐาน (standardisation) ทำนายการรอดชีพของผู้ป่วยแต่ละคนภายใต้สิ่งสัมผัสแต่ละแบบจากแบบจำลองที่มีตัวแปรร่วม แล้วเฉลี่ยเส้นเหล่านั้นทั้งกลุ่ม การถ่วงน้ำหนักด้วยส่วนกลับของความน่าจะเป็น (inverse probability weighting) ถ่วงน้ำหนักผู้ป่วยใหม่เพื่อให้ตัวแปรร่วมที่วัดไว้ไม่ทำนายสิ่งสัมผัสอีก แล้วจึงวาดเส้น Kaplan-Meier แบบถ่วงน้ำหนัก [3] เส้นที่ทำนายที่ค่าเฉลี่ยของตัวแปรร่วมทุกตัวไม่ใช่ทั้งสองแบบ เพราะเป็นเส้นของผู้ป่วยหนึ่งคนที่อาจไม่มีอยู่จริง

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

การอ่านที่ 2: "มัธยฐานที่ยังไม่ถึงหมายความว่าผู้ป่วยส่วนใหญ่รอดชีวิต"

มัธยฐานคือเวลาแรกที่ $\hat S(t)$ ลดถึงครึ่งหนึ่งหรือต่ำกว่า คำว่า "ยังไม่ถึง" (not reached) หมายความเพียงว่าเมื่อเส้นจบ เส้นยังอยู่เหนือครึ่งหนึ่ง ซึ่งขึ้นกับว่าติดตามนานเท่าไรและมีผู้เสียชีวิตกี่คน และบอกอะไรไม่ได้เกี่ยวกับการรอดชีพหลังเส้นจบ

ลองเปลี่ยนตัวอย่างคำนวณด้วยมือเพื่อดู ถ้าผู้ป่วยที่เสียชีวิตเมื่อเดือนที่ 18 และ 20 ขาดการติดตามเมื่อเดือนที่เหล่านั้นแทน เส้นจะอยู่ที่ 0.675 ไปจนถึงเดือนที่ 24 มัธยฐานจึงยังไม่ถึง ทั้งที่ผู้ป่วยสิบคนเสียชีวิตแล้วสามคน การทดลองที่หยุดเร็วก็อาจรายงานว่า "ยังไม่ถึง" ได้เช่นกัน ทั้งที่โรคนั้นพรากชีวิตผู้ป่วยส่วนใหญ่ภายในไม่กี่ปี

วิธีแก้โดยทั่วไปคือรายงานการรอดชีพ ณ เวลาที่ระบุ เช่น 0.743 ที่ 12 เดือนในกลุ่มที่ได้รับยาของการทดลองจำลอง และระบุความยาวของการติดตามไว้ข้างมัธยฐานทุกค่า ระยะเวลารอดชีพเฉลี่ยแบบจำกัดช่วง (restricted mean survival time) หรือ RMST($\tau$) คือพื้นที่ใต้กราฟการรอดชีพจนถึงขอบเขตเวลา (horizon) $\tau$ หรือเวลาปลอดเหตุการณ์เฉลี่ยภายในช่วงนั้น ตอนที่ 3 อธิบายเรื่องนี้โดยละเอียด

การอ่านที่ 3: การแปลง hazard ratio เป็นจำนวนการเสียชีวิตที่ป้องกันได้

ข่าวประชาสัมพันธ์แปลง hazard ratio ของรายงานการทดลอง ซึ่งเป็นอัตราส่วนของอัตรา ให้เป็นสัดส่วนของการเสียชีวิตที่ป้องกันได้ hazard ratio เท่ากับ 0.70 เปรียบเทียบอัตราการเกิดเหตุการณ์ในผู้ป่วยที่ยังไม่เกิดเหตุการณ์ สรุปตลอดช่วงติดตามภายใต้ข้อสมมติ proportional hazards ส่วนผลต่างของสัดส่วนผู้เสียชีวิต ณ เวลาที่ระบุต้องอ่านจากกราฟการรอดชีพ ไม่ใช่จาก hazard ratio

การทดลองจำลองแสดงเหตุผล HR จริงของการทดลองนี้คือ 0.79 ทุกเดือน แต่ช่องว่างของการรอดชีพจริงระหว่างสองกลุ่มกว้างขึ้น คือ 0.681 ในกลุ่มควบคุมเทียบกับ 0.737 ในกลุ่มที่ได้รับยาที่เดือนที่ 12 และ 0.464 เทียบกับ 0.544 ที่เดือนที่ 24 hazard ratio ค่าเดียวจึงอยู่เบื้องหลังผลต่างสัมบูรณ์สองค่า และลำพังมันจึงบอกไม่ได้ว่ายาป้องกันการเสียชีวิตได้กี่ครั้ง ณ เดือนใด

HR ก็ไม่ใช่อัตราส่วนของสัดส่วนผู้ที่เสียชีวิตเช่นกัน ภายใต้ proportional hazards เมื่อ HR ต่ำกว่า 1 อัตราส่วนนั้นจะใกล้ 1 กว่า HR เสมอ และทั้งสองตรงกันเฉพาะตอนที่ผู้ป่วยเสียชีวิตไปยังน้อย เมื่อถึงเดือนที่ 24 ประมาณครึ่งหนึ่งของกลุ่มควบคุมเสียชีวิตแล้ว การอ่าน HR 0.79 เป็นอัตราส่วนของสัดส่วนผู้เสียชีวิตจึงทำให้การลดลงเชิงสัมพัทธ์ดูมากเกินจริง

การอ่านที่ 4: "hazard ratio คือผลเชิงเหตุผลสำหรับผู้ป่วยทุกคน"

การสุ่มทำให้สองกลุ่มเปรียบเทียบกันได้ ณ เวลาศูนย์ แต่ HR ที่เดือนที่ $t$ เปรียบเทียบเฉพาะผู้ป่วยที่ยังมีชีวิตอยู่ ณ เวลา $t$ ถ้าผู้ป่วยต่างกันที่ความเปราะบาง (frailty) คือความไวต่อการเสียชีวิตที่ไม่ได้วัด ยาที่ได้ผลจะทำให้ผู้ป่วยที่เปราะบางกว่ารอดอยู่ในกลุ่มที่ได้รับยามากกว่า การเปรียบเทียบในเวลาต่อมาจึงปนผลของยากับการคัดเลือกนี้ [4, 5] ในการทดลองจำลอง ผู้ป่วยทุกคนในกลุ่มเดียวกันมีฮาซาร์ดการเสียชีวิตเท่ากัน เรื่องนี้จึงเกิดขึ้นที่นี่ไม่ได้ แต่ในผู้ป่วยจริงเกิดได้

HR ยังไม่ยุบรวมได้ (non-collapsible) คือค่าระดับประชากรอาจต่างจากค่าแบบมีเงื่อนไขภายในแต่ละระดับของตัวแปรร่วม

การที่การศึกษารายงานค่าระดับประชากรหรือค่าแบบมีเงื่อนไขเป็นส่วนหนึ่งของปริมาณเป้าหมายของการประมาณ (estimand) ของการศึกษานั้น คือปริมาณที่แน่ชัดซึ่งการศึกษาตั้งใจประมาณ

odds ratio แบบมีเงื่อนไขกับแบบระดับประชากร รวมทั้ง hazard ratio ทั้งสองแบบ อาจต่างกันได้แม้ไม่มีตัวกวนเลย ในการทดลองแบบสุ่ม การปรับด้วยปัจจัยพยากรณ์โรคที่มีผลแรงมักทำให้ odds ratio ขยับห่างจาก 1 มากขึ้น นั่นคือการเปลี่ยน estimand ไม่ใช่การกำจัดความลำเอียง HR ก็เป็นเช่นเดียวกัน

ดังนั้น HR ที่ปรับแล้วกับที่ไม่ปรับจากการทดลองเดียวกันจึงมุ่งไปที่ปริมาณต่างกัน (อ่านเพิ่มเรื่อง collapsibility) วิธีแก้โดยทั่วไปคืออ่าน HR เป็นการเปรียบเทียบสรุปของกลุ่มที่ถูกสุ่มภายใต้ proportional hazards และระบุว่าปรับแล้วหรือไม่ ส่วนผลต่างที่ใช้ได้กับประชากรที่ถูกสุ่มทั้งหมด เส้นการรอดชีพหรือ RMST มักตรงกว่า

การอ่านที่ 5: "hazard ratio ค่าเดียวสรุปการติดตามทั้งช่วงได้"

เมื่อฮาซาร์ดไม่เป็นสัดส่วน แบบจำลอง Cox ยังคืนตัวเลขเพียงค่าเดียว ซึ่งเป็นค่าเฉลี่ยถ่วงน้ำหนักของอัตราส่วนที่เปลี่ยนไป โดยน้ำหนักขึ้นกับว่าการเสียชีวิตเกิดเมื่อใดและติดตามผู้ป่วยนานเท่าไร [6] การทดลองยาเดียวกันที่นานขึ้นหรือสั้นลงอาจรายงาน HR ต่างออกไป

รุ่นดัดแปลงของการทดลองจำลองแสดงเรื่องนี้ HR ของการเสียชีวิตในกลุ่มที่ได้รับยาคือ 0.60 ในเดือนที่ 0 ถึง 12 และ 1.10 หลังจากนั้น ฮาซาร์ดสะสม (cumulative hazard) ของสองกลุ่ม คือฮาซาร์ดที่รวมสะสมตามเวลา จะเท่ากันที่เดือนที่ 60 เท่านั้น ซึ่งเกินเวลาติดตามสูงสุด 36 เดือน

ฮาซาร์ดการเสียชีวิตของกลุ่มควบคุมคงที่ (การรอดชีพจากทุกสาเหตุ 0.681 ที่ 12 เดือน) ฮาซาร์ดสะสมของกลุ่มที่ได้รับยาเท่ากับ 0.60 เท่าของค่าในกลุ่มควบคุมจนถึงเดือนที่ 12 แล้วจึงเพิ่มขึ้น 1.10 เท่าของส่วนที่เพิ่มในกลุ่มควบคุม ทั้งสองจึงเท่ากันเมื่อฮาซาร์ดสะสมของกลุ่มควบคุมถึงห้าเท่าของค่าที่เดือนที่ 12 ซึ่งฮาซาร์ดที่คงที่ไปถึงที่เดือนที่ 60 เส้นการรอดชีพจึงแยกจากกันในปีแรกและไม่ตัดกันภายในช่วงติดตาม

ข้อมูลจำลอง รุ่นดัดแปลงของการทดลองที่ฮาซาร์ดไม่เป็นสัดส่วน ผู้ป่วย 1,500 คน ค่าประมาณค่าเดียวตรงกับค่าในตัวอย่างขนาดใหญ่ของมันเอง แต่ไม่อธิบายทั้งสองช่วงเวลา ส่วนค่าประมาณรายช่วงอยู่ใกล้ค่าที่ฝังไว้ในการจำลอง ค่าประมาณเหล่านี้คือแถว Haz. ratio ในช่องโค้ด Stata ของรุ่นดัดแปลงที่แสดงต่อจากการตรวจ proportional hazards ของการทดลองเดิม
hazard ratio กลุ่มที่ได้รับยาเทียบกับกลุ่มควบคุมค่าประมาณ (CI 95%)ค่าที่ฝังไว้ในการจำลอง
แบบจำลอง Cox ค่าเดียวตลอดการติดตาม0.84 (0.74 to 0.96)ไม่มีค่าเดียวที่ถูกต้อง ตัวอย่างจำลองขนาดใหญ่มากให้ 0.84
เดือนที่ 0 ถึง 120.62 (0.51 to 0.77)0.60
หลังเดือนที่ 121.07 (0.89 to 1.28)1.10

การตรวจข้อสมมติ

HR ค่าเดียวที่ 0.84 ไม่ใช่ความบังเอิญจากการสุ่มตัวอย่าง ตัวอย่างจำลองขนาดใหญ่มากของการทดลองเดียวกันก็ให้ 0.84 เช่นกัน มันคือค่าที่แบบจำลอง HR ค่าเดียวลงตัวให้กับรูปแบบการติดตามนี้ และไม่ได้อธิบายช่วงเวลาใดเลย ขณะที่ HR หนึ่งค่าต่อช่วงเวลาประมาณผลทั้งสองช่วงได้ใกล้ค่าจริง วิธีนี้ใช้ได้ที่นี่เพราะผู้ป่วยจำลองทุกคนในกลุ่มเดียวกันมีฮาซาร์ดการเสียชีวิตเท่ากันทุกเดือน ในผู้ป่วยจริง HR หลังเดือนที่ 12 เปรียบเทียบเฉพาะผู้ที่รอดผ่านปีแรกมาได้ จึงมีการคัดเลือกตามที่อธิบายในการอ่านที่ 4 ติดมาด้วย

การตรวจตามปกติใช้ส่วนตกค้างของ Schoenfeld (Schoenfeld residuals) ณ การเสียชีวิตแต่ละครั้ง ส่วนตกค้างคือตัวบ่งชี้การรักษาของผู้ป่วยที่เสียชีวิตลบด้วยค่าคาดหวังของมัน เมื่อพิจารณาจากผู้ที่ยังอยู่ในชุดเสี่ยง [7] เมื่อปรับสเกลและวาดเทียบกับเวลา ส่วนตกค้างเหล่านี้แสดงว่าลอการิทึมของ HR เปลี่ยนไปอย่างไร และ estat phtest หรือ cox.zph ทดสอบว่ามีแนวโน้มหรือไม่

การทดสอบให้ผลชัดในรุ่นดัดแปลง (ค่าสถิติไคสแควร์ 16.36, P < 0.001) และไม่พบแนวโน้มในการทดลองเดิม (ค่าสถิติไคสแควร์ 0.01, P = 0.92) ผลทั้งสองคือแถว Global test ในผลการตรวจของ Stata ที่แสดงต่อจากแบบจำลอง Cox โดยของการทดลองเดิมแสดงก่อน และของรุ่นดัดแปลงแสดงตามมา

วิธีแก้โดยทั่วไปคืออ่านกราฟและกราฟส่วนตกค้าง ไม่ใช่ดูแค่ค่า P เพราะไม่มีการทดสอบใดพิสูจน์ได้ว่าฮาซาร์ดเป็นสัดส่วน [6] เมื่อผลเปลี่ยนไปตามเวลา มักให้ข้อมูลมากกว่าถ้ารายงานการรอดชีพ ณ เวลาที่ระบุหรือ RMST และ HR รายช่วงเวลาที่กำหนดจุดตัดไว้ก่อนเห็นข้อมูล

การอ่านที่ 6: "การเซ็นเซอร์ไม่มีผลเสีย"

Kaplan-Meier และ Cox ต่างถือว่าผู้ป่วยที่ถูกเซ็นเซอร์มีความเสี่ยงต่อไปเหมือนผู้ป่วยที่ยังถูกติดตามอยู่ ซึ่งเป็นจริงเมื่อการเซ็นเซอร์เป็นอิสระจากเหตุการณ์ ภายในแต่ละกลุ่มสำหรับ Kaplan-Meier และเมื่อกำหนดตัวแปรร่วมของแบบจำลองสำหรับ Cox การเซ็นเซอร์แบบให้ข้อมูล (informative censoring) ทำให้ข้อสมมตินี้เสีย เช่นถ้าผู้ป่วยที่รู้สึกแย่ลงหยุดมาตามนัด ผู้ป่วยที่อาการหนักที่สุดจะออกจากชุดเสี่ยงเร็ว และเส้นจะประมาณการรอดชีพสูงเกินจริง ในตัวอย่างคำนวณด้วยมือที่ดัดแปลงในการอ่านที่ 2 ค่า 0.675 จะประมาณการรอดชีพสูงเกินจริงถ้าผู้ป่วยสองคนที่ขาดการติดตามจากไปเพราะอาการหนักกว่า

ในการทดลองจำลอง การเซ็นเซอร์ไม่มีผลเสียโดยการออกแบบ การขาดการติดตามเกิดขึ้นคงที่ 0.0025 ต่อเดือนโดยไม่ขึ้นกับพยากรณ์โรค และการเซ็นเซอร์ตามกำหนดสิ้นสุดการศึกษา (administrative censoring) ณ วันปิดการศึกษาร่วมกัน ขึ้นกับเวลาที่ผู้ป่วยเข้าร่วมเท่านั้น มีผู้ป่วยขาดการติดตามเพียง 80 คน (5.3%) กลุ่มละ 40 คน

อีกปัญหาหนึ่งเกิดขึ้นเมื่อเหตุการณ์ที่สนใจคือการเสียชีวิตจากโรคหัวใจและหลอดเลือดอย่างเดียว ในกรณีนี้การเสียชีวิตจากสาเหตุอื่นเป็นเหตุการณ์แข่งขัน (competing event) เพราะทำให้การเสียชีวิตจากโรคหัวใจและหลอดเลือดเกิดขึ้นไม่ได้อีก ไม่ใช่แค่มองไม่เห็น และ 1 ลบ Kaplan-Meier โดยเซ็นเซอร์การเสียชีวิตเหล่านั้นประมาณความเสี่ยงเชิงสมมติในโลกที่ไม่มีมัน โดยสมมติว่าการกำจัดการเสียชีวิตเหล่านั้นจะไม่เปลี่ยนอัตราการเสียชีวิตจากโรคหัวใจและหลอดเลือด (ตอนที่ 4 อธิบายตัวประมาณของโลกจริง)

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

การแก้เกินเหตุ: "hazard ratio ไม่มีความหมาย"

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

การทดลองจำลองชุดเดิมเป็นกรณีเช่นนั้น โดยการออกแบบ HR จริงของมันคือ 0.79 ทุกเดือน การตรวจไม่พบแนวโน้ม และค่าประมาณ 0.78 สรุปอัตราส่วนอัตราการเกิดเหตุการณ์ได้ดี เมื่อจับคู่กับการรอดชีพที่ 24 เดือน คือ 0.473 ในกลุ่มควบคุมและ 0.569 ในกลุ่มที่ได้รับยา มันให้แพทย์ทั้งผลสัมพัทธ์ต่ออัตราการเสียชีวิตและผลต่างสัมบูรณ์ที่สองปี ผลลัพธ์ของ R ด้านบนแสดงช่วงเชื่อมั่นของการรอดชีพของแต่ละกลุ่ม

การอ่านหกแบบกับการแก้เกินเหตุ พร้อมวิธีแก้

  • "เส้น Kaplan-Meier แสดงผลที่ปรับแล้ว"

    Kaplan-Meier ไม่ได้ปรับอะไรเลย เมื่อแยกตามสิ่งสัมผัสในข้อมูลเชิงสังเกต มันเป็นการเปรียบเทียบแบบดิบ

    วิธีแก้: ระบุเส้นดิบว่าเป็นเส้นดิบ และวาดเส้นที่ปรับมาตรฐานหรือถ่วงน้ำหนักเมื่อคำถามเป็นเชิงเหตุผล เส้นเหล่านั้นขจัดตัวกวนได้เฉพาะตัวแปรร่วมที่ใส่ไว้ และเฉพาะเมื่อรูปแบบของตัวแปรร่วมทุกรูปแบบเกิดขึ้นได้ภายใต้สิ่งสัมผัสทั้งสองแบบ

  • "มัธยฐานที่ยังไม่ถึงหมายความว่าผู้ป่วยส่วนใหญ่รอดชีวิต"

    หมายความเพียงว่าเมื่อการติดตามสิ้นสุด เส้นยังอยู่เหนือครึ่งหนึ่ง

    วิธีแก้: รายงานการรอดชีพ ณ เวลาที่ระบุ หรือ RMST พร้อมความยาวของการติดตาม

  • "hazard ratio เท่ากับ 0.70 หมายความว่าเสียชีวิตน้อยลง 30%"

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

    วิธีแก้: hazard ratio เท่ากับ 0.70 เปรียบเทียบอัตราการเกิดเหตุการณ์ในผู้ป่วยที่ยังไม่เกิดเหตุการณ์ สรุปตลอดช่วงติดตามภายใต้ข้อสมมติ proportional hazards ส่วนผลต่างของสัดส่วนผู้เสียชีวิต ณ เวลาที่ระบุต้องอ่านจากกราฟการรอดชีพ ไม่ใช่จาก hazard ratio

  • "hazard ratio คือผลเชิงเหตุผลที่ใช้ได้กับผู้ป่วยทุกคน"

    มันเปรียบเทียบผู้ที่รอดชีวิต ณ แต่ละเวลา ซึ่งอาจเปรียบเทียบกันไม่ได้อีกแล้ว และมันไม่ยุบรวมได้ (non-collapsible)

    วิธีแก้: อ่านเป็นการเปรียบเทียบสรุปของกลุ่มที่ถูกสุ่ม ระบุว่าปรับแล้วหรือไม่ และใช้เส้นการรอดชีพหรือ RMST สำหรับผลต่างระดับประชากร

  • "hazard ratio ค่าเดียวสรุปการติดตามทั้งช่วงได้"

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

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

  • "การเซ็นเซอร์ไม่มีผลเสีย"

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

    วิธีแก้: รายงานการเซ็นเซอร์แยกตามกลุ่ม เวลา และเหตุผล และตรวจผลภายใต้ข้อสมมติที่สมเหตุสมผลเกี่ยวกับผู้ป่วยที่ขาดการติดตาม

  • "hazard ratio ไม่มีความหมาย"

    นี่คือการแก้เกินเหตุจากการอ่านทั้งหกแบบข้างต้น

    วิธีแก้: ภายใต้ proportional hazards HR เป็นตัวสรุปที่ถูกต้องของอัตราส่วนอัตราการเกิดเหตุการณ์ ให้ใช้คู่กับมาตรวัดสัมบูรณ์ เช่นการรอดชีพ ณ เวลาที่ระบุหรือ RMST

สิ่งที่ควรทำในการวิเคราะห์ของคุณเอง

นิสัยไม่กี่อย่างมักทำให้การวิเคราะห์การรอดชีพอ่านผิดได้ยากขึ้น

อภิธานศัพท์

Kaplan-Meier estimator (ตัวประมาณ Kaplan-Meier)
ค่าประมาณของฟังก์ชันการรอดชีพที่สร้างเป็นผลคูณของสัดส่วนที่รอดในแต่ละเวลาที่เกิดเหตุการณ์ เส้นจะลดเป็นขั้นที่เหตุการณ์แต่ละครั้งและคำนึงถึงการเซ็นเซอร์
at-risk set (ชุดเสี่ยง (at-risk set))
ผู้ป่วยที่ยังปลอดเหตุการณ์และยังอยู่ในการติดตามก่อนถึงเวลาที่กำหนดเล็กน้อย
hazard (ฮาซาร์ด (hazard))
อัตราการเกิดเหตุการณ์ ณ เวลาที่กำหนดในผู้ป่วยที่ยังปลอดเหตุการณ์ เป็นอัตรา ไม่ใช่ความน่าจะเป็น
hazard ratio (อัตราส่วนฮาซาร์ด (hazard ratio, HR))
อัตราส่วนของฮาซาร์ดในสองกลุ่ม ซึ่งไม่ใช่อัตราส่วนของความเสี่ยง
Cox proportional hazards model (แบบจำลอง Cox (Cox proportional hazards model))
แบบจำลองการถดถอยของฮาซาร์ดที่ไม่ระบุรูปร่างของฮาซาร์ดตามเวลา
proportional hazards assumption (ข้อสมมติฮาซาร์ดเป็นสัดส่วน (proportional hazards))
ข้อสมมติว่า hazard ratio คงที่ตลอดการติดตาม
Schoenfeld residuals (ส่วนตกค้างของ Schoenfeld (Schoenfeld residuals))
ในการเกิดเหตุการณ์แต่ละครั้ง คือค่าตัวแปรร่วมของผู้ป่วยที่เกิดเหตุการณ์ลบด้วยค่าคาดหวังของมันในชุดเสี่ยง ส่วนตกค้างที่ปรับสเกลใช้ตรวจ proportional hazards
censoring (การเซ็นเซอร์ (censoring))
การติดตามที่สิ้นสุดก่อนเกิดเหตุการณ์ จึงรู้เพียงว่าผู้ป่วยปลอดเหตุการณ์ถึงเวลานั้น
informative censoring (การเซ็นเซอร์แบบให้ข้อมูล (informative censoring))
การเซ็นเซอร์ที่สัมพันธ์กับความเสี่ยงของเหตุการณ์ (นอกเหนือจากตัวแปรร่วมของแบบจำลองสำหรับ Cox) ซึ่งอาจทำให้ค่าประมาณ Kaplan-Meier และ Cox ลำเอียง
median survival (มัธยฐานการรอดชีพ (median survival))
เวลาแรกที่เส้นการรอดชีพลดถึงครึ่งหนึ่งหรือต่ำกว่า
non-collapsibility (ความไม่ยุบรวมได้ (non-collapsibility))
คุณสมบัติของ odds ratio และ hazard ratio ที่ค่าระดับประชากรอาจต่างจากค่าแบบมีเงื่อนไขร่วมกัน แม้ไม่มีตัวกวน

เอกสารอ้างอิง

  1. Kaplan EL, Meier P. Nonparametric estimation from incomplete observations. J Am Stat Assoc. 1958;53(282):457-481. doi:10.1080/01621459.1958.10501452 https://doi.org/10.1080/01621459.1958.10501452
  2. Cox DR. Regression models and life-tables. J R Stat Soc Series B Stat Methodol. 1972;34(2):187-202. doi:10.1111/j.2517-6161.1972.tb00899.x https://doi.org/10.1111/j.2517-6161.1972.tb00899.x
  3. Cole SR, Hernán MA. Adjusted survival curves with inverse probability weights. Comput Methods Programs Biomed. 2004;75(1):45-49. doi:10.1016/j.cmpb.2003.10.004 https://doi.org/10.1016/j.cmpb.2003.10.004
  4. Hernán MA. The hazards of hazard ratios. Epidemiology. 2010;21(1):13-15. doi:10.1097/EDE.0b013e3181c1ea43 https://doi.org/10.1097/EDE.0b013e3181c1ea43
  5. Aalen OO, Cook RJ, Røysland K. Does Cox analysis of a randomized survival study yield a causal treatment effect? Lifetime Data Anal. 2015;21(4):579-593. doi:10.1007/s10985-015-9335-y https://doi.org/10.1007/s10985-015-9335-y
  6. Stensrud MJ, Hernán MA. Why test for proportional hazards? JAMA. 2020;323(14):1401-1402. doi:10.1001/jama.2020.1267 https://doi.org/10.1001/jama.2020.1267
  7. Grambsch PM, Therneau TM. Proportional hazards tests and diagnostics based on weighted residuals. Biometrika. 1994;81(3):515-526. doi:10.1093/biomet/81.3.515 https://doi.org/10.1093/biomet/81.3.515

ประเด็นสำคัญ

  • กราฟ Kaplan-Meier ไม่ได้ปรับอะไรเลย กราฟที่ปรับแล้วต้องใช้การปรับมาตรฐานหรือการถ่วงน้ำหนัก
  • มัธยฐานที่ยังไม่ถึงบอกเพียงว่าเมื่อการติดตามสิ้นสุด กราฟยังอยู่เหนือครึ่งหนึ่ง จึงควรรายงานการรอดชีพ ณ เวลาที่ระบุหรือ RMST ไว้ข้างมัน
  • hazard ratio เท่ากับ 0.70 เปรียบเทียบอัตราการเกิดเหตุการณ์ในผู้ป่วยที่ยังไม่เกิดเหตุการณ์ สรุปตลอดช่วงติดตามภายใต้ข้อสมมติ proportional hazards ส่วนผลต่างของสัดส่วนผู้เสียชีวิต ณ เวลาที่ระบุต้องอ่านจากกราฟการรอดชีพ ไม่ใช่จาก hazard ratio ในที่นี้ 0.70 คือตัวเลขของรายงานการทดลองสมมติ ไม่ใช่ผลจากการทดลองจำลอง
  • เมื่อฮาซาร์ดไม่เป็นสัดส่วน hazard ratio ค่าเดียวเป็นค่าเฉลี่ยถ่วงน้ำหนัก การรอดชีพ ณ เวลาที่ระบุหรือ RMST และ hazard ratio รายช่วงเวลาที่กำหนดจุดตัดไว้ล่วงหน้า มักอธิบายผลได้ดีกว่า และอัตราส่วนของช่วงหลังเปรียบเทียบเฉพาะผู้ที่รอดชีวิต
  • ภายใต้ proportional hazards HR เป็นตัวสรุปที่ถูกต้องของอัตราส่วนอัตราการเกิดเหตุการณ์ ให้ใช้คู่กับมาตรวัดสัมบูรณ์ เช่นการรอดชีพ ณ เวลาที่ระบุหรือ RMST

อ่านต่อในวิกิ: [[time-to-event-survival-analysis-th]]

0
ถึงนักอ่านชาวไทยและต่างชาติทำความเข้าใจบริบททางการแพทย์ของผมอ่านต่อ →ถึงนักอ่านชาวไทยและต่างชาติทำความเข้าใจเนื้อหาของผมที่นอกเหนือจากการแพทย์อ่านต่อ →

ความคิดเห็น

ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

เข้าสู่ระบบเพื่อแสดงความคิดเห็น

Kaplan-Meier และ Cox: หกการอ่านผลที่ฟังดูถูกแต่ไม่ถูก — Uniqcret