Dự đoán trong hồi quy Cox


38

Tôi đang thực hiện hồi quy Cox đa biến, tôi có các biến độc lập và giá trị beta đáng kể. Mô hình phù hợp với dữ liệu của tôi rất tốt.

Bây giờ, tôi muốn sử dụng mô hình của mình và dự đoán sự sống còn của một quan sát mới. Tôi không rõ làm thế nào để làm điều này với một mô hình Cox. Trong hồi quy tuyến tính hoặc logistic, sẽ rất dễ dàng, chỉ cần đặt các giá trị của quan sát mới vào hồi quy và nhân chúng với betas và vì vậy tôi có dự đoán về kết quả của mình.

Làm thế nào tôi có thể xác định nguy cơ cơ bản của tôi? Tôi cần nó ngoài việc tính toán dự đoán.

Làm thế nào điều này được thực hiện trong một mô hình Cox?

Câu trả lời:


30

Theo mô hình Cox, nguy hiểm ước tính cho cá nhân với vector covariate x i có dạng h i ( t ) = h 0 ( t ) exp ( x ' i β ) , nơi β được tìm thấy bằng cách tối đa hóa khả năng một phần , trong khi h 0 sau từ ước lượng Nelson-Aalen, h 0 ( t i ) = d iixi

h^i(t)=h^0(t)exp(xiβ^),
β^h^0 vớit1,t2,...thời gian sự kiện riêng biệt vàdisố người chết tạiti (xem, ví dụ như,mục 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).

EDIT: Điều này cũng có thể được quan tâm :-)


1
Đó chính xác là câu hỏi của tôi ... Tôi cần một ước tính về chức năng nguy hiểm cơ bản để có thể dự đoán, đúng không? Bạn có biết phương pháp nào để ước tính nó không?
Marja

2
@Marjan jackknife có thể không phản ánh đúng sự không chắc chắn gây ra bởi lựa chọn biến. Bootstrap đúng cách cho thấy nhiều thay đổi hơn trong đó các biến được gắn nhãn "đáng kể". Nếu bạn muốn thực hiện "xác nhận tương đối", bạn có thể chỉ ra rằng phân biệt đối xử dự đoán là tốt sau khi sửa lỗi cho quá mức. Điều này không yêu cầu xử lý các rủi ro cơ bản, nhưng đang xác nhận các ước tính rủi ro nhật ký tương đối. Các validatechức năng trong R rmsgói kết hợp với cphchức năng sẽ làm điều đó. Thuật toán duy nhất từng bước được thực hiện trong validatelà bước lùi.
Frank Harrell

1
Bắt các mối nguy tương đối dự đoán (nghĩa là bộ dự báo tuyến tính) khá đơn giản. Nhưng tôi đã ngừng sử dụng SAS vào năm 1991.
Frank Harrell

8
Liên kết đã chết :-(.
gung - Tái lập Monica

2
Có cách nào để dự đoán thời gian sống sót T cho một cá nhân cụ thể không? Ý tôi là đưa ra một danh sách các giá trị cho các hiệp phương sai, cách nào để tìm ra thời gian sau đó cá nhân có khả năng chết nhất?
statBeginner

14

Hàm predictSurvProbtrong pecgói có thể cung cấp cho bạn ước tính rủi ro tuyệt đối cho dữ liệu mới dựa trên mô hình cox hiện có nếu bạn sử dụng R.

Các chi tiết toán học tôi không thể giải thích.

EDIT: Hàm cung cấp xác suất sống sót, mà cho đến nay tôi đã lấy là 1- (Xác suất sự kiện).

EDIT 2:

Người ta có thể làm mà không cần gói pec. Chỉ sử dụng gói sinh tồn, hàm sau trả về rủi ro tuyệt đối dựa trên mô hình Cox

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

1-Xác suất sống sót là nguy cơ tích lũy. Tôi nghĩ rằng OP yêu cầu chức năng nguy hiểm tức thời (của đường cơ sở) hoặc một số loại ước tính được làm mịn của nó ( muhazcác gói trong R).
ECII

1
1-Xác suất sống sót không phải là nguy cơ tích lũy. Trong trường hợp không có rủi ro cạnh tranh, cả hai được kết nối như chi tiết trên en.wikipedia.org/wiki/ .
miura

1-Xác suất sống sót = Tỷ lệ thất bại (giả sử chỉ có phương pháp thất bại 1x). Mối quan hệ của Survival xác suất để nguy cơ tích lũy được nêu trong câu trả lời được chấp nhận: S(t)=exp(−Λ(t))nơi Λ(t)là nguy hiểm tích lũy.
NickBraunagel

11

Có lẽ bạn cũng muốn thử một cái gì đó như thế này? Điều chỉnh mô hình mối nguy theo tỷ lệ Cox và sử dụng mô hình này để có được đường cong Survival dự đoán cho một trường hợp mới.

Lấy ra khỏi tệp trợ giúp cho Survfit.coxph trong R (Tôi chỉ thêm phần dòng)

# 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") 

Bạn nên nhớ rằng mặc dù giả định về các mối nguy theo tỷ lệ vẫn giữ nguyên cho dự đoán của bạn, bệnh nhân mà bạn dự đoán nên thuộc một nhóm có chất lượng giống như nhóm được sử dụng để lấy ra mô hình rủi ro theo tỷ lệ Cox mà bạn đã sử dụng cho dự đoán.


6

Các basehazchức năng của survivalgói cung cấp các mối nguy hiểm với ban đầu ở thời gian sự kiện điểm. Từ đó bạn có thể làm việc theo cách toán học mà ocram cung cấp và bao gồm các OR của ước tính coxph của bạn.


2

Toàn bộ quan điểm của mô hình Cox là giả định về mức độ nguy hiểm theo tỷ lệ và việc sử dụng tỷ lệ một phần. Khả năng một phần có chức năng nguy hiểm cơ bản được loại bỏ. Vì vậy, bạn không cần chỉ định một. Đó là vẻ đẹp của nó!


2
Tuy nhiên, nếu bạn muốn có được ước tính về mức độ nguy hiểm hoặc tỷ lệ sống cho một giá trị cụ thể của vectơ đồng biến, thì bạn cần phải có ước tính về mức độ nguy hiểm hoặc tỷ lệ sống sót cơ bản. Ước tính của Nelson-Aalen thường thực hiện công việc ...
ocram

1
Thông thường với mô hình Cox, bạn đang so sánh hai chức năng sinh tồn và chìa khóa là tỷ lệ nguy hiểm thay vì chức năng nguy hiểm. Nguy cơ cơ bản giống như một tham số phiền toái mà Cox đã loại bỏ một cách khéo léo khỏi vấn đề bằng cách sử dụng giả định về các mối nguy theo tỷ lệ. Bất kỳ phương pháp nào bạn muốn sử dụng để ước tính chức năng nguy hiểm và / hoặc nguy cơ cơ bản trong bối cảnh của mô hình sẽ yêu cầu sử dụng hình thức Cox của mô hình buộc tỷ lệ.
Michael Chernick

Cảm ơn bạn rất nhiều, sẽ thật tuyệt nếu bạn thấy nhận xét của tôi về câu trả lời của ocram. Có lẽ bạn cũng có thể giúp tôi?
Marja

3
Bạn cũng có thể phân tầng các yếu tố không có mối nguy theo tỷ lệ. Nhưng với bất kỳ giá nào, mô hình Cox và công cụ ước tính sau phù hợp của nó về nguy cơ cơ bản có thể được sử dụng để có được các lượng tử dự đoán về thời gian sống, các xác suất sống sót khác nhau và dự đoán thời gian sống sót nếu bạn theo dõi lâu dài. Tất cả những số lượng rất dễ để có được trong gói R rms.
Frank Harrell

Bạn không cần chỉ định nó, nhưng nó được ước tính.
DWin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.