Làm thế nào để xác thực chéo với mô hình mối nguy theo tỷ lệ Cox?


15

Giả sử tôi đã xây dựng một mô hình dự đoán cho sự xuất hiện của một bệnh cụ thể trong một tập dữ liệu (tập dữ liệu xây dựng mô hình) và bây giờ muốn kiểm tra xem mô hình đó hoạt động tốt như thế nào trong một tập dữ liệu mới (tập dữ liệu xác nhận). Đối với một mô hình được xây dựng bằng hồi quy logistic, tôi sẽ tính xác suất dự đoán cho mỗi người trong bộ dữ liệu xác nhận dựa trên các hệ số mô hình thu được từ tập dữ liệu xây dựng mô hình và sau đó, sau khi phân đôi các xác suất đó ở một giá trị ngưỡng, tôi có thể xây dựng bảng 2x2 cho phép tôi tính tỷ lệ dương thực sự (độ nhạy) và tỷ lệ âm thực (độ đặc hiệu). Hơn nữa, tôi có thể xây dựng toàn bộ đường cong ROC bằng cách thay đổi điểm cắt và sau đó lấy AUC cho biểu đồ ROC.

Bây giờ giả sử rằng tôi thực sự có dữ liệu sinh tồn. Vì vậy, tôi đã sử dụng mô hình mối nguy theo tỷ lệ Cox trong bộ dữ liệu xây dựng mô hình và bây giờ muốn kiểm tra xem mô hình hoạt động tốt như thế nào trong bộ dữ liệu xác nhận. Vì rủi ro cơ bản không phải là một hàm tham số trong các mô hình Cox, tôi không thấy làm thế nào tôi có thể có được xác suất sống dự đoán cho mỗi người trong bộ dữ liệu xác nhận dựa trên các hệ số mô hình thu được trong bộ dữ liệu xây dựng mô hình. Vì vậy, làm thế nào tôi có thể kiểm tra xem mô hình hoạt động tốt như thế nào trong bộ dữ liệu xác nhận? Có phương pháp thành lập để làm điều này? Và nếu có, chúng có được thực hiện trong bất kỳ phần mềm nào không? Cảm ơn trước cho các đề nghị!

Câu trả lời:


9

Đường cong ROC không hữu ích trong cài đặt này, mặc dù khu vực ROC tổng quát (chỉ số c, không yêu cầu bất kỳ sự phân đôi nào cả). rmsGói R sẽ tính toán chỉ số c và các phiên bản được xác thực chéo hoặc bootstrap đã sửa lỗi của nó. Bạn có thể làm điều này mà không giữ lại bất kỳ dữ liệu nào nếu bạn chỉ định trước đầy đủ mô hình hoặc lặp lại thuật toán bước lùi ở mỗi mẫu. Nếu bạn thực sự muốn làm xác nhận bên ngoài, ví dụ, nếu mẫu xác nhận của bạn là rất lớn, bạn có thể sử dụng sau đây rmschức năng: rcorr.cens, val.surv.


Cảm ơn bạn đã trả lời. Bạn có thể giải thích tại sao đường cong ROC không hữu ích trong cài đặt này không? Tôi đã thấy một số ứng dụng nổi bật trong đó cách tiếp cận như vậy đã được sử dụng (ví dụ, Hippisley-Cox và cộng sự (2007). Dẫn xuất và xác nhận QRISK, một điểm số rủi ro bệnh tim mạch mới cho Vương quốc Anh: nghiên cứu đoàn hệ mở tương lai. , 335 (7611): 136), vì vậy bây giờ tôi đang tự hỏi về phương pháp của họ.
Wolfgang

1
Đây là một sự tương tự. Giả sử người ta quan tâm đến việc đánh giá sự lão hóa liên quan đến khả năng chạy. Cách tiếp cận ROC sẽ đặt câu hỏi cho khả năng chạy của ai đó xác suất họ ở trên một độ tuổi (tùy ý) nhất định là bao nhiêu? Trong một nghiên cứu đoàn hệ, nó chỉ thêm sự nhầm lẫn để đảo ngược vai trò của các biến độc lập và phụ thuộc, và các đường cong ROC cũng cám dỗ người ta cắt bỏ một yếu tố dự đoán, được biết đến là thực tiễn thống kê tồi - xem biuler.mc.vanderbilt.edu/ Liên tục . Bên cạnh việc tạo havock, các điểm cắt phải thực sự là chức năng của tất cả các dự đoán khác.
Frank Harrell

Một lần nữa, cảm ơn vì đã trả lời. Tôi không hoàn toàn bị thuyết phục mặc dù. Tôi hoàn toàn đồng ý rằng việc phân loại tùy ý một biến liên tục là thực tiễn tồi, nhưng cách tiếp cận ROC phân loại trên tất cả các điểm cắt có thể và tóm tắt thông tin đó thông qua AUC. Vì vậy, không có sự độc đoán trong đó. Nó cũng có vẻ như là một tiêu chuẩn và được chấp nhận cho các mô hình hồi quy logistic. Vì vậy, bạn chống lại việc sử dụng các đường cong ROC nói chung hay chỉ trong bối cảnh của các mô hình sinh tồn?
Wolfgang

2
X=xX>c

Kinh nghiệm của tôi cho tôi biết rằng rất nhiều nhà nghiên cứu / học viên thực sự muốn các quy tắc quyết định phân đôi (bỏ qua một bên cho dù điều đó có hữu ích hay không). Bằng mọi giá, tôi sẽ theo dõi một số chức năng R đó và xem điều này đưa tôi đến đâu. Cảm ơn đã thảo luận.
Wolfgang

0

Tôi biết rằng câu hỏi này khá cũ nhưng những gì tôi đã làm khi gặp phải vấn đề tương tự là sử dụng chức năng dự đoán để có được "điểm số" cho từng đối tượng trong bộ xác thực. Điều này được theo sau bằng cách chia các đối tượng tùy theo điểm số cao hơn hoặc thấp hơn so với trung bình và vẽ đồ thị đường cong Kaplan-Meier. Điều này sẽ hiển thị một sự tách biệt của các đối tượng nếu mô hình của bạn là dự đoán. Tôi cũng đã kiểm tra mối tương quan của điểm số (thực ra là ln [đối với phân phối bình thường]) với tỷ lệ sống bằng cách sử dụng hàm coxph từ gói sinh tồn trong R.

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.