การทำนายในการถดถอยแบบค็อกซ์


38

ฉันกำลังทำการถดถอยหลายตัวแปร Cox ฉันมีตัวแปรอิสระที่สำคัญและค่าเบต้า รูปแบบเหมาะสมกับข้อมูลของฉันได้เป็นอย่างดี

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

ฉันจะตัดสินอันตรายพื้นฐานของฉันได้อย่างไร ฉันต้องการมันนอกเหนือจากการคำนวณการทำนาย

สิ่งนี้ทำในรูปแบบ Cox ได้อย่างไร?

คำตอบ:


30

ต่อไปนี้รูปแบบคอคส์ที่อันตรายโดยประมาณสำหรับแต่ละกับเวกเตอร์ตัวแปรร่วมx ฉันมีรูปแบบ เอชฉัน ( T ) = H 0 ( T ) ประสบการณ์( x ' ฉันβ ) , ที่βถูกพบโดยการเพิ่มความน่าจะเป็นบางส่วน ในขณะที่เอช 0 ต่อจากประมาณการเนลสันอาเลน, เอช 0 ( T ฉัน ) = d ฉันixi

h^i(t)=h^0(t)exp(xiβ^),
β^h^0 กับที1,T2,...ครั้งเหตุการณ์ที่แตกต่างกันและวันที่ฉันจำนวนผู้เสียชีวิตที่ทีฉัน (ดูเช่นมาตรา 3.6)
h^0(ti)=dij:tjtiexp(xjβ^)
t1t2,diti

S^i(t)=S^0(t)exp(xiβ^)
S^0(t)=exp(Λ^0(t))
Λ^0(t)=j:tjth^0(tj).

แก้ไข: นี่อาจเป็นที่สนใจ :-)


1
นั่นคือคำถามของฉัน ... ฉันต้องการการประมาณค่าฟังก์ชันอันตรายพื้นฐานเพื่อให้สามารถทำนายได้ถูกต้องหรือไม่ คุณรู้วิธีการประเมินหรือไม่?
Marja

2
@Marjan jackknife อาจไม่สะท้อนความไม่แน่นอนที่เกิดจากการเลือกตัวแปรอย่างเหมาะสม bootstrap อย่างถูกต้องแสดงความแปรปรวนมากขึ้นซึ่งตัวแปรที่มีข้อความ "สำคัญ" หากคุณต้องการทำ "การตรวจสอบความสัมพันธ์" คุณสามารถแสดงให้เห็นว่าการเลือกปฏิบัติแบบคาดการณ์ล่วงหน้านั้นดีหลังจากแก้ไขการ overfitting สิ่งนี้ไม่ต้องการการจัดการกับอันตรายพื้นฐาน แต่กำลังตรวจสอบความถูกต้องของการบันทึกความเสี่ยงสัมพัทธ์ validateฟังก์ชั่นใน R rmsแพคเกจร่วมกับcphฟังก์ชั่นจะทำเช่นนั้น อัลกอริทึมแบบขั้นตอนเดียวที่นำมาใช้ในvalidateนั้นคือแบบขั้นตอนถอยหลัง
Frank Harrell

1
การทำนายอันตรายสัมพัทธ์ (เช่นตัวทำนายเชิงเส้น) นั้นค่อนข้างง่าย แต่ฉันเลิกใช้ SAS ในปี 1991
Frank Harrell

8
ลิงก์นั้นตายไปแล้ว :-(.
gung - Reinstate Monica

2
มีวิธีการทำนายเวลารอด T สำหรับบุคคลที่เฉพาะเจาะจงหรือไม่? ฉันหมายถึงว่าได้รับรายการค่านิยมสำหรับผู้ร่วมทุนพวกเขาจะหาเวลาหลังจากที่บุคคลนั้นมีแนวโน้มเสียชีวิตได้อย่างไร
statBeginner

14

ฟังก์ชั่นpredictSurvProbในpecแพคเกจสามารถให้การประเมินความเสี่ยงที่แน่นอนสำหรับข้อมูลใหม่โดยยึดตามโมเดล cox ที่มีอยู่หากคุณใช้ R

รายละเอียดทางคณิตศาสตร์ที่ฉันไม่สามารถอธิบายได้

แก้ไข: ฟังก์ชั่นให้ความน่าจะอยู่รอดซึ่งฉันได้ดำเนินการจนถึง 1 (ความน่าจะเป็นเหตุการณ์)

แก้ไข 2:

สามารถทำได้โดยไม่ต้องแพคเกจ pec การใช้แพ็คเกจการอยู่รอดเท่านั้นฟังก์ชั่นต่อไปนี้จะคืนความเสี่ยงอย่างสมบูรณ์ตามแบบจำลองของ Cox

risk = function(model, newdata, time) {
  as.numeric(1-summary(survfit(model, newdata = newdata, se.fit = F, conf.int = F), times = time)$surv)
}

ความน่าจะเป็นที่รอดชีวิต 1 ครั้งเป็นสิ่งที่อันตรายมาก ฉันคิดว่า OP ขอฟังก์ชั่นความเป็นอันตรายทันที (จากพื้นฐาน) หรือการประมาณที่ราบรื่นบางอย่าง ( muhazแพ็คเกจใน R)
ECII

1
ความน่าจะเป็นที่รอดชีวิต 1 คนไม่ใช่ความเป็นอันตรายสะสม ในกรณีที่ไม่มีความเสี่ยงในการแข่งขันทั้งสองมีการเชื่อมต่อตามรายละเอียดในen.wikipedia.org/wiki/...
miura

ความน่าจะเป็นรอด 1 = อัตราความล้มเหลว (สมมติว่ามีวิธีการล้มเหลวเพียง 1x) ความสัมพันธ์ของความน่าจะเป็นรอดชีวิตต่อความเป็นอันตรายแบบสะสมนั้นระบุไว้ในคำตอบที่ยอมรับได้: ความเป็นไปได้S(t)=exp(−Λ(t))ที่Λ(t)จะเกิดอันตราย
NickBraunagel

11

บางทีคุณอาจต้องการลองสิ่งนี้หรือไม่ ติดตั้งโมเดลอันตราย Cox ตามสัดส่วนและใช้เพื่อรับโค้งการเอาตัวรอดที่คาดการณ์ไว้สำหรับอินสแตนซ์ใหม่

นำออกจากไฟล์ช่วยเหลือสำหรับSurvfit.coxphใน R (ฉันเพิ่งเพิ่มส่วนของบรรทัด)

# fit a Cox proportional hazards model and plot the  
# predicted survival for a 60 year old 
fit <- coxph(Surv(futime, fustat) ~ age, data=ovarian) 
plot(survfit(fit, newdata=data.frame(age=60)),
     xscale=365.25, xlab="Years", ylab="Survival", conf.int=F) 
# also plot the predicted survival for a 70 year old
lines(survfit(fit, newdata=data.frame(age=70)),
     xscale=365.25, xlab="Years", ylab="Survival") 

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


6

basehazฟังก์ชั่นsurvivalแพคเกจให้อันตรายพื้นฐานที่จุดเวลาเหตุการณ์ จากนั้นคุณสามารถหาทางคณิตศาสตร์ที่ ocram ให้และรวม ORs ของการประมาณค่า coxph ของคุณ


2

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


2
หากคุณต้องการประเมินค่าความเป็นอันตรายหรือความอยู่รอดสำหรับค่าเฉพาะของเวกเตอร์โควาเรียตคุณต้องประเมินค่าความเป็นอันตรายพื้นฐานหรือความอยู่รอด ประมาณการเนลสันอาเลนมักจะทำให้งาน ...
ocram

1
บ่อยครั้งกับรุ่น Cox ที่คุณกำลังเปรียบเทียบฟังก์ชั่นการเอาชีวิตรอดทั้งสองและที่สำคัญคืออัตราส่วนความเป็นอันตรายมากกว่าฟังก์ชั่นอันตราย อันตรายพื้นฐานเป็นเหมือนพารามิเตอร์ที่สร้างความรำคาญให้ Cox อย่างชาญฉลาดเพื่อขจัดปัญหาโดยใช้สมมติฐานที่เป็นอันตรายตามสัดส่วน วิธีใดก็ตามที่คุณต้องการใช้สำหรับการประเมินฟังก์ชั่นอันตรายและ / หรืออันตรายพื้นฐานในบริบทของแบบจำลองจะต้องใช้รูปแบบ Cox ของแบบจำลองที่บังคับสัดส่วน
Michael Chernick

ขอบคุณมากมันจะดีถ้าคุณเห็นความคิดเห็นของฉันในคำตอบของ ocram บางทีคุณสามารถช่วยฉันด้วย
Marja

3
คุณยังสามารถแบ่งชั้นของปัจจัยที่ไม่ได้อยู่ในอันตรายตามสัดส่วน แต่อย่างไรก็ตามโมเดล Cox และตัวประเมินแบบ after-the-fit ของอันตรายขั้นพื้นฐานสามารถใช้ในการทำนายปริมาณเวลาในการเอาชีวิตรอดโอกาสในการเอาชีวิตรอดที่หลากหลายและทำนายเวลารอดเฉลี่ยถ้าคุณมีการติดตามระยะยาว rmsปริมาณทั้งหมดเหล่านี้เป็นเรื่องง่ายที่จะได้รับในแพคเกจการ R
Frank Harrell

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