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

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

Read the English version

บทคัดย่อ

ผู้ป่วยหัวใจล้มเหลวกลับมานอนโรงพยาบาลซ้ำแล้วซ้ำอีก แต่การทดลองจำนวนมากวิเคราะห์เฉพาะเวลาจนถึงการนอนโรงพยาบาลครั้งแรก แบบจำลองเหตุการณ์ซ้ำ (recurrent-event model) เก็บการนอนโรงพยาบาลไว้ทุกครั้ง โดยใช้ข้อมูลรูปแบบ start-stop ที่มีหนึ่งแถวต่อหนึ่งช่วงที่ยังเสี่ยงอยู่ แบบจำลอง Andersen-Gill ประมาณแบบจำลอง Cox หนึ่งแบบกับการนอนโรงพยาบาลทุกครั้งบนนาฬิกาเดียวที่นับจากการสุ่ม พร้อมค่าคลาดเคลื่อนมาตรฐาน (standard error) แบบคลัสเตอร์ตามผู้ป่วย เพราะการนอนโรงพยาบาลของผู้ป่วยคนเดียวกันสัมพันธ์กัน แบบจำลอง Prentice-Williams-Peterson แบ่งชั้นตามลำดับครั้งที่นอนโรงพยาบาล โดยวัดเวลาจากการสุ่ม (เวลารวม, total time) หรือจากการนอนโรงพยาบาลครั้งก่อน (เวลาระหว่างครั้ง, gap time) ในการทดลองจำลองที่มีผู้ป่วย 1,500 คนและการนอนโรงพยาบาล 1,313 ครั้ง อัตราส่วนฮาซาร์ด (hazard ratio) ของ Andersen-Gill ซึ่งเปรียบเทียบอัตราการนอนโรงพยาบาลระหว่างสองกลุ่ม เท่ากับ 0.73 (ช่วงเชื่อมั่น 95% คือ 0.63 ถึง 0.85) การจัดคลัสเตอร์เพิ่มค่าคลาดเคลื่อนมาตรฐานของลอการิทึมของมันจาก 0.0555 เป็น 0.0738 โดยค่าประมาณไม่เปลี่ยน การเสียชีวิตยุติการนับ การถือว่าเป็นการเซ็นเซอร์ธรรมดา (การติดตามที่สิ้นสุดโดยไม่เกิดเหตุการณ์) จึงเปลี่ยนคำถาม บทความนี้แสดงวิธีสร้างแถว เลือกนาฬิกา และรายงานการเสียชีวิตควบคู่กับการนอนโรงพยาบาล


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

การทดลองที่นับเฉพาะการนอนโรงพยาบาลครั้งแรก

คณะกรรมการอำนวยการ (steering committee) กำลังทบทวนแผนการวิเคราะห์ของการทดลองแบบสุ่มในผู้ป่วยหัวใจล้มเหลว การทดลองนี้รับผู้ใหญ่ 1,500 คนหลังการนอนโรงพยาบาลด้วยหัวใจล้มเหลว และติดตามผล 24 ถึง 36 เดือน ยานี้เป็นของสมมติและข้อมูลเป็นข้อมูลจำลอง

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

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

สิ่งที่การวิเคราะห์เหตุการณ์แรกทิ้งไป

ลองดูผู้ป่วยสี่คนที่ติดตามนานสูงสุด 24 เดือน ซึ่งเป็นตัวอย่างคำนวณด้วยมือ ไม่ใช่ข้อมูลของการทดลอง R1 นอนโรงพยาบาลที่เดือนที่ 3 และ 8 และยังมีชีวิตอยู่และอยู่ในการติดตามที่เดือนที่ 24 R2 นอนโรงพยาบาลที่เดือนที่ 5 และเสียชีวิตที่เดือนที่ 12 R3 ไม่เคยนอนโรงพยาบาลและถูกติดตามถึงเดือนที่ 24

R4 นอนโรงพยาบาลที่เดือนที่ 2, 4 และ 10 และขาดการติดตามที่เดือนที่ 18 ผู้ป่วยทั้งสี่คนมีการนอนโรงพยาบาลรวม 6 ครั้ง การวิเคราะห์เวลาจนถึงเหตุการณ์แรกเก็บการนอนโรงพยาบาลไว้เพียงหนึ่งครั้งต่อผู้ป่วยหนึ่งคน คือ 3 จาก 6 ครั้ง

การเซ็นเซอร์ (censoring) หมายถึงการติดตามสิ้นสุดโดยไม่เกิดเหตุการณ์ จึงรู้เพียงว่าผู้ป่วยปลอดเหตุการณ์ถึงเวลานั้น ในการวิเคราะห์เหตุการณ์แรก R1, R2 และ R4 ออกจากการวิเคราะห์ ณ การนอนโรงพยาบาลครั้งแรก และ R3 ถูกเซ็นเซอร์ที่เดือนที่ 24 การนอนโรงพยาบาลครั้งที่สองของ R1 และครั้งที่สองและสามของ R4 ไม่เคยเข้าสู่การวิเคราะห์ ผู้ป่วยที่นอนโรงพยาบาลสามครั้งจึงดูเหมือนผู้ป่วยที่นอนครั้งเดียว

หนึ่งแถวต่อหนึ่งช่วงที่ยังเสี่ยงอยู่

แบบจำลองเหตุการณ์ซ้ำมองข้อมูลแบบกระบวนการนับ (counting process) คือผู้ป่วยแต่ละคนมีจำนวนการนอนโรงพยาบาลสะสมที่เพิ่มขึ้นหนึ่งทุกครั้งที่นอนโรงพยาบาล ข้อมูลถูกจัดในรูปแบบ start-stop (start-stop layout) ซึ่งมีหนึ่งแถวต่อหนึ่งช่วงที่ผู้ป่วยเสี่ยงต่อการนอนโรงพยาบาลครั้งถัดไป

แต่ละแถวมีห้าค่า start และ stop คือเดือนนับจากการสุ่มที่ช่วงเริ่มและสิ้นสุด event เป็น 1 ถ้าช่วงนั้นจบด้วยการนอนโรงพยาบาล และเป็น 0 ถ้าจบด้วยการเซ็นเซอร์หรือการเสียชีวิต enum คือลำดับครั้งของการนอนโรงพยาบาลที่ผู้ป่วยกำลังเสี่ยง และ gap คือ stop ลบ start

ผู้ป่วยที่มีการนอนโรงพยาบาล $k$ ครั้งจึงมี $k + 1$ แถว โดยแถวสุดท้ายจบที่การเสียชีวิตหรือการเซ็นเซอร์ ในการทดลองจำลองที่วิเคราะห์ด้านล่าง ผู้ป่วย 1,500 คนที่มีการนอนโรงพยาบาล 1,313 ครั้งให้ข้อมูล 2,813 แถว

ตัวอย่างคำนวณด้วยมือ: ผู้ป่วยสี่คน สิบแถว

ตัวอย่างคำนวณด้วยมือ เวลาเป็นเดือนนับจากการสุ่ม แต่ละช่วงเขียนเป็น (start, stop] คือไม่รวมจุดเริ่มและรวมจุดสิ้นสุด การนอนโรงพยาบาลปิดแถวด้วย event = 1 และการสิ้นสุดการติดตามปิดแถวสุดท้ายด้วย event = 0

  1. R1: นอนโรงพยาบาลที่ 3 และ 8 ถูกเซ็นเซอร์ที่ 24

    \[ (0, 3],\ (3, 8],\ (8, 24] \]

    สามแถว สองแถวจบด้วยการนอนโรงพยาบาล แถวที่สามจบด้วยการเซ็นเซอร์ เวลาระหว่างครั้ง (gap) คือ 3, 5 และ 16

  2. R2: นอนโรงพยาบาลที่ 5 เสียชีวิตที่ 12

    \[ (0, 5],\ (5, 12] \]

    สองแถว แถวที่สองจบด้วยการเสียชีวิตและลงรหัส event = 0 เหมือนการเซ็นเซอร์ เวลาระหว่างครั้งคือ 5 และ 7

  3. R3: ไม่เคยนอนโรงพยาบาล ถูกเซ็นเซอร์ที่ 24

    \[ (0, 24] \]

    หนึ่งแถว event = 0 เวลาระหว่างครั้งคือ 24

  4. R4: นอนโรงพยาบาลที่ 2, 4 และ 10 ขาดการติดตามที่ 18

    \[ (0, 2],\ (2, 4],\ (4, 10],\ (10, 18] \]

    สี่แถว เวลาระหว่างครั้งคือ 2, 2, 6 และ 8

  5. จำนวนแถว

    \[ 3 + 2 + 1 + 4 = 10 \]

    หนึ่งแถวต่อหนึ่งช่วงที่ยังเสี่ยงอยู่

  6. จำนวนการนอนโรงพยาบาล

    \[ 2 + 1 + 0 + 3 = 6 \]

    การวิเคราะห์เหตุการณ์แรกเก็บไว้ 3 ครั้ง

  7. อัตราการนอนโรงพยาบาลแบบหยาบ

    \[ \frac{6}{24 + 12 + 24 + 18} = \frac{6}{78} = 0.077 \]

    จำนวนการนอนโรงพยาบาลต่อผู้ป่วย-เดือนของการติดตาม โดยนับทุกครั้ง

ผลลัพธ์: ผู้ป่วยสี่คนให้ 10 แถว การนอนโรงพยาบาล 6 ครั้ง และเวลาติดตาม 78 ผู้ป่วย-เดือน ซึ่งเป็นอัตราแบบหยาบ 0.077 ครั้งต่อผู้ป่วย-เดือน

สิบแถว start-stop ของตัวอย่างคำนวณด้วยมือ

ตัวอย่างคำนวณด้วยมือ หัวข้อถัดไปอ่านคอลัมน์เหล่านี้ Andersen-Gill ใช้ start, stop และ event ส่วนแบบจำลอง Prentice-Williams-Peterson (PWP) เพิ่ม enum เป็นชั้น บนเวลารวมหรือเวลาระหว่างครั้ง
ผู้ป่วยstart (เดือน)stop (เดือน)eventenumgap (เดือน)
R103113
R138125
R18240316
R205115
R2512027
R30240124
R402112
R424122
R4410136
R41018048

Andersen-Gill: การนอนโรงพยาบาลทุกครั้งบนนาฬิกาเดียว

แบบจำลอง Andersen-Gill (Andersen-Gill model) ประมาณแบบจำลอง Cox กับแถว start-stop ทำให้การนอนโรงพยาบาลทุกครั้งนับรวมในอัตราส่วนฮาซาร์ด (hazard ratio, HR) หนึ่งค่า [1]

$$h_i(t) = h_0(t)\,\exp(\beta A_i)$$

ในสมการนี้ $h_i(t)$ คืออัตราการนอนโรงพยาบาล ณ เดือนที่ $t$ นับจากการสุ่ม ของผู้ป่วย $i$ ที่ยังเสี่ยงอยู่ และ $A_i$ เป็น 1 สำหรับกลุ่มรักษาและ 0 สำหรับกลุ่มควบคุม $h_0(t)$ คืออัตราของกลุ่มควบคุม ซึ่งไม่กำหนดรูปแบบไว้เช่นเดียวกับแบบจำลอง Cox ทั่วไป $\beta$ คือลอการิทึมของอัตราส่วนฮาซาร์ด และ $\exp(\beta)$ คืออัตราส่วนฮาซาร์ด $h_0(t)$ ค่าเดียวใช้กับการนอนโรงพยาบาลครั้งแรก ครั้งที่สอง และครั้งต่อ ๆ ไปเหมือนกัน จึงถือว่าการนอนโรงพยาบาลทุกครั้งใช้แทนกันได้

เวลาเดินบนนาฬิกาเดียวนับจากการสุ่ม เรียกว่าเวลารวม (total time) ในแต่ละขณะชุดเสี่ยง (risk set) คือผู้ป่วยที่อาจเกิดเหตุการณ์ ณ ตอนนั้น ประกอบด้วยผู้ป่วยทุกคนที่ยังมีชีวิตและอยู่ในการติดตาม เมื่อ R4 นอนโรงพยาบาลครั้งที่สองที่เดือนที่ 4 ผู้ป่วยในตัวอย่างคำนวณด้วยมือทั้งสี่คนอยู่ในชุดเสี่ยงนั้น

ทำไมค่าคลาดเคลื่อนมาตรฐานจึงต้องคลัสเตอร์ตามผู้ป่วย

การนอนโรงพยาบาลของผู้ป่วยคนเดียวกันไม่เป็นอิสระต่อกัน ผู้ป่วยบางคนมีแนวโน้มนอนโรงพยาบาลมากกว่าคนอื่นและนอนบ่อยกว่าตลอดการติดตาม การนอนครั้งหนึ่งจึงทำนายครั้งต่อไปได้มากขึ้น ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง (model-based) หรือแบบไร้เดียงสา (naive) ปฏิบัติต่อการนอนโรงพยาบาล 1,313 ครั้งเสมือนมาจากคน 1,313 คนที่ไม่เกี่ยวข้องกัน เมื่อมีการพึ่งพากันในทางบวกเช่นนี้ ค่านั้นจะออกมาน้อยเกินไป

ค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิช (sandwich standard error หรือ robust standard error) เริ่มจากรวมทุกอย่างที่ผู้ป่วยแต่ละคนมีส่วนต่อค่าประมาณ แล้ววัดว่าผลรวมรายผู้ป่วยเหล่านี้แปรผันเท่าไร จึงยังใช้ได้เมื่อการนอนโรงพยาบาลรวมกลุ่มอยู่ในผู้ป่วยแต่ละคน การจัดคลัสเตอร์ตามผู้ป่วยไม่เปลี่ยนอัตราส่วนฮาซาร์ดเอง และค่าประมาณนั้นอ่านได้เป็นอัตราส่วนของอัตราการนอนโรงพยาบาลโดยเฉลี่ยระหว่างสองกลุ่มในผู้ป่วยที่ยังมีชีวิตและอยู่ในการติดตาม robust standard error ทำให้ช่วงเชื่อมั่นยังใช้ได้ภายใต้การอ่านแบบนั้น โดยไม่ต้องสมมติว่าการนอนโรงพยาบาลของผู้ป่วยคนเดียวกันเป็นอิสระต่อกัน [2]

robust standard error ช่วยแก้ค่าคลาดเคลื่อนมาตรฐานเมื่อข้อสมมติเรื่องความแปรปรวนผิด แต่ไม่ได้แก้แบบจำลองค่าเฉลี่ยที่ผิด และสัมประสิทธิ์ที่ลำเอียงก็ยังคงลำเอียงอยู่

ในการทดลองจำลอง อัตราส่วนฮาซาร์ด Andersen-Gill เท่ากับ 0.73 ค่าคลาดเคลื่อนมาตรฐานแบบไร้เดียงสาของลอการิทึมของมันคือ 0.0555 ซึ่งจะให้ช่วงเชื่อมั่น 95% ที่ 0.66 ถึง 0.82 การจัดคลัสเตอร์ตามผู้ป่วยเพิ่มค่าคลาดเคลื่อนมาตรฐานเป็น 0.0738 และขยายช่วงเป็น 0.63 ถึง 0.85 ค่าประมาณไม่เปลี่ยน มีเพียงความไม่แน่นอนที่เปลี่ยน

Prentice-Williams-Peterson: การนอนโรงพยาบาลตามลำดับ

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

$$h_{ik}(t) = h_{0k}(t)\,\exp(\beta A_i)$$

ในสมการนี้ $k$ คือลำดับครั้งที่นอนโรงพยาบาลซึ่งกำหนดชั้น และ $h_{0k}(t)$ คืออัตราของกลุ่มควบคุมสำหรับการนอนโรงพยาบาลครั้งที่ $k$ ณ เวลา $t$ บนนาฬิกาที่เลือก อัตราส่วนฮาซาร์ด $\exp(\beta)$ ใช้ร่วมกันทุกชั้น เว้นแต่จะประมาณแยกทีละชั้น มันเปรียบเทียบสองกลุ่มในผู้ป่วยที่มีจำนวนครั้งที่นอนโรงพยาบาลก่อนหน้าเท่ากัน

PWP ใช้นาฬิกาได้สองแบบ ในเวลารวม (PWP-TT) $t$ นับเดือนนับจากการสุ่ม และแต่ละแถวคงค่า start และ stop ไว้ ในเวลาระหว่างครั้ง (gap time) (PWP-GT) $t$ นับเดือนนับจากการนอนโรงพยาบาลครั้งก่อน นาฬิกาเริ่มที่ 0 ใหม่หลังการนอนโรงพยาบาลแต่ละครั้ง ดังนั้นแต่ละแถวจึงวิ่งจาก 0 ถึงค่า gap ของมัน

ในตัวอย่างคำนวณด้วยมือ ทั้งสี่ชั้นมี 4, 3, 2 และ 1 แถว ที่เดือนที่ 4 ในเวลารวม มีเพียง R1 และ R4 ที่เสี่ยงต่อการนอนโรงพยาบาลครั้งที่สอง เพราะ R2 ยังไม่เคยนอนครั้งแรก และ R3 ไม่เคยนอนเลย ในเวลาระหว่างครั้ง การนอนโรงพยาบาลครั้งที่สองของ R4 มาหลังครั้งแรก 2 เดือน ชุดเสี่ยงจึงคือช่วงที่ผู้ป่วยทุกคนเสี่ยงต่อการนอนโรงพยาบาลครั้งที่สองซึ่งยาวอย่างน้อย 2 เดือน ได้แก่ R1 (5 เดือน) R2 (7) และ R4 (2)

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

การนอนโรงพยาบาลครั้งหลัง ๆ ผู้ป่วยที่ถูกคัดเลือกมา

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

PWP-TT ให้ HR 0.78 (ช่วงเชื่อมั่น 95% คือ 0.69 ถึง 0.87) และ PWP-GT ให้ 0.77 (0.69 ถึง 0.87) ทั้งสองใช้ค่าคลาดเคลื่อนมาตรฐานแบบคลัสเตอร์ ในการทดลองจำลองที่มีผู้ป่วย 100,000 คน ทั้งสองค่าลงตัวใกล้ 0.76 ไม่ใช่ 0.70 ผู้ป่วยกลุ่มรักษาที่ไปถึงการนอนโรงพยาบาลครั้งที่สองมีแนวโน้มนอนโรงพยาบาลมากกว่าผู้ป่วยกลุ่มควบคุมที่ไปถึงครั้งนั้นโดยเฉลี่ย และสิ่งนี้ดึงการเปรียบเทียบเข้าหา 1 การจัดคลัสเตอร์เปลี่ยนค่าคลาดเคลื่อนมาตรฐานของ PWP น้อยกว่าของ Andersen-Gill มาก น่าจะเพราะการกำหนดเงื่อนไขด้วยจำนวนครั้งที่นอนโรงพยาบาลก่อนหน้าดูดซับความเกี่ยวพันกันไปได้มากแล้ว

ตัวอย่างคำนวณด้วยมือ ลากการนอนโรงพยาบาลไปตามเส้นเวลาของผู้ป่วย หรือเลื่อนหมุดสิ้นสุดแล้วสลับระหว่างถูกเซ็นเซอร์กับเสียชีวิต แถวของ Andersen-Gill (start, stop, event) และแถวของ PWP (ชั้นและเวลาระหว่างครั้ง) จะสร้างใหม่ด้านล่าง ค่าเริ่มต้นคือผู้ป่วย R1 ถึง R4 ข้างต้น 10 แถว และการนอนโรงพยาบาล 6 ครั้ง

อีกสองแบบจำลอง: Wei-Lin-Weissfeld และ shared frailty

แบบจำลอง Wei-Lin-Weissfeld (WLW) ปฏิบัติต่อการนอนโรงพยาบาลครั้งแรก ครั้งที่สอง และครั้งที่สามเป็นผลลัพธ์แยกกัน โดยแต่ละครั้งจับเวลานับจากการสุ่ม [4] ผู้ป่วยทุกคนถือว่าเสี่ยงต่อการนอนโรงพยาบาลทุกลำดับตั้งแต่เริ่ม แม้แต่ครั้งที่สามก่อนครั้งที่สอง เนื่องจากชุดเสี่ยงของการนอนโรงพยาบาลครั้งหลังไม่รอให้ครั้งก่อน ๆ เกิดขึ้นก่อน อัตราส่วนฮาซาร์ดของครั้งหลังจึงสะท้อนผลต่อการนอนโรงพยาบาลครั้งก่อนเหล่านั้นด้วย WLW จึงเหมาะกับเหตุการณ์หลายชนิดที่ต่างกันมากกว่าการนอนโรงพยาบาลชนิดเดียวที่เรียงลำดับกัน

แบบจำลอง shared frailty ให้ผู้ป่วยแต่ละคนมีตัวคูณสุ่ม เรียกว่าfrailty ที่ปรับขนาดอัตราการนอนโรงพยาบาลทุกอัตราของผู้ป่วยคนนั้น อัตราส่วนฮาซาร์ดของแบบจำลองนี้เปรียบเทียบผู้ป่วยที่ได้รับการรักษากับผู้ป่วยที่ไม่ได้รับซึ่งมี frailty เท่ากัน การทดลองจำลองสร้างด้วยวิธีนี้ โดยให้ frailty มีค่าเฉลี่ยหนึ่งและความแปรปรวน 0.6 จากการแจกแจงแกมมา (gamma distribution) ซึ่งเป็นการแจกแจงของค่าบวก และอัตราส่วนของอัตรา (rate ratio) 0.70

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

การเสียชีวิตยุติการนับ

การเสียชีวิตเป็นเหตุการณ์ปลายทาง (terminal event) คือเมื่อผู้ป่วยเสียชีวิตแล้วจะไม่มีการนอนโรงพยาบาลเกิดขึ้นอีก Andersen-Gill และ PWP ลงรหัสแถวสุดท้ายของผู้ป่วยที่เสียชีวิตเป็น event = 0 เหมือนการเซ็นเซอร์ และแบบจำลองการนับด้านล่างก็ยุติการติดตามผู้ป่วยคนนั้น ณ การเสียชีวิตเช่นกัน การอ่านว่าเป็นการเซ็นเซอร์สมมติว่าผู้ป่วยที่เสียชีวิตจะนอนโรงพยาบาลในอัตราเดียวกับผู้ป่วยที่คล้ายกันซึ่งยังมีชีวิตอยู่ ในหัวใจล้มเหลวเรื่องนี้ไม่ค่อยน่าเชื่อ เพราะผู้ป่วยที่เสียชีวิตมักป่วยหนักที่สุด และผู้ป่วยที่ป่วยหนักที่สุดนอนโรงพยาบาลบ่อยที่สุด

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

ในการทดลองจำลอง ยาลดฮาซาร์ดของการเสียชีวิตจากโรคหัวใจและหลอดเลือด (อัตราส่วนฮาซาร์ด 0.70) ผู้ป่วยกลุ่มรักษาจึงมีชีวิตยาวขึ้นและมีเวลานอนโรงพยาบาลมากขึ้น เมื่อมีผู้ป่วยจำลอง 100,000 คน จำนวนการนอนโรงพยาบาลเฉลี่ยต่อผู้ป่วยคือ 0.93 ในกลุ่มควบคุมและ 0.71 ในกลุ่มรักษา ซึ่งเป็นความต่างสัมพัทธ์ที่น้อยกว่าอัตราส่วนของอัตรา 0.70 การเสียชีวิตถูกสร้างให้เป็นอิสระจาก frailty จึงทำให้ค่า Andersen-Gill เมื่อมีผู้ป่วยจำลอง 100,000 คนเป็น 0.70 ข้อมูลจริงไม่มีหลักประกันเช่นนั้น

มีสามแนวทางที่ทำให้การเสียชีวิตยังอยู่ในสายตา ผลลัพธ์รวม (composite outcome) นับการเสียชีวิตจากโรคหัวใจและหลอดเลือดเป็นเหตุการณ์ควบคู่กับการนอนโรงพยาบาล การเสียชีวิตแต่ละครั้งจึงนับเป็นผลเสียของยา แม้การเสียชีวิตหนึ่งครั้งยังตัดการนอนโรงพยาบาลครั้งหลังได้หลายครั้ง ฟังก์ชันความถี่เฉลี่ย (mean frequency function) ประมาณจำนวนการนอนโรงพยาบาลที่คาดไว้ต่อผู้ป่วยภายในแต่ละเดือน โดยผู้ป่วยที่เสียชีวิตไม่เพิ่มการนอนโรงพยาบาลอีก จึงต้องอ่านควบคู่กับเส้นโค้งการรอดชีพของการเสียชีวิต [5] แบบจำลองร่วม (joint models) ซึ่งเชื่อมการนอนโรงพยาบาลกับการเสียชีวิตผ่าน frailty ร่วมกัน ไปไกลกว่านั้น และอยู่นอกขอบเขตของบทความนี้

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

นับแทนการจับเวลา: negative binomial regression

แนวทางที่ง่ายกว่าคือไม่สนใจเวลาและนับจำนวนการนอนโรงพยาบาลของผู้ป่วยแต่ละคน Poisson regression (การถดถอยปัวซอง) สร้างแบบจำลองของจำนวนนับโดยใช้เวลาติดตามเป็นตัวแปรการเปิดรับ (exposure) จึงเปรียบเทียบจำนวนการนอนโรงพยาบาลต่อเดือนของการติดตาม ลอการิทึมของเวลาติดตามเข้าสู่แบบจำลองเป็นออฟเซ็ต (offset) ซึ่งเป็นพจน์ที่สัมประสิทธิ์ถูกตรึงไว้ที่หนึ่ง Poisson regression ถือว่าความแปรปรวนของจำนวนนับเท่ากับค่าเฉลี่ย

frailty ทำให้ข้อสมมตินี้ไม่เป็นจริง เพราะผู้ป่วยไม่กี่คนนอนโรงพยาบาลหลายครั้งและส่วนใหญ่ไม่นอนเลย ความแปรผันส่วนเกินนี้เรียกว่าการกระจายเกิน (overdispersion) Negative binomial regression (การถดถอยทวินามลบ) เพิ่มตัวคูณระดับผู้ป่วยที่มีความแปรปรวน $\alpha$ เพื่อดูดซับมัน ในการทดลองจำลอง $\hat\alpha$ เท่ากับ 0.67 โดยเครื่องหมายหมวกแสดงค่าประมาณ ใกล้กับความแปรปรวนของ frailty ในตัวสร้างข้อมูลที่ 0.6 อัตราส่วนของอัตราจาก negative binomial เท่ากับ 0.72 (ช่วงเชื่อมั่น 95% คือ 0.62 ถึง 0.83)

อัตราส่วนของอัตราจาก Poisson เท่ากับ 0.73 และค่าคลาดเคลื่อนมาตรฐานแบบไร้เดียงสาและแบบ robust คือ 0.0555 และ 0.0738 ซึ่งเท่ากับของ Andersen-Gill ถึงทศนิยมสี่ตำแหน่ง เมื่อมีหนึ่งแถวต่อผู้ป่วย robust standard error ของแบบจำลอง Poisson ก็คำนึงถึงตัวผู้ป่วยอยู่แล้ว แบบจำลองการนับให้อัตราส่วนของอัตราและจำนวนนับเฉลี่ย ไม่ได้บอกว่าการนอนโรงพยาบาลเกิดเมื่อใด และจัดการการเสียชีวิตได้ไม่ดีไปกว่าแบบจำลองแบบ Cox บทความแยกเรื่อง Poisson regressionอธิบายเรื่องอัตราไว้ลึกกว่านี้

การทดลองจำลอง: ทุกแบบจำลองเรียงข้างกัน

การทดลองจำลองมีผู้ป่วย 1,500 คน กลุ่มละ 750 คน และการนอนโรงพยาบาล 1,313 ครั้ง คือ 727 ครั้งในกลุ่มควบคุมและ 586 ครั้งในกลุ่มรักษา ผู้ป่วยที่นอนโรงพยาบาลอย่างน้อยหนึ่งครั้งมี 364 คนในกลุ่มควบคุมและ 319 คนในกลุ่มรักษา จำนวนการนอนโรงพยาบาลเฉลี่ยต่อผู้ป่วยคือ 0.97 ในกลุ่มควบคุมและ 0.78 ในกลุ่มรักษา อัตราส่วนของอัตราการนอนโรงพยาบาลในตัวสร้างข้อมูลคือ 0.70

แบบจำลอง Cox สำหรับการนอนโรงพยาบาลครั้งแรกเท่านั้น โดยเซ็นเซอร์การเสียชีวิตก่อนนอนโรงพยาบาล ใช้การนอนโรงพยาบาล 683 จาก 1,313 ครั้ง ให้ HR 0.77 (ช่วงเชื่อมั่น 95% คือ 0.66 ถึง 0.89) และค่าของมันในการทดลองจำลองที่มีผู้ป่วย 100,000 คนคือ 0.75 ไม่ใช่ 0.70 นี่คือแบบจำลอง Cox เฉพาะสาเหตุ (cause-specific Cox) ของตอนที่ 5 ของชุดบทความนี้

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

ทุกแบบจำลองบนการนอนโรงพยาบาลจำลองชุดเดียวกัน

ข้อมูลจำลอง: ผู้ป่วย 1,500 คน การนอนโรงพยาบาล 1,313 ครั้ง อัตราส่วนคืออัตราส่วนฮาซาร์ดสำหรับแบบจำลองแบบ Cox และอัตราส่วนของอัตราสำหรับแบบจำลองการนับ ช่วงเชื่อมั่นใช้ค่าคลาดเคลื่อนมาตรฐานแบบ robust ในแถวที่แสดงค่านั้น มิฉะนั้นใช้ค่าแบบอิงแบบจำลอง อัตราส่วนของอัตราการนอนโรงพยาบาลในตัวสร้างข้อมูลคือ 0.70
แบบจำลองนาฬิกาอัตราส่วน (ช่วงเชื่อมั่น 95%)ค่าคลาดเคลื่อนมาตรฐานแบบอิงแบบจำลอง สเกลลอการิทึมค่าคลาดเคลื่อนมาตรฐานแบบ robust สเกลลอการิทึมค่าเมื่อมีผู้ป่วยจำลอง 100,000 คน
Cox เฉพาะการนอนโรงพยาบาลครั้งแรกเวลารวม0.77 (0.66 ถึง 0.89)ไม่แสดงไม่จำเป็น: หนึ่งแถวต่อผู้ป่วย0.75
Andersen-Gillเวลารวม0.73 (0.63 ถึง 0.85)0.05550.07380.70
PWP เวลารวมเวลารวม แบ่งชั้นตามลำดับครั้งที่นอนโรงพยาบาล0.78 (0.69 ถึง 0.87)0.05590.05810.76
PWP เวลาระหว่างครั้งเวลาระหว่างครั้ง แบ่งชั้นตามลำดับครั้งที่นอนโรงพยาบาล0.77 (0.69 ถึง 0.87)0.05590.05870.76
Poissonจำนวนนับต่อเดือนของการติดตาม0.73 (0.63 ถึง 0.85)0.05550.0738ไม่ได้คำนวณ
Negative binomialจำนวนนับต่อเดือนของการติดตาม0.72 (0.62 ถึง 0.83)0.0729ไม่ใช้0.71

Stata: Andersen-Gill พร้อมค่าคลาดเคลื่อนมาตรฐานแบบคลัสเตอร์ตามผู้ป่วย

โค้ด Stata w3_sim.do (บรรทัด 280-282 จาก 637)
* Andersen-Gill: every admission counts, total time, robust (sandwich) SE clustered on patient
stset stop, id(id) failure(event == 1) time0(start) exit(time .)
stcox arm, vce(cluster id)
ผลลัพธ์จากการรัน w3_sim.log
. * Andersen-Gill: every admission counts, total time, robust (sandwich) SE clustered on patient
. stset stop, id(id) failure(event == 1) time0(start) exit(time .)

Survival-time data settings

           ID variable: id
         Failure event: event==1
Observed time interval: (start, stop]
     Exit on or before: time .

--------------------------------------------------------------------------
      2,813  total observations
          0  exclusions
--------------------------------------------------------------------------
      2,813  observations remaining, representing
      1,500  subjects
      1,313  failures in multiple-failure-per-subject data
 29,562.808  total analysis time at risk and under observation
                                                At risk from t =         0
                                     Earliest observed entry t =         0
                                          Last observed exit t =  35.94684

. stcox arm, vce(cluster id)

         Failure _d: event==1
   Analysis time _t: stop
  Exit on or before: time .
        ID variable: id

Iteration 0:  Log pseudolikelihood = -9007.5576
Iteration 1:  Log pseudolikelihood = -8991.7416
Iteration 2:  Log pseudolikelihood = -8991.7416
Refining estimates:
Iteration 0:  Log pseudolikelihood = -8991.7416

Cox regression with no ties

No. of subjects =       1,500                           Number of obs =  2,813
No. of failures =       1,313
Time at risk    = 29,562.8078
                                                        Wald chi2(1)  =  17.80
Log pseudolikelihood = -8991.7416                       Prob > chi2   = 0.0000

                                 (Std. err. adjusted for 1,500 clusters in id)
------------------------------------------------------------------------------
             |               Robust
          _t | Haz. ratio   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         arm |      .7325    .054048    -4.22   0.000     .6338715    .8464749
------------------------------------------------------------------------------
ข้อมูลจำลอง ผลลัพธ์จากโค้ดที่แสดง (ส่วนของ Andersen-Gill ในล็อก) คำสั่ง stset กำหนดรูปแบบ start-stop: 2,813 แถวจากผู้ป่วย 1,500 คน และการนอนโรงพยาบาล 1,313 ครั้ง คำสั่ง stcox พร้อม vce(cluster id) ให้อัตราส่วนฮาซาร์ด 0.73 และช่วงเชื่อมั่นแบบ robust 0.63 ถึง 0.85 Stata พิมพ์ค่าคลาดเคลื่อนมาตรฐานของอัตราส่วนฮาซาร์ดเอง ขณะที่บทความนี้รายงานค่าคลาดเคลื่อนมาตรฐานของลอการิทึมของมัน ซึ่งเป็นสเกลที่ใช้สร้างช่วงเชื่อมั่น

R: แบบจำลองเดียวกัน ค่าคลาดเคลื่อนมาตรฐานแบบไร้เดียงสาและแบบ 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 ในล็อก) ในตารางสัมประสิทธิ์ se(coef) คือค่าคลาดเคลื่อนมาตรฐานแบบไร้เดียงสาของลอการิทึมของอัตราส่วนฮาซาร์ด 0.0555 ถึงทศนิยมสี่ตำแหน่ง และ robust se คือค่าที่คลัสเตอร์ตามผู้ป่วย 0.0738 อัตราส่วนฮาซาร์ด 0.73 เป็นค่าเดียวกันภายใต้ทั้งสองแบบ สถิติ likelihood ratio และ score ใต้ตารางสมมติว่าแถวเป็นอิสระต่อกัน ดังที่ผลลัพธ์เองเตือนไว้

เปรียบเทียบแบบจำลองเหตุการณ์ซ้ำ

ให้เลือกตามคำถาม: Andersen-Gill สำหรับอัตราการนอนโรงพยาบาลในผู้ป่วยที่ยังมีชีวิต PWP สำหรับการนอนโรงพยาบาลครั้งถัดไปเมื่อทราบจำนวนครั้งที่นอนโรงพยาบาลก่อนหน้า และแบบจำลองการนับสำหรับจำนวนการนอนโรงพยาบาลต่อเดือนของการติดตาม ตารางด้านล่างเรียงแบบจำลองตามนาฬิกา ชุดเสี่ยง และความหมาย บทความแนะนำเชิงปฏิบัติฉบับหนึ่งเปรียบเทียบแบบจำลองเหล่านี้บนข้อมูลทางระบาดวิทยา [6] และบทความทบทวนฉบับหนึ่งนำมาใช้กับการนอนโรงพยาบาลซ้ำจากหัวใจล้มเหลวในการทดลองขนาดใหญ่ [7]

อ่านตามแถวเพื่อดูว่าอัตราส่วนแต่ละตัวเปรียบเทียบอะไร และจัดการการนอนโรงพยาบาลซ้ำภายในผู้ป่วยคนเดียวกันอย่างไร
แบบจำลองนาฬิกาชุดเสี่ยงของเหตุการณ์ถัดไปอัตราส่วนเปรียบเทียบอะไรจัดการความเกี่ยวพันกันด้วย
Cox เหตุการณ์แรกเวลารวมผู้ป่วยที่ยังมีชีวิต อยู่ในการติดตาม และยังไม่เคยนอนโรงพยาบาลอัตราการนอนโรงพยาบาลครั้งแรกไม่ต้องจัดการ: หนึ่งแถวต่อผู้ป่วย
Andersen-Gillเวลารวมทุกคนที่ยังมีชีวิตและอยู่ในการติดตามอัตราการนอนโรงพยาบาลในผู้ป่วยที่ยังมีชีวิต โดยนับทุกครั้งเหมือนกันค่าคลาดเคลื่อนมาตรฐานแบบ robust ที่คลัสเตอร์ตามผู้ป่วย
PWP เวลารวมเวลารวมสำหรับการนอนโรงพยาบาลครั้งที่ k คือผู้ป่วยที่มี k - 1 ครั้งอัตราของการนอนโรงพยาบาลครั้งถัดไป เมื่อทราบจำนวนครั้งที่ผ่านมาการแบ่งชั้นตามลำดับครั้งที่นอนโรงพยาบาลและค่าคลาดเคลื่อนมาตรฐานแบบคลัสเตอร์
PWP เวลาระหว่างครั้งเวลานับจากการนอนโรงพยาบาลครั้งล่าสุดเหมือน PWP เวลารวม แต่เริ่มนาฬิกาใหม่อัตราของการนอนโรงพยาบาลครั้งถัดไปตามเวลาที่ผ่านจากครั้งล่าสุด เมื่อทราบจำนวนครั้งที่ผ่านมาการแบ่งชั้นตามลำดับครั้งที่นอนโรงพยาบาลและค่าคลาดเคลื่อนมาตรฐานแบบคลัสเตอร์
Wei-Lin-Weissfeldเวลารวม แยกตามลำดับครั้งทุกคน สำหรับทุกลำดับครั้งการนอนโรงพยาบาลแต่ละลำดับเป็นผลลัพธ์ของตัวเองค่าคลาดเคลื่อนมาตรฐานแบบ robust
Shared frailtyเวลารวมหรือเวลาระหว่างครั้งเหมือน Andersen-Gill หรือ PWPอัตราของผู้ป่วยที่มี frailty เท่ากันตัวคูณสุ่มรายผู้ป่วย
Negative binomialไม่มี: นับจำนวนต่อผู้ป่วยไม่เกี่ยวข้องจำนวนการนอนโรงพยาบาลต่อเดือนของการติดตามตัวคูณแบบแกมมารายผู้ป่วย

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

  • "Andersen-Gill ที่ใช้ robust standard error จัดการได้ทั้งความเกี่ยวพันกันและการเสียชีวิต"

    การคลัสเตอร์ตามผู้ป่วยเปลี่ยนเพียงค่าคลาดเคลื่อนมาตรฐาน แถวสุดท้ายของผู้ป่วยที่เสียชีวิตยังจบด้วย event = 0 ซึ่งเป็นรหัสเดียวกับผู้ป่วยที่ถูกเซ็นเซอร์ขณะยังมีชีวิต

    วิธีแก้: robust standard error ปรับความไม่แน่นอนสำหรับเหตุการณ์ซ้ำในผู้ป่วยคนเดียวกัน แต่ไม่เปลี่ยนสิ่งที่อัตราส่วนฮาซาร์ดประมาณ และยังปฏิบัติต่อการเสียชีวิตเสมือนการเซ็นเซอร์ธรรมดา ให้คลัสเตอร์ตามผู้ป่วยสำหรับการนอนโรงพยาบาลซ้ำ แล้วระบุว่าอัตราส่วนฮาซาร์ดอธิบายการนอนโรงพยาบาลในผู้ป่วยที่ยังมีชีวิต และรายงานการเสียชีวิตแยกตามกลุ่มไว้ข้างกัน

  • "robust standard error แก้แบบจำลองที่กำหนดผิดได้"

    ในการทดลองจำลอง การคลัสเตอร์ตามผู้ป่วยทำให้ช่วงเชื่อมั่นของ Andersen-Gill กว้างขึ้น และอัตราส่วนฮาซาร์ดยังคงอยู่ที่ 0.73

    วิธีแก้: robust standard error ช่วยแก้ค่าคลาดเคลื่อนมาตรฐานเมื่อข้อสมมติเรื่องความแปรปรวนผิด แต่ไม่ได้แก้แบบจำลองค่าเฉลี่ยที่ผิด และสัมประสิทธิ์ที่ลำเอียงก็ยังคงลำเอียงอยู่

  • "นับเฉพาะการนอนโรงพยาบาลครั้งแรกคือทางที่ระมัดระวังที่สุด"

    ในที่นี้มันใช้การนอนโรงพยาบาล 683 จาก 1,313 ครั้ง และอัตราส่วนฮาซาร์ดของมันเลื่อนเข้าหา 1 เมื่อผู้ป่วยที่มีแนวโน้มนอนโรงพยาบาลมากที่สุดออกจากชุดเสี่ยง

    วิธีแก้: คงการวิเคราะห์เหตุการณ์แรกไว้เมื่อคำถามคือการนอนโรงพยาบาลครั้งแรก และเพิ่มแบบจำลองเหตุการณ์ซ้ำพร้อมรายงานการเสียชีวิตไว้ข้างกัน เมื่อคำถามคือภาระของการนอนโรงพยาบาล

  • "อัตราส่วนฮาซาร์ดของ PWP คือการเปรียบเทียบแบบสุ่มในทุกลำดับครั้งที่นอนโรงพยาบาล"

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

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

  • "จำนวนการนอนโรงพยาบาลต่อผู้ป่วยที่ถูกสุ่มน้อยลง แสดงว่ายาป้องกันการนอนโรงพยาบาลได้"

    ยาที่ทำให้อายุสั้นลงก็ทำให้เวลาที่ผู้ป่วยนอนโรงพยาบาลได้สั้นลงด้วย

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

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

อภิธานศัพท์

recurrent events (เหตุการณ์ซ้ำ)
เหตุการณ์ เช่นการนอนโรงพยาบาล ที่เกิดได้มากกว่าหนึ่งครั้งในผู้ป่วยคนเดียวกัน
counting process (กระบวนการนับ)
มุมมองของการติดตามที่จำนวนเหตุการณ์สะสมของผู้ป่วยแต่ละคนเพิ่มขึ้นหนึ่งทุกครั้งที่เกิดเหตุการณ์
start-stop layout (รูปแบบ start-stop)
หนึ่งแถวต่อหนึ่งช่วงที่ยังเสี่ยงอยู่ พร้อมเวลาเริ่ม เวลาสิ้นสุด ตัวบ่งชี้เหตุการณ์ และลำดับครั้งของเหตุการณ์
hazard ratio (อัตราส่วนฮาซาร์ด)
อัตราส่วนของอัตราการเกิดเหตุการณ์ระหว่างสองกลุ่มในผู้ป่วยที่ยังเสี่ยงอยู่ ไม่ใช่อัตราส่วนของความเสี่ยง
Andersen-Gill model (แบบจำลอง Andersen-Gill)
แบบจำลอง Cox สำหรับเหตุการณ์ซ้ำบนเวลารวม ที่ใช้อัตราพื้นฐานเดียวกับเหตุการณ์ทุกครั้ง โดยปกติรายงานคู่กับค่าคลาดเคลื่อนมาตรฐานแบบคลัสเตอร์ตามผู้ป่วย
robust (sandwich) standard error (ค่าคลาดเคลื่อนมาตรฐานแบบแซนด์วิช)
ค่าคลาดเคลื่อนมาตรฐานที่สร้างจากส่วนที่ผู้ป่วยแต่ละคนมีต่อค่าประมาณทั้งหมด ใช้ได้เมื่อเหตุการณ์ภายในผู้ป่วยคนเดียวกันสัมพันธ์กัน โดยแบบจำลองค่าเฉลี่ยต้องถูกต้อง
Prentice-Williams-Peterson model (แบบจำลอง Prentice-Williams-Peterson)
แบบจำลอง Cox สำหรับเหตุการณ์ซ้ำที่แบ่งชั้นตามลำดับครั้งของเหตุการณ์ ผู้ป่วยจึงเสี่ยงต่อเหตุการณ์ครั้งที่ k ได้ก็ต่อเมื่อผ่านครั้งที่ k - 1 แล้ว
total time (เวลารวม)
เวลาที่วัดจากการสุ่มสำหรับเหตุการณ์ทุกครั้ง
gap time (เวลาระหว่างครั้ง)
เวลาที่วัดจากเหตุการณ์ครั้งก่อน โดยตั้งนาฬิกากลับเป็น 0 หลังเหตุการณ์แต่ละครั้ง
Wei-Lin-Weissfeld model (แบบจำลอง Wei-Lin-Weissfeld)
แบบจำลองที่ปฏิบัติต่อเหตุการณ์แต่ละลำดับครั้งเป็นผลลัพธ์ของตัวเอง จับเวลานับจากการสุ่ม และเฉลี่ยข้ามผู้ป่วยแทนที่จะกำหนดเงื่อนไขตามประวัติของผู้ป่วย
frailty (ตัวคูณสุ่มรายผู้ป่วย)
ตัวคูณสุ่มระดับผู้ป่วยที่ปรับอัตราเหตุการณ์ทุกอัตราของผู้ป่วยคนนั้น แสดงแนวโน้มร่วมที่จะเกิดเหตุการณ์
terminal event (เหตุการณ์ปลายทาง)
เหตุการณ์ เช่นการเสียชีวิต ที่หลังจากนั้นไม่มีเหตุการณ์ซ้ำเกิดขึ้นได้อีก
negative binomial regression (การถดถอยทวินามลบ)
แบบจำลองการนับที่เพิ่มตัวคูณระดับผู้ป่วยให้ Poisson regression เพื่อรองรับการกระจายเกิน (overdispersion)
mean frequency function (ฟังก์ชันความถี่เฉลี่ย)
จำนวนเหตุการณ์ที่คาดไว้ต่อผู้ป่วยภายในแต่ละเวลา โดยผู้ป่วยที่เสียชีวิตไม่เพิ่มเหตุการณ์อีก

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

  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. Wei LJ, Lin DY, Weissfeld L. Regression analysis of multivariate incomplete failure time data by modeling marginal distributions. J Am Stat Assoc. 1989;84(408):1065-1073. doi:10.1080/01621459.1989.10478873 https://doi.org/10.1080/01621459.1989.10478873
  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. 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
  7. 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

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

  • การวิเคราะห์เหตุการณ์แรกเก็บการนอนโรงพยาบาลหนึ่งครั้งต่อผู้ป่วยหนึ่งคน และไม่สนใจทุกครั้งหลังจากนั้น
  • Andersen-Gill นับการนอนโรงพยาบาลทุกครั้งบนนาฬิกาเดียว และอัตราส่วนฮาซาร์ดของมันต้องใช้ค่าคลาดเคลื่อนมาตรฐานแบบคลัสเตอร์ตามผู้ป่วย
  • Prentice-Williams-Peterson แบ่งชั้นตามลำดับครั้งที่นอนโรงพยาบาลบนเวลารวมหรือเวลาระหว่างครั้ง และอัตราส่วนฮาซาร์ดของมันมีเงื่อนไขตามประวัติการนอนโรงพยาบาล
  • robust standard error เปลี่ยนความไม่แน่นอน ไม่เปลี่ยนค่าประมาณ และไม่ได้แก้วิธีจัดการการเสียชีวิต
  • การเสียชีวิตยุติการนับ จึงควรรายงานการเสียชีวิตไว้ข้างการนอนโรงพยาบาล หรือรวมไว้ในผลลัพธ์

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

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

ความคิดเห็น

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

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