ドキュメンテーション

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

ecdf

経験的累積分布関数

説明

[f,x] = ecdf(y) は、ベクトル y のデータを使用して、x の点で評価される、経験的累積分布関数 (cdf) f を返します。

生存試験および信頼性試験において、この経験的累積分布関数はカプラン・マイヤー推定値と呼ばれます。また、データは生存時間および故障回数に一致する可能性があります。

[f,x] = ecdf(y,Name,Value) は、1 つまたは複数の Name,Value ペア引数で指定された追加のオプションを使用して、x の点で評価された経験的関数値 f を返します。

たとえば、評価する関数のタイプや打ち切るデータを指定できます。

[f,x,flo,fup] = ecdf(___) は、評価された関数の値に対する 95% の信頼限界の下限および上限も返します。前の構文の入力引数のいずれかを使用できます。

ecdf は、グリーンウッドの公式を使って信頼限界を計算します。これらは同時信頼限界ではありません。

ecdf(___) は、関数 stairs を使用して、評価した関数の階段状グラフを描画します。信頼限界をグラフに含めるには、'Bounds','on' を指定します。

ecdf(ax,___) は、現在の座標軸 (gca) ではなく、ax によって指定された座標軸にプロットします。

すべて折りたたむ

シミュレーションを実行した生存データの累積分布関数 (cdf) のカプラン・マイヤー推定値を計算します。

パラメーター 3 と 1 を使用してワイブル分布から生存データを生成します。

rng('default')  % for reproducibility
failuretime = random('wbl',3,1,15,1);

生存データの累積分布関数のカプラン・マイヤー推定値を計算します。

[f,x] = ecdf(failuretime);
[f,x]
ans = 16×2

         0    0.0895
    0.0667    0.0895
    0.1333    0.1072
    0.2000    0.1303
    0.2667    0.1313
    0.3333    0.2718
    0.4000    0.2968
    0.4667    0.6147
    0.5333    0.6684
    0.6000    1.3749
      ⋮

推定された累積分布関数をプロットします。

ecdf(failuretime)

シミュレーションを実行した右側打ち切りの生存データのハザード関数を計算およびプロットします。

バーンバウム・サンダース分布から故障回数を生成します。

rng('default')  % For reproducibility
failuretime = random('birnbaumsaunders',0.3,1,100,1);

研究が終了する時間を 0.9 としたと仮定します。シミュレーション済みの故障回数が 0.9 よりも大きいことを示す logical 配列を、打ち切りデータとして生成し、この情報をベクトルに格納します。

T = 0.9;
cens = (failuretime>T);

データの経験的ハザード関数をプロットします。

ecdf(failuretime,'Function','cumulative hazard', ...
    'Censoring',cens,'Bounds','on');

右側打ち切りの生存データを生成し、経験的累積分布関数 (CDF) と既知の累積分布関数を比較します。

平均故障時回数 15 をもつ指数分布から故障回数を生成します。

rng('default')  % For reproducibility
y = exprnd(15,75,1);

平均故障回数 30 をもつ指数分布から脱落した回数を生成します。

d = exprnd(30,75,1);

観測故障回数を生成します。観測故障回数とは、生成された故障回数と脱落回数の最小値です。

t = min(y,d);

logical 配列を作成し、生成された故障回数が脱落回数よりも大きいことを示します。これに該当するデータが打ち切られます。

censored = (y>d);

経験的累積分布関数と信頼限界を計算します。

[f,x,flo,fup] = ecdf(t,'Censoring',censored);

累積分布関数と信頼限界をプロットします。

figure()
ecdf(t,'Censoring',censored,'Bounds','on');
hold on

既知の母集団の累積分布関数のプロットを重ね合わせます。

xx = 0:.1:max(t);
yy = 1-exp(-xx/15);
plot(xx,yy,'g-','LineWidth',2)
axis([0 50 0 1])
legend('Empirical','LCB','UCB','Population', ...
    'Location','southeast')
hold off

生存データを生成し、99% の信頼限界をもつ経験的生存時間関数をプロットします。

パラメーター 100 と 2 を使用してワイブル分布から寿命データを生成します。

rng('default')  % For reproducibility
R = wblrnd(100,2,100,1);

99% の信頼限界をもつデータの生存時間関数をプロットします。

ecdf(R,'Function','survivor','Alpha',0.01,'Bounds','on')
hold on

ワイブル生存時間関数を近似します。

x = 1:1:250;
wblsurv = 1-cdf('weibull',x,100,2);
plot(x,wblsurv,'g-','LineWidth',2)
legend('Empirical','LCB','UCB','Population', ...
    'Location','northeast')

実際の分布に基づく生存時間関数は、信頼限界内に入っています。

入力引数

すべて折りたたむ

ベクトルとして指定される入力データ。たとえば、生存試験または信頼性試験で、データは各アイテムまたは個体に関する生存時間または故障回数になる場合があります。

ecdf は、y 内の NaN 値を無視します。さらに、打ち切りベクトル ('Censoring') または頻度ベクトル ('Frequency') に NaN 値が含まれている場合、ecdfy 内の対応する値を無視します。

データ型: single | double

ecdf のプロット先の Figure の Axes ハンドル。ハンドルとして指定します。

たとえば、h が Figure のハンドルである場合、ecdf はその Figure に次のようにプロットできます。

例: ecdf(h,x)

名前と値のペアの引数

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

例: 'Censoring',c,'Function','cumulative hazard','Alpha',0.025,'Bounds','on' では、ecdf が累積ハザード関数を返して、97.5% の信頼限界をプロットすることを指定し、ベクトル c で打ち切りデータが指定されたことを表しています。

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

ecdf は、この打ち切りベクトルのどの NaN 値も無視します。さらに、y または頻度ベクトル ('Frequency') に NaN 値が含まれている場合、ecdf は打ち切りベクトル内の対応する値を無視します。

例: 打ち切られたデータの情報がベクトル cdata に格納されている場合、'Censoring',cdata を入力します。

データ型: logical

観測の頻度。'Frequency' と、非負の整数カウントが含まれるベクトルで構成されるコンマ区切りのペアとして指定します。このベクトルは、ベクトル x と同じサイズとなります。このベクトルの j 番目の要素は、xj 番目の要素が観測された回数を示します。既定の設定では、x の要素あたりの観測回数は 1 です。

ecdf は、この頻度ベクトルの NaN 値をすべて無視します。さらに、y または打ち切りベクトル ('Censoring') に NaN 値が含まれている場合、ecdf は頻度ベクトル内の対応する値を無視します。

例: failurefreq が頻度のベクトルである場合、'Frequency',failurefreq を入力します。

データ型: single | double

評価する関数の信頼区間の有意水準。'Alpha' と範囲 (0,1) 内のスカラー値から構成されるコンマ区切りのペアとして指定します。既定値は 0.05 で、95% の信頼度を意味します。値 alpha を指定すると、信頼度は 100(1-alpha)% になります。

たとえば、99% の信頼区間の場合は、次のように alpha 値を指定できます。

例: 'Alpha',0.01

データ型: single | double

ecdf で評価されて返される関数のタイプ。'Function' と、以下のいずれかで構成されるコンマ区切りペアとして指定します。

'cdf'既定の設定。累積分布関数。
'survivor'生存時間関数。
'cumulative hazard'累積ハザード関数。

例: 'Function','cumulative hazard'

範囲を含むインジケーター。'Bounds' と、以下のいずれかで構成されるコンマ区切りペアとして指定します。

'off'既定の設定。範囲を省略することを指定します。
'on' 範囲を含めることを指定します。

メモ

この名前と値の引数は、プロットにのみ使用されます。

例: 'Bounds','on'

出力引数

すべて折りたたむ

x 内の点で評価される関数値。列ベクトルとして返されます。

並べ替えられたデータ ベクトル y 内の観測点。列ベクトルとして返されます。

ecdf は、y を並べ替え、並べ替えた y 内の重複する値を削除し、結果を出力 x に保存します。出力 x には、最初の 2 つの値として y の最小値が格納されます。この 2 つの値は、関数 stairs を使用して ecdf の出力をプロットするために役立ちます。

評価された関数の信頼限界の下限。列ベクトルとして返されます。ecdf は、グリーンウッドの公式を使って信頼限界を計算します。これらは同時信頼限界ではありません。

評価された関数の信頼限界の上限。列ベクトルとして返されます。ecdf は、グリーンウッドの公式を使って信頼限界を計算します。これらは同時信頼限界ではありません。

詳細

すべて折りたたむ

グリーンウッドの公式

カプラン・マイヤー推定器の分散に対する近似。

分散の推定値は次の式で与えられます。

V(S(t))=S2(t)ti<Tdiri(ridi),

ここで、ri は時間 ti においてリスクがある数、di は時間 ti における故障数です。

参照

[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. 2nd ed., Hoboken, NJ: John Wiley & Sons, Inc., 2003.

拡張機能

R2006a より前に導入