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

Clinical Epidemiology ResearchMethodology and Research Design THUniqcret doctor knowledges TH
เหตุการณ์ซ้ำ: นับการนอนโรงพยาบาลทุกครั้งโดยไม่แสร้งว่าแต่ละครั้งเป็นอิสระต่อกัน
On this page

Read the English version

บทคัดย่อ

เมื่อผู้ป่วยหนึ่งคนเกิด event เดิมได้หลายครั้ง เช่น การนอนโรงพยาบาลด้วยหัวใจล้มเหลวซ้ำ asthma exacerbation หรือการชัก time-to-first-event analysis จะหยุดที่ event แรกและทิ้งที่เหลือทั้งหมด จากนั้นมีสองคำถามที่ใช้เลือก model: ลำดับของ event สำคัญไหม และวัดเวลาด้วยนาฬิกาแบบไหน? Andersen-Gill model วางทุก event บนนาฬิกาเดียวที่เดินต่อเนื่อง และประมาณ effect ต่อ overall recurrent-event rate เนื่องจาก event ของผู้ป่วยคนเดียวกันสัมพันธ์กัน จึงรายงานพร้อม robust (sandwich) variance ซึ่งแก้ standard error โดยไม่ขยับค่าประมาณ Prentice-Williams-Peterson (PWP) model ทำให้ event ก่อนหน้าสำคัญ ผู้ป่วยจึงเสี่ยงต่อ event ถัดไปได้ก็ต่อเมื่อเกิด event ก่อนหน้าแล้ว และ version gap-time ของมันเริ่มนาฬิกาใหม่หลังทุก event ทั้งสอง model โดยตัวมันเองไม่ได้จัดการการเสียชีวิตในฐานะ competing terminal event บทความนี้ไล่ดูการนอนโรงพยาบาลของผู้ป่วยสองคน อ่านประโยค design ทีละ clue และสรุปเป็นกฎสำหรับเลือก model


ภาพสรุป ในตัวอย่างด้านล่าง Patient A นอนโรงพยาบาลที่เดือน 1, 3, 5 และ 8 และ Patient B ที่เดือน 2: first-event analysis เก็บไว้เพียง T = 1 ของ A และ T = 2 ของ B ขณะที่ Andersen-Gill เก็บการนอนโรงพยาบาลทั้งสี่ครั้งของ A และหนึ่งครั้งของ B

ผู้ป่วยที่กลับมาซ้ำแล้วซ้ำอีก

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

ก่อนเลือก model ต้องตัดสินใจสองเรื่อง ลำดับของการนอนโรงพยาบาลสำคัญไหม? และจะวัดเวลาด้วยนาฬิกาแบบไหน: นาฬิกาเดียวที่เดินต่อเนื่องจากเริ่ม follow-up หรือนาฬิกาที่เริ่มนับใหม่หลังการนอนโรงพยาบาลแต่ละครั้ง?

ผู้ป่วยคนเดียว event เดิม เกิดได้หลายครั้ง

ต้องใช้ recurrent-event analysis เมื่อผู้ป่วยหนึ่งคนเกิด event ชนิดเดียวกันได้หลายครั้ง event แบบนี้เรียกว่าเหตุการณ์ซ้ำ (recurrent events) ตัวอย่างเช่น:

ลองดู heart failure hospitalization ผู้ป่วยหนึ่งคนอาจผ่าน $H_1 \rightarrow H_2 \rightarrow H_3 \rightarrow H_4$ โดย $H_1$ คือการนอนโรงพยาบาลครั้งแรก $H_2$ คือครั้งที่สอง และต่อไปเรื่อย ๆ

Cox model แบบธรรมดา ซึ่งเป็น regression มาตรฐานสำหรับเวลาจนเกิด event มักวิเคราะห์เวลาจนถึงการนอนโรงพยาบาลครั้งแรก (time to first hospitalization) การติดตามผู้ป่วยคนนั้นหยุดที่ $H_1$ ทุกอย่างหลังจากนั้นถูกทิ้ง ผู้ป่วยที่นอนโรงพยาบาล 1 ครั้งกับผู้ป่วยที่นอนโรงพยาบาล 8 ครั้งจึงอาจดูเหมือนกันใน primary first-event analysis ข้อมูลมหาศาลหายไป

สองโลก ก่อนเลือก model ใด ๆ

ก่อนเอ่ยชื่อวิธีใด ให้ตัดสินก่อนว่า outcome อยู่ในโลกไหน

สมมติ outcome คือมะเร็งกลับเป็นซ้ำ (cancer recurrence) ผู้ป่วยหนึ่งคนอาจไปจากยังไม่เกิด event สู่ recurrence หรือจากยังไม่เกิด event สู่การเสียชีวิตก่อน recurrence:

$$\text{No event} \rightarrow \text{Recurrence}$$

หรือ

$$\text{No event} \rightarrow \text{Death before recurrence}$$

การเสียชีวิตในที่นี้เป็นเหตุการณ์แข่งขัน (competing event): เมื่อเกิดขึ้นแล้ว event ที่สนใจจะไม่มีวันเกิดได้อีก ผู้ป่วยแต่ละคนมี first event ได้อย่างมากหนึ่งอย่าง และคำถามคืออย่างไหนมาก่อน นี่คือcompeting-risk world ซึ่งอธิบายไว้ในตอนที่ 4และตอนที่ 5ของชุดบทความนี้

ทีนี้สมมติว่า outcome คือการนอนโรงพยาบาล:

$$\text{Hospitalization}_1 \rightarrow \text{Hospitalization}_2 \rightarrow \text{Hospitalization}_3 \rightarrow \cdots$$

event เดิมเกิดซ้ำกับผู้ป่วยคนเดิม นี่คือrecurrent-event world

Andersen-Gill: ทุก event บนนาฬิกาเดียว

Andersen-Gill model มอง recurrent events ทั้งหมดเป็นส่วนหนึ่งของcounting process เดียวที่ต่อเนื่องกัน: ผู้ป่วยแต่ละคนมีตัวนับจำนวน event สะสมที่เพิ่มขึ้นทีละหนึ่งทุกครั้งที่เกิด event เวลาเดินไปข้างหน้าบน time scale เดียวกันตลอด เรียกว่าtotal time นับจากเริ่ม follow-up [1]

start
0 -------- event 1 -------- event 2 -------- event 3
                                                total time →

Andersen-Gill เป็น extension ของ Cox model ในรูป counting process สำหรับ recurrent events ลองดูผู้ป่วยสองคน:

$$\text{Patient A: } 0 \rightarrow H_1 \rightarrow H_2 \rightarrow H_3, \quad \text{Patient B: } 0 \rightarrow H_1$$

Andersen-Gill ใช้ $H_1$, $H_2$ และ $H_3$ ของ Patient A ทั้งหมด ไม่ทิ้ง event ใดหลัง event แรก

ดังนั้นเมื่อ scientific question คือการรักษามี effect ต่อ overall recurrent-event rate หรือ intensity ตลอด follow-up อย่างไร Andersen-Gill เหมาะกว่าการทำ time-to-first-event analysis อย่างเดียว intensity คืออัตราการเกิด event ณ ขณะหนึ่งของผู้ป่วยที่ยังอยู่ใน follow-up

clue ที่มักชี้ไปที่ Andersen-Gill:

ทำไมต้อง "with robust variance"?

สมมติผู้ป่วยคนเดียวนอนโรงพยาบาลสามครั้ง $H_1$, $H_2$ และ $H_3$ event ทั้งสามนี้ไม่ independent คนที่เคยนอนโรงพยาบาลแล้วครั้งหนึ่งอาจเป็นคนที่มีแนวโน้มจะนอนโรงพยาบาลอีก

ถ้าเขียนสำหรับ Patient A, event $H_{A1}$, $H_{A2}$ และ $H_{A3}$ มาจากคนคนเดียวกันทั้งหมด นั่นคือwithin-patient correlation

ถ้าการวิเคราะห์ทำเหมือนว่าแต่ละ event independent กัน เหมือนการนอนโรงพยาบาลแต่ละครั้งมาจากคนละคน standard error อาจผิด และเมื่อการนอนโรงพยาบาลของผู้ป่วยคนเดียวกันมักเกิดไปด้วยกัน มันมักออกมาเล็กเกินไป ทางแก้คือrobust (sandwich) variance ที่ cluster ตามผู้ป่วย วิธีนี้รวมทุกอย่างที่ผู้ป่วยแต่ละคนมีส่วนต่อค่าประมาณก่อน แล้ววัดว่าผลรวมรายผู้ป่วยเหล่านี้แปรผันเท่าไร standard error และ inference จึงยังใช้ได้เมื่อมี within-patient dependence [2] มันเปลี่ยน standard error แต่ไม่เปลี่ยนhazard ratio (HR) เอง ซึ่งคืออัตราส่วนของอัตราการเกิด event ระหว่างสองกลุ่มในผู้ป่วยที่ยังเสี่ยงอยู่

การทดลองจำลองในผู้ป่วยหัวใจล้มเหลว 1,500 คนที่มีการนอนโรงพยาบาล 1,313 ครั้งแสดงประเด็นนี้ hazard ratio ของ Andersen-Gill เท่ากับ 0.73 ถ้าถือว่าการนอนโรงพยาบาลแต่ละครั้ง independent กัน standard error ของ log ของมันคือ 0.0555 และ 95% CI คือ 0.66 ถึง 0.82

robust variance เพิ่ม standard error เป็น 0.0738 และขยายช่วงเป็น 0.63 ถึง 0.85 ค่าประมาณไม่ขยับ มีเพียงความไม่แน่นอนที่เปลี่ยน

R: fit เดียว standard error แบบ naive และแบบ robust เรียงข้างกัน

โค้ด R w3_sim_r.R (บรรทัด 172-174 จาก 384)
# Andersen-Gill: every admission counts, total time, robust (sandwich) SE clustered on patient
ag <- coxph(Surv(start, stop, event) ~ arm + cluster(id), data = rl, ties = "breslow")
print(summary(ag))
ผลลัพธ์จากการรัน w3_sim_r.log
> ag <- coxph(Surv(start, stop, event) ~ arm + cluster(id),
+     data = rl, ties = "breslow")

> print(summary(ag))
Call:
coxph(formula = Surv(start, stop, event) ~ arm, data = rl, ties = "breslow",
    cluster = id)

  n= 2813, number of events= 1313

        coef exp(coef) se(coef) robust se     z Pr(>|z|)
arm -0.31129   0.73250  0.05555   0.07376 -4.22 2.44e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

    exp(coef) exp(-coef) lower .95 upper .95
arm    0.7325      1.365    0.6339    0.8464

Concordance= 0.539  (se = 0.009 )
Likelihood ratio test= 31.63  on 1 df,   p=2e-08
Wald test            = 17.81  on 1 df,   p=2e-05
Score (logrank) test = 31.66  on 1 df,   p=2e-08,   Robust = 17.59  p=3e-05

  (Note: the likelihood ratio and score tests assume independence of
     observations within a cluster, the Wald and robust score tests do not).
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง (ส่วน Andersen-Gill ในล็อก) ในตาราง coefficient ค่า se(coef) คือ naive standard error ของ log hazard ratio เท่ากับ 0.0555 เมื่อปัดเป็นทศนิยมสี่ตำแหน่ง และ robust se คือค่าที่ cluster ตามผู้ป่วย เท่ากับ 0.0738 hazard ratio 0.73 เท่ากันทั้งสองแบบ: robust variance เปลี่ยนความไม่แน่นอน ไม่เปลี่ยนค่าประมาณ

Kaplan-Meier เทียบกับ Andersen-Gill: ผู้ป่วยสองคน

ผู้ป่วยสองคน เวลาเป็นเดือนนับจากเริ่ม follow-up อ่านการนอนโรงพยาบาลชุดเดียวกันใน time-to-first-event world ก่อน ซึ่งเป็นโลกของ Kaplan-Meier curve และ Cox model แบบธรรมดา แล้วจึงอ่านใน Andersen-Gill world

  1. Patient A

    \[ \text{hospitalized at } 1,\ 3,\ 5,\ 8 \text{ months} \]

    นอนโรงพยาบาลสี่ครั้ง

  2. Patient B

    \[ \text{hospitalized at } 2 \text{ months only} \]

    นอนโรงพยาบาลครั้งเดียว

  3. Time-to-first-event world (Kaplan-Meier, Cox)

    \[ A:\ T = 1, \quad B:\ T = 2 \]

    ผู้ป่วยแต่ละคนให้เวลาเพียงค่าเดียว คือเวลาจนถึงการนอนโรงพยาบาลครั้งแรก

  4. สิ่งที่ first-event world ทิ้งไป

    \[ 3,\ 5,\ 8 \]

    การนอนโรงพยาบาลทุกครั้งของ Patient A หลังเดือน 1 ถูกทิ้งจาก time-to-first-event analysis

  5. Andersen-Gill world

    \[ A:\ H_1, H_2, H_3, H_4; \quad B:\ H_1 \]

    Patient A ให้การนอนโรงพยาบาลทั้งสี่ครั้ง และ Patient B ให้หนึ่งครั้ง

ผลลัพธ์: first-event world เห็นเพียง T = 1 ของ A และ T = 2 ของ B และทิ้งการนอนโรงพยาบาลของ A ที่เดือน 3, 5 และ 8 ส่วน Andersen-Gill เก็บ H1 ถึง H4 จาก A และ H1 จาก B จึงตอบ total recurrent-event burden หรือ rate ได้ดีกว่า

Prentice-Williams-Peterson: event ก่อนหน้าสำคัญ

Prentice-Williams-Peterson (PWP) model ให้ความสำคัญกับลำดับของ event (event order) อย่างชัดเจน [3] โดยทั่วไปผู้ป่วยจะเสี่ยงต่อ event ที่ $k$ ได้ก็ต่อเมื่อเกิด event ที่ $k - 1$ แล้ว: ไม่มีใครเสี่ยงต่อการนอนโรงพยาบาลครั้งที่สองก่อนที่ครั้งแรกจะเกิด

Event 1 → Event 2 → Event 3

event แต่ละครั้งจึงถูกวิเคราะห์โดยมีเงื่อนไขตาม event ก่อนหน้า (conditional on the previous events) event ครั้งแรก ครั้งที่สอง และครั้งที่สาม สลับที่กันไม่ได้ ต่างจากบนนาฬิกาเดียวของ Andersen-Gill ที่ทุก event ถือว่าเหมือนกัน PWP ยังใช้ total time นับจากเริ่ม follow-up ได้ แต่ version ที่รู้จักกันมากที่สุดเปลี่ยนตัวนาฬิกาเอง

PWP gap-time: เริ่มนาฬิกาใหม่

นี่คือ version ของ PWP ที่ควรรู้เป็นอันดับแรก ในgap time นาฬิกาจะตั้งกลับเป็น 0 หลัง event แต่ละครั้ง:

Event 1:
0 ------------ 30 days

Event 2:
0 ------ 12 days

Event 3:
0 ---------------- 45 days

event แรกเกิดหลังเริ่มนับ 30 วัน จากนั้นนาฬิกาเริ่มใหม่ และ event ที่สองเกิดหลัง event แรก 12 วัน นาฬิกาเริ่มใหม่อีกครั้ง และ event ที่สามเกิดหลัง event ที่สอง 45 วัน เวลาแต่ละช่วงวัดจาก event ก่อนหน้า ไม่ใช่จากเริ่ม follow-up

คำถามจึงกลายเป็น:

"จาก recurrence ครั้งก่อนจนถึง recurrence ครั้งถัดไป ใช้เวลานานเท่าไร?"

อ่านประโยค design ทีละ clue

protocol ฉบับหนึ่งเขียนว่า: "Investigators want the effect on the next recurrence, conditional on previous recurrences, with time reset after each event." คือผู้วิจัยต้องการ effect ต่อ recurrence ครั้งถัดไป โดยมีเงื่อนไขตาม recurrence ก่อนหน้า และตั้งเวลาใหม่หลัง event แต่ละครั้ง แยกประโยคนี้ออกเป็น clue

  1. "next recurrence"

    event เกิดซ้ำ จึงเป็น recurrent-event analysis

  2. "conditional on previous recurrences"

    ลำดับของ event สำคัญ ซึ่งชี้ไปที่ PWP

  3. "time reset after each event"

    นาฬิกาเริ่มใหม่หลังทุก event: gap time

ผลลัพธ์: ดังนั้น: PWP gap-time

ทำไมทางเลือกอื่นจึงต่างออกไป

Time to first event อย่างเดียว ทิ้ง recurrence ที่ตามมาทั้งหมด ดังที่การนอนโรงพยาบาลของ Patient A ที่เดือน 3, 5 และ 8 แสดงไว้

Negative binomial model เป็น regression สำหรับจำนวน event ต่อผู้ป่วย มีประโยชน์กับ event count และ rate แต่โดยตัวมันเองไม่ได้เก็บลำดับของ event หรือรายละเอียดของเวลาที่เกิด event

Fine-Gray ออกแบบมาสำหรับ competing risks ไม่ใช่ recurrent events ที่มีลำดับ มันสร้าง model ของ first event ชนิดหนึ่งเมื่อ event อื่นอาจเกิดก่อน (ตอนที่ 5 ของชุดบทความนี้)

เมื่อคำถามเกี่ยวกับ recurrence ทุกครั้ง ลำดับ และเวลาของมัน ทางเลือกคือ Andersen-Gill หรือ PWP [4]

Andersen-Gill เทียบกับ PWP

อ่านทีละแถวเพื่อดูว่าสอง model แยกทางกันตรงไหน: ลำดับของ event การมีเงื่อนไขตาม event ก่อนหน้า และการเริ่มนาฬิกาใหม่หรือไม่
คุณลักษณะAndersen-GillPWP
event ซ้ำใช่ใช่
เน้นลำดับของ eventน้อยกว่าใช่
มีเงื่อนไขตาม event ก่อนหน้าไม่ใช่คุณลักษณะหลักใช่
time scale เดียวแบบ total time ที่ต่อเนื่องเป็นแบบที่พบตามปกติใช้ version total time ได้
เริ่มนาฬิกาใหม่หลังแต่ละ eventไม่PWP gap-time

กฎการตัดสินใจ

Repeated event?
      ↓
Does previous event matter?
      ↓ yes
     PWP

Does the clock reset after each event?
      ↓ yes
 PWP gap-time
  1. event เกิดซ้ำในผู้ป่วยคนเดิมหรือไม่? ถ้าใช่ นี่คือ recurrent-event analysis
  2. event ก่อนหน้าสำคัญหรือไม่? ถ้าใช่ ใช้ PWP
  3. นาฬิกาเริ่มใหม่หลังแต่ละ event หรือไม่? ถ้าใช่ ใช้ PWP gap-time

ถ้า event ก่อนหน้าไม่ได้เป็นตัวกำหนดคำถาม และทุก event อยู่บนนาฬิกาเดียวที่ต่อเนื่อง model คือ Andersen-Gill with robust variance

Andersen-Gill ท่ามกลางห้าวิธีของ time-to-event

Kaplan-Meier, cumulative incidence function, cause-specific Cox และ Fine-Gray ล้วน target first event และสามวิธีในนั้นสร้างมาสำหรับ competing risks (ตอนที่ 2, ตอนที่ 4 และ ตอนที่ 5) Andersen-Gill with robust variance เป็นวิธีเดียวในห้าวิธีที่ target หลาย event ในผู้ป่วยคนเดียว

เมื่อคำถามคือ effect ของการรักษาต่อการนอนโรงพยาบาลทั้งหมด ทั้งครั้งแรก ครั้งที่สอง ครั้งที่สาม และต่อ ๆ ไป คำตอบคือ Andersen-Gill with robust variance

ห้าวิธีเรียงข้างกัน มีเพียงแถวสุดท้ายที่ target มากกว่าหนึ่ง event ต่อผู้ป่วย และโดยตัวมันเองไม่ใช่ competing-risk model
Methodจำนวน event ต่อคนที่ targetจัดการ competing risk?สิ่งที่ estimateคำถามภาษาไทย
Kaplan-MeierFirst eventไม่ได้จัดการโดยตรงS(t) สัดส่วนที่ยังไม่เกิด event"ยังไม่เกิด event กี่ %?"
Cumulative incidence functionFirst event ของชนิดที่กำหนดใช่Actual probability ของ cause ที่เจาะจง"recurrence เกิดจริงกี่ % เมื่อบางคนเสียชีวิตก่อน?"
Cause-specific CoxFirst event ของชนิดที่กำหนดใช่Cause-specific hazard ratio"ในคนที่ยัง event-free ตอนนี้ recurrence เกิดเร็วต่างกันไหม?"
Fine-GrayFirst event ของชนิดที่กำหนดใช่Subdistribution hazard ratio ที่เชื่อมกับ cumulative incidence"treatment หรือ covariate เกี่ยวข้องกับ cumulative incidence อย่างไร?"
Andersen-Gill + robust varianceMultiple recurrent eventsโดยตัวมันเองไม่ใช่ competing-risk modelEffect ต่อ overall recurrent-event intensity หรือ rate"รวม event ครั้งที่ 1, 2, 3 และต่อ ๆ ไป treatment ลด event burden หรือ rate ไหม?"

คำที่ชี้ไปที่ Andersen-Gill

เมื่อเจอคำถามเชิง survival ใด ๆ ให้ถามข้อแรกก่อน: event เกิดซ้ำในคนเดิมได้ไหม และคำถามต้องการนับทุกครั้งหรือไม่? asthma exacerbation การนอนโรงพยาบาล การติดเชื้อ การชัก และเลือดออกซ้ำ เป็นตัวอย่างที่พบบ่อย

ถ้าใช่ และ protocol หรือ paper เขียนคำใดคำหนึ่งต่อไปนี้:

model คือAndersen-Gill with robust variance ถ้าไม่ใช่ ให้ไปคำถามถัดไป: มี competing event ที่ทำให้ primary event เกิดต่อไม่ได้หรือไม่?

ถ้อยคำใน design หรือ methods section และวิธีที่ถ้อยคำนั้นชี้ถึง
ถ้อยคำชี้ไปที่
"subdistribution hazard"Fine-Gray
"cause-specific hazard"Cause-specific Cox
"repeated" หรือ "recurrent events" ร่วมกับ "first and later events"Andersen-Gill
"within-patient dependence"Robust (sandwich) variance

Andersen-Gill ไม่ได้แก้ competing death

Andersen-Gill ตอบปัญหาหนึ่ง: หลาย recurrent events ต่อผู้ป่วยหนึ่งคน มันไม่ได้เกิดมาเพื่อตอบอีกปัญหาหนึ่ง: competing terminal event

ลองดู recurrent hospitalization ที่เกิดต่อเนื่องจนกระทั่งเสียชีวิต การเสียชีวิตเป็นterminal event: เมื่อเกิดแล้วจะไม่มีการนอนโรงพยาบาลครั้งใดตามมาได้อีก ถ้าการเสียชีวิตเกี่ยวข้องกับ underlying disease severity ผู้ป่วยที่ป่วยหนักที่สุดจะทั้งเสียชีวิตเร็วกว่าและน่าจะนอนโรงพยาบาลมากกว่า การวิเคราะห์ recurrent events จึงอาจต้องใช้วิธีที่ซับซ้อนกว่า Andersen-Gill ธรรมดา ขึ้นกับ estimand ที่การศึกษาต้องการประมาณ เช่น joint หรือ frailty approaches ที่สร้าง model ของการนอนโรงพยาบาลและการเสียชีวิตไปพร้อมกัน [5, 6]

ดังนั้น Andersen-Gill ไม่ใช่ universal survival model งานเฉพาะของมันคือrecurrent-event process

ความเข้าใจผิดที่พบบ่อยและวิธีแก้

  • "Time to first event ก็พอแล้ว แม้ event จะเกิดซ้ำ"

    first-event analysis หยุดที่ event แรก ผู้ป่วยที่นอนโรงพยาบาลครั้งเดียวกับผู้ป่วยที่นอนหลายครั้งจึงอาจดูเหมือนกัน

    วิธีแก้: เมื่อคำถามเกี่ยวกับทุก event ให้ใช้ recurrent-event model: Andersen-Gill หรือ PWP

  • "การนอนโรงพยาบาลแต่ละครั้งเป็น observation ที่แยกจากกัน"

    การนอนโรงพยาบาลของผู้ป่วยคนเดียวกันสัมพันธ์กัน: คนที่เคยนอนโรงพยาบาลแล้วมีแนวโน้มจะนอนอีก

    วิธีแก้: รายงาน Andersen-Gill พร้อม robust (sandwich) variance ที่ cluster ตามผู้ป่วย

  • "robust variance เปลี่ยนคำตอบ และจัดการเรื่องการเสียชีวิตให้ด้วย"

    ในการทดลองจำลอง hazard ratio ยังอยู่ที่ 0.73 ไม่ว่าจะใช้ standard error แบบไหน และการเสียชีวิตยังยุติการติดตามเหมือนเป็น censoring ธรรมดา

    วิธีแก้: อ่าน robust variance ว่าเป็นการแก้ความไม่แน่นอนเท่านั้น และจัดการการเสียชีวิตเป็นอีกปัญหาหนึ่ง

  • "Negative binomial model ให้คำตอบเดียวกับ PWP"

    count model มีประโยชน์กับ event count และ rate แต่โดยตัวมันเองไม่ได้เก็บลำดับของ event หรือรายละเอียดของเวลาที่เกิด event

    วิธีแก้: เมื่อลำดับหรือเวลาสำคัญ ให้ใช้ PWP หรือ PWP gap-time เมื่อนาฬิกาเริ่มใหม่หลังแต่ละ event

  • "Fine-Gray จัดการ recurrent events ได้"

    Fine-Gray ออกแบบมาสำหรับ competing risks ของ first event ไม่ใช่ recurrent events ที่มีลำดับ

    วิธีแก้: ใช้ Fine-Gray เมื่อการเสียชีวิตอาจมาก่อน first event และคำถามคือ cumulative incidence ใช้ Andersen-Gill หรือ PWP เมื่อ event เดิมเกิดซ้ำ

  • "Andersen-Gill เป็น universal survival model"

    งานเฉพาะของมันคือ recurrent-event process มันไม่ได้แก้ competing terminal event เช่นการเสียชีวิต

    วิธีแก้: เลือกโลกก่อน: first event ที่มี competing risks หรือ recurrent events แล้วจึงเลือก model

  • "recurrent-event model ทุกตัวเก็บลำดับของ event"

    Andersen-Gill วางทุก event บนนาฬิกาเดียวและถือว่าทุก event เหมือนกัน ลำดับเป็นคุณลักษณะหลักของ PWP เท่านั้น

    วิธีแก้: ถามว่า event ก่อนหน้าสำคัญไหม (PWP) และนาฬิกาเริ่มใหม่หลังแต่ละ event ไหม (PWP gap-time)

กิ่งแรกของทุกคำถาม time-to-event

เริ่มทุกคำถาม time-to-event ด้วยกิ่งเดียว:

ตอนแรกของชุดบทความนี้วาดแผนที่ทั้งหมดไว้

อภิธานศัพท์

recurrent events (เหตุการณ์ซ้ำ)
event ชนิดเดียวกัน เช่นการนอนโรงพยาบาล ที่เกิดได้มากกว่าหนึ่งครั้งในผู้ป่วยคนเดียวกัน
counting process
มุมมองของ follow-up ที่จำนวน event สะสมของผู้ป่วยแต่ละคนเพิ่มขึ้นหนึ่งทุกครั้งที่เกิด event
intensity
อัตราการเกิด event ณ ขณะหนึ่งของผู้ป่วยที่ยังอยู่ใน follow-up
hazard ratio (อัตราส่วนฮาซาร์ด)
อัตราส่วนของอัตราการเกิด event ระหว่างสองกลุ่มในผู้ป่วยที่ยังเสี่ยงอยู่ ไม่ใช่อัตราส่วนของความเสี่ยง
Andersen-Gill model (แบบจำลอง Andersen-Gill)
Cox-type model ที่วาง recurrent events ทั้งหมดบนนาฬิกาเดียวที่ต่อเนื่อง และประมาณ effect ต่อ overall recurrent-event rate
within-patient correlation
ความไม่เป็นอิสระระหว่าง event ของผู้ป่วยคนเดียวกัน: ผู้ป่วยที่เกิด event หนึ่งครั้งมีโอกาสเกิดอีกมากกว่า
robust (sandwich) variance (ค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิช)
variance ที่ cluster ตามผู้ป่วย ทำให้ standard error ยังใช้ได้เมื่อ event ของผู้ป่วยคนเดียวกันสัมพันธ์กัน โดยไม่เปลี่ยนค่าประมาณ
Prentice-Williams-Peterson model (แบบจำลอง Prentice-Williams-Peterson)
recurrent-event model ที่คำนึงถึงลำดับของ event: ผู้ป่วยเสี่ยงต่อ event ที่ k ได้ก็ต่อเมื่อเกิด event ที่ k - 1 แล้ว
total time
เวลาที่วัดบนนาฬิกาเดียวที่ต่อเนื่อง นับจากเริ่ม follow-up สำหรับทุก event
gap time
เวลาที่วัดจาก event ก่อนหน้า โดยนาฬิกาเริ่มที่ 0 ใหม่หลังแต่ละ event
competing event (เหตุการณ์แข่งขัน)
event เช่นการเสียชีวิต ที่ทำให้ event ที่สนใจไม่มีวันเกิดขึ้นได้
terminal event
event เช่นการเสียชีวิต ที่หลังจากนั้นไม่มี recurrent event เกิดได้อีก
negative binomial regression
regression สำหรับจำนวน event ต่อผู้ป่วย รองรับ count และ rate แต่ไม่เก็บลำดับหรือเวลาของ event
Fine-Gray model (แบบจำลอง Fine-Gray)
regression model สำหรับ cumulative incidence ของ first event ชนิดหนึ่ง เมื่อ competing events อาจเกิดก่อน

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

  1. Andersen PK, Gill RD. Cox's regression model for counting processes: a large sample study. Ann Stat. 1982;10(4):1100-1120. doi:10.1214/aos/1176345976 https://doi.org/10.1214/aos/1176345976
  2. Lin DY, Wei LJ, Yang I, Ying Z. Semiparametric regression for the mean and rate functions of recurrent events. J R Stat Soc Series B Stat Methodol. 2000;62(4):711-730. doi:10.1111/1467-9868.00259 https://doi.org/10.1111/1467-9868.00259
  3. Prentice RL, Williams BJ, Peterson AV. On the regression analysis of multivariate failure time data. Biometrika. 1981;68(2):373-379. doi:10.1093/biomet/68.2.373 https://doi.org/10.1093/biomet/68.2.373
  4. Amorim LDAF, Cai J. Modelling recurrent events: a tutorial for analysis in epidemiology. Int J Epidemiol. 2015;44(1):324-333. doi:10.1093/ije/dyu222 https://doi.org/10.1093/ije/dyu222
  5. Ghosh D, Lin DY. Nonparametric analysis of recurrent events and death. Biometrics. 2000;56(2):554-562. doi:10.1111/j.0006-341X.2000.00554.x https://doi.org/10.1111/j.0006-341X.2000.00554.x
  6. Rogers JK, Pocock SJ, McMurray JJV, Granger CB, Michelson EL, Ostergren J, et al. Analysing recurrent hospitalizations in heart failure: a review of statistical methodology, with application to CHARM-Preserved. Eur J Heart Fail. 2014;16(1):33-40. doi:10.1002/ejhf.29 https://doi.org/10.1002/ejhf.29

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

  • เมื่อ event เดิมเกิดซ้ำได้ในผู้ป่วยคนเดียว time-to-first-event analysis ทิ้งทุก event หลังครั้งแรก
  • Andersen-Gill วางทุก event บนนาฬิกาเดียวและประมาณ effect ต่อ overall recurrent-event rate โดยใช้ robust (sandwich) variance เพราะ event ของผู้ป่วยคนเดียวกันสัมพันธ์กัน
  • PWP ทำให้ event ก่อนหน้าสำคัญ: ผู้ป่วยเสี่ยงต่อ event ที่ k ได้ก็ต่อเมื่อเกิด event ที่ k - 1 แล้ว
  • PWP gap-time เริ่มนาฬิกาใหม่หลังทุก event และถามว่าจาก recurrence หนึ่งถึงครั้งถัดไปใช้เวลานานเท่าไร
  • Andersen-Gill ไม่ใช่ competing-risk model: การเสียชีวิตหยุด event ในอนาคต และต้องจัดการแยกต่างหาก

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

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

ความคิดเห็น

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

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

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