時間依存の共変量で生存分析を視覚化


8

時間依存の共変量を含むCox回帰のモデル提案のフォローアップとして、妊娠の時間依存の性質を説明するカプランマイヤープロットを次に示します。つまり、データセットは、妊娠の数に応じて複数の行を持つ長いデータセットに分解されます。KMグラフと拡張されたcoxモデルも、結果に対する妊娠の有益な効果を示唆しているようです。しかし、私が不思議に思っているKMグラフを見ると、最初の出生の線は1.0から始まるのでしょうか。最初の出産が与えられたときと等しいxで0出生のy値からこの行を開始する方が直感的ではないでしょうか?

編集:これについて詳しく調べたところ、通常のKMは適切ではないことがわかりました。むしろ、私は、Statonで使用されているサイモンとマクチの方法を使用する必要があります(サイモンR、マクウRW。生存とイベントの発生との関係のノンパラメトリックなグラフィカル表現:応答者対非応答者バイアスへの適用。 統計医学、1984; 3:35-44)

これがRに実装されたのを見た人はいますか?

ここに画像の説明を入力してください

回答:


6

上記のSimonとMakuchの記事にアクセスすることはできませんでしたが、見つけたトピックを調査しました。

Steven M Snapinn、Qi Jiang&Boris Iglewicz(2005)、拡張カプラン・マイヤー推定量を使用した時変共変量の影響の説明The American Statistician、59:4、301-307。

その記事では、すべてのイベント時間でコホートを更新するだけで、時間依存のカプランマイヤープロット(KM)を提案しています。また、同様のアイデアを提案したSimonとMakuchの記事も引用しています。通常のKMはこれを許可しません。グループへの固定分割のみを許可します。提案された方法は、実際には、共変量ステータスに従って生存時間を分割します-区分的に一定の共変量を使用してCoxモデルを推定する場合と同じように。Coxモデルの場合、これは実行可能なアイデアであり、標準的なものです。ただし、KMプロットを行う場合はより複雑です。シミュレーションの例で説明します。

検閲はないが、死の前に発生するかもしれないし発生しないかもしれない何らかのイベント(例えば、出産)があると仮定しましょう。簡単にするために、一定の危険も想定します。また、出産が死亡の危険を変えることはないと仮定します。上記の記事に記載されている手順に従います。記事では、これがRでどのように行われるかを明確に述べています。グループ化変数で定数になるように、出産時に被験者を分割するだけです。次に、Surv関数でカウントプロセス定式化を使用します。コードで

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

私は多かれ少なかれ「手で」それを分割しています。使用するsurvSplitこともできます。手順は実際に私に非常に素晴らしい見積もりを与えます。

バイアスなし

必要に応じて、2つのグループの推定はほぼ同じになります。しかし、実際には、私のシミュレーションはおそらく少し非現実的でした。女性が何らかの理由で最初の2つの時間単位で出産できないとしましょう。これは、あなたの例では少なくとも合理的です。同じ女性に対応する2つの妊娠の間には、しばらく時間がかかります。コードに少し追加する

data <- data.frame(id = seq(n), 
                   preg = rexp(n, 1) + 2, 
                   death = rexp(n, .5), 
                   enter = 0, 
                   preg = NA, 
                   event = 1)

次のプロットが得られます。

バイアス

データでも同じことが起こります。最初の一定期間、第3妊娠は表示されません。つまり、そのグループとその期間の推定値は1になります。これは私の意見ではあなたのデータの誤った表現です。私のシミュレーションを考えてみましょう。ハザードは同じですが、すべての時点で、per1推定値は推定値よりも大きくなりper0ます。

この問題に対するさまざまな対策を検討することができます。それらをある時点で一緒に貼り付けることを提案します(per1-curveを-curveの特定のポイントから開始しper0ます)。このアイデアが好きです。シミュレーションデータで実行すると、次のようになります。

ここに画像の説明を入力してください

私たちの特定のケースでは、これはデータをよりよく表していると思いますが、このアプローチをサポートする公開された結果は知りません。ヒューリスティックな方法では、別の回答で提示した引数を使用できます。

時変係数を使用したKMプロット


あなたの投稿を読みやすくするために少し編集しました。気に入らない場合は、謝罪して元に戻してください。
ガン-モニカの復活

0

CVでこの問題全般に関する最近の投稿があります。時間依存の共変量を使用した生存分析を説明するのに最適なグラフはどれですか。

さらに、RcmdrおよびRcmdrPlugin.EZRパッケージを使用して、RでMantel-Byar検定と付随するSimon-Makuchプロットを計算する可能性があります。

詳細なRコードを含む関連するSOの投稿を参照してください:https : //stackoverflow.com/questions/40431559/mantel-byar-test-and-simon-makuch-plot-for-survival-analysis-with-time-dependent

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.