Main Content

segment

入力値が含まれている区分的分布のセグメント

説明

s = segment(pd,x) は、x 内の各分位数値が区分的分布 pd のどのセグメントに含まれているかを示す正の整数のベクトル s を返します。

s 内の値 1、2 および 3 はそれぞれ、pd の下裾、中央および上裾のセグメントを表します。下裾のセグメントが pd に含まれていない場合、1 と 2 はそれぞれ中央および上裾のセグメントを表します。

s = segment(pd,[],p) は、p 内の各累積確率値が区分的分布 pd のどのセグメントに含まれているかを示す正の整数のベクトル s を返します。

すべて折りたたむ

標本データ セットを生成し、パレート分布の裾をもつ区分的分布を生成されたデータに当てはめることにより、paretotails オブジェクトを作成します。オブジェクト関数 segment を使用して、指定した分位数値が含まれているセグメントを求めます。

20% の外れ値が含まれている標本データ セットを生成します。

rng('default');  % For reproducibility
left_tail = -exprnd(1,100,1);
right_tail = exprnd(5,100,1);
center = randn(800,1);
x = [left_tail;center;right_tail];

区分的分布を x に当てはめることにより paretotails オブジェクトを作成します。当てはめたオブジェクトがデータ セットの中間 80% については経験的分布、データ セットの下位および上位 10% については一般化パレート分布 (GPD) から構成されるように、下裾と上裾の累積確率を使用して裾の境界を指定します。

pd = paretotails(x,0.1,0.9)
pd = 
Piecewise distribution with 3 segments
      -Inf < x < -1.33251    (0 < p < 0.1): lower tail, GPD(-0.0063504,0.567017)
   -1.33251 < x < 1.80149  (0.1 < p < 0.9): interpolated empirical cdf
        1.80149 < x < Inf    (0.9 < p < 1): upper tail, GPD(0.24874,3.00974)

関数 segment を使用して、指定した点が含まれているセグメントを求めます。

xpts = -3:3;
s = segment(pd,xpts)
s = 1×7

     1     1     2     2     2     3     3

1、2 および 3 はそれぞれ、pd の下裾、中央および上裾のセグメントを表します。

セグメントでグループ化した点 (xpts) の散布図を累積分布関数 (cdf) プロットと重ねて描画します。pd の cdf をプロットします。

xgrid = linspace(icdf(pd,.01), icdf(pd,.99));
ygrid = cdf(pd,xgrid);
plot(xgrid,ygrid)

gscatter を使用して、xpts の散布図を重ね合わせます。

hold on
gscatter(xpts,cdf(pd,xpts),s)
legend('cdf','Lower tail','Center','Upper tail')
hold off

Figure contains an axes object. The axes object with xlabel xpts contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent cdf, Lower tail, Center, Upper tail.

標本データ セットを生成し、パレート分布の裾をもつ区分的分布を生成されたデータに当てはめることにより、paretotails オブジェクトを作成します。オブジェクト関数 segment を使用して、境界点が含まれているセグメントを求めます。

20% の外れ値が含まれている標本データ セットを生成します。

rng('default');  % For reproducibility
left_tail = -exprnd(1,100,1);
right_tail = exprnd(5,100,1);
center = randn(800,1);
x = [left_tail;center;right_tail];

区分的分布を x に当てはめることにより paretotails オブジェクトを作成します。当てはめたオブジェクトがデータ セットの中間 80% については経験的分布、データ セットの下位および上位 10% については一般化パレート分布 (GPD) から構成されるように、下裾と上裾の累積確率を使用して裾の境界を指定します。

pd = paretotails(x,0.1,0.9)
pd = 
Piecewise distribution with 3 segments
      -Inf < x < -1.33251    (0 < p < 0.1): lower tail, GPD(-0.0063504,0.567017)
   -1.33251 < x < 1.80149  (0.1 < p < 0.9): interpolated empirical cdf
        1.80149 < x < Inf    (0.9 < p < 1): upper tail, GPD(0.24874,3.00974)

関数 boundary を使用して、区分的セグメント間の境界値を取得します。

[p,q] = boundary(pd)
p = 2×1

    0.1000
    0.9000

q = 2×1

   -1.3325
    1.8015

p 内の値は境界における累積確率、q 内の値は対応する分位数です。

分位数値を使用して、境界点が含まれているセグメントを求めます。

s1 = segment(pd,q)
s1 = 2×1

     2
     3

1、2 および 3 はそれぞれ、pd の下裾、中央および上裾のセグメントを表します。出力 s1 は、下裾のセグメントと中央のセグメントの間にある 1 番目の境界が中央のセグメントに属していることと、中央のセグメントと上裾のセグメントの間にある 2 番目の境界が上裾のセグメントに属していることを示しています。

累積確率値を使用することによっても、対応するセグメントを求めることができます。

s2 = segment(pd,[],[0;p;1])
s2 = 4×1

     1
     2
     3
     3

入力引数

すべて折りたたむ

パレート分布の裾をもつ区分的分布。paretotails オブジェクトを指定します。

分位数値。数値ベクトルを指定します。

データ型: single | double

累積確率値。範囲 [0,1] の値から構成される数値ベクトルを指定します。

データ型: single | double

バージョン履歴

R2007a で導入