Main Content

plotSurvival

コックス比例ハザード モデルの生存時間関数のプロット

説明

plotSurvival(coxMdl) は、コックス比例ハザード モデル coxMdl のベースライン生存時間関数をプロットします。時間 t における生存時間関数は、時間 t までの生存の推定確率です。"ベースライン" という用語は、予測子の決まったベースラインにおける生存時間関数を意味します。この値は coxMdl.Baseline に格納され、既定値は学習に使用されたデータ セットの平均です。

plotSurvival(coxMdl,X) は、予測子が X 内の値をもつときの生存時間関数をプロットします。プロットには X の行ごとに 1 つのラインが含まれます。

plotSurvival(coxMdl,X,Stratification) は、与えられた階層化変数 Stratification の値についての生存時間関数をプロットします。Stratification には X の行ごとに 1 つの行が必要です。

メモ

階層化変数を使用して coxMdl に学習させ、予測子変数 X を渡す場合は、plotSurvival に階層化変数も渡さなければなりません。

plotSurvival(coxMdl,ax,___) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、指定されたグラフィックス座標軸 ax でプロットします。

plotSurvival(___,'Time',T) は、T でリストされた時間における生存時間関数をプロットします。

graphics = plotSurvival(___) は、Stair グラフィックス オブジェクトの配列を返します。Stair のプロパティを参照してください。

すべて折りたたむ

電球の寿命のシミュレーション データが格納された lightbulb データ セットでコックス比例ハザード回帰を実行します。電球データの 1 列目には 2 種類の電球の寿命 (時間単位) が含まれています。2 列目には電球が蛍光灯と白熱灯のどちらであるかを示すバイナリ変数が含まれています。0 は電球が蛍光灯であることを示し、1 は白熱灯であることを示します。3 列目には打ち切り情報が含まれています。0 は電球が故障するまで観測されたことを示し、1 は観測が打ち切られたことを示します。

電球の寿命について、打ち切りを考慮してコックス比例ハザード モデルを当てはめます。予測子変数は電球のタイプです。

load lightbulb
coxMdl = fitcox(lightbulb(:,2),lightbulb(:,1), ...
    'Censoring',lightbulb(:,3));

ベースライン生存時間関数を時間 t の関数としてプロットします。これは、時間 t の後に電球が故障する確率を意味します。既定では、予測子の平均についてベースラインが計算され、この場合は mean(lightbulb(:,2)) = 0.5 です。

plotSurvival(coxMdl)

Figure contains an axes object. The axes object with title Estimated Survival Probability contains an object of type stair. This object represents Baseline.

蛍光灯電球 (予測子 = 0) と白熱灯電球 (予測子 = 1) の生存確率をプロットします。

plotSurvival(coxMdl,[0;1])

Figure contains an axes object. The axes object with title Estimated Survival Probability contains 2 objects of type stair. These objects represent X=0, X=1.

生存をプロットせずに計算するには、survivalを使用します。

coxModel データを読み込みます (これはコックス比例ハザード モデル オブジェクトの例で生成されるシミュレーション データです)。coxMdl という名前のモデルには、階層化レベルが 3 つ (1、2、および 3) と 3 つのカテゴリカル値 (1、1/20、および 1/100) をもつ予測子 X が含まれています。

load coxModel

3 つの階層化レベルの X = 1 の生存をプロットします。

c1 = categorical(1);
X = [c1;c1;c1];
stratification = [1;2;3];
plotSurvival(coxMdl,X,stratification)
xlim([1,30])

Figure contains an axes object. The axes object with title Estimated Survival Probability contains 3 objects of type stair. These objects represent X=1, Stratification=1, X=1, Stratification=2, X=1, Stratification=3.

coxModel データを読み込みます (これはコックス比例ハザード モデル オブジェクトの例で生成されるシミュレーション データです)。coxMdl という名前のモデルには、階層化レベルが 3 つ (1、2、および 3) と 3 つのカテゴリカル値 (1、1/20、および 1/100) をもつ予測子 X が含まれています。

load coxModel

生存のプロットのプログラムによる編集を有効にするには、座標軸を作成します。

h = figure;
axes1 = axes('Parent',h);

X の予測子の値 categorical(1) と階層化レベル 3 についての生存時間関数をプロットします。この階層化レベルは一定のハザード率を表します。したがって、対数スケールでは、結果の生存のプロットは直線に近くなるはずです。時間 1 ~ 30 についてプロットします。

oo = categorical(1);
plotSurvival(coxMdl,axes1,oo,3,'Time',linspace(1,30,300));
axes1.YScale = 'log';

Figure contains an axes object. The axes object with title Estimated Survival Probability contains an object of type stair. This object represents X=1, Stratification=3.

入力引数

すべて折りたたむ

当てはめたコックス比例ハザード モデル。CoxModel オブジェクトとして指定します。coxMdl の作成には fitcox を使用します。

モデルの予測子。coxMdl の学習に使用された型と同じ型の予測子の配列として指定します。X の各行が 1 つの予測子のセットを表します。

データ型: double | table | categorical

階層化レベル。coxMdl の学習に使用された型と同じ型の変数として指定します。Stratification には X と同じ数の行を指定します。

データ型: single | double | logical | char | string | table | cell | categorical

プロットの座標軸。グラフィックス axes オブジェクトとして指定します。

生存推定値の時間。実数ベクトルとして指定します。plotSurvival は、必要に応じて、指定された時間を並べ替えて列ベクトルに変換します。結果の値は学習データの時間から線形に内挿されます。

例: 0:40

データ型: double

バージョン履歴

R2021a で導入