Tôi đang cố gắng chạy hồi quy Cox trên bộ dữ liệu 2.000.000 hàng mẫu như sau chỉ sử dụng R. Đây là bản dịch trực tiếp của PHREG trong SAS. Mẫu là đại diện cho cấu trúc của bộ dữ liệu ban đầu.
##
library(survival)
### Replace 100000 by 2,000,000
test <- data.frame(start=runif(100000,1,100), stop=runif(100000,101,300), censor=round(runif(100000,0,1)), testfactor=round(runif(100000,1,11)))
test$testfactorf <- as.factor(test$testfactor)
summ <- coxph(Surv(start,stop,censor) ~ relevel(testfactorf, 2), test)
# summary(summ)
##
user system elapsed
9.400 0.090 9.481
Thách thức chính là trong thời gian tính toán cho bộ dữ liệu gốc (2m hàng). Theo như tôi hiểu, ở SAS, việc này có thể mất tới 1 ngày, ... nhưng ít nhất nó cũng kết thúc.
Chạy ví dụ chỉ với 100.000 quan sát chỉ mất 9 giây. Sau đó, thời gian tăng gần như bậc hai cho mỗi 100.000 gia tăng số lượng quan sát.
Tôi chưa tìm thấy bất kỳ phương tiện nào để song song hóa hoạt động (ví dụ: chúng ta có thể tận dụng máy 48 lõi nếu điều này là có thể)
Không
biglm
có bất kỳ gói nào từ Revolution Analytics có sẵn cho hồi quy Cox và vì vậy tôi không thể tận dụng các gói đó.
Có một phương tiện nào để thể hiện điều này theo phương pháp hồi quy logistic (trong đó có các gói trong Cách mạng) hoặc nếu có bất kỳ giải pháp thay thế nào khác cho vấn đề này? Tôi biết rằng về cơ bản chúng khác nhau, nhưng đó là khả năng gần nhất mà tôi có thể cho là hoàn cảnh.