公開日: 09/19/2023

統計関数

JMPの計算式エディタには、計算式で使用できる統計関数として、主に次の2種類があります。

名前がColで始まる関数。これらの関数は、数値または式を含んだ列の統計量を計算します。

MeanStd DevNumberSumQuantileMaximumMinimumN Missingの各関数。これらの関数は、列間や引数間での評価をします。統計量は、各行に対して計算されます。複数の引数をとることのできる関数に引数を追加するには、計算式エディタの挿入キー(ここに画像を表示)をクリックするか、またはカンマを入力します。複数の連続する列を引数にとる場合は、関数を選んだ後、まず最初の引数に入れる列をクリックし、その後、Shiftキーを押しながら最後の引数をクリックします。すると、最初から最後の列までが引数に指定されます。

メモ: 欠測値は統計関数内では無視されます。

構文の詳細については、『スクリプト構文リファレンス』の統計関数を参照してください。

Col Cumulative Sum

現在の行までの累積和を戻す。Col Cumulative Sumは、By列をサポートしていますが、事前にBy列で並べ替えをしておく必要はありません。

Col Mean

引数で指定された数値列の平均(算術平均)を計算します。計算式「Col Mean(年齢)」は、欠測値を除くすべての値から、列「年齢」の平均を計算します。

Col Moving Average

指定された期間で、現在の行における移動平均を戻します。欠測値は無視されます。

Col Std Dev

引数で指定された列について、標準偏差を計算します。標準偏差は、平均周りの分布の広がりを表します。正規分布では、分布の約68%が平均±1標準偏差内、分布の約95%が平均±2標準偏差内、分布の約99%が平均±3標準偏差内です。

Col Number

指定された列にある非欠測値の個数を戻します。JMPのデータテーブルでは、セルに何も値を割り当てなかったり、無効な操作(ゼロでの除算など)を行ったりすると、データ値が欠測値となります。欠測値はテーブル上では欠測値マーク(•)で表されます。文字値の欠測値はヌル文字列です。行の属性列に対する計算式では、除外された行の行属性は欠測値として扱われます。

Col N Missing

指定された列にある欠測値の個数を戻します。JMPのデータテーブルでは、セルに何も値を割り当てなかったり、無効な操作(ゼロでの除算など)を行ったりすると、データ値が欠測値となります。欠測値はテーブル上では欠測値マーク(•)で表されます。文字値の欠測値はヌル文字列です。

Col Sum

指定された列の合計を計算します。欠測値は無視されます。

Col Minimum、Col Maximum

Col Minimum関数は、指定された列の最小値を戻します。欠測値は無視されます。一方、Col Maximum関数は、指定された列の最大値を戻します。同じように、欠測値は無視されます。

Col Quantile

指定された列の分位点を求めます。たとえば、50%点(中央値またはメディアンとも言う)は、データの半分がそれ以上、残りの半分がそれ以下になっています。

Col Quantile関数の分位点の引数(累積確率)には、0から1の値を指定します。第1四分位数とも呼ばれる25%の分位点は、p=0.25に対応します。第3四分位数とも呼ばれる75%の分位点は、p=0.75に対応します。

計算式エディタは、値を昇順に並べ替えることにより、非欠測値であるn個のデータから分位点を求めます。並べ替えられた列値y1, y2,...,ynの添え字が、昇順で並べた時の順位を示すとします。

このとき、累積確率pに対する分位点は、p(n+1)から求められます。ここで、pは累積確率で、nは非欠測値の個数です。p(n+1)が整数の場合、分位点はyp(n+1)として求められます。p(n + 1)が整数でない場合、整数部分をi小数部分をfとして、補間式(1 – f)yi + (f)yi+1によって分位点は求められます。

たとえば、2, 4, 6, 8, 10, 12, 14, 16, 18, 20という値が列にあるとします。50%の分位点の番号は0.5(10+1)=5.5のように求められます。

結果は小数なので、50%分位点の値は次のように補間されます。

(1 – 0.5) x 10 + (0.5) x 12 = (0.5)10 + (0.5)12 = 6 + 5 = 11

以下に、ColQuantile計算式の例を挙げます。

ColQuantile(年齢, 1) 年齢の最大値を求める

ColQuantile(年齢, 0.75) 年齢の第3四分位数を求める

ColQuantile(年齢, 0.5) 年齢の中央値を求める

ColQuantile(年齢, 0.25) 年齢の第1四分位数を求める

ColQuantile(年齢, 0) 年齢の最小値を求める

ColQuantileの第2引数は、0以上1以下であれば何でもかまいません。たとえば、Figure A.12の最初の計算式は、年齢のいくつかの分位点を計算します。結果は、昇順に表示されます。2番目の計算式は、いくつかの分位点を降順で表示します。

図A.12 Quantile関数の例 

Quantile関数の例

Col Rank

最小値の順位を1とし、最大値の順位を非欠測値の個数として、データの順位を戻します。同順位は、取り得る順位の平均とするか、取り得る順位をデータテーブルに出現する順番に割り当てるか、もっとも小さな順位を割り当てるか、または恣意的な順位とするよう指定できます。(JMP 12では恣意的な順位が与えられていました。)なお、「一変量の分布」プラットフォームで保存される正規分位点の算出には、平均順位が使用されています。

Col Standardize

指定した列の値を標準化します。各行iに対し、Col Standardize(height)の値は
(HeightRow()–Col Mean(Height))/Col Std Dev(Height)で求められます。

Mean

指定された引数のうち、欠測値でない値の算術平均を求めます。引数は、定数、数字、式のどれでもかまいません。Mean関数を選ぶと、引数は1つだけ表示されます。引数を追加するには、計算式エディタのキーパッドにある挿入ボタン(ここに画像を表示)を使うか、またはカンマを入力します。

Std Dev

指定された引数のうち、欠測値でない値の標準偏差を求めます。引数は、定数、数字、式のどれでもかまいません。Std Dev関数を選ぶと、引数は1つだけ表示されます。引数を追加するには、計算式エディタのキーパッドにある挿入ボタン(ここに画像を表示)をクリックするか、またはカンマを入力します。

Number

指定された引数のうち、欠測値でない値の個数を戻します。

Sum

指定された引数のうち、欠測値でない値の合計を戻します。

Quantile

第1引数によって指定された確率の分位点を、第2引数以降で指定されたものの、欠測値でないすべての値から計算します。

Summation (S)

Summation関数は、iなどの添え字によって与えられた範囲で、行を縦断して総和を計算します。ほかの多くの統計関数は各行ごとに評価が行われますが、この関数は行を縦断して計算することができます(Product関数も、同じように行を縦断して計算することができます)。Summation関数は、Figure A.13のように指定します。総和を求めるには、iなどの添え字を含む式を空白の「本体」の部分に入力します。Summationは、i=1, i=2, ..., i=NRow()と順に式を評価していき、欠測値以外の結果をすべて足して最終結果を求めます。

テーブルの行数であるNRow()や添え字のiは、使用する計算式に合わせて変更することができます。Figure A.13の例では、Summation関数を使って、現在の行番号までの「売上」列の累積合計を求めています。

図A.13 Summation関数の例 

Summation関数の例

Product (P)

Product関数は、iなどの添え字によって与えられた範囲で、行を縦断して総積を計算します。ほかの多くの統計関数は各行ごとに評価が行われますが、この関数は行を縦断して計算することができます(Summation関数も、同じように行を縦断して計算することができます)。Product関数は、Figure A.14の計算式に示されているように表記されます。総積を求めるには、jなどの添え字を含む式を空白の「本体」の部分に入力します。Productは、i = 1, i = 2, ..., i = NRow()と順に式を評価していき、欠測値以外の結果をすべて乗算して最終結果を求めます。

テーブルの行数であるNRow()や添え字のiは、使用する計算式に合わせて変更することができます。

たとえば、Figure A.14に示すProduct式の例ではi!(各行番号の階乗)を計算します。

図A.14 Product関数の例 

Product関数の例

Minimum、Maximum

指定された引数の欠測値以外の値から、それぞれ最小値と最大値を戻します。

N Missing

指定された引数のうち、欠測値である値の個数を戻します。

SSQ

すべての要素の平方和を戻します。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).