Ai đó có thể giải thích mô hình Cox của tôi cho tôi bằng tiếng Anh không?
Tôi đã trang bị mô hình hồi quy Cox sau cho tất cả dữ liệu của mình bằng cph
hàm này. Dữ liệu của tôi được lưu trong một đối tượng được gọi là Data
. Các biến w
, x
và y
là liên tục; z
là một yếu tố của hai cấp độ. Thời gian được tính bằng tháng. Một số bệnh nhân của tôi đang thiếu dữ liệu cho biến z
( NB : Tôi đã lưu ý đúng về đề xuất của Tiến sĩ Mitchell, bên dưới, rằng tôi áp đặt các giá trị này để tránh sai lệch mô hình của tôi và sẽ làm như vậy trong tương lai).
> fit <- cph(formula = Surv(time, event) ~ w + x + y + z, data = Data, x = T, y = T, surv = T, time.inc = 12)
Cox Proportional Hazards Model
Frequencies of Missing Values Due to Each Variable
Surv(time, event) w x y z
0 0 0 0 14
Model Tests Discrimination
Indexes
Obs 152 LR chi2 8.33 R2 0.054
Events 64 d.f. 4 g 0.437
Center 0.7261 Pr(> chi2) 0.0803 gr 1.548
Score chi2 8.07
Pr(> chi2) 0.0891
Coef S.E. Wald Z Pr(>|Z|)
w -0.0133 0.0503 -0.26 0.7914
x -0.0388 0.0351 -1.11 0.2679
y -0.0363 0.0491 -0.74 0.4600
z=1 0.3208 0.2540 1.26 0.2067
Tôi cũng đã thử kiểm tra giả định về các mối nguy theo tỷ lệ bằng cách sử dụng cox.zph
lệnh bên dưới, nhưng không biết làm thế nào để diễn giải kết quả của nó. Đặt plot()
xung quanh lệnh sẽ đưa ra một thông báo lỗi.
cox.zph(fit, transform="km", global=TRUE)
rho chisq p
w -0.1125 1.312 0.2520
x 0.0402 0.179 0.6725
y 0.2349 4.527 0.0334
z=1 0.0906 0.512 0.4742
GLOBAL NA 5.558 0.2347
Vấn đề đầu tiên
- Ai đó có thể giải thích kết quả của đầu ra trên cho tôi bằng tiếng Anh không? Tôi có một nền tảng y tế và không được đào tạo chính thức về thống kê.
Vấn đề thứ hai
Theo đề xuất của Tiến sĩ Harrell, tôi muốn xác thực nội bộ mô hình của mình bằng cách thực hiện 100 lần lặp xác thực chéo 10 lần bằng cách sử dụng
rms
gói (theo những gì tôi hiểu, điều này sẽ đòi hỏi phải xây dựng100 * 10 = 1000
các mô hình khác nhau và sau đó yêu cầu họ dự đoán thời gian tồn tại của những bệnh nhân mà họ chưa từng thấy).Tôi đã thử sử dụng
validate
chức năng, như được hiển thị.> v1 <- validate(fit, method="crossvalidation", B = 10, dxy=T) > v1 index.orig training test optimism index.corrected n Dxy -0.2542 -0.2578 -0.1356 -0.1223 -0.1320 10 R2 0.0543 0.0565 0.1372 -0.0806 0.1350 10 Slope 1.0000 1.0000 0.9107 0.0893 0.9107 10 D 0.0122 0.0128 0.0404 -0.0276 0.0397 10 U -0.0033 -0.0038 0.0873 -0.0911 0.0878 10 Q 0.0155 0.0166 -0.0470 0.0636 -0.0481 10 g 0.4369 0.4424 0.6754 -0.2331 0.6700 10
Làm thế nào để bạn thực hiện thay đổi kích thước 100x? Tôi nghĩ rằng mã trên của tôi chỉ thực hiện xác nhận chéo một lần.
Sau đó tôi muốn biết mô hình của tôi tốt như thế nào trong dự đoán. Tôi đã thử như sau:
> c_index <- abs(v1[1,5])/2 + 0.5 > c_index [1] 0.565984
Điều này có nghĩa là mô hình của tôi chỉ tốt hơn một chút so với lật một đồng xu?
Vấn đề thứ ba
Tiến sĩ Harrell chỉ ra rằng tôi đã giả định tính tuyến tính cho các hiệu ứng đồng biến và số lượng sự kiện trong mẫu của tôi chỉ đủ lớn để phù hợp với một mô hình đáng tin cậy nếu tất cả các hiệu ứng đồng biến xảy ra là tuyến tính.
- Điều này có nghĩa là tôi nên bao gồm một số loại thuật ngữ tương tác trong mô hình của mình? Nếu vậy, lời khuyên nào để đặt?
cph
đầu ra ở trên cho tôi bằng tiếng Anh đơn giản, hoặc chỉ cho tôi một tài liệu tham khảo sẽ làm như vậy. Tiến sĩ Harrell, cảm ơn rất nhiều vì sự giúp đỡ của bạn cho đến nay!