ドキュメンテーション

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

quantile

データセットの分位数

構文

  • Y = quantile(X,p)
  • Y = quantile(X,p,dim)
  • Y = quantile(X,N)
  • Y = quantile(X,N,dim)

説明

Y = quantile(X,p) は、区間 [0,1] における累積確率または確率 p の、データ ベクトルまたは行列 X 内の値の分位数を返します。

  • X がベクトルの場合、Y はスカラーまたは p のスカラーまたはベクトルになります。

  • X が行列の場合、Y は行ベクトルまたは行列になり、Y の行数は p の長さと等しくなります。

  • 多次元配列の場合、quantileX の最初の 大きさが 1 でない最初の次元に対して作用します。

Y = quantile(X,p,dim) は、次元 dim に対する分位数を返します。

Y = quantile(X,N) は、整数 N>1 について N 個の等間隔の累積確率 (1/(N + 1)、2/(N + 1)、...、N/(N + 1)) の分位数を返します。

  • X がベクトルの場合、Y はスカラーまたは長さが N のベクトルになります。

  • X が行列の場合、YN に等しい行数をもつ行列になります。

  • 多次元配列の場合、quantileX の最初の大きさが 1 でない最初の次元に対して作用します。

Y = quantile(X,N,dim) は、次元 dim での整数 N>1 に対して N 個の等間隔の累積確率 (1/(N+1)、2/(N+1)、...、N/(N+1)) における分位数を返します。

すべて折りたたむ

特定の確率の分位数

指定された確率に対する、データセットの分位数を計算します。

サイズが 10 のデータセットを作成します。

rng('default'); % for reproducibility
x = normrnd(0,1,1,10)
x =
    0.5377    1.8339   -2.2588    0.8622    0.3188   -1.3077   -0.4336    0.3426    3.5784    2.7694

0.3 分位数を計算します。

y = quantile(x,0.30) 
y =
   -0.0574

累積確率 0.025、0.25、0.5、0.75、0.975 の分位数を計算します。

y = quantile(x,[0.025 0.25 0.50 0.75 0.975]) 
y =
   -2.2588   -0.4336    0.4401    1.8339    3.5784

特定の確率の行列の分位数

指定された確率における、データ行列の列と行に対する分位数を計算します。

4 行 6 列のデータ行列を作成します。

rng('default'); % for reproducibility
X = normrnd(0,1,4,6)
X =
    0.5377    0.3188    3.5784    0.7254   -0.1241    0.6715
    1.8339   -1.3077    2.7694   -0.0631    1.4897   -1.2075
   -2.2588   -0.4336   -1.3499    0.7147    1.4090    0.7172
    0.8622    0.3426    3.0349   -0.2050    1.4172    1.6302

X (dim = 1) の各列の 0.3 分位数を計算します。

y = quantile(x,0.3,1) 
y =
   -0.3013   -0.6958    1.5336   -0.1056    0.9491    0.1078

quantile は、行列の各列の 1 つの分位数を計算する際に行ベクトル y を返します。たとえば、-0.3013 は (0.5377, 1.8339, -2.2588, 0.8622) の要素をもつ X の最初の列の 0.3 分位数です。dim の既定の設定値が 1 であるため、 y = quantile(X,0.3) でも同じ解が返されます。

X (dim = 2) の各行の 0.3 分位数を計算します。

y = quantile(x,0.3,2)
y =
    0.3844
   -0.8642
   -1.0750
    0.4985

quantile は、行列の各行の 1 つの分位数を計算する際に列ベクトル y を返します。たとえば、0.3844 は (0.5377, 0.3188, 3.5784, 0.7254, -0.1241, 0.6715) の要素をもつ X の最初の行の 0.3 分位数です。

N 個の均等間隔の累積確率に対する分位数

データセットの、指定された数の分位数を計算します。

サイズが 10 のデータセットを作成します。

rng('default'); % for reproducibility
x = normrnd(0,1,1,10)
x =
    0.5377    1.8339   -2.2588    0.8622    0.3188   -1.3077   -0.4336    0.3426    3.5784    2.7694

均等間隔の 4 つの分位数を計算します。

y = quantile(x,4)
y =
   -0.8706    0.3307    0.6999    2.3017

均等間隔の 4 つの分位数を求めるには、y = quantile(x,[0.2,0.4,0.6,0.8]) を使用する方法もあります。

行列の特定数の分位数

データ行列の列と行の方向に、N 個の均等間隔の分位数を計算します。

6 行 10 列のデータ行列を作成します。

rng('default');  % for reproducibility
X = unidrnd(10,6,7)
X =

     9     3    10     8     7     8     7
    10     6     5    10     8     1     4
     2    10     9     7     8     3    10
    10    10     2     1     4     1     1
     7     2     5     9     7     1     5
     1    10    10    10     2     9     4

X (dim = 1) の各列において、3 つの均等間隔の分位数を計算します。

y = quantile(X,3,1) 
y =

    2.0000    3.0000    5.0000    7.0000    4.0000    1.0000    4.0000
    8.0000    8.0000    7.0000    8.5000    7.0000    2.0000    4.5000
   10.0000   10.0000   10.0000   10.0000    8.0000    8.0000    7.0000

行列 y の各列は、行列 X の各列で均等間隔に配置された 3 つの分位数に対応します。たとえば、(2, 8, 10) の要素をもつ y の最初の列には、(9, 10, 2, 10, 7, 1) の要素をもつ X の最初の列の分位数が含まれています。dim の既定の設定値が 1 であるため、y = quantile(X,3) でも同じ解が返されます。

X (dim = 2) の各行において、3 つの均等間隔の分位数を計算します。

y = quantile(X,3,2)
y =

    7.0000    8.0000    8.7500
    4.2500    6.0000    9.5000
    4.0000    8.0000    9.7500
    1.0000    2.0000    8.5000
    2.7500    5.0000    7.0000
    2.5000    9.0000   10.0000

行列 y の各行において、行列 X の各行で均等間隔に配置された 3 つの分位数に対応します。たとえば、(7, 8, 8.75) の要素をもつ y の最初の行には、(9, 3, 10, 8, 7, 8, 7) の要素をもつ X の最初の列の分位数が含まれています。

偶数個のデータ要素の中央値と四分位数

偶数個の要素をもつベクトル x の中央値と四分位数を求めます。

データを入力します。

x = [2 5 6 10 11 13]
x =
     2     5     6    10    11    13

x の中央値を計算します。

y = quantile(x,0.50) 
y =
     8

x の四分位数を計算します。

y = quantile(x,[0.25, 0.5, 0.75]) 
y =
     5     8    11

x の四分位数を求めるには、y = quantile(x,3) を使用する方法もあります。

quantile線形内挿を用いて中央値と四分位数を求めるため、その結果は一般的な定義と異なる場合もあります。

奇数個のデータ要素の中央値と四分位数

奇数個の要素をもつベクトル x の中央値と四分位数を求めます。

データを入力します。

x = [2 4 6 8 10 12 14]
x =

     2     4     6     8    10    12    14

x の中央値を計算します。

y = quantile(x,0.50)
y =
     8

x の四分位数を計算します。

y = quantile(x,[0.25, 0.5, 0.75])
y =
    4.5000    8.0000   11.5000

x の四分位数を求めるには、y = quantile(x,3) を使用する方法もあります。

quantile線形内挿を用いて中央値と四分位数を求めるため、その結果は一般的な定義と異なる場合もあります。

入力引数

すべて折りたたむ

X — 入力データベクトル | 配列

ベクトルまたは配列として指定される入力データ。

データ型: double | single

p — 累積確率スカラー | ベクトル

分位数計算の対象となる累積確率。0 ~ 1 のスカラーまたはスカラーのベクトルとして指定します。

例: 0.3

例: [0.25, 0.5, 0.75]

例: (0:0.25:1)

データ型: double | single

N — 分位数の数正の整数

正の整数として指定される、計算する分位数の数。quantile は、データセットを均等に分布された N+1 個のセグメントに分割する N 個の分位数を返します。

データ型: double | single

dim — 次元 1 (既定値) | 正の整数

行列 X の分位数を求める対象となる次元。正の整数として指定します。たとえば、quantile は行列 X に対して、dim = 1 の場合は X の列の分位数を返し、dim = 2 の場合は X の行の分位数を返します。多次元配列 X では、Ydim 番目の次元の長さが p の長さに等しくなります。

出力引数

すべて折りたたむ

Y — 分位数スカラー | 配列

データ ベクトルまたは行列の分位数。スカラーまたは 1 つまたは複数の累積確率の複数の値の配列として返されます。

  • X がベクトルの場合、Y は必要な分位数の数と同じ長さ (N または length(p)) のスカラーまたはベクトルになります。Y(i) には p(i) の分位数が含まれます。

  • X が行列の場合、Ydim 番目の次元の長さが、必要な分位の数 (N または length(p)) と等しいベクトルまたは行列になります。たとえば、dim が 1 である場合、Yi 番目の行に X の列の p(i) 番目の分位数が含まれます。

  • X が d 次元の配列の場合、Ydim 番目の次元の長さが、必要な分位数 (N または length(p)) に等しい配列になります。

詳細

すべて折りたたむ

多次元配列

"多次元配列" は、3 つ以上の次元をもつ配列です。たとえば、X は 1 x 3 x 4 の配列で、X は 3 次元配列です。

大きさが 1 でない最初の次元

"大きさが 1 でない最初の次元" とは、配列の次元のうちサイズが 1 ではない最初の次元です。たとえば、X が 1 x 2 x 3 x 4 の配列では、2 番目の次元が X の大きさが 1 でない最初の次元になります。

線形内挿

線形内挿は線形多項式を使用して yi = f(xi)、つまりベクトルまたは配列 x の各点における基礎関数 Y = f(X) の値を求めます。データ点 (x1, y1) と (x2, y2) が与えられるとすると (ただし、y1 = f(x 1),y2 = f(x2))、線形内挿は x1 と x2 の間の特定の x における y = f(xx) を次のように算出します。

y=f(x)=y1+(xx1)(x2x1)(y2y1).

同様に、1.5/n 分位数が y1.5/n で、2.5/n 分位数が y2.5/n であるとすると、線形内挿は 2.3/n 分位数の y2.3/n を次のように求めます。

y2.3n=y1.5n+(2.3n1.5n)(2.5n1.5n)(y2.5ny1.5n).

アルゴリズム

n 要素のベクトル X の場合、quantile は次のように分位数を計算します。

  1. X の並べ替えられた値が (0.5/n)、(1.5/n)、...、([n – 0.5]/n) の各分位数として取得されます。次に例を示します。

    • {6, 3, 2, 10, 1} のような 5 要素のデータ ベクトルでは、並べ替えられた要素 {1, 2, 3, 6, 10} がそれぞれ 0.1、0.3、0.5、0.7、0.9 の分位数に相当します。

    • {6, 3, 2, 10, 8, 1} のような 6 要素のデータ ベクトルでは、並べ替えられた要素 {1, 2, 3, 6, 8, 10} がそれぞれ (0.5/6)、(1.5/6)、(2.5/6)、(3.5/6)、(4.5/6)、(5.5/6) の分位数に相当します。

  2. quantile線形内挿を使用して (0.5/n) と ([n – 0.5]/n) の間の確率の分位数を計算します。

  3. この範囲外の確率に対応する分位数について、quantileX の最小値または最大値を代入します。

quantileNaN を欠損値として認識し、削除します。

参考

| |

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