อัตราส่วนฮาซาร์ดไม่ใช่อัตราส่วนความเสี่ยง: ข้อสมมติความเป็นสัดส่วนของฮาซาร์ด เวลารอดชีพเฉลี่ยแบบจำกัดช่วง และข้อมูลนำเข้าแบบจำลอง

On this page
อ่านฉบับภาษาอังกฤษ (English version)
บทคัดย่อ
คณะกรรมการของโรงพยาบาลประจำอำเภอแห่งหนึ่งกำลังตัดสินว่าจะจ่ายเงินให้ C ซึ่งเป็นการรักษาใหม่สำหรับผู้ใหญ่ที่ป่วยด้วยโรคเรื้อรังหรือไม่ การศึกษาที่ติดตามผู้ป่วยห้าปีพบว่า ในผู้ป่วยที่ได้การดูแลตามปกติ A ทุก 100 คน ยังมีชีวิตอยู่ 60 คนเมื่อครบห้าปี และรายงานให้ C มีอัตราส่วนฮาซาร์ดของการเสียชีวิต 0.70 อัตราส่วนฮาซาร์ด (hazard ratio) คือการเปรียบเทียบความเร็วที่การเสียชีวิตเกิดขึ้นในสองกลุ่ม เฉพาะในคนที่ยังมีชีวิตอยู่ ณ แต่ละขณะ กรรมการคนหนึ่งอ่านว่า C ลดการเสียชีวิตได้ 30% คือเหลือ 28.0 ต่อ 100 คน แทนที่จะเป็น 40.0 แต่เส้นการรอดชีพบอกว่า 30.1 บทความนี้เริ่มจากการนับการเสียชีวิตต่อคน-ปี ซึ่งเรียกว่าอัตราอุบัติการณ์ อัตราส่วนของอัตราสองค่าจะเท่ากับอัตราส่วนฮาซาร์ดเฉพาะเมื่อความเร็วของทั้งสองกลุ่มคงที่ จากนั้นแสดงว่าทำไมอัตราส่วนความเสี่ยง (risk ratio) ซึ่งคือสัดส่วนผู้เสียชีวิตภายในห้าปีเมื่อได้ C หารด้วยสัดส่วนเมื่อได้ A (30.1 / 40.0) จึงเป็น 0.75 ตรวจว่าเมื่อใดตัวเลขเดียวจึงอธิบายห้าปีได้ สุดท้ายคำนวณเวลามีชีวิตที่ C เพิ่มให้ 105 วันต่อคน และโอกาสเสียชีวิตรายปีของแบบจำลอง
รายงานห้าปีบนโต๊ะคณะกรรมการ
คณะกรรมการของโรงพยาบาลประจำอำเภอแห่งหนึ่งต้องตัดสินว่าจะจ่ายเงินให้ C ซึ่งเป็นการรักษาใหม่สำหรับผู้ใหญ่ที่เพิ่งได้รับการวินิจฉัยโรคเรื้อรังโรคหนึ่งหรือไม่ การศึกษาหนึ่งติดตามผู้ป่วยห้าปีและนับการเสียชีวิตจากทุกสาเหตุ ในผู้ป่วยที่ได้การดูแลตามปกติ A ทุก 100 คน ยังมีชีวิตอยู่ 60 คนเมื่อครบห้าปี จึงเสียชีวิตไป 40 คน ตัวเลขเหล่านี้เป็นตัวอย่างสมมติเพื่อการสอน ไม่ใช่ผลจากการศึกษาจริง
รายงานสรุปผลของ C ด้วยตัวเลขเดียวคือ 0.70 ตัวเลขนี้เปรียบเทียบความเร็วที่ผู้ป่วยเสียชีวิตเมื่อได้ C กับความเร็วที่ผู้ป่วยเสียชีวิตเมื่อได้ A ทีละขณะ กรรมการคนหนึ่งอ่านว่า "C ลดการเสียชีวิตได้ 30%" คือ 0.70 คูณการเสียชีวิต 40 ต่อ 100 คน เหลือ 28.0 อีกคนถามว่าผู้ป่วยที่ได้ C มีชีวิตยืนยาวขึ้นเท่าใด เพราะแบบจำลองเศรษฐศาสตร์นับเวลาที่มีชีวิต
28.0 ของกรรมการคนแรกไม่ถูกต้อง และเหตุผลคือแนวคิดสำคัญที่สุดของการวิเคราะห์การรอดชีพ บทความนี้สร้างภาพห้าปีทั้งหมดจากตัวเลขสองค่าบนโต๊ะ คือมีชีวิต 60 ต่อ 100 คนเมื่อได้ A และค่า 0.70 โดยนับการเสียชีวิตต่อคน-ปีแบบที่การศึกษานับ แล้วจบที่สิ่งที่แบบจำลองต้องการ คืออัตราและเส้นการรอดชีพของแต่ละการรักษา จำนวนการเสียชีวิตและเวลาที่มีชีวิตที่ได้จากสิ่งเหล่านั้น และโอกาสเสียชีวิตของแต่ละปี
เริ่มจากเส้นการรอดชีพ
อ่านก่อนในเว็บไซต์นี้ บทความสองเรื่องนี้สอนเส้นการรอดชีพ การติดตามที่หยุดก่อนกำหนด วิธีแคปแลน-ไมเออร์ และเหตุการณ์แข่งขันอย่างครบถ้วน หัวข้อนี้เก็บไว้เฉพาะส่วนที่แบบจำลองของคณะกรรมการต้องใช้
- Kaplan-Meier และ Cox สำหรับเหตุการณ์แรก: KM บรรยาย Cox สร้างแบบจำลอง
- ทำไม 1 ลบ Kaplan-Meier จึงประเมินความเสี่ยงสูงเกินจริงเมื่อผู้ป่วยอาจเสียชีวิตไปก่อน
เส้นการรอดชีพ (survival curve) แสดงสัดส่วนของผู้ป่วยที่ยังมีชีวิต ณ แต่ละช่วงเวลา เส้นเริ่มที่ 1.00 ซึ่งทุกคนยังมีชีวิต และลดลงได้อย่างเดียว เมื่อได้ A เส้นลงมาถึง 0.60 ที่ห้าปี คือผู้ป่วยทุก 100 คนยังมีชีวิตอยู่ 60 คนในตอนนั้น
สัดส่วนของผู้ที่เสียชีวิตไปแล้วภายในเวลานั้นคือความเสี่ยงของการเสียชีวิตภายในห้าปี คือ 1.00 ลบ 0.60 ได้ 40.0% ช่วงเวลาเป็นส่วนหนึ่งของตัวเลข ความเสี่ยง 40.0% ภายในห้าปียังไม่ได้บอกอะไรเกี่ยวกับปีแรกเลย
การศึกษาจริงต้องหยุดติดตามผู้ป่วยบางคนก่อนกำหนด เรียกว่าการเซนเซอร์ (censoring) และวิธีแคปแลน-ไมเออร์ (Kaplan-Meier) นับผู้ป่วยแต่ละคนเฉพาะช่วงที่ยังติดตามอยู่ เหตุการณ์ของเราคือการเสียชีวิตจากทุกสาเหตุ จึงไม่มีเหตุการณ์อื่นมาขวางไม่ให้เกิด ถ้าเหตุการณ์ในแบบจำลองเป็นภาวะแทรกซ้อน การเสียชีวิตที่เกิดก่อนจะเป็นเหตุการณ์แข่งขัน (competing event) และการใช้หนึ่งลบเส้นการรอดชีพแบบง่ายจะประเมินความเสี่ยงสูงเกินจริง [1]
นับการเสียชีวิตต่อคน-ปี: อัตราอุบัติการณ์
อ่านก่อนในเว็บไซต์นี้ บทความภาษาอังกฤษสองเรื่องนี้สอนอัตรา เวลาติดตามรวม และแบบจำลองปัวซงอย่างครบถ้วน หัวข้อนี้เก็บไว้เฉพาะตัวเลขนับที่กรณีของคณะกรรมการต้องใช้
- อัตราอุบัติการณ์และอัตราส่วนอัตราอุบัติการณ์: การวิเคราะห์อัตราในระบาดวิทยาคลินิก
- อัตรา การถดถอยปัวซง และแกนหลักแลมบ์ดาที่ขาดหายไป
สัดส่วนผู้ที่ยังมีชีวิตเมื่อครบห้าปีเป็นวิธีหนึ่งในการอ่านการศึกษา อีกวิธีหนึ่งคือการนับการเสียชีวิตเทียบกับเวลาที่ติดตามผู้ป่วย ลองนึกภาพการศึกษาที่มีผู้ป่วยเริ่มการรักษาแต่ละแบบ 10,000 คน และติดตามแต่ละคนจนเสียชีวิตหรือจนครบปีที่ 5
เมื่อได้ A ผู้ป่วย 4,000 คนจาก 10,000 คนเสียชีวิตภายในห้าปี จากนั้นรวมจำนวนปีที่ผู้ป่วยทุกคนมีชีวิตและอยู่ในการติดตาม ผู้ป่วยที่เสียชีวิตระหว่างทางนับเฉพาะเวลาที่มีชีวิต ส่วนผู้รอดชีวิตนับครบห้าปี ผู้ป่วยกลุ่ม A ให้เวลารวม 39,152 คน-ปี และการเสียชีวิต 4,000 รายใน 39,152 คน-ปี คือการเสียชีวิต 102.2 ต่อ 1,000 คน-ปี
จำนวนเหตุการณ์หารด้วยเวลาที่เสี่ยงเรียกว่าอัตราอุบัติการณ์ (incidence rate) แบบเดียวกับใน อุบัติการณ์ ความชุก และตัวหารที่ถูกต้อง: ระบาดวิทยาเบื้องหลังต้นทุนความเจ็บป่วยและแบบจำลองมาร์คอฟ เวลาที่เสี่ยงซึ่งรวมกันนี้เรียกว่าเวลาติดตามรวม (person-time) อัตรานี้เป็นความเร็ว คือจำนวนการเสียชีวิตต่อหน่วยเวลาที่ติดตาม ไม่ใช่สัดส่วนของคน เมื่อได้ C ผู้ป่วยเสียชีวิต 3,006 รายใน 42,037 คน-ปี คือ 71.5 ต่อ 1,000 คน-ปี
ผู้ป่วยที่ได้ C มีชีวิตนานกว่า จึงสะสมคน-ปีมากกว่าและเสียชีวิตน้อยกว่า หารความเร็วหนึ่งด้วยอีกความเร็วหนึ่ง: 71.5 หารด้วย 102.2 ได้ 0.70 ค่านี้คืออัตราส่วนอัตราอุบัติการณ์ (incidence rate ratio, IRR) ซึ่งเป็นอัตราส่วนของความเร็วสองค่าตลอดการติดตาม ค่านี้ไม่ใช่อัตราส่วนความเสี่ยง เพราะตัวหารคือคน-ปี ไม่ใช่จำนวนคน
การศึกษาได้ตัวเลขเดียวกันนี้จากแบบจำลองปัวซง (Poisson model) ซึ่งเป็นการถดถอยสำหรับจำนวนเหตุการณ์ที่นับตามเวลา จำนวนผู้เสียชีวิตเป็นผลลัพธ์ และล็อกของคน-ปีของแต่ละกลุ่มเข้าไปเป็นออฟเซ็ต (offset) คือพจน์ที่กำหนดสัมประสิทธิ์ไว้ที่ 1 แบบจำลองจึงเปรียบเทียบการเสียชีวิตต่อคน-ปี
ในภาษา R คำสั่ง glm(deaths ~ arm, family = poisson, data = trial, offset = log(person_years)) ให้ค่า 0.70 ตามที่กล่องด้านล่างแสดง
# Counting deaths and person-years: 10,000 patients start each treatment, watched up to five years.
survival_a5 <- 0.60; hazard_ratio <- 0.70; patients <- 10000; years <- 5
f <- function(x, digits) formatC(x, digits, format = "f", big.mark = ",")
speed <- -log(survival_a5) / years * c(1, hazard_ratio)
deaths <- round(patients * (1 - exp(-speed * years)))
person_years <- patients * (1 - exp(-speed * years)) / speed
trial <- data.frame(arm = c("A", "C"), deaths = deaths, person_years = person_years)
fit <- glm(deaths ~ arm, family = poisson, data = trial, offset = log(person_years))
cat("Deaths, A and C:", f(deaths, 0), "\n")
cat("Person-years, A and C:", f(person_years, 0), "\n")
cat("Deaths per 1,000 person-years, A and C:", f(1000 * deaths / person_years, 1), "\n")
cat("Incidence rate ratio from the Poisson model, C to A:", f(exp(coef(fit)[["armC"]]), 2), "\n")
Deaths, A and C: 4,000 3,006
Person-years, A and C: 39,152 42,037
Deaths per 1,000 person-years, A and C: 102.2 71.5
Incidence rate ratio from the Poisson model, C to A: 0.70
ฮาซาร์ด: ความเร็วของการเสียชีวิตในหมู่คนที่ยังมีชีวิต
อ่านก่อนในเว็บไซต์นี้ บทความภาษาอังกฤษสองเรื่องนี้อธิบายอย่างครบถ้วนว่าอัตราการเกิดเหตุการณ์เฉลี่ยต่างจากอัตรา ณ แต่ละขณะอย่างไร ในที่นี้เราใช้ขั้นตอนนี้เฉพาะกับ A และ C
- อัตราอุบัติการณ์เทียบกับฮาซาร์ด: อัตราการเกิดเหตุการณ์เฉลี่ยและ ณ แต่ละขณะในการวิเคราะห์การรอดชีพ
- อัตราอุบัติการณ์ ฮาซาร์ด และการถดถอยค็อกซ์: ความแตกต่างในงานวิจัยเวลาจนเกิดเหตุการณ์
อัตราข้างต้นเป็นค่าเฉลี่ยตลอดห้าปีของการติดตาม ถ้าย่อช่วงเวลาให้เหลือเพียงขณะเดียว และนับเฉพาะผู้ป่วยที่ยังมีชีวิตอยู่ ณ ขณะนั้น ความเร็วของการเสียชีวิตที่ได้คือฮาซาร์ด (hazard) ซึ่งเป็นอัตรา ณ ขณะนั้นในหมู่คนที่ยังไม่เกิดเหตุการณ์ การศึกษารายงานความเร็วนี้ และแบบจำลองเศรษฐศาสตร์ก็เดินไปข้างหน้าตามเวลาด้วยความเร็วนี้
การศึกษาให้ข้อมูลเส้นของ A เพียงจุดเดียว คือมีชีวิต 60 คนเมื่อครบห้าปี เราจึงสมมติรูปแบบที่ง่ายที่สุด คือการเสียชีวิตเกิดด้วยความเร็วคงที่ และทุกปีคนที่มีชีวิตตอนต้นปีจะรอดไปในสัดส่วนเท่าเดิม ห้าปีที่เท่ากันต้องจบที่ผู้มีชีวิต 0.60 ลองใช้ 0.90 ต่อปี: 0.90 × 0.90 × 0.90 × 0.90 × 0.90 เหลือ 0.59 ซึ่งต่ำไปเล็กน้อย สัดส่วนที่รอดในแต่ละปีจึงสูงกว่านั้นเล็กน้อย คือ 0.903
ลองดูผลกับผู้ป่วย 100 คน ในปีแรกเสียชีวิต 9.7 คน เหลือ 90.3 คน ในปีที่สอง สัดส่วนเดิมหายไปจากคนที่เหลือเพียง 90.3 คน จึงเสียชีวิตน้อยลง และจำนวนผู้มีชีวิตลดลงเป็น 81.5 แล้วเป็น 73.6, 66.5 และสุดท้าย 60.0
เขียนเป็นสัญลักษณ์ สัดส่วนที่รอดในแต่ละปีคือรากที่ห้าของ 0.60: $0.60^{1/5}=0.903$
จำนวนผู้เสียชีวิตลดลงทุกปีทั้งที่ความเร็วไม่ลด เพราะความเร็วนี้ใช้กับคนที่ยังมีชีวิตอยู่เท่านั้น นี่คือความต่างระหว่างฮาซาร์ดกับความเสี่ยง ฮาซาร์ดคือความเร็วในหมู่คนที่ยังมีชีวิต ส่วนความเสี่ยงนับทุกคนที่เสียชีวิตไปตั้งแต่เริ่มต้น
การศึกษาบอกความเร็วนี้เป็นต่อคน-ปี และลอการิทึมธรรมชาติ (ln) แปลงสัดส่วนที่รอดให้เป็นความเร็วแบบนี้: $-\ln 0.60 = 0.511$ ตลอดห้าปี และ 0.511 หารด้วย 5 ได้การเสียชีวิต 102.2 ต่อ 1,000 คน-ปี
ค่านี้เท่ากับตัวเลขที่ได้จากการนับ เพราะความเร็วเมื่อได้ A ไม่เปลี่ยนเลย
ข้อสังเกตหนึ่ง: ถ้าติดตามผู้ป่วย 100 คนครบทั้งปีด้วยความเร็วนี้ จะได้ผู้เสียชีวิตเกิน 10 คนเล็กน้อย แต่เสียชีวิตเพียง 9.7 คน เพราะผู้ป่วยที่เสียชีวิตระหว่างปีหยุดสะสมคน-ปีตั้งแต่วันที่เสียชีวิต
เขียนเป็นสัญลักษณ์ ฮาซาร์ดคงที่ $h$ ทำให้เหลือผู้มีชีวิต $S(t)=e^{-ht}$ หลังจาก $t$ ปี โดย $e$ คือจำนวนที่ ln ย้อนกลับ ดังนั้น $h=-\ln S(5)/5$
อัตราส่วนฮาซาร์ดเปรียบเทียบความเร็วสองค่า
อ่านก่อนในเว็บไซต์นี้ บทความภาษาอังกฤษเรื่องนี้สอนแบบจำลองค็อกซ์อย่างครบถ้วน ในที่นี้เราใช้เพียงสิ่งที่แบบจำลองรายงานและสิ่งที่แบบจำลองไม่ได้ให้
การศึกษาไม่ได้รายงานเส้นการรอดชีพของ C แต่รายงานว่า C เปลี่ยนความเร็วอย่างไร เมื่อได้ A ความเร็วคือการเสียชีวิต 102.2 ต่อ 1,000 คน-ปี และ 0.70 เท่าของค่านั้นคือ 71.5 เมื่อได้ C ทุกขณะ ผู้ป่วยที่ได้ C และยังมีชีวิตอยู่จะเสียชีวิตด้วยความเร็ว 0.70 เท่าของผู้ป่วยที่ได้ A และยังมีชีวิตอยู่
ค่า 0.70 นี้เรียกว่าอัตราส่วนฮาซาร์ด อัตราส่วนฮาซาร์ด (hazard ratio) คือการเปรียบเทียบความเร็วที่เหตุการณ์เกิดในสองกลุ่ม ณ แต่ละขณะ เฉพาะในคนที่ยังไม่เกิดเหตุการณ์ ไม่ใช่อัตราส่วนของความเสี่ยงที่ผู้ป่วยจะเผชิญตลอดช่วงเวลาหนึ่ง เขียนเป็นสัญลักษณ์ได้ว่า $HR = h_C(t)/h_A(t)$ แบบจำลองค็อกซ์ (Cox model) ซึ่งเป็นการถดถอยที่การศึกษาเรื่องเวลาจนเสียชีวิตส่วนใหญ่ใช้ ประมาณค่านี้โดยไม่ต้องวาดเส้นใดเลย รายงานจึงต้องมีเส้นการรอดชีพของ A มาคู่กันเสมอ
ต่อไปสร้างเส้นของ C จากเส้นของ A ความเร็วคงที่ $h$ ทำให้เหลือผู้มีชีวิต $e^{-ht}$ และความเร็ว 0.70 เท่าทำให้เหลือ $e^{-0.70ht}=(e^{-ht})^{0.70}$ เส้นการรอดชีพทั้งเส้นจึงถูกยกกำลังด้วย 0.70 ได้ $S_C(t)=S_A(t)^{HR}$ ตราบใดที่อัตราส่วนฮาซาร์ดคงที่ตลอดเวลา และที่ห้าปีได้ $0.60^{0.70}=0.699$ ตัวอย่างคำนวณด้านล่างไล่ทุกขั้น
จากอัตราส่วนฮาซาร์ดเดียวสู่จำนวนผู้เสียชีวิตภายในห้าปี
ข้อมูลนำเข้ามีเพียงสองค่า คือมีชีวิต 0.60 ที่ห้าปีเมื่อได้ A และอัตราส่วนฮาซาร์ด 0.70 ทุกขั้นตรวจด้วยเครื่องคิดเลขได้จากตัวเลขที่แสดงในขั้นนั้น
-
ความเร็วเมื่อได้ A
\[ h_A=\frac{-\ln 0.60}{5}\times 1000=\frac{0.511}{5}\times 1000=102.2 \]
ความเร็วคงที่ที่ทำให้เหลือผู้มีชีวิต 0.60 เมื่อครบห้าปี คือการเสียชีวิต 102.2 ต่อ 1,000 คน-ปี
-
ความเร็วเมื่อได้ C
\[ h_C=0.70\times 102.2=71.5 \]
อัตราส่วนฮาซาร์ดคูณที่ความเร็ว ไม่ได้คูณที่จำนวนผู้เสียชีวิต จึงได้ 71.5 ต่อ 1,000 คน-ปี
-
การรอดชีพที่ห้าปีเมื่อได้ C
\[ S_C(5)=0.60^{0.70}=0.699 \]
ความเร็วที่ต่ำลงตลอดห้าปีทำให้เหลือผู้มีชีวิต 0.699
-
ผู้เสียชีวิตต่อ 100 คนภายในห้าปี
\[ 100\times(1-0.60)=40.0,\quad 100\times(1-0.699)=30.1 \]
ความเสี่ยงของการเสียชีวิตภายในห้าปีคือ 40.0% เมื่อได้ A และ 30.1% เมื่อได้ C
-
หารและลบความเสี่ยง
\[ \frac{30.1}{40.0}=0.75,\quad 40.0-30.1=9.9 \]
การหารความเสี่ยงของกลุ่มหนึ่งด้วยของอีกกลุ่มได้อัตราส่วนความเสี่ยง (risk ratio) 0.75 ไม่ใช่ 0.70 และการลบได้ว่า C ป้องกันการเสียชีวิต 9.9 รายต่อผู้ป่วย 100 คนภายในห้าปี
-
จำนวนผู้ป่วยที่ต้องรักษาต่อการป้องกันการเสียชีวิตหนึ่งราย
\[ \frac{100}{9.9}=10.1\;\to\;11 \]
ปัดขึ้นแล้ว ต้องให้ C แก่ผู้ป่วย 11 คนเป็นเวลาห้าปีเพื่อป้องกันการเสียชีวิตหนึ่งราย ตัวเลขนี้เรียกว่าจำนวนที่ต้องรักษา (number needed to treat, NNT)
ผลลัพธ์: อัตราส่วนฮาซาร์ด 0.70 ค่าเดียวให้ผู้เสียชีวิต 30.1 ต่อ 100 คนเมื่อได้ C เทียบกับ 40.0 เมื่อได้ A คืออัตราส่วนความเสี่ยง 0.75 ป้องกันการเสียชีวิตได้ 9.9 รายต่อผู้ป่วย 100 คน และ NNT เท่ากับ 11 ในห้าปี
ทำไม 28.0 จึงผิด
ตัวเลข 28.0 ของกรรมการคนแรกจึงต่ำเกินไป การคูณการเสียชีวิต 40.0 ด้วย 0.70 เป็นการใช้อัตราส่วนของความเร็วราวกับเป็นอัตราส่วนของการเสียชีวิต วิธีนี้นับว่าป้องกันการเสียชีวิตได้ 12.0 รายต่อผู้ป่วย 100 คน ขณะที่เส้นการรอดชีพให้ 9.9 และแบบจำลองจะพาส่วนเกินนี้ไปถึงตัวเลขทุกตัวที่ตามมา อัตราส่วนความเสี่ยงและจำนวนที่ต้องรักษาสอนไว้เต็มในบทความ อัตราส่วนความเสี่ยง อัตราส่วนออดส์ ผลต่างความเสี่ยง และจำนวนที่ต้องรักษา: ตารางสองคูณสองเดียว คำตอบสี่แบบ
# Five years on usual care A and on C: one hazard ratio turned into deaths per 100.
survival_a <- 0.60; hazard_ratio <- 0.70; years <- 5
f <- function(x, digits) formatC(x, digits, format = "f")
hazard_a <- -log(survival_a) / years; hazard_c <- hazard_ratio * hazard_a
deaths_a <- 100 * (1 - survival_a); deaths_c <- 100 * (1 - survival_a^hazard_ratio)
fewer <- deaths_a - deaths_c; misread_c <- hazard_ratio * deaths_a
cat("Minus log of 0.60:", f(-log(survival_a), 3), "\n")
cat("Deaths per 1,000 person-years, A and C:", f(1000 * c(hazard_a, hazard_c), 1), "\n")
cat("Survival at five years on C:", f(survival_a^hazard_ratio, 3), "\n")
cat("Deaths per 100 by five years, A and C:", f(c(deaths_a, deaths_c), 1), "\n")
cat("Risk ratio:", f(deaths_c / deaths_a, 2), " fewer deaths per 100:", f(fewer, 1), "\n")
cat("NNT:", f(100 / fewer, 1), "rounded up to", ceiling(100 / fewer), "\n")
cat("Misread, deaths on C and fewer deaths:", f(c(misread_c, deaths_a - misread_c), 1), "\n")
Minus log of 0.60: 0.511
Deaths per 1,000 person-years, A and C: 102.2 71.5
Survival at five years on C: 0.699
Deaths per 100 by five years, A and C: 40.0 30.1
Risk ratio: 0.75 fewer deaths per 100: 9.9
NNT: 10.1 rounded up to 11
Misread, deaths on C and fewer deaths: 28.0 12.0
เมื่อใดอัตราส่วนอัตราอุบัติการณ์เท่ากับอัตราส่วนฮาซาร์ด และเมื่อใดไม่เท่า
เมื่อได้ A และ C ความเร็วไม่เปลี่ยนเลย อัตราตลอดห้าปีคือ 102.2 และ 71.5 ต่อ 1,000 คน-ปี จึงเป็นความเร็ว ณ ทุกขณะด้วย อัตราส่วนของทั้งสอง คืออัตราส่วนอัตราอุบัติการณ์ 0.70 จึงเท่ากับอัตราส่วนฮาซาร์ดพอดี
ข้อนี้เป็นจริงพอดีเมื่อฮาซาร์ดของทั้งสองกลุ่มคงที่ตลอดการติดตาม เมื่อฮาซาร์ดเปลี่ยนไป อัตราส่วนอัตราห้าปีเป็นค่าเฉลี่ยที่ขึ้นกับว่าคน-ปีกระจายไปตามเวลาอย่างไร และมักต่างจากอัตราส่วนฮาซาร์ด
ต่อไปสมมติว่าโรคเร่งความเร็วขึ้น เมื่อได้ A ผู้ป่วยทุก 100 คนเสียชีวิต 5 คนในสองปีแรก และอีก 35 คนในสามปีถัดมา จึงยังมีชีวิต 60 คนเมื่อครบห้าปีเหมือนเดิม ความเร็วเมื่อได้ A คือ 25.6 ต่อ 1,000 คน-ปีในปีที่ 1 ถึง 2 และ 153.2 ในปีที่ 3 ถึง 5
C ยังออกฤทธิ์ที่ 0.70 ทุกขณะ ความเร็วของ C จึงเป็น 18.0 แล้วเป็น 107.2 อัตราส่วนฮาซาร์ดยังคงเป็น 0.70 และแบบจำลองค็อกซ์ประมาณได้ 0.70 ในกรณีนี้ เพราะ ณ การเสียชีวิตแต่ละครั้ง แบบจำลองเปรียบเทียบเฉพาะผู้ป่วยที่ยังมีชีวิตอยู่ ไม่ว่าความเร็วของ A จะมีรูปแบบใด
ต่อไปนับรวมตลอดห้าปีแบบเดียวกับในหัวข้ออัตรา เมื่อได้ A ผู้ป่วย 500 คนจาก 10,000 คนเสียชีวิตในปีที่ 1 ถึง 2 ในเวลา 19,496 คน-ปี และ 3,500 คนเสียชีวิตในปีที่ 3 ถึง 5 ในเวลา 22,849 คน-ปี รวมเป็นการเสียชีวิต 4,000 รายใน 42,345 คน-ปี คือ 94.5 ต่อ 1,000 เมื่อได้ C ขั้นตอนเดียวกันให้การเสียชีวิต 3,006 รายใน 44,394 คน-ปี คือ 67.7 ต่อ 1,000
การรอดชีพที่ห้าปีของ C ก็ยังเป็น $0.60^{0.70}=0.699$ เหมือนกรณีความเร็วคงที่ แต่อัตราส่วนอัตราอุบัติการณ์คือ 67.7 หารด้วย 94.5 ได้ 0.72 ไม่ใช่ 0.70
ทำไมจึงต่างกัน? C ทำให้มีผู้ป่วยมีชีวิตอยู่จนถึงปีที่ 3 ถึง 5 มากกว่า ซึ่งเป็นช่วงที่ความเร็วสูง เมื่อได้ A คน-ปี 22,849 / 42,345 = 54.0% อยู่ในปีที่ 3 ถึง 5 เมื่อได้ C สัดส่วนนี้คือ 55.7% ค่าเฉลี่ยห้าปีของ C จึงถูกดึงขึ้น และอัตราส่วนของค่าเฉลี่ยทั้งสองจึงขยับเข้าหา 1
ถ้าแยกสองช่วงเวลาออกจากกัน อัตราส่วนอัตราของแต่ละช่วงคือ 0.70 และแบบจำลองปัวซงที่ใส่ช่วงเวลาไว้ด้วยก็ให้ 0.70 อีกครั้ง ตามที่กล่องสุดท้ายด้านล่างแสดง
แบบจำลองเศรษฐศาสตร์จึงไม่ควรนำอัตราส่วนอัตราห้าปีค่าเดียว หรืออัตราส่วนฮาซาร์ดค่าเดียว ไปคูณกับความน่าจะเป็น แต่ควรรับอัตราทีละช่วงเวลา หรือรับเส้นการรอดชีพทั้งเส้น แล้วแปลงแต่ละอัตราเป็นโอกาสเสียชีวิตภายในหนึ่งช่วงของแบบจำลอง ชุดบทความนี้สอนการแปลงนั้นใน อัตรา ความน่าจะเป็น และความน่าจะเป็นของการเปลี่ยนสถานะ: คำนวณโดยไม่หลงหน่วยเวลา และหัวข้อสุดท้ายของบทความนี้คำนวณช่วงรายปีของ A และ C
# A disease that speeds up: few deaths in years 1-2, many in years 3-5; C at 0.70 of A throughout.
alive_a2 <- 0.95; alive_a5 <- 0.60; hazard_ratio <- 0.70; patients <- 10000
f <- function(x, digits) formatC(x, digits, format = "f", big.mark = ",")
speed_a <- c(-log(alive_a2) / 2, -log(alive_a5 / alive_a2) / 3)
speed <- cbind(A = speed_a, C = hazard_ratio * speed_a)
start <- patients * rbind(1, alive_a2^c(1, hazard_ratio))
deaths <- start * (1 - exp(-speed * c(2, 3))); person_years <- deaths / speed
cat("Deaths per 1,000 person-years in years 1-2, A and C:", f(1000 * speed[1, ], 1), "\n")
cat("Deaths per 1,000 person-years in years 3-5, A and C:", f(1000 * speed[2, ], 1), "\n")
cat("On A, deaths in years 1-2 and in years 3-5:", f(deaths[, "A"], 0), "\n")
cat("On A, person-years in years 1-2 and in years 3-5:", f(person_years[, "A"], 0), "\n")
cat("Over five years, deaths on A and C:", f(colSums(deaths), 0), "\n")
cat("Over five years, person-years on A and C:", f(colSums(person_years), 0), "\n")
Deaths per 1,000 person-years in years 1-2, A and C: 25.6 18.0
Deaths per 1,000 person-years in years 3-5, A and C: 153.2 107.2
On A, deaths in years 1-2 and in years 3-5: 500 3,500
On A, person-years in years 1-2 and in years 3-5: 19,496 22,849
Over five years, deaths on A and C: 4,000 3,006
Over five years, person-years on A and C: 42,345 44,394
# The same disease: the two five-year averages, and where each treatment's person-years fall.
alive_a2 <- 0.95; alive_a5 <- 0.60; hazard_ratio <- 0.70; patients <- 10000
f <- function(x, digits) formatC(x, digits, format = "f")
speed_a <- c(-log(alive_a2) / 2, -log(alive_a5 / alive_a2) / 3)
speed <- cbind(A = speed_a, C = hazard_ratio * speed_a)
start <- patients * rbind(1, alive_a2^c(1, hazard_ratio))
deaths <- start * (1 - exp(-speed * c(2, 3))); person_years <- deaths / speed
rate <- colSums(deaths) / colSums(person_years)
cat("Deaths per 1,000 person-years over five years, A and C:", f(1000 * rate, 1), "\n")
cat("Person-years in years 3-5, A and C (%):", f(100 * prop.table(person_years, 2)[2, ], 1), "\n")
cat("Five-year rate ratio, C to A:", f(rate[["C"]] / rate[["A"]], 2), "\n")
Deaths per 1,000 person-years over five years, A and C: 94.5 67.7
Person-years in years 3-5, A and C (%): 54.0 55.7
Five-year rate ratio, C to A: 0.72
# The same patients in a Poisson model: one rate per treatment, then a rate per period as well.
alive_a2 <- 0.95; alive_a5 <- 0.60; hazard_ratio <- 0.70; patients <- 10000
f <- function(x, digits) formatC(x, digits, format = "f")
speed_a <- c(-log(alive_a2) / 2, -log(alive_a5 / alive_a2) / 3)
speed <- c(speed_a, hazard_ratio * speed_a)
dying <- patients * c(1, alive_a2, 1, alive_a2^hazard_ratio) * (1 - exp(-speed * c(2, 3)))
trial <- data.frame(arm = rep(c("A", "C"), each = 2), period = c("years 1-2", "years 3-5"),
deaths = round(dying), person_years = dying / speed)
one_rate <- glm(deaths ~ arm, family = poisson, data = trial, offset = log(person_years))
two_periods <- update(one_rate, . ~ . + period)
cat("Rate ratio with one rate per treatment, C to A:", f(exp(coef(one_rate)[["armC"]]), 2), "\n")
cat("Rate ratio with a rate per period too, C to A:", f(exp(coef(two_periods)[["armC"]]), 2), "\n")
Rate ratio with one rate per treatment, C to A: 0.72
Rate ratio with a rate per period too, C to A: 0.70
ทำไมอัตราส่วนความเสี่ยงจึงค่อย ๆ ห่างจากอัตราส่วนฮาซาร์ด
ไล่ดูเส้นทั้งสองทีละปี ตารางด้านล่างให้จำนวนผู้มีชีวิตต่อ 100 คนเมื่อสิ้นแต่ละปี และคอลัมน์สุดท้ายหารจำนวนผู้เสียชีวิตที่สะสมมาจนถึงตอนนั้น อัตราส่วนความเสี่ยงขึ้นจาก 0.71 หลังหนึ่งปีเป็น 0.75 หลังห้าปี ขณะที่อัตราส่วนฮาซาร์ดเท่ากับ 0.70 ในทุกแถว
ทำไมจึงขึ้น? อัตราส่วนฮาซาร์ดเปรียบเทียบความเร็วในหมู่คนที่ยังมีชีวิต ส่วน อัตราส่วนความเสี่ยงนับทุกคนที่เสียชีวิตไปตั้งแต่เริ่มต้น เมื่อการเสียชีวิตสะสมมากขึ้นในทั้งสองกลุ่ม ยอดรวมทั้งสองก็ใกล้กันขึ้น ถ้าความเร็วเดิมคงอยู่ไปถึง 20 ปี จะเสียชีวิต 87.0 คนเมื่อได้ A และ 76.1 คนเมื่อได้ C คิดเป็นอัตราส่วนความเสี่ยง 0.87 และถ้าติดตามนานพอ เกือบทุกคนในทั้งสองกลุ่มจะเสียชีวิต อัตราส่วนนี้จึงค่อย ๆ เข้าใกล้ 1
เส้นการรอดชีพทั้งสองเส้น ทีละปี
| ปีที่ | มีชีวิตต่อ 100 คน เมื่อได้ A | มีชีวิตต่อ 100 คน เมื่อได้ C | อัตราส่วนความเสี่ยงของการเสียชีวิตสะสม |
|---|---|---|---|
| 1 | 90.3 | 93.1 | 0.71 |
| 2 | 81.5 | 86.7 | 0.72 |
| 3 | 73.6 | 80.7 | 0.73 |
| 4 | 66.5 | 75.1 | 0.74 |
| 5 | 60.0 | 69.9 | 0.75 |
# Year by year at a steady speed of death: the table of who is alive on A and on C.
survival_a5 <- 0.60; hazard_ratio <- 0.70; years <- 1:5
f <- function(x, digits) formatC(x, digits, format = "f")
alive_a <- round(100 * survival_a5^(years / 5), 1)
alive_c <- round(100 * survival_a5^(hazard_ratio * years / 5), 1)
cat("Alive per 100 on A, years 1 to 5:", f(alive_a, 1), "\n")
cat("Alive per 100 on C, years 1 to 5:", f(alive_c, 1), "\n")
cat("Risk ratio, years 1 to 5:", f((100 - alive_c) / (100 - alive_a), 2), "\n")
dead20 <- 100 * (1 - survival_a5^(4 * c(1, hazard_ratio)))
cat("Dead per 100 at 20 years, A, C:", f(dead20, 1), "ratio", f(dead20[2] / dead20[1], 2), "\n")
slices <- function(alive) sum((c(100, alive[-5]) + alive) / 2)
table_years <- c(slices(alive_a), slices(alive_c))
cat("Years alive per 100 in 5 years, A, C, gap:", f(c(table_years, diff(table_years)), 2), "\n")
Alive per 100 on A, years 1 to 5: 90.3 81.5 73.6 66.5 60.0
Alive per 100 on C, years 1 to 5: 93.1 86.7 80.7 75.1 69.9
Risk ratio, years 1 to 5: 0.71 0.72 0.73 0.74 0.75
Dead per 100 at 20 years, A, C: 87.0 76.1 ratio 0.87
Years alive per 100 in 5 years, A, C, gap: 391.90 420.55 28.65
ตัวเลขเดียวสำหรับห้าปี: ข้อสมมติว่าฮาซาร์ดเป็นสัดส่วน
C ในตัวอย่างของเรามีค่า 0.70 เท่ากันทุกขณะ ตัวเลขเดียวจึงอธิบายได้ครบทั้งห้าปี แต่การรักษาจริงไม่จำเป็นต้องเป็นแบบนั้น ยาบางตัวอาจใช้เวลาหนึ่งปีกว่าจะออกฤทธิ์ หรือผลอาจค่อย ๆ จางลง
สมมติว่า C ไม่มีผลเลยในปีแรก แล้วจึงออกฤทธิ์ที่ 0.70 ผู้ป่วยที่ได้ C จะไปตามเส้นของ A จนเหลือผู้มีชีวิต 90.3 ต่อ 100 คนเมื่อครบหนึ่งปี แล้วจึงเริ่มเสียชีวิตช้าลง ตลอดห้าปี อัตราส่วนของความเร็วเฉลี่ยจากหนึ่งปีที่ 1.00 กับสี่ปีที่ 0.70 คือ (1.00 + 0.70 × 4) / 5 = 0.76 การรอดชีพที่ห้าปีจึงเป็น $0.60^{0.76}=0.678$ คือเสียชีวิต 32.2 ต่อ 100 คน น้อยกว่าเมื่อได้ A อยู่ 7.8 แทนที่จะเป็น 9.9
ใน C แบบนี้ อัตราส่วนของความเร็วคือ 1.00 ในปีที่ 1 และ 0.70 หลังจากนั้น เมื่ออัตราส่วนนี้คงที่ตลอดการติดตาม เราเรียกว่าฮาซาร์ดเป็นสัดส่วน (proportional hazards) แต่ในกรณีนี้ไม่เป็น อัตราส่วนฮาซาร์ดค่าเดียวที่ประมาณจากข้อมูลแบบนี้คือค่าผสมของ 1.00 กับ 0.70 ซึ่งไม่ได้อธิบายปีใดปีหนึ่งเลย
การตรวจที่ใช้กันบ่อยมีสามแบบ แบบแรก ดูเส้นการรอดชีพทั้งสองเส้น ถ้าช่องว่างเพิ่งเปิดช่วงท้ายหรือกลับหุบลง นั่นคือสัญญาณเตือน แบบที่สอง วาด ln(-ln S) ของแต่ละกลุ่มเทียบกับเวลา ถ้าฮาซาร์ดเป็นสัดส่วน สองเส้นจะห่างกันเป็นระยะคงที่ แบบที่สาม ขอให้นักสถิติทดสอบอย่างเป็นทางการว่าอัตราส่วนฮาซาร์ดเปลี่ยนไปตามเวลาหรือไม่ (การทดสอบด้วยเศษเหลือของเชินเฟลด์ หรือ Schoenfeld residual test) และการทดสอบที่ไม่พบอะไรในการศึกษาขนาดเล็กไม่ใช่ข้อพิสูจน์
แม้ในการศึกษาที่สุ่มแบ่งกลุ่ม อัตราส่วนฮาซาร์ดของช่วงเวลาหลัง ๆ ก็เปรียบเทียบผู้รอดชีวิตของแต่ละกลุ่ม ซึ่งอาจต่างกันได้ เมื่อถึงปีที่ 3 ผู้ป่วยที่เปราะบางที่สุดในกลุ่ม A เสียชีวิตไปมากกว่าแล้ว เส้นการรอดชีพทั้งเส้นและเวลาที่มีชีวิตจึงเลี่ยงปัญหานี้ได้ [2]
# If C did nothing in year 1 (ratio 1.00) and then worked at 0.70: deaths by five years.
survival_a5 <- 0.60; ratio_year1 <- 1.00; hazard_ratio <- 0.70; delay <- 1
f <- function(x, digits) formatC(x, digits, format = "f")
power <- (ratio_year1 * delay + hazard_ratio * (5 - delay)) / 5
survival_c <- survival_a5^power
cat("Average ratio over five years, the power on 0.60:", f(power, 2), "\n")
cat("Survival at five years on C:", f(survival_c, 3), "\n")
cat("Deaths per 100 by five years on C:", f(100 * (1 - survival_c), 1), "\n")
cat("Fewer deaths per 100 than on A:", f(100 * (survival_c - survival_a5), 1), "\n")
Average ratio over five years, the power on 0.60: 0.76
Survival at five years on C: 0.678
Deaths per 100 by five years on C: 32.2
Fewer deaths per 100 than on A: 7.8
เวลาที่มีชีวิต: พื้นที่ใต้เส้นการรอดชีพ
อ่านก่อนในเว็บไซต์นี้ บทความนี้สอนเรื่องพื้นที่ใต้เส้นการรอดชีพอย่างครบถ้วน ในที่นี้เราใช้เพียงจำนวนวันที่พื้นที่นี้ให้แก่แบบจำลองของคณะกรรมการ
แบบจำลองเศรษฐศาสตร์ไม่ได้นับแค่การเสียชีวิต แต่นับเวลาที่มีชีวิต การรักษาที่เลื่อนการเสียชีวิตออกไปช่วยเพิ่มเวลา แม้คนกลุ่มเดิมจะเสียชีวิตในภายหลัง คำถามของกรรมการคนที่สองว่าผู้ป่วยที่ได้ C มีชีวิตยืนยาวขึ้นเท่าใด จึงต้องใช้ตัววัดที่มีหน่วยเป็นวันหรือปี
ลองแบ่งห้าปีแรกเป็นช่วงละหนึ่งปี ในแต่ละช่วง เวลาที่ทั้งกลุ่มมีชีวิตเท่ากับสัดส่วนที่ยังมีชีวิตคูณความยาวของช่วง การรวมทุกช่วงเข้าด้วยกันจึงเท่ากับพื้นที่ใต้เส้นการรอดชีพ พื้นที่นี้จึงเป็นเวลาที่มีชีวิตโดยเฉลี่ย และพื้นที่ระหว่างเส้นสองเส้นคือเวลามีชีวิตที่เพิ่มขึ้น
ใช้ตารางด้านบน ในปีที่ 1 ผู้มีชีวิตเมื่อได้ A ลดจาก 100 เหลือ 90.3 ต่อ 100 คน ตลอดปีนั้นจึงมีคนมีชีวิตโดยเฉลี่ยราว (100 + 90.3) / 2 คน ทำแบบนี้ครบทั้งห้าปีแล้วรวมกัน ได้ปีชีวิต 391.90 ปีต่อผู้ป่วย 100 คนเมื่อได้ A และ 420.55 ปีเมื่อได้ C ต่างกัน 28.65 ปีต่อ 100 คน
การแบ่งช่วงนี้ลากเส้นตรงเชื่อมจุดรายปี จึงได้ค่าใกล้เคียงแต่ไม่ตรงทีเดียว พื้นที่ที่แม่นยำในกล่อง R ด้านล่าง คือมีชีวิตเฉลี่ย 1,430 วันเมื่อได้ A และ 1,535 วันเมื่อได้ C จากห้าปีแรก 1,826 วัน C จึงเพิ่มเวลามีชีวิต 105 วันต่อคน หรือ 0.288 ปี คิดเป็น 28.8 ปีต่อผู้ป่วย 100 คน พื้นที่นี้ก็คือคน-ปีที่นับไว้ตอนต้นเมื่อแบ่งให้ทุกคน: 39,152 คน-ปีในผู้ป่วย 10,000 คนที่ได้ A คือคนละ 1,430 วัน
ค่าเฉลี่ยนี้เรียกว่าเวลารอดชีพเฉลี่ยแบบจำกัดช่วง (restricted mean survival time, RMST) คือเวลาที่มีชีวิตโดยเฉลี่ยจนถึงช่วงเวลา $\tau$ ที่ระบุ ในที่นี้คือห้าปี เขียนเป็นสัญลักษณ์ว่า $RMST(\tau)=\int_0^{\tau}S(t)\,dt$ โดยเครื่องหมาย $\int$ หมายถึงการรวมพื้นที่ทีละช่วงบาง ๆ ตั้งแต่ 0 ถึง $\tau$ ค่านี้ไม่ต้องอาศัยข้อสมมติว่าฮาซาร์ดเป็นสัดส่วน จึงอ่านได้แบบเดียวกันสำหรับ C ที่ออกฤทธิ์ช้า ซึ่งเพิ่มเวลา 64 วันแทนที่จะเป็น 105 วัน [3]
จำนวนวันเหล่านี้อาศัยข้อสมมติว่าการเสียชีวิตเมื่อได้ A มีความเร็วคงที่ เพราะการศึกษาให้ข้อมูลเส้นของ A เพียงจุดเดียว รายงานจริงจะแสดงเส้นทั้งเส้น และพื้นที่ต้องคิดใต้เส้นนั้น
ต้องระบุช่วงเวลาเสมอ และช่วงเวลานั้นต้องอยู่ภายในระยะติดตาม ค่าเฉลี่ยแบบจำกัดช่วงถึงห้าปีไม่ได้บอกอะไรเกี่ยวกับปีที่ 6 ส่วนนั้นของแบบจำลองคือการคาดการณ์เกินช่วงข้อมูล (extrapolation) ซึ่งต้องมีหลักฐานของตัวเอง
# Restricted mean survival time: the exact area under each survival curve up to five years.
survival_a5 <- 0.60; hazard_ratio <- 0.70; horizon <- 5; delay <- 1
f <- function(x, digits) formatC(x, digits, format = "f")
hazard_a <- -log(survival_a5) / horizon
alive <- function(t, ratio, start) exp(-hazard_a * (pmin(t, start) + ratio * pmax(0, t - start)))
area <- function(ratio, start = 0) integrate(alive, 0, horizon, ratio = ratio, start = start)$value
days <- 365.25 * c(area(1), area(hazard_ratio), area(hazard_ratio, delay))
cat("Days in the first five years:", round(365.25 * horizon), "\n")
cat("Days alive on average, A and C:", round(days[1:2]), "\n")
cat("Days gained per patient, and if C waits a year:", round(days[2:3] - days[1]), "\n")
cat("Years gained per patient:", f((days[2] - days[1]) / 365.25, 3), "\n")
cat("Years gained per 100 patients:", f(100 * (days[2] - days[1]) / 365.25, 1), "\n")
Days in the first five years: 1826
Days alive on average, A and C: 1430 1535
Days gained per patient, and if C waits a year: 105 64
Years gained per patient: 0.288
Years gained per 100 patients: 28.8
อะไรเข้าไปในแบบจำลองเศรษฐศาสตร์
แบบจำลองเศรษฐศาสตร์แบบนี้ติดตามกลุ่มผู้ป่วยไปข้างหน้าทีละช่วงเวลาคงที่ ซึ่งมักเป็นหนึ่งปี และบทความเรื่องแบบจำลองสร้างแบบจำลองแบบนี้ ในแต่ละช่วง แบบจำลองต้องการโอกาสเสียชีวิตภายในช่วงนั้น (สำหรับ A คือ 9.7% ต่อปี สำหรับ C คือ 6.9% เรียกว่าโอกาสเสียชีวิตรายปี) สำหรับผู้ป่วยที่ยังมีชีวิตอยู่ตอนเริ่มช่วง แบบจำลองรับโอกาสนี้จากอัตราและเส้นการรอดชีพทีละช่วงเวลา ไม่ใช่จากอัตราส่วนฮาซาร์ดค่าเดียวที่นำไปคูณกับความน่าจะเป็น
อัตราส่วนฮาซาร์ดทำงานกับสัดส่วนที่ยังมีชีวิตอยู่ ไม่ได้ทำงานกับโอกาสเสียชีวิต ให้ยกสัดส่วนที่รอดในหนึ่งปีของ A คือ $1-p_A$ ขึ้นเป็นเลขยกกำลัง 0.70: $p_C = 1-(1-p_A)^{HR}$ ไม่ใช่ $HR\times p_A$ ตัวอย่างคำนวณแสดงความต่างนี้ คือใกล้เคียงเมื่อแต่ละช่วงยาวหนึ่งปี แต่ผิดเมื่อช่วงยาวขึ้น [4]
ค่า 0.70 ในตัวอย่างสมมติของเราไม่มีช่วงความเชื่อมั่น แต่อัตราส่วนฮาซาร์ดจริงมีเสมอ และเส้นการรอดชีพของ A ก็มีความไม่แน่นอนของตัวเอง ทั้งสองอย่างต้องเข้าไปในแบบจำลอง แทนการใช้ตัวเลขคงที่ค่าเดียว ส่วนที่เกินห้าปีเป็นการคาดการณ์ จึงต้องแยกเป็นข้อสมมติที่ระบุไว้ชัดเจน [5]
ช่วงรายปีของแบบจำลอง
ความเร็ว 102.2 ต่อ 1,000 คน-ปี ที่คงอยู่ตลอดหนึ่งปี ทำให้เหลือผู้มีชีวิต $e^{-0.1022}=0.903$ จึงเสียชีวิต 9.7% เท่ากับ 9.7% ในตารางรายปีด้านบน บทความเรื่องอัตราและความน่าจะเป็น อัตรา ความน่าจะเป็น และความน่าจะเป็นของการเปลี่ยนสถานะ: คำนวณโดยไม่หลงหน่วยเวลา สอนการแปลงนี้อย่างครบถ้วน ทุกขั้นด้านล่างใช้ตัวเลขที่แสดงในขั้นนั้น
-
โอกาสเสียชีวิตรายปีเมื่อได้ A
\[ 0.60^{1/5}=0.903,\quad p_A=1-0.903=9.7\% \]
ถ้าแต่ละปีเหมือนกันและห้าปีจบที่ 0.60 แต่ละปีจะเหลือผู้มีชีวิต 0.903 ของคนที่มีชีวิตอยู่ตอนต้นปี
-
โอกาสเสียชีวิตรายปีเมื่อได้ C
\[ 0.903^{0.70}=0.931,\quad p_C=1-0.931=6.9\% \]
ใช้อัตราส่วนฮาซาร์ดเป็นเลขยกกำลังของสัดส่วนที่รอด
-
ตรวจสอบเมื่อครบห้าช่วง
\[ 100\times(1-0.931^{5})=30.1 \]
เสียชีวิต 30.1 ต่อ 100 คนหลังครบห้าช่วงรายปี ตรงกับเส้นการรอดชีพของ C
-
ทางลัด
\[ 0.70\times 9.7\%=6.8\%,\quad 100\times(1-0.932^{5})=29.7 \]
ถ้าใช้ทางลัดในทุกช่วงรายปีทั้งห้าช่วง จะได้ผู้เสียชีวิต 29.7 ต่อ 100 คน แทนที่จะเป็น 30.1 ซึ่งคลาดเคลื่อนเล็กน้อย แต่ถ้าใช้ครั้งเดียวกับ 40.0 ของทั้งห้าปี จะได้ 28.0 แบบที่กรรมการอ่าน
ผลลัพธ์: แบบจำลองได้รับ 9.7% และ 6.9% เป็นโอกาสเสียชีวิตรายปี หรือได้รับเส้นการรอดชีพทั้งสองเส้นโดยตรง ต่อผู้ป่วยที่ได้รับการรักษา 100 คน หมายถึงป้องกันการเสียชีวิตได้ 9.9 ราย และเพิ่มเวลามีชีวิต 28.8 ปีภายในห้าปี ก่อนจะใส่น้ำหนักคุณภาพชีวิตหรือราคาใด ๆ
# One-year steps for the economic model: the chance of dying within a year on A and on C.
survival_a5 <- 0.60; hazard_ratio <- 0.70
f <- function(x, digits) formatC(x, digits, format = "f")
cat("Keeping 0.90 a year for five years leaves:", f(0.90^5, 2), "\n")
cat("Speed of death on A per person-year:", f(-log(survival_a5) / 5, 4), "\n")
step_a <- 1 - survival_a5^(1 / 5)
step_c <- 1 - (1 - step_a)^hazard_ratio; shortcut_c <- hazard_ratio * step_a
cat("Chance of dying within a year on A (%):", f(100 * step_a, 1), "\n")
cat("On C, correct and shortcut (%):", f(100 * c(step_c, shortcut_c), 1), "\n")
cat("Staying alive each year on A, then C correct and shortcut:",
f(1 - c(step_a, step_c, shortcut_c), 3), "\n")
cat("Deaths per 100 after five yearly steps on C, correct and shortcut:",
f(100 * (1 - (1 - c(step_c, shortcut_c))^5), 1), "\n")
Keeping 0.90 a year for five years leaves: 0.59
Speed of death on A per person-year: 0.1022
Chance of dying within a year on A (%): 9.7
On C, correct and shortcut (%): 6.9 6.8
Staying alive each year on A, then C correct and shortcut: 0.903 0.931 0.932
Deaths per 100 after five yearly steps on C, correct and shortcut: 30.1 29.7
คำศัพท์ที่เราใช้
- Survival curve (เส้นการรอดชีพ)
- สัดส่วนของผู้ป่วยที่ยังมีชีวิต ณ แต่ละเวลา เช่น 0.60 ที่ห้าปีเมื่อได้ A
- Censoring (การเซนเซอร์)
- การติดตามที่หยุดก่อนเห็นเหตุการณ์ ผู้ป่วยถูกนับเฉพาะช่วงที่ยังติดตามอยู่
- Person-time (เวลาติดตามรวม (คน-ปี))
- เวลาที่ผู้ป่วยแต่ละคนถูกติดตามขณะยังเสี่ยงต่อเหตุการณ์ รวมกันทั้งกลุ่ม เช่น 39,152 คน-ปีสำหรับผู้ป่วย 10,000 คนที่ได้ A
- Incidence rate (อัตราอุบัติการณ์)
- จำนวนเหตุการณ์หารด้วยเวลาติดตามรวม คือความเร็วเฉลี่ยตลอดช่วงเวลาหนึ่ง เช่น การเสียชีวิต 102.2 ต่อ 1,000 คน-ปีเมื่อได้ A
- Incidence rate ratio (IRR) (อัตราส่วนอัตราอุบัติการณ์)
- อัตราอุบัติการณ์ของกลุ่มหนึ่งหารด้วยของอีกกลุ่ม ได้จากแบบจำลองปัวซงที่ใช้ล็อกของเวลาติดตามรวมเป็นออฟเซ็ต เช่น 0.70 ของ C เทียบกับ A
- Hazard (ฮาซาร์ด)
- ความเร็วของการเสียชีวิต ณ แต่ละขณะในหมู่คนที่ยังมีชีวิต เช่น 102.2 ต่อ 1,000 คน-ปีเมื่อได้ A ซึ่งความเร็วไม่เปลี่ยน
- Hazard ratio (อัตราส่วนฮาซาร์ด)
- ฮาซาร์ดของกลุ่มหนึ่งหารด้วยของอีกกลุ่ม ณ แต่ละขณะ เช่น 0.70 ของ C เทียบกับ A
- Risk ratio (อัตราส่วนความเสี่ยง)
- การเสียชีวิตสะสมของกลุ่มหนึ่งหารด้วยของอีกกลุ่ม เช่น 0.75 ที่ห้าปี
- Proportional hazards (ฮาซาร์ดเป็นสัดส่วน)
- ข้อสมมติว่าอัตราส่วนฮาซาร์ดคงที่ตลอดระยะติดตาม
- RMST (เวลารอดชีพเฉลี่ยแบบจำกัดช่วง)
- เวลาที่มีชีวิตโดยเฉลี่ยจนถึงช่วงเวลาที่ระบุ คือพื้นที่ใต้เส้น เช่น 1,430 วันเมื่อได้ A
- Yearly chance of dying (โอกาสเสียชีวิตรายปี)
- โอกาสเสียชีวิตภายในหนึ่งช่วงของแบบจำลอง ในผู้ที่มีชีวิตตอนเริ่มช่วง เช่น 9.7% เมื่อได้ A
เอกสารอ้างอิง
- Putter H, Fiocco M, Geskus RB. Tutorial in biostatistics: competing risks and multi-state models. Stat Med. 2007;26(11):2389-2430. doi:10.1002/sim.2712
- Hernan MA. The hazards of hazard ratios. Epidemiology. 2010;21(1):13-15. doi:10.1097/EDE.0b013e3181c1ea43
- Royston P, Parmar MK. Restricted mean survival time: an alternative to the hazard ratio for the design and analysis of randomized trials with a time-to-event outcome. BMC Med Res Methodol. 2013;13:152. doi:10.1186/1471-2288-13-152
- Fleurence RL, Hollenbeak CS. Rates and probabilities in economic modelling: transformation, translation and reporting. PharmacoEconomics. 2007;25(1):3-6. doi:10.2165/00019053-200725010-00002
- Briggs A, Claxton K, Sculpher M. Decision Modelling for Health Economic Evaluation. Oxford: Oxford University Press; 2006. ISBN 9780198526629
ลำดับการเรียนในชุดนี้
- คู่มือชุดบทความเศรษฐศาสตร์สุขภาพ: อ่านหลักฐานก่อนอ่านต้นทุน
- อุบัติการณ์ ความชุก และตัวหารที่ถูกต้อง: ระบาดวิทยาเบื้องหลังต้นทุนความเจ็บป่วยและแบบจำลองมาร์คอฟ
- รูปแบบการศึกษา แบบจำลองทางสถิติ และเป้าหมายการประมาณค่า: แต่ละรูปแบบการศึกษาประมาณค่าอะไรได้จริง
- อัตราส่วนความเสี่ยง อัตราส่วนออดส์ ผลต่างความเสี่ยง และจำนวนที่ต้องรักษา: ตารางสองคูณสองเดียว คำตอบสี่แบบ
- อัตราส่วนฮาซาร์ดไม่ใช่อัตราส่วนความเสี่ยง: ข้อสมมติความเป็นสัดส่วนของฮาซาร์ด เวลารอดชีพเฉลี่ยแบบจำกัดช่วง และข้อมูลนำเข้าแบบจำลอง (บทความนี้)
- ความบังเอิญ อคติ และปัจจัยกวน: เหตุใดความสัมพันธ์ที่พบจึงยังไม่ใช่ผลของการรักษา
- พ้นจากพีระมิดหลักฐาน: ระดับความเชื่อมั่นตามแนวทาง GRADE และการเลือกข้อมูลประสิทธิผลเข้าสู่แบบจำลองทางเศรษฐศาสตร์
- จากความไวสู่ต้นทุนต่อผู้ป่วยหนึ่งรายที่ตรวจพบ: ค่าทำนายผลบวก ความชุก และเศรษฐศาสตร์ของการคัดกรอง
- ต้นทุนของใคร ณ ปีใด: มุมมองการวิเคราะห์ ต้นทุนค่าเสียโอกาส การปรับค่าเงินเฟ้อ และการปรับลดค่าตามเวลา
- ปีสุขภาวะ ปีสุขภาวะที่สูญเสีย และค่าอรรถประโยชน์: เรากำลังวัดอะไรกันแน่
- อัตราส่วนต้นทุนประสิทธิผลส่วนเพิ่มและระนาบต้นทุนประสิทธิผล: ทางเลือกที่ด้อยกว่า ผลประโยชน์สุทธิ และเกณฑ์ 160,000 บาทต่อปีสุขภาวะ
- ต้นไม้การตัดสินใจ แบบจำลองมาร์คอฟ และการวิเคราะห์ความไวเชิงความน่าจะเป็น: แบบจำลองแปลงหลักฐานเป็นการตัดสินใจได้อย่างไร
- คุ้มค่าไม่ได้แปลว่าจ่ายไหว มีประสิทธิภาพไม่ได้แปลว่าเป็นธรรม: ผลกระทบด้านงบประมาณและความเป็นธรรมทางสุขภาพ
- การคัดเลือกพารามิเตอร์ บัญชีต้นทุนอ้างอิง และฐานข้อมูลค่าอรรถประโยชน์เมื่อข้อมูลในประเทศมีจำกัด
- การประเมินเทคโนโลยีสุขภาพระยะเริ่มต้น เพดานราคาที่คุ้มค่า และการตัดสินใจชุดสิทธิประโยชน์
- การสื่อสารหลักฐานเศรษฐศาสตร์สุขภาพ: จากผลลัพธ์แบบจำลองสู่ข้อเสนอแนะเชิงนโยบาย
ประเด็นสำคัญ
- การนับให้อัตรา: การเสียชีวิต 4,000 รายใน 39,152 คน-ปี คือ 102.2 ต่อ 1,000 คน-ปีเมื่อได้ A และ 71.5 เมื่อได้ C คิดเป็นอัตราส่วนอัตราอุบัติการณ์ 0.70
- อัตราส่วนฮาซาร์ด 0.70 เปรียบเทียบความเร็วในหมู่คนที่ยังมีชีวิต ณ แต่ละขณะ เมื่อผู้ป่วยที่ได้ A มีชีวิต 60 จาก 100 คนที่ห้าปี ค่านี้หมายถึงผู้เสียชีวิต 30.1 ต่อ 100 คนเมื่อได้ C ไม่ใช่ 28.0
- อัตราส่วนอัตราอุบัติการณ์เท่ากับอัตราส่วนฮาซาร์ดเฉพาะเมื่อความเร็วของทั้งสองกลุ่มคงที่ ถ้าโรคเร่งความเร็วขึ้น อัตราส่วนอัตราห้าปีเป็น 0.72 ขณะที่อัตราส่วนฮาซาร์ดยังเป็น 0.70
- อัตราส่วนความเสี่ยงค่อย ๆ ห่างจากอัตราส่วนฮาซาร์ดเข้าหา 1 เมื่อการเสียชีวิตสะสมมากขึ้น: 0.71 ที่หนึ่งปี 0.75 ที่ห้าปี และ 0.87 ที่ 20 ปี
- ให้แบบจำลองใช้อัตราและเส้นการรอดชีพ ไม่ใช่ 0.70 คูณกับความน่าจะเป็น: C เพิ่มเวลามีชีวิต 105 วันต่อคนภายในห้าปี และโอกาสเสียชีวิตรายปีคือ 9.7% เมื่อได้ A และ 6.9% เมื่อได้ C
อ่านต่อในวิกิ: อุบัติการณ์ ความชุก และตัวหารที่ถูกต้อง: ระบาดวิทยาเบื้องหลังต้นทุนความเจ็บป่วยและแบบจำลองมาร์คอฟ · อัตราส่วนความเสี่ยง อัตราส่วนออดส์ ผลต่างความเสี่ยง และจำนวนที่ต้องรักษา: ตารางสองคูณสองเดียว คำตอบสี่แบบ · ต้นไม้การตัดสินใจ แบบจำลองมาร์คอฟ และการวิเคราะห์ความไวเชิงความน่าจะเป็น: แบบจำลองแปลงหลักฐานเป็นการตัดสินใจได้อย่างไร · Cause-Specific Cox หรือ Fine-Gray: ฮาซาร์ดสองแบบ สำหรับสองคำถามที่ต่างกัน · Restricted Mean Survival Time (RMST): การรักษาซื้อเวลาปลอดเหตุการณ์ให้ผู้ป่วยได้เท่าไร