Saya mencoba menjalankan regresi Cox pada dataset 2.000.000 sampel baris sebagai berikut hanya menggunakan R. Ini adalah terjemahan langsung dari PHREG di SAS. Sampel tersebut mewakili struktur dataset asli.
##
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
Tantangan utama adalah dalam waktu komputasi untuk dataset asli (baris 2m). Sejauh yang saya mengerti, di SAS ini bisa memakan waktu hingga 1 hari, ... tapi setidaknya selesai.
Menjalankan contoh dengan hanya 100.000 pengamatan hanya membutuhkan waktu 9 detik. Setelah itu waktu meningkat hampir secara kuadratik untuk setiap 100.000 kenaikan dalam jumlah pengamatan.
Saya belum menemukan cara untuk memparalelkan operasi (mis., Kami dapat memanfaatkan mesin 48-inti jika ini memungkinkan)
Baik
biglm
paket dari Revolution Analytics tidak tersedia untuk regresi Cox, jadi saya tidak dapat memanfaatkannya.
Apakah ada cara untuk mewakili ini dalam hal regresi logistik (yang ada paket dalam Revolusi) atau jika ada alternatif lain untuk masalah ini? Saya tahu bahwa mereka secara fundamental berbeda, tetapi ini adalah yang terdekat yang dapat saya asumsikan sebagai kemungkinan mengingat keadaan.