ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coxphfit

コックス比例ハザード回帰

構文

  • b = coxphfit(X,T)
  • b = coxphfit(X,T,Name,Value)
  • [b,logl,H,stats] = coxphfit(___)

説明

b = coxphfit(X,T) は、n 行 p 列の行列 X の予測子上にある、n 行 1 列のベクトル T において観察された応答のコックス比例ハザード回帰に対する係数推定値の p 行 1 列のベクトル b を返します。

このモデルには定数項がありません。また、X には 1 で構成される列を含めることはできません。

b = coxphfit(X,T,Name,Value) は、1 つまたは複数の Name,Value ペア引数で指定された追加オプションで、係数推定値のベクトルを返します。

また、[b,logl,H,stats] = coxphfit(___) は、対数尤度 logl、追加の統計を含む stats 構造体、最初の列に T 値、2 番目の列に推定ベースライン累積ハザードを含む 2 列の行列 H を返します。前の構文の入力引数のいずれかを使用できます。

すべて折りたたむ

電球の寿命

標本データが含まれたフォルダーに移動します。

cd(matlabroot)
cd('help/toolbox/stats/examples')

標本データを読み込みます。

load lightbulb

電球データの 1 列目には 2 種類の電球の寿命 (時間単位) が含まれています。2 列目には、電球が蛍光灯か白熱灯であるかを示すバイナリ変数が含まれています。0 は電球が白熱灯であることを示し、1 は蛍光灯であることを示します。3 列目には打ち切り情報が含まれます。ここで、0 は電球が故障するまで観測されたことを示し、1 は電球が打ち切られたことを示します。

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

b = coxphfit(lightbulb(:,2),lightbulb(:,1),...
'censoring',lightbulb(:,3))
b =

    4.7262

ハザード率の推定値は exp(b) = 112.8646 です。つまり、白熱灯電球のハザードは、蛍光灯電球のハザードの 112.86 倍であることを意味します。

アルゴリズム パラメーターを変更する

標本データが含まれたフォルダーに移動します。

cd(matlabroot)
cd('help/toolbox/stats/examples')

標本データを読み込みます。

load lightbulb

データの 1 列目には 2 種類の電球の寿命 (時間単位) が含まれています。2 列目には、電球が蛍光灯か白熱灯であるかを示すバイナリ変数が含まれています。0 は電球が白熱灯であることを示し、1 は蛍光灯であることを示します。3 列目には打ち切り情報が含まれます。ここで、0 は電球が故障するまで観測されることを示し、1 はアイテム (電球) が打ち切られることを示します。

コックス比例ハザード モデルを近似し、打ち切りも考慮します。予測子変数は電球のタイプです。

b = coxphfit(lightbulb(:,2),lightbulb(:,1),...
'censoring',lightbulb(:,3))
b =

    4.7262

coxphfit で係数の推定に使用するアルゴリズムの既定の制御パラメーターを表示します。

statset('coxphfit')
ans = 

          Display: 'off'
      MaxFunEvals: 200
          MaxIter: 100
           TolBnd: 1.0000e-06
           TolFun: 1.0000e-08
       TolTypeFun: []
             TolX: 1.0000e-08
         TolTypeX: []
          GradObj: []
         Jacobian: []
        DerivStep: []
      FunValCheck: []
           Robust: []
     RobustWgtFun: []
           WgtFun: []
             Tune: []
      UseParallel: []
    UseSubstreams: []
          Streams: {}
        OutputFcn: []

オプションを異なる名前で保存し、結果の表示方法と最大反復回数 (Display および MaxIter) を変更します。

coxphopt = statset('coxphfit');
coxphopt.Display = 'final';
coxphopt.MaxIter = 50;

新しいアルゴリズム パラメーターを使用して coxphfit を実行します。

b = coxphfit(lightbulb(:,2),lightbulb(:,1),...
'censoring',lightbulb(:,3),'options',coxphopt)
Successful convergence: Norm of gradient less than OPTIONS.TolFun

b =

    4.7262

coxphfit は、最後の反復に関するレポートを表示します。最大反復回数を変更しても、係数推定値には影響しません。

コックスおよびワイブル生存時間関数を近似し、比較する

予測子 X に依存するワイブル データを生成します。

rng('default') % for reproducibility
X = 4*rand(100,1);
A = 50*exp(-0.5*X); 
B = 2;
y = wblrnd(A,B); 

応答値は、予測子変数 X とスケール パラメーター 2 によって変化する形状パラメーターをもつワイブル分布から生成されます。

コックス比例ハザード モデルを近似します。

[b,logL,H,stats] = coxphfit(X,y);
[b logL]
ans =

    0.9409 -331.1479

係数推定値は 0.9409 で、対数尤度値 は –331.1479 です。

モデル統計を要求します。

stats
stats = 

    covb: 0.0158
    beta: 0.9409
      se: 0.1256
       z: 7.4889
       p: 6.9462e-14

係数推定値の共分散行列 covb に含まれる 1 つの値は、この例の係数推定値の分散と等しくなります。係数推定値 betab と同じで、0.9409 になります。係数推定値の標準誤差 se は 0.1256 で、分散 0.0158 の平方根になります。z 統計量 z は、beta/se = 0.9409/0.1256 = 7.4880 です。p 値 p は、X の効果が有意であることを示します。

ベースライン生存時間関数のコックス推定値を既知のワイブル関数と共にプロットします。

stairs(H(:,1),exp(-H(:,2)),'LineWidth',2)
xx = linspace(0,100);
line(xx,1-wblcdf(xx,50*exp(-0.5*mean(X)),B),'color','r','LineWidth',2)
xlim([0,50])
legend('Estimated Survivor Function','Weibull Survivor Function')

近似モデルによって、実際の分布の生存時間関数に近い推定値が示されます。

関連する例

入力引数

すべて折りたたむ

X — 予測子変数に関する観測行列

予測子変数に関する観測値。n 個の観測値のそれぞれについて p 個の予測子の n 行 p 列の行列として指定します。

このモデルには定数項がないため、X には 1 で構成される列を含めることはできません。

データ型: single | double

T — イベントまでの時間データベクトル

イベントが発生するまでの時間データ。n 行 1 列のベクトルとして指定します。

データ型: single | double

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順番で指定できます。

例: 'baseline',0,'censoring',censoreddata,'frequency',freq の指定により、coxphfit では、ベクトル censoreddata の打ち切り情報と、ベクトル freq で与えられる T および X での観測の頻度を考慮して、0 を基準にしたベースライン ハザード率を計算します。

'baseline' — ベースライン ハザードの計算対象となる X 値。mean(X) (既定値) | スカラー値

ベースライン ハザードの計算対象となる X 値。'baseline' とスカラー値で構成されるコンマ区切りのペアとして指定します。

既定値は mean(X) であるため、X のハザード率は h(t)*exp((X-mean(X))*b) です。0 を基準にしてベースラインを計算するには「0」を入力します。これにより、X のハザード率は h(t)*exp(X*b) になります。ベースラインを変更しても係数推定値には影響しませんが、ハザード率が変わります。

例: 'baseline',0

データ型: single | double

'censoring' — 打ち切りのインジケーター0 の配列 (既定値) | 0 と 1 の配列

打ち切りのインジケーター。'censoring' と、T と同じサイズの論理値配列で構成されるコンマ区切りのペアで指定します。右側打ち切りの観測値の場合は 1、完全に観測された観測値の場合は 0 を使用します。既定の設定では、すべての観測値が完全に観測されます。

例: 'censoring',cens

データ型: logical

'frequency' — 観測の頻度1 の配列 (既定値) | 非負の整数カウントのベクトル

観測の頻度。'frequency' と、非負の整数カウントを含む T と同じサイズの配列で構成されるコンマ区切りのペアで指定します。

このベクトルの j 番目の要素は、メソッドが T の j 番目の要素と X の j 番目の行を観測する回数を示します。既定の設定では、X および T の 1 つの行に対して 1 回の観測です。

例: 'frequency',freq

データ型: single | double

'init' — 推定係数の初期値ベクトル

推定係数の初期値。'init' と、係数の初期値を含むベクトルで構成されるコンマ区切りのペアとして指定します。

例: 'init',initcoef

データ型: single | double

'options' — アルゴリズム制御パラメーター構造体

b を推定するために使用される反復アルゴリズムのアルゴリズム制御パラメーター。'options' と構造体で構成されるコンマ区切りのペアとして指定します。statset を呼び出すと、この引数が作成されます。パラメーター名と既定値には、「statset('coxphfit')」と入力します。オプションを新しい名前で設定し、その名前を名前と値のペア引数で使用できます。

例: 'options',statset('coxphfit')

データ型: char

出力引数

すべて折りたたむ

b — 係数推定値ベクトル

コックス比例ハザード回帰の係数推定値。p 行 1 列のベクトルとして返されます。

logl — 対数尤度スカラー

近似されたモデルの対数尤度。スカラーとして返されます。

対数尤度値を使用してさまざまなモデルを比較し、モデルの項の効果の有意性を評価できます。

H — 推定ベースライン累積ハザード2 列の行列

T 値で評価された推定ベースライン累積ハザード率。2 列の行列として返されます。行列の最初の列には T 値が含まれ、2 列目には累積ハザード率の推定値が含まれます。

stats — 係数統計量 構造体

係数統計量。以下のフィールドを含む構造体として返されます。

beta係数推定値 (b と同じ)
se係数推定値 b の標準誤差
zb の z 統計量 (b を標準誤差で除算したもの)
pb の p 値
covb

b に対して推定された共分散行列

詳細

すべて折りたたむ

コックス比例ハザード回帰

コックス比例ハザード回帰は、生存率の推定値を調整して交絡変数の影響を除去したり、予測子変数の影響を定量化するためのセミパラメトリック手法です。この手法は、注釈変数および交絡変数の影響を一般的なベースライン ハザード関数 h0(t) の乗数として表します。

0 に対するベースラインの場合、このモデルは次に対応します。

hX(t)=h0(t)eiXibi,

ここで hX(t) は X におけるハザード率で、h0(t) はベースライン ハザード率関数です。ベースライン ハザード関数はコックス比例ハザード回帰関数のノンパラメトリック部分ですが、予測子変数の影響は対数線形回帰です。このモデルは、ベースライン ハザード関数が時間 t に依存しているが、予測子変数は時間に依存していないという仮定に基づいています。

参照

[1] Cox, D.R., and D. Oakes. Analysis of Survival Data. London: Chapman & Hall, 1984.

[2] Lawless, J. F. Statistical Models and Methods for Lifetime Data. Hoboken, NJ: Wiley-Interscience, 2002.

[3] Kleinbaum, D. G., and M. Klein. Survival Analysis. Statistics for Biology and Health. 2nd edition. Springer, 2005.

参考

| |

この情報は役に立ちましたか?