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$ ณ แต่ละครั้ง เส้นจะถูกคูณด้วยสัดส่วนของชุดเสี่ยงที่รอดผ่านครั้งนั้น
-
เดือนที่ 6
\[ \hat S(6) = 1 - \frac{1}{10} = 0.9 \]
ผู้ป่วยทั้งสิบคนอยู่ในชุดเสี่ยงและเสียชีวิตหนึ่งคน
-
เดือนที่ 8: การขาดการติดตาม ไม่ใช่การเสียชีวิต
\[ \hat S(8) = 0.9 \]
ผู้ป่วยที่ขาดการติดตามเมื่อเดือนที่ 8 ออกจากชุดเสี่ยง และเส้นไม่ลดเป็นขั้น ชุดเสี่ยงเหลือ 8 คน
-
เดือนที่ 10
\[ \hat S(10) = 0.9 \times \frac{7}{8} = 0.7875 \]
หนึ่งใน 8 คนในชุดเสี่ยงเสียชีวิต ตัวคูณคือ 0.875
-
เดือนที่ 14
\[ \hat S(14) = 0.7875 \times \frac{6}{7} = 0.675 \]
หนึ่งใน 7 คนเสียชีวิต ตัวคูณคือ 0.857
-
เดือนที่ 18
\[ \hat S(18) = 0.675 \times \frac{5}{6} = 0.5625 \]
หนึ่งใน 6 คนเสียชีวิต ตัวคูณคือ 0.833
-
เดือนที่ 20
\[ \hat S(20) = 0.5625 \times \frac{4}{5} = 0.45 \]
หนึ่งใน 5 คนเสียชีวิต ตัวคูณคือ 0.8 ผู้รอดชีวิตสี่คนถูกเซ็นเซอร์ที่เดือนที่ 24 เส้นจึงอยู่ที่ 0.45 จนจบ
-
มัธยฐานการรอดชีพ
\[ \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$) |
|---|---|---|---|---|---|
| 6 | 10 | 1 | 0 | 0.9 | 0.9 |
| 8 | 9 | 0 | 1 (ขาดการติดตาม) | ไม่ลดเป็นขั้น | 0.9 |
| 10 | 8 | 1 | 0 | 0.875 | 0.7875 |
| 14 | 7 | 1 | 0 | 0.857 | 0.675 |
| 18 | 6 | 1 | 0 | 0.833 | 0.5625 |
| 20 | 5 | 1 | 0 | 0.8 | 0.45 |
| 24 | 4 | 0 | 4 (การติดตามสิ้นสุด) | ไม่ลดเป็นขั้น | 0.45 |
การทดลองจำลองที่ใช้ในบทความนี้
ส่วนที่เหลือของบทความนี้ใช้การทดลองจำลองหนึ่งชุด (ข้อมูลจำลอง) ซึ่งรับผู้ใหญ่ 1,500 คนหลังเข้ารักษาตัวด้วยหัวใจล้มเหลว กลุ่มละ 750 คน และติดตามตั้งแต่การสุ่มจนถึงวันปิดการศึกษาร่วมกันในอีก 24 ถึง 36 เดือนต่อมา ยานี้เป็นของสมมติ โดยการออกแบบมันลดฮาซาร์ดของการเสียชีวิตจากโรคหัวใจและหลอดเลือด (HR จริง 0.70) และไม่แตะการเสียชีวิตจากสาเหตุอื่น (HR จริง 1.00) เนื่องจากฮาซาร์ดการเสียชีวิตทั้งสองชนิดคงที่ตามเวลา HR จริงของการเสียชีวิตจากทุกสาเหตุจึงเท่ากับ 0.79 ทุกเดือน
มีผู้เสียชีวิต 825 คน เป็นกลุ่มควบคุม 444 คนและกลุ่มที่ได้รับยา 381 คน ในผู้ป่วยที่ไม่ได้เสียชีวิต มี 80 คนขาดการติดตาม กลุ่มละ 40 คน และ 595 คนถูกเซ็นเซอร์ ณ วันปิดการศึกษา เป็นกลุ่มควบคุม 266 คนและกลุ่มที่ได้รับยา 329 คน
| ปริมาณ | กลุ่มควบคุม ค่าประมาณ | กลุ่มควบคุม ค่าจริง | กลุ่มที่ได้รับยา ค่าประมาณ | กลุ่มที่ได้รับยา ค่าจริง |
|---|---|---|---|---|
| การรอดชีพที่ 12 เดือน | 0.688 | 0.681 | 0.743 | 0.737 |
| การรอดชีพที่ 24 เดือน | 0.473 | 0.464 | 0.569 | 0.544 |
| มัธยฐานการรอดชีพ (เดือน) | 22.6 | 21.7 | 28.3 | 27.3 |
R: การรอดชีพ Kaplan-Meier ที่ 12 และ 24 เดือน
# ---------------------------------------------------------------- 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)
> 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 สำหรับการเสียชีวิตจากทุกสาเหตุ
* ---------------------------------------------------------------- all-cause death: Cox model
* hazard ratio for treatment versus control (Breslow ties; there are no tied times)
stcox arm
. * ---------------------------------------------------------------- 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: การตรวจฮาซาร์ดเป็นสัดส่วนของการทดลองจำลอง
* proportional-hazards check: scaled Schoenfeld residuals against analysis time
estat phtest, detail
. * 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
--------------------------------------------------------
estat phtest, detail ทดสอบว่า HR ของการรักษาเปลี่ยนไปตามช่วงติดตามหรือไม่ และแถว Global test ให้ค่าสถิติไคสแควร์ 0.01 กับ P = 0.92 คือไม่พบแนวโน้ม การอ่านที่ 5 อธิบายส่วนตกค้างที่อยู่เบื้องหลังการทดสอบนี้ นี่คือส่วนที่ตัดมาจากสคริปต์จำลอง คือบรรทัดที่ใช้ตรวจนี้ พร้อมผลลัพธ์ของการรันวางคู่กัน ไฟล์ข้อมูลการทดลองจำลองไม่ได้เผยแพร่Stata: hazard ratio ค่าเดียวของการทดลองรุ่นดัดแปลง
* one hazard ratio averaged over follow-up, then the PH check
stcox arm
. * 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
------------------------------------------------------------------------------
stcox arm ให้ HR ค่าเดียวตลอดการติดตามเท่ากับ 0.84 โดยมี CI 95% คือ 0.74 ถึง 0.96Stata: การตรวจ proportional hazards ของการทดลองรุ่นดัดแปลง
estat phtest, detail
. 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 หนึ่งค่าต่อช่วงเวลาของการทดลองรุ่นดัดแปลง
* 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
. * 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 เส้นการรอดชีพจึงแยกจากกันในปีแรกและไม่ตัดกันภายในช่วงติดตาม
| hazard ratio กลุ่มที่ได้รับยาเทียบกับกลุ่มควบคุม | ค่าประมาณ (CI 95%) | ค่าที่ฝังไว้ในการจำลอง |
|---|---|---|
| แบบจำลอง Cox ค่าเดียวตลอดการติดตาม | 0.84 (0.74 to 0.96) | ไม่มีค่าเดียวที่ถูกต้อง ตัวอย่างจำลองขนาดใหญ่มากให้ 0.84 |
| เดือนที่ 0 ถึง 12 | 0.62 (0.51 to 0.77) | 0.60 |
| หลังเดือนที่ 12 | 1.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 พร้อมจำนวนในชุดเสี่ยงไว้ใต้เส้น ในผลลัพธ์ของ R ด้านบน
summary(km, times = c(12, 24))แสดงจำนวนเหล่านี้ ณ เดือนที่เลือก - รายงานการรอดชีพ ณ เวลาที่กำหนดไว้ล่วงหน้าหนึ่งหรือสองเวลา พร้อมช่วงเชื่อมั่น ไว้ข้าง HR
- วาดส่วนตกค้าง Schoenfeld ที่ปรับสเกลก่อนพึ่ง HR ค่าเดียว เมื่ออัตราส่วนเปลี่ยนไป พิจารณาการรอดชีพ ณ เวลาที่ระบุหรือ RMST และ HR รายช่วงเวลาที่กำหนดจุดตัดไว้ก่อนเห็นข้อมูล โดยคำนึงว่า HR ของช่วงหลังเปรียบเทียบเฉพาะผู้ที่รอดชีวิต
- ระบุว่า HR ปรับแล้วหรือไม่ และปรับด้วยตัวแปรร่วมใด
- สรุปการเซ็นเซอร์แยกตามกลุ่ม เวลา และเหตุผลเป็นตาราง และวางแผนการวิเคราะห์ความไวสำหรับผู้ป่วยที่ขาดการติดตาม
อภิธานศัพท์
- 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 ที่ค่าระดับประชากรอาจต่างจากค่าแบบมีเงื่อนไขร่วมกัน แม้ไม่มีตัวกวน
เอกสารอ้างอิง
- 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
- 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
- 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
- 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
- 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
- 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
- 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]]