Saya belum bisa mendapatkan akses ke artikel Simon dan Makuch yang disebutkan di atas, tetapi setelah meneliti topik yang saya temukan:
Steven M Snapinn, Qi Jiang & Boris Iglewicz (2005) Mengilustrasikan Dampak dari Kovariat yang Bervariasi Waktu Dengan Pengukur Kaplan-Meier yang Diperpanjang , The American Statistician , 59: 4, 301-307.
Artikel itu mengusulkan plot Kaplan-Meier (KM) yang tergantung waktu dengan hanya memperbarui kohort di semua waktu acara. Itu juga mengutip artikel Simon dan Makuch karena mengusulkan ide serupa. KM reguler tidak memungkinkan ini, hanya memungkinkan pembagian yang tetap ke dalam kelompok. Metode yang diusulkan sebenarnya membagi waktu bertahan hidup sesuai dengan status kovariat - seperti yang bisa dilakukan ketika memperkirakan model Cox dengan kovariat konstan piecewise. Untuk model Cox ini adalah ide yang layak, dan yang standar. Namun, ini lebih rumit ketika melakukan plot KM. Biarkan saya ilustrasikan dengan contoh simulasi.
Mari kita asumsikan bahwa kita tidak memiliki sensor, tetapi beberapa peristiwa (misalnya, melahirkan) yang mungkin atau mungkin tidak terjadi sebelum waktu kematian. Mari kita juga mengasumsikan bahaya konstan demi kesederhanaan. Kami juga akan berasumsi bahwa melahirkan tidak mengubah bahaya kematian. Kami sekarang akan mengikuti prosedur yang ditentukan dalam artikel di atas. Artikel ini dengan jelas menyatakan bagaimana hal ini dilakukan dalam R, cukup bagi subjek Anda pada waktu melahirkan sehingga mereka konstan dalam variabel pengelompokan Anda. Kemudian gunakan formulasi proses penghitungan dalam Surv
fungsi. Dalam kode
library(survival)
library(ggplot2)
n <- 10000
data <- data.frame(id = seq(n),
preg = rexp(n, 1),
death = rexp(n, .5),
enter = 0,
per = NA,
event = 1)
data$exit <- data$death
data0 <- data
data0$exit <- with(data, pmin(preg, death))
data0$per <- 0
data0$event[with(data0, preg < death)] <- 0
data1 <- subset(data, preg < death)
data1$enter <- data1$preg
data1$per <- 1
data <- rbind(data0, data1)
data <- data[order(data$id), ]
Sfit <- survfit(Surv(time = enter, time2 = exit, event = event) ~ per, data = data)
autoplot(Sfit, censSize = 0)$plot
Saya kurang lebih membaginya "dengan tangan". Kita bisa menggunakannya survSplit
juga. Prosedur ini benar-benar memberi saya perkiraan yang sangat bagus.
Kami mendapatkan perkiraan yang hampir sama untuk kedua grup sebagaimana seharusnya. Tapi sebenarnya, simulasi saya mungkin agak tidak realistis. Katakanlah seorang wanita tidak dapat melahirkan di dua unit waktu pertama karena suatu alasan. Ini setidaknya masuk akal dalam contoh Anda: akan ada waktu antara dua kehamilan yang sesuai dengan wanita yang sama. Membuat tambahan kecil pada kode
data <- data.frame(id = seq(n),
preg = rexp(n, 1) + 2,
death = rexp(n, .5),
enter = 0,
preg = NA,
event = 1)
kami mendapatkan plot berikut:
Hal yang sama akan terjadi pada data Anda. Anda tidak akan melihat kehamilan ketiga selama setidaknya beberapa periode waktu awal, yang berarti bahwa perkiraan Anda akan 1 untuk kelompok itu dan periode waktu itu. Menurut saya ini adalah representasi data Anda yang keliru. Pertimbangkan simulasi saya. Bahaya identik, tetapi untuk setiap titik waktu per1
estimasi lebih besar dari per0
perkiraan.
Anda dapat mempertimbangkan berbagai solusi untuk masalah ini. Anda mengusulkan untuk menempelkannya bersama di beberapa titik (biarkan per1
-curve mulai dari titik tertentu pada per0
-curve). Aku suka ide ini. Jika saya melakukannya pada data simulasi, kita mendapatkan:
Dalam kasus khusus kami, saya pikir ini merupakan data yang jauh lebih baik, tetapi saya tidak tahu hasil apa pun yang dipublikasikan yang mendukung pendekatan ini. Secara heuristik, seseorang dapat menggunakan argumen yang saya sajikan dalam jawaban lain:
KM plot dengan koefisien bervariasi waktu