26.1 記述統計
記述統計の主な目標の 1 つは、大規模なデータ セットの本質を簡潔に表現することです。Octave は、データの中心傾向に対応する 1 つの数値だけでデータ セットを要約する平均、中央値、および最頻値の関数を提供します。
: m = mean (x)
: m = mean (x, dim)
: m = mean (x, vecdim)
: m = mean (x, "all")
: m = mean (…, nanflag)
: m = mean (…, outtype)
xの要素の平均を計算します。
xがベクトルの場合、次のように定義される xの要素の平均を返します。mean (x)
mean (x) = SUM_i x(i) / N
ここで、Nはxの要素数です。
xが配列の場合、 xの最初の非シングルトン次元に沿って平均を計算します。 mean(x)
オプションの変数dimは、指定された次元に対して操作を強制しますmean。指定された次元は正の整数値でなければなりません。を超える次元を含め、xに任意のシングルトン次元を指定すると、平均はxに等しくなります。 ndims (x)
次元を vecdim (繰り返しのない次元のベクトル) として指定すると、 vecdimで定義された配列スライスの平均が返されます 。vecdim がxのすべての次元をインデックスする場合、それはオプション と同等です。 vecdim内の より大きい"all"次元は無視されます。 ndims (x)
次元を として指定すると、 はxのすべての要素に対して"all"強制的に操作され、 と同等になります。 meanmean (x(:))
オプションの入力outtype は、返されるデータ型を指定します。outtype は次の値を取ることができます。
'default': 入力がdouble型でない限り、出力はdouble型になります。
single の場合、出力は single 型になります。
'double': 出力は double 型です。
'native': 出力は報告された入力と同じタイプです
入力が論理値である場合は出力は double 型になりますが、それ 以外の場合は ( ) になります。class (x)
オプション変数nanflag は、以前に指定した入力引数の組み合わせのいずれかを使用して、計算に NaN 値を含めるか除外するかを指定します。nanflag のデフォルト値はで、 計算に NaN 値が保持されます。NaN 値を除外するには、 nanflag"includenan"の値を に設定します。xが操作次元内のすべての NaN 値で構成されている場合、出力には NaN 値が含まれます。 "omitnan"
参照: median、mode、movmean。
: m = median (x)
: m = median (x, dim)
: m = median (x, vecdim)
: m = median (x, "all")
: m = median (…, nanflag)
: m = median (…, outtype)
xの要素の中央値を計算します。
xの要素がソートされている場合、例えば 、中央値は次のように定義されます。 s = sort (x)
| s(ceil (N/2)) N odd
median (x) = |
| (s(N/2) + s(N/2+1))/2 N even
xが配列の場合、 xの最初の非シングルトン次元に沿って動作します。 median (x)
オプションの変数dimは、指定された次元に対して操作を強制しますmedian。指定された次元は正の整数値でなければなりません。を超える次元を含め、xに単一の次元を指定すると、中央値はxに等しくなります。 ndims (x)
次元を vecdim (繰り返しのない次元のベクトル) として指定すると、 vecdimで定義された配列スライスの中央値が返されます 。vecdimがxのすべての次元をインデックスする場合、それはオプション と同等です。 vecdim内の より大きい"all"次元は無視されます。 ndims (x)
次元を として指定すると、 はxのすべての要素に対して"all"強制的に操作され、 と同等になります 。 medianmedian (x(:))
median (…, outtype)前の構文のいずれかの入力引数を使用して、指定されたデータ型の中央値を返します。outtype は次の値を取ることができます。
"default"
入力が single の場合、出力は single 型になり、それ以外の場合は double 型になります。
"double"
出力は double 型です。
"native"。
出力は入力 ( ) と同じ型になります。ただし、入力が論理型の場合は出力は double 型になります。 class (x)
オプション変数nanflag は、以前に指定した入力引数の組み合わせのいずれかを使用して、計算に NaN 値を含めるか除外するかを指定します。nanflag のデフォルト値はで、 計算に NaN 値が保持されます。NaN 値を除外するには、 nanflag"includenan"の値を に設定します。xが操作次元内のすべての NaN 値で構成されている場合、出力には NaN 値が含まれます。 "omitnan"
参照: mean、mode、movmedian。
: [s, l] = bounds (x)
: [s, l] = bounds (x, dim)
: [s, l] = bounds (…, "nanflag")
データセット内で最も頻繁に発生する値 (モード) を計算します。
mode最初の非シングルトン次元に沿った値の頻度を決定し、最も頻度の高い値を返します。2 つ以上の値が同じ頻度を持つ場合は、mode最小の値を返します。
オプションの引数dimが指定されている場合は、この次元に沿って操作します。
戻り変数fは、データセット内のモードの出現回数です。
セル配列cには、最大頻度を持つすべての要素が含まれます。
平均、中央値も参照してください。
平均値などの 1 つの数値だけを使用してデータ セット全体を表すと、データの正確なイメージが得られない場合があります。適合度を特徴付ける 1 つの方法は、データの分散を測定することです。Octave には、分散を測定するための関数がいくつか用意されています。
: [s, l] = bounds (x)
: [s, l] = bounds (x, dim)
: [s, l] = bounds (…, "nanflag")
入力データxの最小値と最大値を返します。
xがベクトルの場合、境界はxの要素に対して計算されます 。xが行列の場合、境界は各列に対して計算されます。多次元配列の場合、境界は最初の非シングルトン次元に対して計算されます。
オプションの引数dimが指定されている場合は、この次元に沿って操作します。
オプション引数の"nanflag"デフォルトは"omitnan"、結果に NaN 値が含まれないことです。引数が指定され、NaN が存在する場合 、最小 ( s ) 要素と最大 ( l"includenan" ) 要素の両方の結果はNaN になります。
境界はデータ セットの分散を迅速に計算する尺度ですが、iqr範囲外のデータ ポイントがある場合よりも精度が低くなります。
参照: range、iqr、mad、std。
: y = range (x)
: y = range (x, dim)
入力データの最大値と最小値の差、つまり範囲を返します。
xがベクトルの場合、範囲はxの要素に対して計算されます 。xが行列の場合、範囲はxの各列に対して計算されます。
オプションの引数dimが指定されている場合は、この次元に沿って操作します。
範囲は、データ セットの分散を迅速に計算する尺度ですが、iqr範囲外のデータ ポイントがある場合よりも精度が低くなります。
参照: bounds、iqr、mad、std。
: Z = iqr (x)
: Z = iqr (x, dim)
: Z = iqr (x, "ALL")
xの四分位範囲を返します。これは、次のように計算されたxの 25 パーセンタイル値と 75 パーセンタイル値の間の距離として定義されます: quantile (x, [0.25 0.75])
xがベクトルの場合、 x内のデータに対して操作を行います 。 iqr (x)
xが行列の場合、 xの各列に対して独立して演算を行い、行ベクトルZを返します。 iqr (x)
xが n 次元配列の場合、 xの最初の非シングルトン次元に対して独立して演算し、非シングルトン次元が 1 に削減された xと同じ形状の配列Zを返します。iqr (x)
オプションの変数dim を使用すると、iqr指定された次元に対して強制的に操作できます。 dim は、操作対象となるスカラー次元または非繰り返し次元のベクトルのいずれかになります。いずれの場合も、 dim は正の整数である必要があります。 ベクトルdim は、指定されたすべての次元を連結して、 によって独立して操作しますiqr。
次元を指定すると、はxのすべての要素に対して"ALL"強制的に演算され、 と同等になります。同様に、 xのすべての非シングルトン次元を含むベクトル次元を指定すると、と同等になります。 iqriqr (x(:))iqr (x, "ALL")
xがスカラーの 場合、またはdimにシングルトン次元のみが指定されている場合、出力は になります。 zeros (size (x))
分散の尺度として、四分位範囲は、またはよりも外れ値の影響を受けにくくなりrangeますstd。
参照: bounds、mad、range、std、prctile、quantile。
: m = mad (x)
: m = mad (x, opt)
: m = mad (x, opt, dim)
: m = mad (x, opt, vecdim)
: m = mad (x, opt, "all")
xの要素の平均または中央絶対偏差 (MAD) を計算します 。
平均絶対偏差は次のように定義される。
= mean (abs (x - mean (x)))
中央絶対偏差は次のように定義される。
mad = median (abs (x - median (x)))
xがベクトルの場合、 xmad内の各要素について計算します。 xが配列の場合、計算は最初の非シングルトン次元に対して実行されます。
mad、、およびomitnanでオプションを使用する場合と同様に、NaN 値を計算から除外します 。 varmeanmedian
オプションの引数opt は、平均絶対偏差を計算するか、中央絶対偏差を計算するかを決定します。デフォルトは 0 で、これは平均絶対偏差に相当します。値 1 は中央絶対偏差に相当します。空の入力 [] を渡すと、デフォルトで平均絶対偏差 ( opt = 0) になります。
オプション引数dimは、指定された次元に沿って動作するように強制します。を超える次元を含め、xmadに任意のシングルトン次元を指定すると、出力は 0 になります。 ndims (x)
次元をvecdim (繰り返しのない次元のベクトル) として指定すると、vecdimmadで定義された配列スライス上の が返されます。vecdim がxのすべての次元をインデックスする場合、それは オプション と同等です。 vecdimに含まれるより大きい次元は すべて無視されます。 "all"ndims (x)
次元を として指定すると、 はxのすべての要素に対して"all"強制的に操作され、 と同等になります。 madmad (x(:))
分散の尺度として、madは よりも外れ値の影響を受けにくくなります std。
参照: bounds、range、iqr、std、mean、median。
: y = meansq (x)
: y = meansq (x, dim)
ベクトルxの要素の平均二乗を計算します。
平均二乗は次のように定義される。
つまりq ( x ) = 1/N SUM_i x (i)^2
ここで、Nはxベクトルの長さです。
xが行列の 場合、各列の平均二乗を含む行ベクトルを返します。
オプションの引数dimが指定されている場合は、この次元に沿って操作します。
参照: var、std、moment。
: s = std (x)
: s = std (x, w)
: s = std (x, w, dim)
: s = std (x, w, vecdim)
: s = std (x, w, "ALL")
: s = std (…, nanflag)
: [s, m] = std (…)
ベクトルxの要素の標準偏差を計算します。
標準偏差は次のように定義される。
std ( x ) = sqrt *1 * SUM_i *2^2))
ここで、Nはxの要素数です。
xが配列の場合、 xの最初の非シングルトン次元に沿って標準偏差を計算します。
オプションの引数w は、使用する重み付けスキームを決定します。有効な値は次のとおりです。
0 [デフォルト]:
N-1 (母標準偏差)で正規化します。これにより、標準偏差の最良の不偏推定値の平方根が得られます。
1:
N (サンプル標準偏差)で正規化します。これにより、平均の周りの 2 番目のモーメントの平方根が得られます。
ベクトル:
非負の重みを持つ加重標準偏差を計算します。wの長さは、操作次元のxのサイズと等しくなければなりません。 wでは NaN 値が許可され、 xの関連する値と乗算され、nanflag オプションによって除外できます。
配列:
ベクトルの重みに似ていますが、w はxと同じサイズである必要があります。操作次元がvecdimまたはとして指定され、 wがスカラーでない場合、"all"w は同じサイズの配列である必要があります。
注意:次のディメンション オプションを指定する前に、必ずwを指定する必要があります。wのデフォルト値を使用するには、空の入力引数 [] を渡します。
オプションの変数dimは、指定された次元に対して操作を強制しますstd。指定された次元は正の整数値でなければなりません。 を超える次元を含め、xに単一の次元を指定すると、標準偏差は 0 になります。 ndims (x)
次元を vecdim (繰り返しのない次元のベクトル) として指定すると、 vecdimで定義された配列スライスに対して計算された標準偏差が返されます。vecdimがxのすべての次元をインデックスする 場合、それはオプション と同等です。 vecdim内のより大きい"all"次元は無視されます。 ndims (x)
次元を として指定すると、 はxのすべての要素に対して"all"強制的に操作され、 と同等になります 。 stdstd (x(:))
オプション変数nanflag は、以前に指定した入力引数の組み合わせのいずれかを使用して、計算に NaN 値を含めるか除外するかを指定します。nanflag のデフォルト値はで、 計算に NaN 値が保持されます。NaN 値を除外するには、 nanflag"includenan"の値を に設定します。xが操作次元内のすべての NaN 値で構成されている場合、出力には NaN 値が含まれます。 "omitnan"
オプションの 2 番目の出力変数mには、標準偏差の計算に使用されるxの要素の平均が含まれます。vが加重標準偏差の場合、mも加重平均になります。
参照: var、bounds、mad、range、iqr、mean、median。
分散の大きさを知ることに加えて、データ セットの形状を知ることも役立ちます。たとえば、データ ポイントは平均の左側に集中していますか、それとも右側に集中していますか? Octave は、データ セットの形状を表す一般的な尺度をいくつか提供しています。また、Octave はモーメントを計算して、任意の形状尺度を開発することもできます。
: v = var (x)
: v = var (x, w)
: v = var (x, w, dim)
: v = var (x, w, vecdim)
: v = var (x, w, "all")
: v = var (…, nanflag)
: [v, m] = var (…)
ベクトルxの要素の分散を計算します。
分散は次のように定義される。
var (x) = (1 / (N-1)) * SUM_i ((x(i) - mean(x))^2)
ここで、Nはxの要素数です。
xが配列の場合、 xの最初の非シングルトン次元に沿って分散を計算します。
オプションの引数w は、使用する重み付けスキームを決定します。有効な値は次のとおりです。
0 [デフォルト]:
N-1 (母分散)で正規化します。これにより、分散の最良の不偏推定値の平方根が得られます。
1:
N (サンプル分散)で正規化します。これにより、平均の周りの 2 番目のモーメントの平方根が得られます。
ベクトル:
非負の重みを持つ加重分散を計算します。 wの長さは、操作次元のxのサイズと等しくなければなりません。 wでは NaN 値が許可され、 xの関連する値と乗算され、nanflagオプションによって除外できます。
配列:
ベクトルの重みに似ていますが、w はxと同じサイズである必要があります。操作次元がvecdimまたはとして指定され、 wがスカラーでない場合、"all"w は同じサイズの配列である必要があります。
注意:次のディメンション オプションを指定する前に、必ずwを指定する必要があります。wのデフォルト値を使用するには、空の入力引数 [] を渡します。
オプションの変数dimは、指定された次元に対して操作するように強制しますvar。指定された次元は、正の整数値でなければなりません。 を超える次元を含め、xに単一の次元を指定すると、分散は 0 になります。 ndims (x)
次元を vecdim (繰り返しのない次元のベクトル) として指定すると、 vecdimで定義された配列スライスに対して計算された分散が返されます。vecdimがxのすべての次元をインデックスする場合、それはオプション と同等です。 vecdim内の より大きい"all"次元は無視されます。 ndims (x)
次元を として指定すると、 はxのすべての要素に対して"all"強制的に操作され、 と同等になります。 varvar (x(:))
オプション変数nanflag は、以前に指定した入力引数の組み合わせのいずれかを使用して、計算に NaN 値を含めるか除外するかを指定します。nanflag のデフォルト値はで、 計算に NaN 値が保持されます。NaN 値を除外するには、 nanflag"includenan"の値を に設定します。xが操作次元内のすべての NaN 値で構成されている場合、出力には NaN 値が含まれます。 "omitnan"
オプションの 2 番目の出力変数mには、分散の計算に使用されるxの要素の平均が含まれます。vが加重分散の場合、mも加重平均になります。
参照: std、mean、cov、skewness、kurtosis、moment。
: y = skewness (x)
: y = skewness (x, flag)
: y = skewness (x, flag, dim)
xの要素の標本歪度を計算します。
標本の歪度は次のように定義される。
mean ((x - mean (x)).^3)
skewness (X) = ------------------------.
std (x).^3
オプション引数flag は、どの正規化を使用するかを制御します。flag が 1 (デフォルト値、flag が省略または空の場合に使用) の場合、上記で定義したサンプル歪度を返します。flag が 0 の場合、代わりに調整された歪度係数を返します。
sqrt (N*(N-1)) mean ((x - mean (x)).^3)
skewness (X, 0) = -------------- * ------------------------.
(N - 2) std (x).^3
ここで、Nはxベクトルの長さです。
調整された歪度係数は、サンプルの 2 番目と 3 番目の中心モーメントをバイアス補正バージョンに置き換えることによって得られます。
xが行列、またはより一般的には多次元配列の 場合、最初の非シングルトン次元に沿った歪度を返します。オプションのdim引数が指定されている場合は、この次元に沿って操作します。
参照: var、kurtosis、moment。
:y = 尖度 (x)
:y = 尖度 (x, flag)
:y = 尖度 (x, flag, dim)
xの要素の標本尖度を計算します。
標本尖度は次のように定義される。
: y = kurtosis (x)
: y = kurtosis (x, flag)
: y = kurtosis (x, flag, dim)
オプション引数flag は、どの正規化を使用するかを制御します。flag が 1 (デフォルト値、flag が省略または空の場合に使用) の場合、上記で定義したサンプル尖度を返します。flag が 0 の場合、代わりに「バイアス補正」 尖度係数を返します。
mean ((x - mean (x)).^4)
k1 = ------------------------
std (x).^4
ここで、Nはxベクトルの長さです。
バイアス補正された尖度係数は、サンプルの 2 番目と 4 番目の中心モーメントをそれらの不偏バージョンに置き換えることによって得られます。これは、正規母集団の母集団尖度の不偏推定値です。
xが行列、またはより一般的には多次元配列の 場合、最初の非シングルトン次元に沿って尖度を返します。オプションのdim引数が指定されている場合は、この次元に沿って操作します。
参照: var、skewness、moment。
: m = moment (x, p)
: m = moment (x, p, type)
: m = moment (x, p, dim)
: m = moment (x, p, type, dim)
: m = moment (x, p, dim, type)
ベクトルxのp番目の中心モーメントを計算します。
xの p 次中心モーメントは次のように定義されます。
1/N SUM_i (x(i) - mean(x))^p
ここで、Nはxベクトルの長さです。
xが行列の場合、各列の p番目の中心モーメントを含む行ベクトルを返します。
オプションの引数dimが指定されている場合は、この次元に沿って操作します。
オプションの文字列タイプは、計算するモーメントのタイプを指定します。有効なオプションは次のとおりです。
"c"
中心モーメント(デフォルト)。
"a"
"ac"
絶対中心モーメント。平均の周りのモーメントで、符号を無視して次のように定義されます。
1/N SUM_i (abs (x(i) - mean(x)))^p
"r"
生のモーメント。ゼロ付近のモーメントは次のように定義されます。
moment (x) = 1/N SUM_i x(i)^p
"ar"
絶対生の瞬間。ゼロを無視した瞬間は次のように定義されます。
1/N SUM_i ( abs (x(i)) )^p
typeとdim の両方が指定されている場合は、任意の順序で出現する可能性があります。
参照: var、skewness、kurtosis。
: q = quantile (x)
: q = quantile (x, p)
: q = quantile (x, p, dim)
: q = quantile (x, p, dim, method)
サンプルxについて、 pの累積確率値に対応する分位数qを計算します。 xの数値以外の値 (NaN) はすべて無視されます。
xが行列の場合、各列の分位数を計算し、それらを行列で返します。qのi 番目の行には、xの各列のp (i) 番目の分位数が含まれます。
pが指定されていない場合は、 の分位数を返します [0.00 0.25 0.50 0.75 1.00]。オプションの引数dim は、分位数が計算される次元を決定します。dim が省略された場合は、デフォルトで最初の非シングルトン次元になります。
サンプルの分位数を計算できる方法は、R ( https://www.r-project.org/ ) で使用される 9 つの方法です。デフォルト値は method = 5です。
不連続サンプル分位法 1、2、3
方法 1: 経験分布関数の逆関数。
方法 2: 方法 1 と似ていますが、不連続点で平均化します。
方法 3: SAS 定義: 最も近い偶数順序統計。
連続サンプル分位法 4 から 9。ここで、 p (k) は各方法の代表的な cdf を尊重する線形補間関数です。
方法 4: p (k) = k / N。つまり、経験的 cdf の線形補間です。ここで、N はPの長さです。
方法 5: p (k) = (k - 0.5) / N。つまり、節点が経験的 CDF のステップの中間の値である区分線形関数です。
方法6: p (k) = k / (N + 1)。
方法7: p (k) = (k - 1) / (N - 1)。
方法8: p (k) = (k - 1/3) / (N + 1/3)。結果として得られる分位推定値は、 xの分布に関係なく、ほぼ中央値に偏りがありません。
方法 9: p (k) = (k - 3/8) / (N + 1/4)。xが正規分布している 場合、結果として得られる分位推定値は、期待される順序統計量に対してほぼ不偏です。
Hyndman と Fan (1996) は方法 8 を推奨しています。Maxima、S、および R (2.0.0 より前のバージョン) は、デフォルトで 7 を使用します。Minitab と SPSS は方法 6 を使用します 。MATLABは方法 5 を使用します。
参考文献:
Becker, RA, Chambers, JM および Wilks, AR (1988) The New S Language. Wadsworth & Brooks/Cole.
Hyndman, RJおよびFan, Y. (1996)統計パッケージのサンプル四分位数、American Statistician、50、361-365。
R: 統計計算のための言語と環境; https://cran.r-project.org/doc/manuals/fullrefman.pdf。
例:
x = randi (1000, [10, 1]); # Create empirical data in range 1-1000 q = quantile (x, [0, 1]); # Return minimum, maximum of distribution q = quantile (x, [0.25 0.5 0.75]); # Return quartiles of distributi
参照: prctile。
: q = prctile (x)
: q = prctile (x, p)
: q = prctile (x, p, dim)
サンプルxについて、累積確率値p (パーセント単位)に対応する分位数qを計算します。
xが行列の場合、各列のパーセンタイルを計算し、それらを行列で返します。qのi 番目の行には、xの各列のp (i) 番目のパーセンタイルが含まれます 。
pが指定されていない場合は、 の分位数を返します[0 25 50 75 100]。
オプションの引数dim は、パーセンタイルが計算される次元を決定します。dimが省略された場合は、デフォルトで最初の非シングルトン次元に設定されます。
プログラミング ノート: xの数値以外の値 (NaN) はすべて無視されます。
参照: quantile。
この機能を使用すると、データ セットの概要ビューをすばやく生成できます statistics。
: stats = statistics (x)
: stats = statistics (x, dim)
ベクトルxの要素の最小値、第 1 四分位値、中央値、第 3 四分位値、最大値、平均値、標準偏差、歪度、尖度を含むベクトルを返します。
xが行列の 場合、最初の非シングルトン次元の統計を計算します。
オプションの引数dimが指定されている場合は、この次元に沿って操作します。
参照: min、max、median、mean、std、skewness、kurtosis