ฉันจะตีความกราฟความอยู่รอดของโมเดลอันตราย Cox ได้อย่างไร


9

คุณจะตีความเส้นโค้งการอยู่รอดจากโมเดลอันตรายตามสัดส่วนของค็อกซ์ได้อย่างไร

ในตัวอย่างของเล่นนี้สมมติว่าเรามีโมเดลอันตรายตามสัดส่วนในageตัวแปรในkidneyข้อมูลและสร้างเส้นโค้งการอยู่รอด

library(survival)
fit <- coxph(Surv(time, status)~age, data=kidney)
plot(conf.int="none", survfit(fit))
grid()

ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างเช่น ณ เวลาคำสั่งใดเป็นจริง หรือทั้งสองอย่างผิดปกติ?200

  • คำแถลงที่ 1: เราจะเหลือวิชา 20% (เช่นถ้าเรามีคนโดยวันที่เราควรเหลืออีกประมาณ ) 1000200200

  • งบ 2: สำหรับคนที่ได้รับหนึ่งเขา / เธอมีมีโอกาสที่จะอยู่รอดได้ในวันที่20020%200


ความพยายามของฉัน: ฉันไม่คิดว่าทั้งสองงบจะเหมือนกัน (แก้ไขฉันถ้าฉันผิด) เนื่องจากเราไม่ได้มีการสันนิษฐาน iid (เวลารอดสำหรับทุกคนไม่ได้มาจากการกระจายอย่างอิสระ) มันคล้ายกับการถดถอยโลจิสติกในคำถามของฉันที่นี่อัตราความเป็นอันตรายของแต่ละคนขึ้นอยู่กับสำหรับบุคคลนั้นβTx


โปรดทราบว่าแบบจำลองของคุณถือว่าเป็นอิสระระหว่างเวลาเหตุการณ์
ocram

การวิเคราะห์การเอาชีวิตรอดสามารถมีสมมุติฐานที่เป็นอิสระ
อัคซากัล

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

คำตอบ:


5

เนื่องจากความเป็นอันตรายขึ้นอยู่กับปัจจัยแปรปรวนดังนั้นฟังก์ชันการอยู่รอดจึงเป็นเช่นนั้น แบบจำลองสมมติว่าฟังก์ชันอันตรายของบุคคลที่มีเวกเตอร์โควาเรตx คือ

h(t;x)=h0(t)eβx.
ดังนั้นอันตรายสะสมของบุคคลนี้คือ
H(t;x)=0th(u;x)du=0th0(u)eβxdu=H0(t)eβx,
ที่เราอาจกำหนด H0(t)=0เสื้อชั่วโมง0(ยู)dยูเป็นอันตรายสะสมพื้นฐาน ฟังก์ชันการอยู่รอดสำหรับบุคคลที่มีเวกเตอร์โควาเรียตx ในทางกลับกัน
S(เสื้อ;x)=อี-H(เสื้อ;x)=อี-H0อีβ'x=S0(เสื้อ)อีβ'x
ที่เรากำหนด S0(เสื้อ)=อี-H0(เสื้อ) เป็นฟังก์ชั่นการเอาชีวิตรอดพื้นฐาน

รับประมาณการ β^ และ S^0(เสื้อ) ของสัมประสิทธิ์การถดถอยและฟังก์ชันการเอาตัวรอดพื้นฐานการประเมินฟังก์ชันการอยู่รอดสำหรับบุคคลที่มีเวกเตอร์โควาเรต x ได้รับจาก S^(เสื้อ;x)=S^0(เสื้อ)อีβ^'x.

คำนวณสิ่งนี้ใน R คุณระบุค่าของ covariates ของคุณในการnewdataโต้แย้ง ตัวอย่างเช่นถ้าคุณต้องการฟังก์ชั่นการเอาชีวิตรอดสำหรับบุคคลอายุ = 70 ใน R ให้ทำ

plot(survfit(fit, newdata=data.frame(age=70)))

หากคุณละเว้นnewdataอาร์กิวเมนต์ดังกล่าวค่าเริ่มต้นจะเท่ากับค่าเฉลี่ยของตัวแปรในตัวอย่าง (ดู?survfit.coxph) ดังนั้นสิ่งที่แสดงในกราฟของคุณคือค่าประมาณS0(เสื้อ)อีβ'x¯.


ฉันเห็นด้วยกับคุณ. นี่เป็นคำตอบที่เขียนไว้อย่างดี ฉันขอโทษที่โอพีสำหรับข้อผิดพลาดของฉันและฉันชื่นชมวิธีที่ OP แก้ไข
Michael R. Chernick

@ hxd1101 หลังจากอ่านหน้าความช่วยเหลือsurvfit.coxphอย่างละเอียดยิ่งขึ้นฉันได้แก้ไขข้อผิดพลาดในคำตอบแล้วดูการอัปเดต
Jarle Tufto

2

เราจะเหลือวิชา 20% (เช่นถ้าเรามี 1,000 คนโดยวันที่ 200 เราควรเหลือ 200 คน)? หรือสำหรับบุคคลที่กำหนดมีโอกาส 20% ที่จะอยู่รอดในวันที่ 200

ในรูปแบบที่บริสุทธิ์ที่สุดเส้นโค้ง Kaplan-Meier ในตัวอย่างของคุณไม่ได้ทำให้ข้อความข้างต้นใด ๆ

คำสั่งแรกทำให้การฉายมองไปข้างหน้าจะมี เส้นโค้งการอยู่รอดขั้นพื้นฐานจะอธิบายอดีตตัวอย่างของคุณเท่านั้น ใช่ 20% ของตัวอย่างของคุณรอดชีวิตมาได้ในวันที่ 200 20% จะอยู่รอดในอีก 200 วันข้างหน้า? ไม่จำเป็น.

เพื่อที่จะทำให้คำสั่งนั้นคุณต้องเพิ่มสมมติฐานเพิ่มเติมสร้างแบบจำลองเป็นต้นแบบไม่จำเป็นต้องเป็นสถิติในแง่เช่นการถดถอยโลจิสติก เช่นมันสามารถ PDE ในระบาดวิทยา ฯลฯ

คำแถลงที่สองของคุณอาจขึ้นอยู่กับข้อสันนิษฐานที่เหมือนกันบางอย่าง: ทุกคนเหมือนกัน


ฉันไม่คิดว่าประโยคที่ 2 ถูกต้องเนื่องจากแต่ละคนมีความแตกต่างกัน x และ βTxก่อให้เกิดอันตราย เราจะสมมติว่าทุกคนเหมือนกันได้อย่างไร
Haitao Du

@ hxd1011 ขึ้นอยู่กับรุ่นของคุณ หากคุณกำลังจำลองชิ้นส่วนรถยนต์คุณก็จะถือว่าพวกเขาเหมือนกัน บนมืออื่น ๆ ความล้มเหลวของพวกเขาอาจจะมีความสัมพันธ์จากจำนวนชุดแล้วพวกเขาก็ไม่ได้เหมือนกัน ฯลฯ
Aksakal

ฉันแก้ไขคำถามของฉันให้เฉพาะเจาะจงมากขึ้นในโมเดล cox คำตอบของคุณเกี่ยวกับเส้นโค้ง Kaplan_Meier นั้นยังคงใช้ได้หรือไม่?
Haitao Du

2

ขอบคุณสำหรับคำตอบของ Jarle Tufto ฉันคิดว่าฉันควรจะสามารถตอบได้ด้วยตัวเอง: งบทั้งที่เป็นเท็จ เส้นโค้งที่สร้างขึ้นคือS0(เสื้อ) แต่ไม่ S(เสื้อ).

ฟังก์ชันการเอาชีวิตรอดพื้นฐาน S0(เสื้อ) จะเท่ากับ S(เสื้อ) เฉพาะเมื่อ x=0. ดังนั้นเส้นโค้งไม่ได้อธิบายประชากรทั้งหมดหรือบุคคลใด ๆ


0

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

ตัวเลือกที่สอง (โอกาสที่จะอยู่รอดอีกหนึ่งวันให้รอดจนถึงวันที่ เสื้อ) คือ 1-ชั่วโมง(เสื้อ)กับ ชั่วโมง(เสื้อ) แสดงถึงฟังก์ชั่นอันตราย

เกี่ยวกับสมมติฐาน: ฉันคิดว่าการทดสอบค่าสัมประสิทธิ์ตามปกติในการตั้งค่าการถดถอยของ Cox จะถือว่าเป็นอิสระ แม้แต่การประเมินของ Kaplan-Meier ก็ยังต้องการความเป็นอิสระระหว่างเวลาการเอาชีวิตรอดและการเซ็นเซอร์ ( ข้อมูลอ้างอิง ) แต่ฉันอาจจะผิดดังนั้นยินดีต้อนรับการแก้ไข

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.