Summary
本プロトコルは、競合するリスクモデルの識別および較正能力を評価するためのRのコード、およびその内部および外部の検証のためのコードを記述しています。
Abstract
Cox比例ハザードモデルは、臨床現場での生存分析に広く適用されていますが、複数の生存結果に対処することはできません。従来のCox比例ハザードモデルとは異なり、競合するリスクモデルは、競合するイベントの存在と、臨床医が正確な予後予測を行うための有用なツールであるノモグラム(グラフィカル計算デバイス)との組み合わせを考慮します。本研究では、競合リスクノモグラム、すなわち、その識別能力(一致指数と曲線下面積)とキャリブレーション(検量線)能力の評価、および純利益(すなわち決定曲線分析)を確立するための方法を報告する。さらに、元のデータセットのブートストラップリサンプルを使用した内部検証と、確立された競合リスクノモグラムの外部データセットを使用した外部検証も実行され、その外挿能力が実証されました。競合リスクノモグラムは、臨床医が競合するリスクを考慮して予後を予測するための有用なツールとして役立つはずです。
Introduction
近年、プレシジョン・メディシンの発展に伴い、新たな予後因子が同定され、分子的要因と臨床病理学的因子を組み合わせた予後モデルが臨床現場でますます注目されています。ただし、係数値の結果を含むCox比例ハザードモデルなどの非グラフィカルモデルは、臨床医が理解することは困難です1。比較すると、ノモグラムは、回帰モデル(Cox回帰モデル、競合リスクモデルなどを含む)の視覚化ツールであり、数学関数の近似グラフィカル計算用に設計された2次元図です2。これにより、臨床モデル内のさまざまなレベルの変数の評価と、予後を予測するためのリスクスコア(RS)の計算が可能になります。
モデル評価はモデル構築に不可欠であり、評価には識別とキャリブレーションという2つの特性が一般的に受け入れられています。臨床モデルでは、識別とは、死亡した患者と生存している患者など、イベントを発症した個人と発症しない個人を分離するモデルの能力を指し、通常、一致指数(C-index)または受信者動作特性曲線(AUC)の下の領域を使用してそれを特徴付けます3,4.キャリブレーションは、モデルの予測確率と実際の確率を比較するプロセスであり、それを表すために検量線が広く使用されています。さらに、モデルの検証(内部および外部の検証)はモデル構築の重要なステップであり、検証されたモデルのみをさらに外挿することができます5。
Cox比例ハザードモデルは、予後因子と生存状態との関連を調査するために医学研究で使用される回帰モデルです。しかし、Cox比例ハザードモデルは結果の2つのステータス[Y(0, 1)]のみを考慮しますが、被験者はしばしば2つ以上のステータスに直面し、競合するリスクが発生します[Y (0, 1, 2)]1。全生存期間(OS)は、起源(治療など)から何らかの原因による死亡日までの時間として定義され、生存分析において最も重要なエンドポイントです。しかし、OSはがん特異的死亡と非がん特異的死亡(例えば、心血管イベントやその他の無関係な原因)を区別できず、競合するリスクを無視している6。このような状況では、競合リスクを考慮した生存状態の予測には競合リスクモデルが好まれます7。Cox比例ハザードモデルの構築と検証の方法論は十分に確立されていますが、競合するリスクモデルの検証に関する報告はほとんどありません。
先行研究では、特定の競合リスクノモグラム、ノモグラムと競合リスクモデルの組み合わせ、競合リスクモデルに基づくリスクスコア推定を確立しました8。この研究は、確立された競合リスクノモグラムの評価と検証のさまざまな方法を提示することを目的としており、臨床医が予測するための有用なツールとして役立つはずです 競合するリスクを考慮して。
Subscription Required. Please recommend JoVE to your librarian.
Protocol
Surveillance, Epidemiology, and End Results(SEER)データベースは、匿名化された患者データのみを含むオープンアクセスのがんデータベースです(SEER ID:12296-Nov2018)。したがって、この研究は、浙江大学医学部附属金華病院の審査委員会の承認を免除されました。
1. データの準備と R パッケージの準備
- データを準備してインポートします。
> データセット <- read.csv(".../Breast cancer Data.xlsx") #Import データ。
注:データは 補足ファイル1にアップロードされます。 - R パッケージをインストールして読み込みます。
> パッケージ <- c("rms","cmprsk","mstate","survival","riskRegression","
プロドリム」)
> req.pcg <- function(pcg){
新しい<- PCG[!(pcg %in% installed.packages()[, "Package"]]
if (length(new)) install.packages(new, dependencies = T)
sapply(pcg, require, ch = T)
}
> req.pcg(パッケージ)
注: R ソフトウェア (バージョン 3.6.2) に基づいて、rms、 cmprsk、 mstate、 survival、 riskRegression、および prodlim (http://www.r-projectrg/) パッケージを使用して、次の手順を実行します。
2. 競合するリスクノモグラムを2つの異なる方法で確立する
- 競合するリスクノモグラムを直接法で確立します。
> mod_cph <- cph(Surv(生存月数、ステータス)~ファクター1+ ファクター2+...、
x=T, y=T, surv=T, data=Dataset)
> nom <- nomogram(mod_cph, fun=list(function(x) 1-surv_cph(36, x)...),
funlabel=c("3 年 event1 Prob."...)、lp = F) #Take 例として36か月目です。
> mod_crr <- crr(サバイバル月、ステータス、フェイルコード= 1、cov1 = cov)
> スコア <- log(log((1-real.3y),(1-cif.min36))))/(maxbeta/100)
>プロット(名目) - 重み付けされた方法で競合するリスクノモグラムを確立します。
> df.w <- crprep("Survivalmonths"", fstatus",
データ=データセット, トランス=c(1,2), cens=0,
keep=c("factor1"," factor2"...))
> mod.w <- cph(Surv(Tstart, Tstop, status==1) ~ factor1+factor2+...,
data=df.w, weight=weight.cens, subset=failcode==1, surv=T)
> nom.w <- nomogram(mod.w...)
3. 競合リスクノモグラムの識別能力
- 識別のためのCインデックス
- 行列 cov を競合するリスクモデル mod_crr に適合させ、予測行列 suvを取得します。
> SUV <- predict.crr(mod_crr, cov) - suv から特定の月の累積発生率を取得し、関数 rcorr.censを使用して C インデックスを計算します。
> CIF36 <- SUV[which(suv[,1]==36),][-1]
> rcorr <- rcorr.cens(1-cif36,Surv(Dataset$Survivalmonths,Dataset$tumordeath))
> CINDEX <- rcorr[1]
- 行列 cov を競合するリスクモデル mod_crr に適合させ、予測行列 suvを取得します。
- 差別のためのAUC
- 関数 Score (riskRegression パッケージ) を使用して、競合するリスク モデルの予測パフォーマンスをスコアリングします。
> fgr.w <- FGR(Hist(生存月数, fstatus) ~ 因子1+ 因子2+..., データ=データセット, 原因=1)
>スコア<-スコア(リスト("ファイングレー" = fgr.w), - 「スコア」からAUCを抽出します。
>スコア$AUC
- 関数 Score (riskRegression パッケージ) を使用して、競合するリスク モデルの予測パフォーマンスをスコアリングします。
4. 競合するリスクモデルの較正能力
- 競合リスクモデルの95%信頼区間を持つ検量線
- 特定の故障時間における各個人の累積発生率を含むデータフレームを取得します。
> cif36 <- data.frame(cif36) #Take 例として 36 か月目です。
> colnames(cif36.36_o)<-c("36m") - 推定累積発生率に従ってコホートを5つのサブグループに分割し、各サブグループの平均予測累積発生率を計算します。
>グループ36<カット(CIF36$'36M'、
分位点(CIF36$'36M', seq(0, 1, 0.2)),
インクルード.最低 = TRUE、ラベル = 1:5)
> mean36 <- as.vector(by(cif36 $'36m', group36, mean)) - 関数 cuminc を使用して観測された累積発生率、つまり実際の累積発生率を計算し、特定の故障時間に 95% の信頼区間で観測された累積発生率を取得します。
> cum36 <- cuminc(Dataset$Survivalmonths,Dataset$fstatus,group36)
> obs36 <- timepoints(cum36,Dataset$Survivalmonths)$est[c(1:5),36]
> obs36var <- timepoints(cum36,Dataset$Survivalmonths)$var[c(1:5),36]
> DF <- data.frame(mean36, obs36, obs36var) - 関数 ggplotを使用して、予測累積発生率をx軸、観測された累積発生率をy軸として検量線をプロットします。
> ggplot(df)+ geom_point(aes(x=mean36,y=obs36),col="red")+
geom_point(aes(x=mean36,y=obs36),col="red",pch=4)+
geom_line(col="red",aes(x=mean36,y=obs36))+
geom_errorbar(col="red",aes(x=mean36,y=obs36+1.96
*sqrt(obs36var)),
ymin = obs36-1.96*sqrt(obs36var), ymax = obs36+1.96
*sqrt(obs36var))
geom_abline(lty=3,lwd=2,col=c(rgb(0,118,192,
最大カラー値= 255)))
- 特定の故障時間における各個人の累積発生率を含むデータフレームを取得します。
- 競合するリスクモデルのリスクスコアを含む検量線
- すべての変数の各水準を評価し、合計RSを取得します。
> Dataset$factor1[Dataset$factor1==1] <- factor1.scale["Factor1_level1"]
> ... #For 例: Dataset$histology[Dataset$histology==1]<-histology.scale["histology1"]
> Dataset$rs <- Dataset$factor1+Dataset$factor2+Dataset$factor3+...
注:各変数の点を合計して、各患者の合計RSを取得します。 - 頻度をカウントし、さまざまな合計リスクスコアの観測された累積発生率を計算します。
> rs.freq <- as.data.frame(table(Dataset$rs))
> obs.36 <- vector(mode="numeric", length=nrow(rs.freq))
> for (i in 1: nrow(rs.freq)) {
データセット <- サブセット(Dataset,Dataset$rs== rs.freq [i,1])
cif.dataset <- cuminc(dataset$Survivalmonths,dataset$death3)
CIF36.データセット <- タイムポイント(CIF.データセット,36)
obs.36[i] <- cif36.dataset$est[1]} - X 軸の範囲を設定し、合計リスク スコアの予測累積発生率を計算します。
> RS <- 範囲(nom$total.points)
> x.36 <- seq(min(rs),max(RS),0.01)
> 36 より前 <- 1-(1-CIF.min36)^exp(x.36*maxbeta/100) - リスクスコアを含む検量線をプロットします。
> プロット(x.36, pre.36, type='l'...)
> par(new=TRUE)
> plot(as.vector(rs.freq[,1]), obs.36...)
- すべての変数の各水準を評価し、合計RSを取得します。
5. 競合リスクモデルの決定曲線分析
- stdca 関数をソースにして、決定曲線分析を実行します。
> source("stdca.R") - ノモグラムから多項式方程式を抽出して、生存確率を計算します。
> ノモグラムEx(ノモ=ノム)
> データセット$予測変数 <- A * (データセット$rs ^3) + B * (データセット$rs ^2) + C * データセット$rs + D #predictors は、確立されたノモグラムによって計算されたがん特異的死亡の予測確率です - ディシジョンカーブ分析を実行します。
> stdca(data = Dataset, result = "status", ttresult = "Survivalmonths", timepoint = 36,
予測変数 = "予測変数", cmprsk = 真, 平滑 = 偽, 確率 = 偽)
注: 競合するリスクが存在する場合に結果を評価するには、 cmprsk に対して TRUE を選択する必要があります。
6. ブートストラップ方式による内部バリデーション
- ブートストラップ法を使用して、予測される平均累積発生率を取得します。
- 元のデータセット (Dataset) を replace でリサンプリングして、ブートストラップ データセット (Dataset_in) を生成します。ブートストラップデータセットを使用して競合リスクモデル(mod.in_crr)を確立します。 関数 predict.crr を使用してmod.in_crrを予測し 、 b 回ループして suvall.in を生成します。
B=b
suvall.in <- リスト()
for(j in 1:B){
Dataset_in <- Dataset[sample(c(1:nrow(Dataset))),nrow(Dataset),
置換 = TRUE),]
アタッチ(Dataset_インチ)
cov.in <- model.matrix(~factor1+ factor2+...)[,-1]
モッズ。in _crr <- crr(Survivalmonths, fstatus, failcode = 1, cov1=cov.in)
デタッチ(データセット内部)
スーブ。in <- predict.crr(mod. in _crr, cov)
suvall.in[[j]] <- suv.in} - 特定の月の平均予測累積発生率を取得します。
CIF36すべて。 内部 <ベクトル(モード="数値", 長さ=nrow(データセット))
for (k in 1:B) {
CIF36すべて。内部< - CIF36すべて。インナー+スバル。inner[[k]][which(suvall. inner[[k]][,1]==36),][-1]
}
cif36.in <- cif36all.in/B
- 元のデータセット (Dataset) を replace でリサンプリングして、ブートストラップ データセット (Dataset_in) を生成します。ブートストラップデータセットを使用して競合リスクモデル(mod.in_crr)を確立します。 関数 predict.crr を使用してmod.in_crrを予測し 、 b 回ループして suvall.in を生成します。
- 関数 rcorr.censによる内部交差検証を使用してCインデックスを計算します。
rcorr.inner <- rcorr.cens(1-cif36.in,Surv(Dataset$Survivalmonths,Dataset$tumordeath))
cindex.インナー<-rcorr。インナー[1] - 交差内部検証を使用して校正します。
注:内部検証を伴う競合リスクモデルの検量線のコードはセクション4のコードと同様ですが、 SUV は suv.in に置き換えられました。
7. 競合リスクモデルの外部検証
- 外部データを使用して予測された累積発生率を取得します。外部データ変数の行列 (cov.ex) を使用して、予測された累積発生率を取得します。
suv.ex <- predict.crr(mod_crr,cov.ex)
cif36.ex <- suv.ex [which(suv.ex $time=="36"),][-1] - 外部検証を使用して C インデックスを計算します。
rcorr.ex <- rcorr.cens(1-cif36.ex,Surv(Dataset.ex$Survivalmonths,Dataset.ex$tumordeath))
cindex.ex <- rcorr.ex[1] - 外部検証を使用して調整します。
注:内部検証を伴う競合リスクモデルの検量線のコードはセクション4のコードと同様ですが、 suv は suv.exに置き換えられています。
Subscription Required. Please recommend JoVE to your librarian.
Representative Results
本研究では、SEERデータベースから乳がん患者のデータを取得し、サンプルデータとして提供した。SEERデータベースは、米国の人口の約34.6%を占めるがんに関するデータを提供し、データベースにアクセスする許可を得ました(参照番号12296-Nov2018)。
組織型,分化グレード,T期,N期を含む2つのノモグラム(図1)を,それぞれ直接法と重み付け法を用いて樹立した。変数の各水準の点と合計点に対応する確率はほぼ同じでしたが、わずかな違いが見られました。Zhangらは、競合するリスクノモグラムを確立するための「重み付け」アプローチを導入し、最初に元のデータを重み付きデータに変換し(関数 crprepを使用)、次に重み付きデータを使用してCox回帰モデルを構築し(関数 coxphを使用)、最後にCox回帰モデルを使用して競合するリスクノモグラムを確立しました(関数 ノモグラムを使用)9.対照的に、この研究の「直接」アプローチは、「重み付け」アプローチとはまったく異なります。要するに、競合リスクモデル(関数 crrを使用)から生成されたパラメータは、Cox回帰モデル(関数 coxphを使用)のパラメータを置き換え、最終的に競合リスクノモグラムを確立するために使用されました(関数 ノモグラムを使用)。「重み付け」法と「直接」法によって確立されたノモグラムの比較では、2つのノモグラムは一般的に類似していましたが、わずかな違いが見られました。この研究における「直接」法は、ノモグラムを構築するためのパラメータを直接取得するため、より正確です(セクション2の「score=log(log((1-real.3y),(1-cif.min36))))/(maxbeta/100)」という式を使用します)。
rcorr.cens(X, Surv) では、X は任意の時点での累積発生率を持つ数値予測変数であり、Surv は生存月と状態を含む生存オブジェクトです。Survが競合する事象を経験している患者を打ち切りと定義し、生命表を生成する場合、評価可能な順序ペアは同一です。検証なしの競合リスクモデルのCインデックスは0.7978(95%CI = 0.7650-0.8305)であり、このモデルが中程度の識別能力を有することが示された。ブートストラップ分析を500回繰り返し、500の結果を平均して、Cインデックスを計算するための単一の推定値を作成しました。内部検証のCインデックスは0.7978(95%CI = 0.7651-0.8305)であり、元のデータセットのCインデックスと同様でした。外部データセットを競合リスクモデルに適合させ、外部検証のCインデックスは0.5071(95%CI = 0.4637-0.5505)であった。競合するリスクモデルのAUCは、研究の元のデータセットから計算されました。36か月目のAUCは0.8461(95%CI = 0.8232-0.8691)であり、モデルの識別能力を示しています。
図2Aに示すように、検量線上の点は等価線に近く、観測された頻度の95%CIは各グループで等価線に収まり、モデルの正確な校正能力を示しています。内部バリデーションと外部バリデーションを用いた検量線をそれぞれ図2Bと図2Cに示しており、構築されたモデルは内部バリデーションでは良好なキャリブレーション能力を有し、外部バリデーションでは劣悪であった。
補足図1に示すように、観測された累積発生率を表す点は、予測累積発生率を表す線の周りに分布し、観測された累積発生率と予測された発生率の間に有意差は観察されませんでした。決定曲線分析の結果を図3に示し、閾値確率の増加に伴う純利益の変化を示しています。
図1:2つの方法による競合リスクノモグラムの確立 。 (A)直接法を用いて確立されたノモグラム。(B)重み付け法を使用して確立されたノモグラム。組織学:1、浸潤性乳管癌;2、浸潤性小葉癌;3、浸潤性乳管癌+浸潤性小葉癌。グレード:1、よく区別されています。2、適度に分化。3、差別化が不十分。Tステージ:1、T1ステージ;2、T2ステージ;3、T3ステージ;4、T4ステージ。Nステージ:0、N0ステージ;1、N1ステージ;2、N2ステージ;3、N3ステージ。略語:CSD =がん特異的死亡。 この図の拡大版を表示するには、ここをクリックしてください。
図2:競合リスクノモグラムの検量線 。 (A)確立された競合リスクモデルの信頼区間を含む検量線。(B)内部検証における競合リスクモデルの検量線。(C)外部検証における競合リスクモデルの検量線。 この図の拡大版を表示するには、ここをクリックしてください。
図3:競合リスクノモグラムの決定曲線分析。 正味利益は、しきい値確率に対してプロットされます。「all」行は、がん特異的死亡を患ったすべての患者を考慮した場合の純利益を示し、「none」行は、がん特異的死亡を患わなかったすべての患者を考慮した場合の純利益である。 この図の拡大版を表示するには、ここをクリックしてください。
補足ファイル1:乳がんデータ。 タイトル定義:グレード変更、差別化されたグレード。組織学、組織型;ステージT、腫瘍Tステージ;ステージN、腫瘍Nステージ;生存月、治療日から何らかの原因または検閲による死亡日までの時間。死亡、死亡(がん特異的死亡および非がん特異的死亡を含む)または検閲;死亡3、がん特異的死亡、非がん特異的死亡、または検閲。 このファイルをダウンロードするには、ここをクリックしてください。
補足図1:確立された競合リスクモデルのリスクスコアを含む検量線。 観測された累積発生率を表すポイントは、予測された累積発生率を表す線の周りに分布しました。 このファイルをダウンロードするには、ここをクリックしてください。
Subscription Required. Please recommend JoVE to your librarian.
Discussion
本研究では、2つの異なる方法で確立された競合するリスクノモグラムを比較し、確立されたノモグラムの評価と検証を実施しました。具体的には、この研究では、直接法に基づいてノモグラムを確立するためのステップバイステップのチュートリアルを提供し、Cインデックスを計算し、検量線をプロットしました。
Rソフトウェアのrmsパッケージは、Cox比例ハザードモデルの構築と評価に広く使用されていますが、競合するリスクモデルには適用されません。複数の結果を持つモデルについて、Zhangらは、識別能力を評価するためにAUCとBrierスコアを計算し、較正能力を検証するために検量線をプロットする、RソフトウェアのriskRegressionパッケージを使用して競合するリスクモデルの検証を報告しました9,10。
ただし、riskRegression パッケージには、C インデックスの計算に失敗するなど、いくつかの欠点があります。C-index は、すべての評価可能な順序付きペアにおける一致した評価可能な順序付きペアの割合です (C-Index = 一致した評価可能な順序付きペア/すべての評価可能な順序付きペア)3,11。従来の2ステータスアウトカム生存分析では、2人の患者が両方とも死亡したペア(Di = 1、Dj = 1)または死亡した患者が失敗した患者よりも生存期間が短いペアのみが、評価可能な順序付きペア(Di = 1、Dj = 0、Ti < Tj)になることができます(i =患者i、j =患者j、T =時間、 D = ステータス、1 = 死亡、0 = 失敗)。競合するリスクのコンテキストでは、競合するリスクから失敗した患者は、競合するイベントを経験している患者の生存月数が観察されたよりも長いと推測することしかできないため、リスクセットにとどまります。さらに、2人の患者が両方とも死亡した(Di = 1、Dj = 1)ペア、または死亡した患者が失敗した患者または競合するイベントを経験した患者よりも生存期間が短いペアのみが、評価可能な順序付きペア(Di = 1、Dj = 0|2、Ti < Tj)になることができます(i =患者i、j =患者j、T =時間、 D = ステータス、2 = 競合イベント、1 = 死亡、0 = 失敗)。したがって、この研究では、関数rcorr.censを使用してCインデックスを計算しました。
競合リスクモデルの内部検証では、ブートストラップ法を適用し、構築されたモデルの良好なパフォーマンスを示しました12。トレーニングデータセットとテストデータセットへのランダム化された分割は、テストデータセットの予測が特に簡単(または難しい)である可能性が高いため、問題が発生する可能性があります13。K分割法は交差検証にも使用できますが、モデル検証ではあまり適用されていません5,14。この研究では、競合するリスクモデルの外部検証も実施しましたが、外部コンテキストではうまく機能しませんでした。これは、外部検証に使用されたデータが元のデータの単なる再サンプルであったという事実に起因する可能性があります。
ただし、この研究にはいくつかの制限があります。まず、私たちの方法論はRソフトウェアに基づいています。したがって、ユーザーは特定のプログラミング知識を必要とし、ターゲットオーディエンスを制限する可能性があります。さらに、数百行のコードがあり、一部のコードではデータごとに変更が必要です。今後の研究では、あらゆるデータに適用できる「オールインワン」のRパッケージを開発したいと考えています。この研究では、外部検証を行うための他の乳がんデータがなく、元のデータからリサンプリングするしかありませんでしたが、外部検証の方法とコードは同じです。最も重要なことは、共変量と研究で想定された結果の間の線形性は、実際の研究では当てはまらない可能性があり、相互作用と非線形性を考慮する必要があり、アンサンブルモデリングが役立つ可能性があります15。
結論として、この研究は「直接」法で競合するリスクノモグラムを確立し、元の、内部、および外部のデータセットでその識別とキャリブレーション能力を評価しました。競合するリスクノモグラムが、Rの riskRegression パッケージの補足として機能し、臨床的に競合するリスクイベントの処理を支援することが期待されています。
Subscription Required. Please recommend JoVE to your librarian.
Disclosures
著者は、競合する利益がないことを宣言します。
Acknowledgments
この研究は、浙江省の医療科学技術計画プロジェクト(助成金番号2013KYA212)、浙江省自然科学財団の一般プログラム(助成金番号Y19H160126)、および金華市科学技術局の主要プログラム(助成金番号2016-3-005、2018-3-001d、および2019-3-013)からの助成金によって支援されました。
Materials
Name | Company | Catalog Number | Comments |
R software | None | Not Applicable | Version 3.6.2 or higher |
Computer system | Microsoft | Windows 10 | Windows 10 or higher |
References
- Andersen, P. K., Gill, R. D. Cox's regression model for counting processes: A large sample study. The Annals of Statistics. 10 (4), 1100-1120 (1982).
- Lubsen, J., Pool, J., vander Does, E. A practical device for the application of a diagnostic or prognostic function. Methods of Information in Medicine. 17 (2), 127-129 (1978).
- Harrell, F. E., Lee, K. L., Mark, D. B. Multivariable prognostic models: Issues in developing models, evaluating assumptions and adequacy, and measuring and reducing errors. Statistics In Medicine. 15 (4), 361-387 (1996).
- Hung, H., Chiang, C. -T. Estimation methods for time-dependent AUC models with survival data. The Canadian Journal of Statistics / La Revue Canadienne de Statistique. 38 (1), 8-26 (2010).
- Moons, K. G. M., et al. Risk prediction models: I. Development, internal validation, and assessing the incremental value of a new (bio)marker. Heart. 98 (9), 683-690 (2012).
- Fu, J., et al. Real-world impact of non-breast cancer-specific death on overall survival in resectable breast cancer. Cancer. 123 (13), 2432-2443 (2017).
- Fine, J. P., Gray, R. J. A proportional hazards model for the subdistribution of a competing risk. Journal of the American Statistical Association. 94 (446), 496-509 (1999).
- Wu, L., et al. Establishing a competing risk regression nomogram model for survival data. Journal of Visualized Experiments. (164), e60684 (2020).
- Zhang, Z., Geskus, R. B., Kattan, M. W., Zhang, H., Liu, T. Nomogram for survival analysis in the presence of competing risks. Annals of Translational Medicine. 5 (20), 403 (2017).
- Zhang, Z. H., et al. Overview of model validation for survival regression model with competing risks using melanoma study data. Annals Of Translational Medicine. 6 (16), 325 (2018).
- Newson, R. Confidence intervals for rank statistics: Somers' D and extensions. Stata Journal. 6 (3), 309-334 (2006).
- Davison, A. C., Hinkley, D. V., Schechtman, E.
Efficient bootstrap simulation. Biometrika. 73 (3), 555-566 (1986). - Roecker, E. B. Prediction error and its estimation for subset-selected models. Technometrics. 33 (4), 459-468 (1991).
- Steyerberg, E. W., Harrell, F. E. Prediction models need appropriate internal, internal-external, and external validation. Journal of Clinical Epidemiology. 69, 245-247 (2016).
- Zhang, Z., Chen, L., Xu, P., Hong, Y. Predictive analytics with ensemble modeling in laparoscopic surgery: A technical note. Laparoscopic, Endoscopic and Robotic Surgery. 5 (1), 25-34 (2022).