top of page

Immortal Time Bias Explained: Time-Dependent Exposure vs Landmark Analysis

Introduction

Immortal time bias arises when a period of time during which an individual must survive (i.e., cannot experience the outcome) is misclassified or improperly handled in the analysis.

🧠 Deep Dive Into the Bias Logic

1. Where It Emerges

  • Most common in observational cohort studies evaluating treatment effectiveness.

  • Especially occurs when treatment exposure is defined post-baseline.

2. Root Cause

  • Follow-up starts at time zero (e.g., diagnosis).

  • Treatment assignment is conditional on future survival—you can’t get chemo unless you’re alive to receive it.

  • Those who die early are automatically classified as "untreated", even if they might have eventually been treated.

3. Why It’s Biased

  • This creates an "immortal period" in the treated group—during which death cannot occur because the patient must survive to be treated.

  • The comparison is unfair: you're comparing the survival of treated patients who survived long enough to get treatment vs. all untreated patients (including early deaths).

🧠 Immortal Time Bias คืออะไร?

ความหมายแบบเข้าใจง่าย:

เป็นอคติ (bias) ที่เกิดขึ้นเมื่อ “ช่วงเวลาที่ต้องมีชีวิตอยู่” (immortal time) ถูกนับเป็นส่วนหนึ่งของกลุ่มที่ได้รับการรักษา ทั้งที่จริงยังไม่ได้รับการรักษาในช่วงเวลานั้น

ตัวอย่างจากโลกจริง:

  • ผู้ป่วยมะเร็งถูกวินิจฉัย (Diagnosis) วันที่ 1

  • เริ่มให้เคมีบำบัด (Treatment) วันที่ 20

  • หากมีการวิเคราะห์ข้อมูลโดยระบุว่า “คนไข้ที่ได้รับเคมีบำบัดมีอัตรารอดชีวิตสูงกว่า”

  • แต่นับวันตั้งแต่ วันวินิจฉัยเป็นต้นไป เป็น “ช่วงเวลาหลังรักษา”

  • นั่นหมายความว่า คนไข้ที่เสียชีวิตก่อนวันที่ 20 จะถูกนับเป็น “กลุ่มไม่ได้รับการรักษา”

📌 ปัญหา:กลุ่มที่ได้รับเคมีบำบัด “ต้องรอดชีวิตให้ถึงวันรักษา” → นี่คือช่วง “อมตะ”→ ทำให้ดูเหมือนว่าการรักษาช่วยชีวิต ทั้งที่ความจริงแค่รอดชีวิตพอจะได้รักษา

เวลาเริ่มนับ (time zero) สำหรับ ทั้งสองกลุ่ม ต้องเท่ากันเสมอ!


วิธีที่ 1: Time-Dependent Exposure ที่ถูกต้องคืออะไร?

ทุกคนในการศึกษาจะเริ่มนับจากวันวินิจฉัย (Diagnosis day)

แต่...

  • ถ้า ยังไม่ได้รับยา → คนนั้นจะถือว่าเป็น “ยังไม่รักษา” ณ เวลานั้น

  • ถ้า ได้รับยาแล้ว → ตั้งแต่วันที่เริ่มรับยาเป็นต้นไป คนนั้นจะถูกถือว่าเป็น “ได้รับการรักษา”

🔁 ช่วงเวลาของแต่ละคนถูกแบ่งแบบนี้:

คนไข้

ช่วงเวลาก่อนเริ่มยา

ช่วงเวลาหลังเริ่มยา

นาย A (เริ่มยา วันที่ 20)

วันที่ 0–19 = ยังไม่รักษา

วันที่ 20+ = รักษาแล้ว

นาย B (ไม่ได้รับยาเลย)

วันที่ 0–สิ้นสุด = ยังไม่รักษา

ไม่มี “รักษาแล้ว”

นาย C (เสียชีวิตก่อนเริ่มยา)

วันที่ 0–ตาย = ยังไม่รักษา

ไม่มี “รักษาแล้ว”

ไม่มีใครจะถือว่า "รักษาแล้ว" ตั้งแต่วันวินิจฉัย

💡 สรุปแบบเข้าใจง่าย

ผิด (ทำให้เกิด bias):

  • กลุ่มได้รับยา: เริ่มนับจากวันได้รับยา

  • กลุ่มไม่ได้รับยา: เริ่มนับจากวันวินิจฉัย

ถูก (time-dependent):

  • ทุกคนเริ่มนับจากวันวินิจฉัย

  • แต่สถานะ “ได้รับการรักษา” จะเปลี่ยนตามเวลา → จาก 0 = ไม่รักษา → 1 = รักษาแล้ว (ถ้าได้รับ)

📈 แนวคิดแบบกราฟเวลา

Time (days) →  0   5   10   15   20   25  30

นาย A          U   U   U    U    T    T   T  (U = Untreated, T = Treated)

นาย B          U   U   U    U    U    U   U

นาย C          U   U   ✝️
  • นาย A เริ่มยา วันที่ 20 → เปลี่ยนสถานะเป็น “Treated” ตั้งแต่วันนั้น

  • นาย B ไม่ได้รับยาเลย → ตลอดชีวิตเป็น “Untreated”

  • นาย C เสียชีวิตก่อนถึงวันรักษา → ถือเป็น “Untreated” ทั้งช่วงชีวิต

🔍 ทำไมมันแฟร์?

เพราะว่า เราให้ทุกคน “โอกาสเท่ากัน” ที่จะได้รับยาและ เราไม่นับเวลาที่เขายังไม่ได้รับยาเป็น “เวลาที่รักษาแล้ว”

ดังนั้น ไม่มี “ช่วงเวลาที่เป็นอมตะ” ถูกบวกเข้าไปผิดๆ ในกลุ่มรักษาอีกต่อไป

✅ สรุป Time-Dependent Exposure

  • ทุกคนเริ่มนับจาก “วันวินิจฉัย” เหมือนกัน

  • สถานะการรักษา “เปลี่ยนแปลงตามเวลา” ไม่ใช่กำหนดตั้งแต่แรก

  • นี่คือแก่นแท้ของ Time-Dependent Exposure Analysis

  • วิธีนี้ ป้องกัน Immortal Time Bias ได้อย่างมีประสิทธิภาพ


วิธีที่ 2: วิเคราะห์แบบ Landmark Analysis

กำหนด "หมุดเวลา" เช่น วันที่ 30 หลังการวินิจฉัยเลือกเฉพาะคนที่ยังมีชีวิตถึงวันนั้น แล้วจึงดูว่าใครได้รับการรักษาแล้ว ใครยังไม่ได้
  • นับระยะเวลารอดชีวิต หลังจาก landmark เท่านั้น

  • เปรียบเทียบระหว่าง “รักษาแล้ว” กับ “ยังไม่รักษา” ตั้งแต่หมุดเวลา

ยอดเยี่ยมมากครับที่คุณถามจุดนี้! เพราะ ความต่างระหว่าง Time-Dependent Exposure กับ Landmark Analysis มัน คล้ายกันในผิวเผิน แต่ต่างกันในแก่น — และ timeline จะช่วยให้คุณ “เห็นภาพ” ชัดเจนที่สุด

📊 ภาพ Timeline เปรียบเทียบ

สมมุติว่ามีผู้ป่วย 4 คน และวันวินิจฉัยคือ วันที่ 0 บางคนได้ยาเร็ว บางคนได้ช้า บางคนไม่รอดถึง Landmark (วันที่ 30)

Time (วัน) →         0     10     20     30     40     50     60

นาย A (เริ่มยาเร็ว)     |----TREATED-----------------------> ยังมีชีวิต
นาย B (ได้ยาหลัง 35)  |----------UNTREATED---TREATED-----> ยังมีชีวิต
นาย C (ไม่เคยได้ยา)   |----------------UNTREATED---------> ยังมีชีวิต
นาย D (ตายก่อน 30)   |--------X ตายก่อน Landmark

✅ วิธีที่ 1: Time-Dependent Exposure (แบบเปลี่ยนสถานะ)

  • ทุกคน เริ่มนับตั้งแต่วันวินิจฉัย (Day 0)

  • แล้วระบบจะ เปลี่ยนสถานะตามเวลา เช่น:

คนไข้

วันที่ 0–ยาเริ่ม

หลังจากวันเริ่มยา

A

Treated (ตั้งแต่ต้น)

Treated ตลอด

B

Untreated

Treated (หลังวันที่ 35)

C

Untreated

Untreated ตลอด

D

Untreated

ตายก่อนเปลี่ยนสถานะ

→ ทุกวินาทีถูกนับในแบบ ยืดหยุ่นตามเวลา→ แม่นยำ แต่ซับซ้อน (ต้องใช้ Cox time-varying)

✅ วิธีที่ 2: Landmark Analysis (แบบตัดชัด ณ วันเดียว)

  • กำหนดว่า จะเริ่มนับ survival ตั้งแต่ Day 30 เท่านั้น

  • เอาเฉพาะคนที่ “ยังไม่ตาย” ณ วันที่ 30

  • แล้วดูว่า ตอนวันนั้น ได้ยาแล้วหรือยัง

🔒 หลักการสำคัญของ Landmark Analysis

เมื่อคุณกำหนด "หมุดเวลา" เช่น วันที่ 30:

  • คุณจะดูว่า ในวันที่ 30 แต่ละคน “มีสถานะอะไร”

    • ได้รับการรักษาแล้ว? → ใส่กลุ่ม Treated

    • ยังไม่ได้รับการรักษา? → ใส่กลุ่ม Untreated

  • แล้วคุณจะ “ล็อกสถานะนั้น” ไว้ตลอดการวิเคราะห์

คนไข้

ยังมีชีวิตถึงวันที่ 30?

ได้ยาแล้ว ณ วันที่ 30?

กลุ่มที่จัด

A

Treated

B

Untreated

C

Untreated

D

ไม่เกี่ยว

❌ ถูกตัดออก

→ เห็นไหมครับ? แม้ B ได้ยาหลังวันที่ 30 เขาก็ยังนับเป็น "Untreated"→ เพราะ Landmark “ล็อกกลุ่ม” แบบคงที่ ไม่เปลี่ยนตามเวลา

🔍 สรุปความแตกต่างชัด ๆ

จุดเปรียบเทียบ

Time-Dependent Exposure

Landmark Analysis

นับทุกวันตั้งแต่วินิจฉัย?

✅ ใช่

❌ ไม่ (เริ่มจาก landmark)

สถานะการรักษาเปลี่ยนได้ไหม?

✅ เปลี่ยนได้ตามเวลา

❌ ไม่เปลี่ยน (ยึดตามวัน landmark)

คนตายก่อนวัน landmark ถูกนับไหม?

✅ นับเป็น "ไม่รักษา" ก่อนตาย

❌ ไม่ถูกนับเลย

ความแม่นของข้อมูล

🔝 สูงสุด

⚠️ ปานกลาง

ใช้งานง่าย

❌ ยาก (ต้องใช้ time-varying model)

✅ ง่ายกว่า

🧠 ถ้าให้ง่ายที่สุด

  • แบบที่ 1 (Time-Dependent) → ละเอียด เที่ยงตรง เหมือน “กล้องวิดีโอ”

  • แบบที่ 2 (Landmark) → ตัด ณ จุดเวลาเดียว เหมือน “ถ่ายภาพนิ่ง”


วิธีที่ 3: เปลี่ยน time-zero จุดเริ่มต้นเป็น “วันเริ่มรักษา” (ใช้เฉพาะบางกรณี)

ติดตามผู้ป่วยเฉพาะจากวันที่เริ่มรับยาเท่านั้นไม่เปรียบเทียบกับผู้ที่ไม่ได้รับยาเลย
  • เหมาะกับการรายงาน “ผลลัพธ์หลังการรักษา” เท่านั้น เช่น Median Survival After Chemotherapy

  • ไม่สามารถใช้เพื่อเปรียบเทียบกับกลุ่มไม่ได้รับการรักษาได้


🔎 ใช้ได้เมื่อไหร่?

  • คุณ ไม่ต้องการเปรียบเทียบ กับกลุ่มที่ ไม่ได้รับการรักษา

  • คุณแค่สนใจ:

    “เมื่อผู้ป่วยเริ่มได้รับยาแล้ว…เขาจะรอดได้นานแค่ไหน?”

🔬 ใช้ในสถานการณ์แบบไหน?

ตัวอย่างคำถาม

ใช้วิธีนี้ได้ไหม?

“ยาเคมีบำบัดชนิด A มีประสิทธิภาพเท่าไหร่ เทียบกับไม่ให้ยา?”

❌ ไม่ได้

“หลังให้ยา A แล้ว คนไข้รอดชีวิตเฉลี่ยกี่เดือน?”

✅ ได้

“ผู้ที่ได้ยาเร็ว vs ได้ยาช้า มี survival ต่างกันไหม?”

✅ ได้ (ถ้าเปรียบเฉพาะในกลุ่มที่ได้ยา)

🔥 ข้อดี

  • ง่ายสุดในสามวิธี

  • ใช้ได้ดีกับรายงาน descriptive เช่น:

    • Kaplan-Meier survival curve

    • Median survival time after treatment

⚠️ ข้อเสีย (สำคัญมาก)

  • ไม่ได้ควบคุม Immortal Time Bias เพราะคุณ คัดเอาเฉพาะคนที่รอดพอจะได้ยา

  • ❌ ไม่มี baseline comparison → ไม่รู้ว่ายานั้น “ดีกว่าไม่ได้ให้” จริงหรือไม่

  • ❌ ไม่สามารถใช้ infer causality หรือทำ conclusion แบบเชิงเปรียบเทียบได้

📊 เปรียบเทียบกับอีกสองวิธี

ประเด็น

Time-Dependent Exposure

Landmark Analysis

เริ่มจากวันเริ่มรักษา

เปรียบเทียบกลุ่มได้ไหม?

✅ ได้

✅ ได้

❌ ไม่ได้

ป้องกัน immortal time bias?

✅ สูงสุด

✅ ปานกลาง

❌ ไม่ได้เลย

ใช้งานง่าย?

❌ ยาก

✅ ปานกลาง

✅ ง่ายที่สุด

ใช้เมื่อไหร่ดี?

ต้องการ causal effect แม่นๆ

ประเมิน treatment effect ณ วันคัดกรอง

แค่สนใจผลลัพธ์ “หลังรักษา”

🧠 ภาพตัวอย่าง (Timeline)

Time →       0     10     20     30     40     50

นาย A        |------------เริ่มยา------------->
นาย B        |-------------------เริ่มยา------>
นาย C        |--------เสียชีวิตก่อนเริ่มยา (ไม่ถูกรวม)
  • คุณจะวิเคราะห์แค่ A และ B เท่านั้น

  • เริ่มนับ จากวันที่แต่ละคนได้ยา

  • นาย C ❌ ไม่ถูกวิเคราะห์เลย

✅ สรุป  Redefine Time-Zero as Treatment Start

วิธีที่ 3 เหมาะสำหรับคำถามว่า: “หลังจากผู้ป่วยเริ่มได้รับการรักษาแล้ว ผลลัพธ์ของเขาเป็นอย่างไร?” ❌ ไม่เหมาะกับคำถามว่า:“การรักษาดีกว่าไม่รักษาหรือไม่?” เพราะมัน เลือกเฉพาะผู้ที่รอดมาพอจะได้ยา แล้ว

Recent Posts

See All
Post: Blog2_Post

​Message for International and Thai Readers Understanding My Medical Context in Thailand

Message for International and Thai Readers Understanding My Broader Content Beyond Medicine

bottom of page