ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

ecdfhist

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

構文

  • [n,c] = ecdfhist(f,x)
  • [n,c] = ecdfhist(f,x,m)
  • n = ecdfhist(f,x,centers)
  • ecdfhist(___)

説明

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

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

[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 = ecdfhist(f,x);
[n' c']
ans =

    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 =

    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])

ヒストグラムを既知の確率分布関数と比較する

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

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

rng('default')
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)
set(get(gca,'Children'),'FaceColor',[.8 .8 1])
hold on

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

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

入力引数

すべて展開する

f - 経験累積分布関数値ベクトル

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

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

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

データ型:single | double

x - 評価点ベクトル

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

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

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

データ型:single | double

m - ビンの数スカラー

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

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

例: ecdfhist(f,x,8)

データ型:single | double

centers - ビンの中心点ベクトル

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

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

データ型:single | double

出力引数

すべて展開する

n - ヒストグラム バーの高さ行ベクトル

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

c - ビンの中心の位置。行ベクトル

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

参考

| |

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