วิเคราะห์การรอดชีพ Survival Time โดย STATA


Survival Time Analysis มีจุดเด่นคือนับเวลารอดชีพ แบบ person-years ก่อนที่จะขาดหายไปจากการคึกษา (Loss follow-up) ไว้ด้วย

Survival Time Analysis มีจุดเด่นคือนับเวลารอดชีพ แบบ Person-Years
มีข้อมูลเวลา ก่อนที่จะขาดหายไปจากการศึกษา (Loss follow-up) ไว้ด้วย
การศึกษาบางแบบนับจำนวนเฉพาะ ตอนต้นและตอนท้ายการศึกษา
ซึ่งผู้ที่ขาดหายไปจากการศึกษาจะไม่ได้นับรวมไว้

ถ้าใช้วิธี Logistic Regression โดยไม่ใช้ข้อมูล เวลา
หรือวิธี Compare means ของเวลา โดยไม่ใช้ ข้อมูลหยุดการติดตาม Censored
จะได้ผลที่ทำให้เข้าใจผิดได้ (Mis-Leading results)
เพราะ Censored มีความหมายได้หลายแบบ เช่น ขาดหายไปจากการศึกษา
ยังคงไม่เสียชีวิตเมื่อครบเวลาศึกษา หรือเสียชีวิตจากโรคอื่น

Survival time
คือเวลา ที่ยังคงไม่เสียชีวิตในการศึกษา หน่วยเป็น เดือน หรือ ปี
died = 1 คือเสียชีวิตจากโรคนั้นๆ
died = 0 (Censored) คือ ยังคงรอดอยู่เมื่อสิ้นสุดการศึกษา
หรือขาดหายไปจากการบันทึก หรือเสียชีวิตจากโรคอื่นๆ

STATA การ Compare การรักษา 2 วิธี ด้วย “Survival Time”
.stset t_var s_var
.sts graph คือ Kaplan Meier plot

.stsum
.stdes แสดงค่า Median Survival time

LogRank test
ทดสอบว่า Survival curve 2 วิธี ไม่ต่างกันหรือต่างกัน
โดยเปรียบเทียบ median survival time 2 กลุ่มวิธี Chi Square
กรณีไม่มีข้อมูล censored ใช้ Wilcoxon test

.clear
.webuse drug2
.stset test drug
.sts graph, by(drug)

.sts test drug
.sts test drug, wilcoxon

.stsum, by(drug)
.stdes if drug==0
.stdes if drug==1

จากตัวอย่างเป็น drug2 จาก internet ( webuse drug2)
ที่ได้สั่งทำ .stset time survival มาแล้ว
จึงมี column _st _d _t และ _t0 ด้วย
ถ้าเป็นข้อมูลที่ยังไม่ได้ทำ .stset
จะมีเพียงตัวแปร study_time, died, drug, age

study_time (min=1, 2, 3… , max=39)

died (0, 1)
1 คือ เสียชีวิต ด้วยโรคที่ศึกษา ได้ลงบันทึกในเดือนนั้นและสิ้นสุดการบันทึก
0 เรียกว่า “Censored” ลงบันทึกในเดือนนั้นและสิ้นสุดการบันทึก
ขาดการติดต่อและไม่ได้มาตรวจอีก จึงไม่ทราบว่าหายป่วยแล้วยังไม่เสียชีวิต หรือเสียชีวิตจากสาเหตุอื่นๆ


drug (0, 1) คือการรักษาชนิดที่ 0 และการรักษาชนิดที่ 1

age (min=32, 33, 34… , max=67)

จากคำสั่ง .stset t_var s_var
จะสร้างตัวแปรเพิ่มขึ้นอีกคือ ตัวแปร _st, _d, _t0, _t

_st = 1 Failure = 0 Censored
_d = 1 Failure = 0 Censored
_t0 = เวลาเริ่มต้น
_t = risk time

ใช้ไฟล์ drug2.dta จาก website (internet)


. webuse drug2

(Patient Survival in Drug Trial)
. list


ให้วาด Kaplan-Meier แบบให้แยกกลุ่ม

โดย กำหนด option ", by(drug)"
และ click checkbox [*] Make separate calculations by group

โดยตั้งค่าที่ Menu [File, Edit, Data, Graphics, Statistics... ]
เลือก Graphics --> Survival Analysis Graphs
Kaplan-Meier Survival Function


[*] Graph Kaplan-Meier survivor funcion

[*] Make separate calculations by group


คำสั่งให้ STATA วาดกราฟ Kaplan-Meier แยกกลุ่ม
คือคำสั่ง .sts โดยกำหนด option ", by(drug)"

. sts graph, by(drug)

failure _d: died
analysis time _t: studytime





เส้นกราฟแนวนอนคือยังไม่เกิด Events (ถ้าเกิด Events เส้นกราฟจะลดระดับลง)
drug = 0 เส้นกราฟลดระดับลงเกือบถึง 0 เกิด event เกือบทั้งหมด (ที่เวลา 8 เดือน drug=0 มี 1 Censored)
drug = 1 เส้นกราฟลดระดับลงมาแต่ไม่ถึง 0 (เกิด event บางส่วน และบางส่วนเป็น Censored)


. sts test drug
คือนับ Events observed, คำนวณค่า Events expected ของ drug 0 และ drug 1
Chi square = 28.27
p value < .0001


โดยทั่วไปใช้วิธี Log-rank test
test for equality of survivor functions

ถ่วงน้ำหนักด้วย 1, ทดสอบวิธี Chi Square

Wilcoxon ถ่วงน้ำหนักต่างไปจาก Log-rank
กรณีที่ไม่มี Censored เช่นเกิด Events ทุกราย ใช้วิธี Wilcoxon
(ตัวอย่างนี้ มี Censored เลือกใช้วิธี Log-rank)



Wilcoxon (Breslow) test for equality of survivor function
Events(drug=0, drug=1)
จำนวนเสียชีวิต (Failure died=1)
Events observed เทียบกับค่าคาดหวัง Events expected
ทดสอบวิธี Chi Square
ถ้า p < 0.05 ปฏิเสธ Ho:

(ตัวอย่างนี้ มี Censored เลือกใช้วิธี Log-rank test)


. stsum, by(drug)

ที่ 50% คือ Median Survival time
drug = 0 (20 คน) Median Survival time = 8 เดือน
drug = 1 (28 คน) Median Survival time = 28 เดือน (ที่ Survival time 75% ไม่มีตัวเลข)

------------------------------------------------------------------------------


ในข้อมูล drug2.dta
มีตัวแปร drug (0, 1) การได้รับยาและไม่ได้รับยามี Hazard Ratio เป็นเท่าไร
มีตัวแปร age คืออายุ และ Events (died=1)

ถ้าอายุเพิ่มขึ้น 1 ปีความเสี่ยงต่อการเสียชีวิตจะเป็นกี่เท่า
ของความเสี่ยงต่อการเสียชีวิตของ
ปีก่อนหน้านี้

Cox test ถ่วงน้ำหนักด้วย 1, ทดสอบวิธี Wald
Cox proportional hazards model และ Hazard Ratio
คำสั่งของ STATA คือ
.stcox drug


. stcox drug

drug มี hazard ratio = 0.13 น้อยกว่า 1 การได้รับยาเป็นปัจจัยป้องกันการเสียชีวิต
95%CI 0.05 to 0.31 (*sig. "ไม่คร่อม 1") ,
P>| Z | < 0.001 หมายถึง Hazard Ratio ไม่เท่ากับ 1

. stcox drug age

drug มี Hazard Ratio = 0.57 น้อยกว่า 1 เป็นปัจจัยป้องกันการเสียชีวิต "longer survival time"
95%CI 0.16 to 2.0 เปรียบเทียบที่อายุเท่าๆ กัน "Controlling for age" (แต่ไม่ sig.)
P>| z | = 0.386 หมายถึง Hazard Ratio อาจจะ = 1

age คือ Co-Variate Hazard Ratio = 1.12 ถ้าอายุมากขึ้นจะเสียชีวิตมากขึ้น
95%CI 1.04 to 1.2 (*sig.) P>| Z | = 0.002 หมายถึง Hazard Ratio ไม่เท่ากับ 1
ถ้าอายุุมากขึ้น 1 ปี การเสียชีวิตเพิ่ม = (1.12 - 1) = 12%

โดยทั่วไป กำหนดให้ 5 ปี เป็น 1 หน่วยเวลา โดยคำสั่ง replace age = age / 5
ก่อนใช้คำสั่ง stcox drug age
Hazard Ratio ของ Age เพิ่มจาก 1.12 เป็น 1.76
"a one-unit change indicates a 5-year change"


webuse drug2 (Stata 11)
webuse drugtr (Stata 13, 14)


http://www.stata.com/manuals13/ststcox.pdf

http://www.stata.com/manuals14/ststcox.pdf
ไฟล์ตัวอย่าง drugtr.dta สำหรับ Stata13, Stata 14 example 2 page 6, 7, 8
(ข้อมูลคล้ายคลึงกับไฟล์ drug2.dta แต่ไฟล์ drugtr.dta ผลทดสอบ significant ทั้ง drug และ age)

"Persons known to have died—“noncensored” in the jargon— have died = 1,
whereas the patients who are still alive—“right-censored” in the jargon— have died = 0."

https://dl.dropboxusercontent.com/u/1999671/EPI_56/survival/index.htm




คำสำคัญ (Tags): #stata#Survival Time#stset#Kaplan-Meier
หมายเลขบันทึก: 487453เขียนเมื่อ 8 พฤษภาคม 2012 22:48 น. ()แก้ไขเมื่อ 5 ธันวาคม 2015 07:27 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (1)
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท