Main Content

ecdfhist

経験的累積分布関数に基づくヒストグラム

説明

[n,c] = ecdfhist(f,x) は、10 個の等間隔に配置されたビンのヒストグラム バーの高さ n と、ビンの中心の位置 c を返します。

ecdfhist は、評価点 x における経験的累積分布関数 f の増加からバーの高さを計算します。この関数は、ヒストグラムの面積が 1 に等しくなるようにバーの高さを正規化します。一方、histogram は、高さがビン数を表すバーを生成します。

[n,c] = ecdfhist(f,x,m) は、m 個のビンを使用するヒストグラム バーを返します。

n = ecdfhist(f,x,centers) は、centers で指定されたビンの中心値をもつヒストグラム バーの高さを返します。

ecdfhist(___) は、ヒストグラム バーをプロットします。

すべて折りたたむ

経験的累積分布関数に基づいてヒストグラム バーの高さを計算します。

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

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

実験が時間 0.9 に終了すると仮定した場合、0.9 よりも大きく生成された故障時間を打ち切りデータとしてマークし、その情報をベクトルに格納します。

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

データの経験的累積分布関数を計算します。

[f,x] = ecdf(failuretime,'censoring',cens);

ここでは、累積分布関数の推定値を使用してヒストグラムのバーの高さを確認します。

[n,c] = ecdfhist(f,x);
[n' c']
ans = 10×2

    2.3529    0.0715
    1.7647    0.1565
    1.4117    0.2415
    1.5294    0.3265
    1.0588    0.4115
    0.4706    0.4965
    0.4706    0.5815
    0.9412    0.6665
    0.2353    0.7515
    0.2353    0.8365

経験的累積分布関数を使用して 6 つのビンのバーの高さを計算し、ビンの中心も返します。

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

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

実験が時間 0.9 に終了すると仮定した場合、0.9 よりも大きく生成された故障時間を打ち切りデータとしてマークし、その情報をベクトルに格納します。

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

最初に、データの経験的累積分布関数を計算します。

[f,x] = ecdf(failuretime,'censoring',cens);

次に、累積分布関数の推定値を使用して 6 つのビンをもつヒストグラムを推定します。

[n,c] = ecdfhist(f,x,6);
[n' c']
ans = 6×2

    1.9764    0.0998
    1.7647    0.2415
    1.1294    0.3831
    0.4235    0.5248
    0.7764    0.6665
    0.2118    0.8081

指定したビンの中心に対する経験的累積分布のヒストグラムを描画します。

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

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

実験が時間 0.9 に終了すると仮定した場合、0.9 よりも大きく生成された故障時間を打ち切りデータとしてマークし、その情報をベクトルに格納します。

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

ビンの中心を定義します。

centers = 0.1:0.1:1;

データの経験的累積分布関数を計算し、指定したビンの中心に対するヒストグラムを描画します。

[f,x] = ecdf(failuretime,'censoring',cens);
ecdfhist(f,x,centers)
axis([0 1 0 2.5])

Figure contains an axes object. The axes object contains an object of type patch.

右側打ち切りの生存データを生成し、累積分布関数からのヒストグラムと既知の確率分布関数を比較します。

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

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

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

d = exprnd(30,75,1);

これらの時間の最小値を観測された故障時間として記録します。

t = min(y,d);

脱落時間よりも大きい生成された故障時間を見つけて、打ち切りを生成します。

censored = (y>d);

経験的累積分布関数を計算し、経験的累積分布関数を使用してヒストグラムをプロットします。

[f,x] = ecdf(t,'censoring',censored);
ecdfhist(f,x)
h = findobj(gca,'Type','patch');
h.FaceColor = [.8 .8 1];
hold on

Figure contains an axes object. The axes object contains an object of type patch.

既知の母集団の確率密度関数のプロットを重ね合わせます。

xx = 0:.1:max(t);
yy = exp(-xx/15)/15;
plot(xx,yy,'r-','LineWidth',2)
hold off

Figure contains an axes object. The axes object contains 2 objects of type patch, line.

入力引数

すべて折りたたむ

特定の評価点 x における経験的累積分布関数値。ベクトルで指定します。

たとえば、ecdf を使用して経験的累積分布関数値を取得し、それらを ecdfhist で次のように入力できます。

例: [f,x] = ecdf(failure); ecdfhist(f,x);

データ型: single | double

経験的累積分布関数値 f が計算される評価点。ベクトルで指定します。

たとえば、ecdf を使用して経験的累積分布関数値を取得し、それらを ecdfhist で次のように入力できます。

例: [f,x] = ecdf(failure); ecdfhist(f,x);

データ型: single | double

ビンの数。スカラーとして指定します。

たとえば、以下のように 8 個のビンをもつヒストグラムを描画できます。

例: ecdfhist(f,x,8)

データ型: single | double

ビンの中心点。ベクトルとして指定します。

例: centers = 2:2:10; ecdfhist(f,x,centers);

データ型: single | double

出力引数

すべて折りたたむ

ecdfhist が経験的累積分布関数値に基づいて計算するヒストグラム バーの高さ。行ベクトルとして返されます。

ビンの中心の位置。行ベクトルとして返されます。

バージョン履歴

R2006a より前に導入