JMPの計算式エディタには、計算式で使用できる統計関数として、主に次の2種類があります。
• 名前がColで始まる関数。これらの関数は、数値または式を含んだ列の統計量を計算します。
• Mean、Std Dev、Number、Sum、Quantile、Maximum、Minimum、N Missingの各関数。これらの関数は、列間や引数間での評価をします。統計量は、各行に対して計算されます。複数の引数をとることのできる関数に引数を追加するには、計算式エディタの挿入キー()をクリックするか、またはカンマを入力します。複数の連続する列を引数にとる場合は、関数を選んだ後、まず最初の引数に入れる列をクリックし、その後、Shiftキーを押しながら最後の引数をクリックします。すると、最初から最後の列までが引数に指定されます。
メモ: 欠測値は統計関数内では無視されます。
構文の詳細については、『スクリプト構文リファレンス』の統計関数を参照してください。
現在の行までの累積和を戻す。Col Cumulative Sumは、By列をサポートしていますが、事前にBy列で並べ替えをしておく必要はありません。
引数で指定された数値列の平均(算術平均)を計算します。計算式「Col Mean(年齢)」は、欠測値を除くすべての値から、列「年齢」の平均を計算します。
指定された期間で、現在の行における移動平均を戻します。欠測値は無視されます。
引数で指定された列について、標準偏差を計算します。標準偏差は、平均周りの分布の広がりを表します。正規分布では、分布の約68%が平均±1標準偏差内、分布の約95%が平均±2標準偏差内、分布の約99%が平均±3標準偏差内です。
指定された列にある非欠測値の個数を戻します。JMPのデータテーブルでは、セルに何も値を割り当てなかったり、無効な操作(ゼロでの除算など)を行ったりすると、データ値が欠測値となります。欠測値はテーブル上では欠測値マーク(•)で表されます。文字値の欠測値はヌル文字列です。行の属性列に対する計算式では、除外された行の行属性は欠測値として扱われます。
指定された列にある欠測値の個数を戻します。JMPのデータテーブルでは、セルに何も値を割り当てなかったり、無効な操作(ゼロでの除算など)を行ったりすると、データ値が欠測値となります。欠測値はテーブル上では欠測値マーク(•)で表されます。文字値の欠測値はヌル文字列です。
指定された列の合計を計算します。欠測値は無視されます。
Col Minimum関数は、指定された列の最小値を戻します。欠測値は無視されます。一方、Col Maximum関数は、指定された列の最大値を戻します。同じように、欠測値は無視されます。
指定された列の分位点を求めます。たとえば、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関数の例
最小値の順位を1とし、最大値の順位を非欠測値の個数として、データの順位を戻します。同順位は、取り得る順位の平均とするか、取り得る順位をデータテーブルに出現する順番に割り当てるか、もっとも小さな順位を割り当てるか、または恣意的な順位とするよう指定できます。(JMP 12では恣意的な順位が与えられていました。)なお、「一変量の分布」プラットフォームで保存される正規分位点の算出には、平均順位が使用されています。
指定した列の値を標準化します。各行iに対し、Col Standardize(height)の値は
(HeightRow()–Col Mean(Height))/Col Std Dev(Height)で求められます。
指定された引数のうち、欠測値でない値の算術平均を求めます。引数は、定数、数字、式のどれでもかまいません。Mean関数を選ぶと、引数は1つだけ表示されます。引数を追加するには、計算式エディタのキーパッドにある挿入ボタン()を使うか、またはカンマを入力します。
指定された引数のうち、欠測値でない値の標準偏差を求めます。引数は、定数、数字、式のどれでもかまいません。Std Dev関数を選ぶと、引数は1つだけ表示されます。引数を追加するには、計算式エディタのキーパッドにある挿入ボタン()をクリックするか、またはカンマを入力します。
指定された引数のうち、欠測値でない値の個数を戻します。
指定された引数のうち、欠測値でない値の合計を戻します。
第1引数によって指定された確率の分位点を、第2引数以降で指定されたものの、欠測値でないすべての値から計算します。
Summation関数は、iなどの添え字によって与えられた範囲で、行を縦断して総和を計算します。ほかの多くの統計関数は各行ごとに評価が行われますが、この関数は行を縦断して計算することができます(Product関数も、同じように行を縦断して計算することができます)。Summation関数は、Figure A.13のように指定します。総和を求めるには、iなどの添え字を含む式を空白の「本体」の部分に入力します。Summationは、i=1, i=2, ..., i=NRow()と順に式を評価していき、欠測値以外の結果をすべて足して最終結果を求めます。
テーブルの行数であるNRow()や添え字のiは、使用する計算式に合わせて変更することができます。Figure A.13の例では、Summation関数を使って、現在の行番号までの「売上」列の累積合計を求めています。
図A.13 Summation関数の例
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関数の例
指定された引数の欠測値以外の値から、それぞれ最小値と最大値を戻します。
指定された引数のうち、欠測値である値の個数を戻します。
すべての要素の平方和を戻します。