[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# 49. descriptive

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 49.1 Introduction to descriptive

パッケージ `descriptive`には記述統計計算とグラフ作成を行うための関数一式が入っています。 ソースコードと一緒に Maximaツリーに３つのデータセットがあります: `pidigits.data`, `wind.data`, `biomed.data`

パッケージ `descriptive`の関数の参考文献として、 どんな統計マニュアルでも使うことができます。

コメント、バグ、提案は、 'riotorto AT yahoo DOT com'にコンタクトしてください。

以下は、 `descriptive`の中の記述関数が引数やリスト、行列の性質に依存して如何に機能するか を示す簡単な例です。

    (%i1) load (descriptive)$
    (%i2) /* univariate sample */   mean ([a, b, c]);
                                c + b + a
    (%o2)                       ---------
                                    3
    (%i3) matrix ([a, b], [c, d], [e, f]);
                                [ a  b ]
                                [      ]
    (%o3)                       [ c  d ]
                                [      ]
                                [ e  f ]
    (%i4) /* multivariate sample */ mean (%);
                          e + c + a  f + d + b
    (%o4)                [---------, ---------]
                              3          3

多変数標本では平均は列それぞれに関して計算されることに注意してください。

異なるサイズかもしれない複数の標本の場合、 Maxima関数 `map`を使って標本それぞれに対して望みの結果を得ることができます。

    (%i1) load (descriptive)$
    (%i2) map (mean, [[a, b, c], [d, e]]);
                            c + b + a  e + d
    (%o2)                  [---------, -----]
                                3        2

この場合、サイズ 3と 2の２つの標本がリストに格納されました。

１変数標本は以下のようにリストに格納されなければいけません。

    (%i1) s1 : [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
    (%o1)           [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

多変数標本は以下のように行列に格納されなければいけません。

    (%i1) s2 : matrix ([13.17, 9.29], [14.71, 16.88], [18.50, 16.88],
                 [10.58, 6.63], [13.33, 13.25], [13.21,  8.12]);
                            [ 13.17  9.29  ]
                            [              ]
                            [ 14.71  16.88 ]
                            [              ]
                            [ 18.5   16.88 ]
    (%o1)                   [              ]
                            [ 10.58  6.63  ]
                            [              ]
                            [ 13.33  13.25 ]
                            [              ]
                            [ 13.21  8.12  ]

この場合、列の数は確率変数次元に等しく、行の数はサンプルのサイズです。

データは手で入力することができますが、 大きな標本は普通プレインテキストファイルの中に格納されています。 例えば、ファイル `pidigits.data`は数 `%pi`の最初の100桁を含みます:

          3
          1
          4
          1
          5
          9
          2
          6
          5
          3 ...

Maximaでこれらの桁をロードするためには、

    (%i1) s1 : read_list (file_search ("pidigits.data"))$
    (%i2) length (s1);
    (%o2)                          100

他方、ファイル `wind.data`は アイルランド共和国の５つの気象台の毎日の平均風速を含みます。 (これは１２の気象台で取得されたデータセットの一部です。 元のファイルは StatLib Data Repositoryから無料でダウンロードでき、 その分析は Haslett, J., Raftery, A. E. (1989) Space-time Modelling with Long-memory Dependence: Assessing Ireland's Wind Power Resource, with Discussion. Applied Statistics 38, 1-50 で議論されてます。) 以下ではデータをロードします:

    (%i1) s2 : read_matrix (file_search ("wind.data"))$
    (%i2) length (s2);
    (%o2)                          100
    (%i3) s2 [%]; /* last record */
    (%o3)            [3.58, 6.0, 4.58, 7.62, 11.25]

いくつかの標本は数値でないデータを含みます。 例えば、ファイル `biomed.data` (StatLib Data Repositoryからダウンロードされた別のもっと大きなものの一部)は、異なる年齢の２つのグループ `A`と `B`の患者から測定された４つの血圧を含みます。

    (%i1) s3 : read_matrix (file_search ("biomed.data"))$
    (%i2) length (s3);
    (%o2)                          100
    (%i3) s3 [1]; /* first record */
    (%o3)            [A, 30, 167.0, 89.0, 25.6, 364]

最初の個人はグループ `A`に属し、30歳で、血圧は167.0, 89.0, 25.6, 364でした。

カテゴリデータを扱う時には気をつけなければいけません。 次の例では、シンボル `a`が以前のある時点で値に割り当てられ、その後、カテゴリ値 `a`を持つ標本が取られます。

    (%i1) a : 1$
    (%i2) matrix ([a, 3], [b, 5]);
                                [ 1  3 ]
    (%o2)                       [      ]
                                [ b  5 ]

Categories: Descriptive statistics · Share packages · Package descriptive

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 49.2 Functions and Variables for data manipulation

関数: build_sample
`build_sample` (list)
`build_sample` (matrix)

  絶対頻度のテーブルから標本を構築します。 入力テーブルは行列か、サイズの等しいリストのリストです。 列の数やリストの長さは1より大きなければいけません。 それぞれの行もしくはそれぞれのリストの最後の要素は絶対頻度として解釈されます。 出力は常に行列形式での標本です。

  例:

  一変量頻度テーブル。

      (%i1) load (descriptive)$
      (%i2) sam1: build_sample([[6,1], [j,2], [2,1]]);
                             [ 6 ]
                             [   ]
                             [ j ]
      (%o2)                  [   ]
                             [ j ]
                             [   ]
                             [ 2 ]
      (%i3) mean(sam1);
                            2 j + 8
      (%o3)                [-------]
                               4
      (%i4) barsplot(sam1) $

  多変量頻度テーブル。

      (%i1) load (descriptive)$
      (%i2) sam2: build_sample([[6,3,1], [5,6,2], [u,2,1],[6,8,2]]) ;
                                 [ 6  3 ]
                                 [      ]
                                 [ 5  6 ]
                                 [      ]
                                 [ 5  6 ]
      (%o2)                      [      ]
                                 [ u  2 ]
                                 [      ]
                                 [ 6  8 ]
                                 [      ]
                                 [ 6  8 ]
      (%i3) cov(sam2);
             [   2                 2                            ]
             [  u  + 158   (u + 28)     2 u + 174   11 (u + 28) ]
             [  -------- - ---------    --------- - ----------- ]
      (%o3)  [     6          36            6           12      ]
             [                                                  ]
             [ 2 u + 174   11 (u + 28)            21            ]
             [ --------- - -----------            --            ]
             [     6           12                 4             ]
      (%i4) barsplot(sam2, grouping=stacked) $

  Categories: Package descriptive

関数: continuous_freq
`continuous_freq` (data)
`continuous_freq` (data, m)

  `continuous_freq`の第1引数は数のリストか (`make_array`が生成した)1次元配列でなければいけません。 範囲を区間に分割し、それらの中に値がいくつあるか数えます。 二番目の引数はオプションで、 望みのクラス数 (デフォルトが 10)か、クラス境界と欲しいクラスを含むリストか 境界だけ含むリストのいずれかです。 (訳注: クラスは区間を意味します。)

  もしサンプル値がすべて等しいなら、この関数は振幅 2のクラスを1つだけ返します。 (訳注: 振幅は区間幅を意味します。)

  例:

  オプション引数は望みのクラス数を示します。 出力の最初のリストは区間境界を含み、二番目は対応する個数を含みます: 区間 `[0, 1.8]`すなわち 0か 1である桁が 16あり、 `(1.8, 3.6]`すなわち 2か 3である桁が 24あり、など。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) continuous_freq (s1, 5);
      (%o3) [[0, 1.8, 3.6, 5.4, 7.2, 9.0], [16, 24, 18, 17, 25]]

  オプション引数は、境界 -2と 12を持つクラスを 7個欲しいことを示します:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) continuous_freq (s1, [-2,12,7]);
      (%o3) [[- 2, 0, 2, 4, 6, 8, 10, 12], [8, 20, 22, 17, 20, 13, 0]]

  オプション引数は、境界 -2と 12を持つクラスをデフォルト個欲しいことを示します:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) continuous_freq (s1, [-2,12]);
                      3  4  11  18     32  39  46  53
      (%o3)  [[- 2, - -, -, --, --, 5, --, --, --, --, 12],
                      5  5  5   5      5   5   5   5
                     [0, 8, 20, 12, 18, 9, 8, 25, 0, 0]]

  第1引数に配列が可能です。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) a1 : make_array (fixnum, length (s1)) $
      (%i4) fillarray (a1, s1);
      (%o4) {Lisp Array:
      #(3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 \
      5 0 2 8 8 4 1 9 7 1 6 9 3 9 9 3 7 5 1 0 5 8 2 0 9 7 4 9 4 4 5 9
        2 3 0 7 8 1 6 4 0 6 2 8 6 2 0 8 9 9 8 6 2 8 0 3 4 8 2 5 3 4 2 \
      1 1 7 0 6 7)}
      (%i5) continuous_freq (a1);
                 9   9  27  18  9  27  63  36  81
      (%o5) [[0, --, -, --, --, -, --, --, --, --, 9],
                 10  5  10  5   2  5   10  5   10
                                   [8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]

  Categories: Package descriptive

関数: discrete_freq (data)

  数値的、記述的両方の離散標本の中の絶対頻度を数えます。 唯一の引数はリストか(`make_array`が生成した)1次元配列です。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) discrete_freq (s1);
      (%o3) [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                                   [8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]

  最初のリストは標本値を与え、二番目はそれらの絶対頻度を与えます。 コマンド `? col`と `? transpose`は最後の入力を理解するのを助けるはずです。

  第1引数に配列が可能です。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) a1 : make_array (fixnum, length (s1)) $
      (%i4) fillarray (a1, s1);
      (%o4) {Lisp Array:
      #(3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 \
      5 0 2 8 8 4 1 9 7 1 6 9 3 9 9 3 7 5 1 0 5 8 2 0 9 7 4 9 4 4 5 9
        2 3 0 7 8 1 6 4 0 6 2 8 6 2 0 8 9 9 8 6 2 8 0 3 4 8 2 5 3 4 2 \
      1 1 7 0 6 7)}
      (%i5) discrete_freq (a1);
      (%o5) [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                                   [8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]

  Categories: Package descriptive

関数: standardize
`standardize` (list)
`standardize` (matrix)

  リストの要素それぞれから標本平均を引き、結果を標準偏差で割ります。 入力が行列の時、 `standardize`は行それぞれから多変量平均を引き、対応する標準偏差でそれぞれの成分を割ります。

  Categories: Package descriptive

関数: subsample
`subsample` (data_matrix, predicate_function)
`subsample` (data_matrix, predicate_function, col_num1, col_num2, ...)

  これは Maximaの `submatrix`関数の変形の一種です。 最初の引数はデータ行列であり、二番目は述語関数であり、 オプションの付加引数は返す列の番号です。 その振る舞いは例を使ってよりよく理解されます。

  以下は最初の測候所での風速が 18より大きかった多変量レコードです。 ラムダ式の中で i番目の成分は `v[i]`として参照されることを参考にしてください。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) subsample (s2, lambda([v], v[1] > 18));
                    [ 19.38  15.37  15.12  23.09  25.25 ]
                    [                                   ]
                    [ 18.29  18.66  19.08  26.08  27.63 ]
      (%o3)         [                                   ]
                    [ 20.25  21.46  19.95  27.71  23.38 ]
                    [                                   ]
                    [ 18.79  18.96  14.46  26.38  21.84 ]

  以下の例では、測候所番号 1で 16以上で、かつ、測候所番号 4で 25ノットより小さな風速のレコードの一番目、二番目、五番目の成分だけをリクエストします。 標本は、測候所 1, 2, 5からのデータだけを含みます。 この場合、述語関数は通常の Maxima関数として定義されます。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) g(x):= x[1] >= 16 and x[4] < 25$
      (%i4) subsample (s2, g, 1, 2, 5);
                           [ 19.38  15.37  25.25 ]
                           [                     ]
                           [ 17.33  14.67  19.58 ]
      (%o4)                [                     ]
                           [ 16.92  13.21  21.21 ]
                           [                     ]
                           [ 17.25  18.46  23.87 ]

  以下は `biomed.data`のカテゴリ変数の例です。 38歳より年上のグループ `B`の患者に対応するレコードが欲しいです。

      (%i1) load (descriptive)$
      (%i2) s3 : read_matrix (file_search ("biomed.data"))$
      (%i3) h(u):= u[1] = B and u[2] > 38 $
      (%i4) subsample (s3, h);
                      [ B  39  28.0  102.3  17.1  146 ]
                      [                               ]
                      [ B  39  21.0  92.4   10.3  197 ]
                      [                               ]
                      [ B  39  23.0  111.5  10.0  133 ]
                      [                               ]
                      [ B  39  26.0  92.6   12.3  196 ]
      (%o4)           [                               ]
                      [ B  39  25.0  98.7   10.0  174 ]
                      [                               ]
                      [ B  39  21.0  93.2   5.9   181 ]
                      [                               ]
                      [ B  39  18.0  95.0   11.3  66  ]
                      [                               ]
                      [ B  39  39.0  88.5   7.6   168 ]

  統計解析には血圧だけを使うかもしれません。

      (%i1) load (descriptive)$
      (%i2) s3 : read_matrix (file_search ("biomed.data"))$
      (%i3) subsample (s3, lambda([v], v[1] = B and v[2] > 38),
                       3, 4, 5, 6);
                         [ 28.0  102.3  17.1  146 ]
                         [                        ]
                         [ 21.0  92.4   10.3  197 ]
                         [                        ]
                         [ 23.0  111.5  10.0  133 ]
                         [                        ]
                         [ 26.0  92.6   12.3  196 ]
      (%o3)              [                        ]
                         [ 25.0  98.7   10.0  174 ]
                         [                        ]
                         [ 21.0  93.2   5.9   181 ]
                         [                        ]
                         [ 18.0  95.0   11.3  66  ]
                         [                        ]
                         [ 39.0  88.5   7.6   168 ]

  以下は`s3`の多変量平均です。

      (%i1) load (descriptive)$
      (%i2) s3 : read_matrix (file_search ("biomed.data"))$
      (%i3) mean (s3);
             65 B + 35 A  317          6 NA + 8144.999999999999
      (%o3) [-----------, ---, 87.178, ------------------------,
                 100      10                     100
                                                          3 NA + 19587
                                                  18.123, ------------]
                                                              100

  ここで、一番目の成分は `A`と `B`はカテゴリなので意味がなく、 二番目の成分は個々人の平均の歳の有理表現であり、 四番目と最後の値はある奇妙な振る舞いを示しています。 これは、シンボル `NA`が non availableデータを示すようにここで使われているからで、 二つの平均は無意味です。 情報のある種の喪失を意味しますが、可能な解は `NA`シンボルを持つ行を行列から取り除くことです。

      (%i1) load (descriptive)$
      (%i2) s3 : read_matrix (file_search ("biomed.data"))$
      (%i3) g(v):= v[4] # NA and v[6] # NA $
      (%i4) mean (subsample (s3, g, 3, 4, 5, 6));
      (%o4) [79.4923076923077, 86.2032967032967, 16.93186813186813,
                                                                  2514
                                                                  ----]
                                                                   13

  Categories: Package descriptive

関数: transform_sample (matrix, varlist, exprlist)

  標本 matrixを exprlist内の式で変換します。 ここで、それぞれの列は varlistに従って名付けられます。

  例:

  2番目の引数が3つの列に名前を割り当てます。 これらの名前を使って、式のリストが標本の変換を定義します。

      (%i1) load (descriptive)$
      (%i2) data: matrix([3,2,7],[3,7,2],[8,2,4],[5,2,4]) $
      (%i3) transform_sample(data, [a,b,c], [c, a*b, log(a)]);
                                     [ 7  6   log(3) ]
                                     [               ]
                                     [ 2  21  log(3) ]
      (%o3)                          [               ]
                                     [ 4  16  log(8) ]
                                     [               ]
                                     [ 4  10  log(5) ]

  定数の列を追加し、3番目の変量を削除します。

      (%i1) load (descriptive)$
      (%i2) data: matrix([3,2,7],[3,7,2],[8,2,4],[5,2,4]) $
      (%i3) transform_sample(data, [a,b,c], [makelist(1,k,length(data)),a,b]);
                                        [ 1  3  2 ]
                                        [         ]
                                        [ 1  3  7 ]
      (%o3)                             [         ]
                                        [ 1  8  2 ]
                                        [         ]
                                        [ 1  5  2 ]

  Categories: Package descriptive

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 49.3 Functions and Variables for descriptive statistics

関数: mean
`mean` (list)
`mean` (matrix)

  これは標本平均です。以下のように定義されます。

                             n
                           ====
                   _   1   \
                   x = -    >    x
                       n   /      i
                           ====
                           i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) mean (s1);
                                     471
      (%o3)                          ---
                                     100
      (%i4) %, numer;
      (%o4)                         4.71
      (%i5) s2 : read_matrix (file_search ("wind.data"))$
      (%i6) mean (s2);
      (%o6)     [9.9485, 10.1607, 10.8685, 15.7166, 14.8441]

  Categories: Package descriptive

関数: var
`var` (list)
`var` (matrix)

  これは標本分散です。以下のように定義されます。

                           n
                         ====
                 2   1   \          _ 2
                s  = -    >    (x - x)
                     n   /       i
                         ====
                         i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) var (s1), numer;
      (%o3)                   8.425899999999999

  関数 `var1`も参照してください。

  Categories: Package descriptive

関数: var1
`var1` (list)
`var1` (matrix)

  これは標本分散です。以下のように定義されます。

                           n
                         ====
                     1   \          _ 2
                    ---   >    (x - x)
                    n-1  /       i
                         ====
                         i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) var1 (s1), numer;
      (%o3)                    8.5110101010101
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) var1 (s2);
      (%o5) [17.39586540404041, 15.13912778787879, 15.63204924242424,
                                  32.50152569696971, 24.66977392929294]

  関数 `var`も参照してください。

  Categories: Package descriptive

関数: std
`std` (list)
`std` (matrix)

  これは分母 nの分散である関数 `var`の平方根です。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) std (s1), numer;
      (%o3)                   2.902740084816414
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) std (s2);
      (%o5) [4.149928523480858, 3.871399812729241, 3.933920277534866,
                                  5.672434260526957, 4.941970881136392]

  関数 `var`と `std1`も参照してください。

  Categories: Package descriptive

関数: std1
`std1` (list)
`std1` (matrix)

  これは分母 n-1の分散である関数 `var1`の平方根です。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) std1 (s1), numer;
      (%o3)                   2.917363553109228
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) std1 (s2);
      (%o5) [4.170835096721089, 3.89090320978032, 3.953738641137555,
                                  5.701010936401517, 4.966867617451963]

  関数 `var1`と `std`も参照してください。

  Categories: Package descriptive

関数: noncentral_moment
`noncentral_moment` (list, k)
`noncentral_moment` (matrix, k)

  次数 kの非中心モーメントです。以下のように定義されます。

                             n
                           ====
                       1   \      k
                       -    >    x
                       n   /      i
                           ====
                           i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) noncentral_moment (s1, 1), numer; /* the mean */
      (%o3)                         4.71
      (%i5) s2 : read_matrix (file_search ("wind.data"))$
      (%i6) noncentral_moment (s2, 5);
      (%o6) [319793.8724761505, 320532.1923892463,
            391249.5621381556, 2502278.205988911, 1691881.797742255]

  関数 `central_moment`も参照してください。

  Categories: Package descriptive

関数: central_moment
`central_moment` (list, k)
`central_moment` (matrix, k)

  次数 kの中心モーメントです。以下のように定義されます。

                          n
                        ====
                    1   \          _ k
                    -    >    (x - x)
                    n   /       i
                        ====
                        i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) central_moment (s1, 2), numer; /* the variance */
      (%o3)                   8.425899999999999
      (%i5) s2 : read_matrix (file_search ("wind.data"))$
      (%i6) central_moment (s2, 3);
      (%o6) [11.29584771375004, 16.97988248298583, 5.626661952750102,
                                   37.5986572057918, 25.85981904394192]

  関数 `noncentral_moment`と `mean`も参照してください。

  Categories: Package descriptive

関数: cv
`cv` (list)
`cv` (matrix)

  変動係数は標本標準偏差 (`std`)を平均 `mean`で割った商です。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) cv (s1), numer;
      (%o3)                   .6193977819764815
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) cv (s2);
      (%o5) [.4192426091090204, .3829365309260502, 0.363779605385983,
                                  .3627381836021478, .3346021393989506]

  関数 `std`と `mean`も参照してください。

  Categories: Package descriptive

関数: smin
`smin` (list)
`smin` (matrix)

  これは標本 listの最小値です。 引数が行列の時、 `smin`は統計変数に関連付けられた列の最小値を含むリストを返します。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) smin (s1);
      (%o3)                           0
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) smin (s2);
      (%o5)             [0.58, 0.5, 2.67, 5.25, 5.17]

  関数 `smax`も参照してください。

  Categories: Package descriptive

関数: smax
`smax` (list)
`smax` (matrix)

  これは標本 listの最大値です。 引数が行列の時、 `smax`は統計変数に関連付けられた列の最大値を含むリストを返します。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) smax (s1);
      (%o3)                           9
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) smax (s2);
      (%o5)          [20.25, 21.46, 20.04, 29.63, 27.63]

  関数 `smin`も参照してください。

  Categories: Package descriptive

関数: range
`range` (list)
`range` (matrix)

  範囲は極値の差です。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) range (s1);
      (%o3)                           9
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) range (s2);
      (%o5)          [19.67, 20.96, 17.37, 24.38, 22.46]

  Categories: Package descriptive

関数: quantile
`quantile` (list, p)
`quantile` (matrix, p)

  これは標本 listの p分位数です。 pは [0, 1]の範囲の数です。 標本分位数にはいくつかの定義がありますが (Hyndman, R. J., Fan, Y. (1996) Sample quantiles in statistical packages. American Statistician, 50, 361-365)、 パッケージ descriptiveでは線形内挿に基づいたものが実装されています。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) /* 1st and 3rd quartiles */
               [quantile (s1, 1/4), quantile (s1, 3/4)], numer;
      (%o3)                      [2.0, 7.25]
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) quantile (s2, 1/4);
      (%o5)    [7.2575, 7.477500000000001, 7.82, 11.28, 11.48]

  Categories: Package descriptive

関数: median
`median` (list)
`median` (matrix)

  一旦標本が順に並べられると、 もし標本サイズが奇数ならメジアンは中央値であり、 そうでないなら2つの中央値の平均です。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) median (s1);
                                      9
      (%o3)                           -
                                      2
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) median (s2);
      (%o5)         [10.06, 9.855, 10.73, 15.48, 14.105]

  メジアンは 1/2分位数です。

  関数 `quantile`も参照してください。

  Categories: Package descriptive

関数: qrange
`qrange` (list)
`qrange` (matrix)

  四分位範囲は三番目と一番目の分位数の差 `quantile(list,3/4) - quantile(list,1/4)` です。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) qrange (s1);
                                     21
      (%o3)                          --
                                     4
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) qrange (s2);
      (%o5) [5.385, 5.572499999999998, 6.022500000000001,
                                  8.729999999999999, 6.649999999999999]

  関数 `quantile`も参照してください。

  Categories: Package descriptive

関数: mean_deviation
`mean_deviation` (list)
`mean_deviation` (matrix)

  平均偏差です。以下のように定義されます。

                           n
                         ====
                     1   \          _
                     -    >    |x - x|
                     n   /       i
                         ====
                         i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) mean_deviation (s1);
                                     51
      (%o3)                          --
                                     20
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) mean_deviation (s2);
      (%o5) [3.287959999999999, 3.075342, 3.23907, 4.715664000000001,
                                                     4.028546000000002]

  関数 `mean`も参照してください。

  Categories: Package descriptive

関数: median_deviation
`median_deviation` (list)
`median_deviation` (matrix)

  メジアン偏差です。以下のように定義されます。

                       n
                     ====
                 1   \
                 -    >    |x - med|
                 n   /       i
                     ====
                     i = 1

  ここで `med`は listのメジアンです。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) median_deviation (s1);
                                      5
      (%o3)                           -
                                      2
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) median_deviation (s2);
      (%o5)           [2.75, 2.755, 3.08, 4.315, 3.31]

  関数 `mean`も参照してください。

  Categories: Package descriptive

関数: harmonic_mean
`harmonic_mean` (list)
`harmonic_mean` (matrix)

  調和平均です。以下のように定義されます。

                        n
                     --------
                      n
                     ====
                     \     1
                      >    --
                     /     x
                     ====   i
                     i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$
      (%i3) harmonic_mean (y), numer;
      (%o3)                   3.901858027632205
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) harmonic_mean (s2);
      (%o5) [6.948015590052786, 7.391967752360356, 9.055658197151745,
                                  13.44199028193692, 13.01439145898509]

  関数 `mean`と `geometric_mean`も参照してください。

  Categories: Package descriptive

関数: geometric_mean
`geometric_mean` (list)
`geometric_mean` (matrix)

  幾何平均です。以下のように定義されます。

                       /  n      \ 1/n
                       | /===\   |
                       |  ! !    |
                       |  ! !  x |
                       |  ! !   i|
                       | i = 1   |
                       \         /

  例:

      (%i1) load (descriptive)$
      (%i2) y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$
      (%i3) geometric_mean (y), numer;
      (%o3)                   4.454845412337012
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) geometric_mean (s2);
      (%o5) [8.82476274347979, 9.22652604739361, 10.0442675714889,
                                  14.61274126349021, 13.96184163444275]

  関数`mean`と`harmonic_mean`も参照してください。

  Categories: Package descriptive

関数: kurtosis
`kurtosis` (list)
`kurtosis` (matrix)

  尖度係数です。以下のように定義されます。

                          n
                        ====
                  1     \          _ 4
                 ----    >    (x - x)  - 3
                    4   /       i
                 n s    ====
                        i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) kurtosis (s1), numer;
      (%o3)                  - 1.273247946514421
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) kurtosis (s2);
      (%o5) [- .2715445622195385, 0.119998784429451,
           - .4275233490482861, - .6405361979019522, - .4952382132352935]

  関数 `mean`, `var`, `skewness`も参照してください。

  Categories: Package descriptive

関数: skewness
`skewness` (list)
`skewness` (matrix)

  歪度係数です。以下のように定義されます。

                          n
                        ====
                  1     \          _ 3
                 ----    >    (x - x)
                    3   /       i
                 n s    ====
                        i = 1

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) skewness (s1), numer;
      (%o3)                  .009196180476450424
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) skewness (s2);
      (%o5) [.1580509020000978, .2926379232061854, .09242174416107717,
                                  .2059984348148687, .2142520248890831]

  関数`mean`, `var`, `kurtosis`も参照してください。

  Categories: Package descriptive

関数: pearson_skewness
`pearson_skewness` (list)
`pearson_skewness` (matrix)

  Pearsonの歪度係数です。以下のように定義されます。

                      _
                   3 (x - med)
                   -----------
                        s

  ここで medは listのメジアンです。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) pearson_skewness (s1), numer;
      (%o3)                   .2159484029093895
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) pearson_skewness (s2);
      (%o5) [- .08019976629211892, .2357036272952649,
               .1050904062491204, .1245042340592368, .4464181795804519]

  関数 `mean`, `var`, `median`も参照してください。

  Categories: Package descriptive

関数: quartile_skewness
`quartile_skewness` (list)
`quartile_skewness` (matrix)

  分位歪度係数です。以下のように定義されます。

                     c    - 2 c    + c
                      3/4      1/2    1/4
                     --------------------
                         c    - c
                          3/4    1/4

  ここで c_pは標本 listの p分位数です。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) quartile_skewness (s1), numer;
      (%o3)                  .04761904761904762
      (%i4) s2 : read_matrix (file_search ("wind.data"))$
      (%i5) quartile_skewness (s2);
      (%o5) [- 0.0408542246982353, .1467025572005382,
             0.0336239103362392, .03780068728522298, .2105263157894735]

  関数 `quantile`も参照してください。

  Categories: Package descriptive

関数: cov (matrix)

  多変量標本の共分散行列です。以下のように定義されます。

                    n
                   ====
                1  \           _        _
            S = -   >    (X  - X) (X  - X)'
                n  /       j        j
                   ====
                   j = 1

  ここで X_jは標本行列の j番目の行です。

  例:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) fpprintprec : 7$  /* change precision for pretty output */
      (%i4) cov (s2);
            [ 17.22191  13.61811  14.37217  19.39624  15.42162 ]
            [                                                  ]
            [ 13.61811  14.98774  13.30448  15.15834  14.9711  ]
            [                                                  ]
      (%o4) [ 14.37217  13.30448  15.47573  17.32544  16.18171 ]
            [                                                  ]
            [ 19.39624  15.15834  17.32544  32.17651  20.44685 ]
            [                                                  ]
            [ 15.42162  14.9711   16.18171  20.44685  24.42308 ]

  関数 `cov1`も参照してください。

  Categories: Package descriptive

関数: cov1 (matrix)

  多変量標本の共分散行列です。以下のように定義されます。

                    n
                   ====
               1   \           _        _
         S  = ---   >    (X  - X) (X  - X)'
          1   n-1  /       j        j
                   ====
                   j = 1

  ここで X_jは標本行列の j番目の行です。

  例:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) fpprintprec : 7$ /* change precision for pretty output */
      (%i4) cov1 (s2);
            [ 17.39587  13.75567  14.51734  19.59216  15.5774  ]
            [                                                  ]
            [ 13.75567  15.13913  13.43887  15.31145  15.12232 ]
            [                                                  ]
      (%o4) [ 14.51734  13.43887  15.63205  17.50044  16.34516 ]
            [                                                  ]
            [ 19.59216  15.31145  17.50044  32.50153  20.65338 ]
            [                                                  ]
            [ 15.5774   15.12232  16.34516  20.65338  24.66977 ]

  関数 `cov`も参照してください。

  Categories: Package descriptive

関数: global_variances
`global_variances` (matrix)
`global_variances` (matrix, options ...)

  関数 `global_variances`は大域分散尺度のリストを返します:

  - total variance: `trace(S_1)`,
  - mean variance: `trace(S_1)/p`,
  - generalized variance: `determinant(S_1)`,
  - generalized standard deviation: `sqrt(determinant(S_1))`,
  - efective variance `determinant(S_1)^(1/p)`, (以下の文献で定義されています: Peña, D. (2002) Análisis de datos multivariantes; McGraw-Hill, Madrid.)
  - efective standard deviation: `determinant(S_1)^(1/(2*p))`.

  ここで pは多変量確率変数の次元であり、 S_1は `cov1`が返す共分散行列です。

  オプション:

  - `'data`(デフォルト `'true`)は入力行列が標本データを含むかどうかを示します。 含む場合には共分散行列 `cov1`を計算しなくてはいけません。 含まない場合にはデータの代わりに(対称)共分散行列が与えられなければいけません。

  例:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) global_variances (s2);
      (%o3) [105.338342060606, 21.06766841212119, 12874.34690469686,
               113.4651792608501, 6.636590811800795, 2.576158149609762]

  共分散行列から `global_variances`を計算します。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) s : cov1 (s2)$
      (%i4) global_variances (s, data=false);
      (%o4) [105.338342060606, 21.06766841212119, 12874.34690469686,
               113.4651792608501, 6.636590811800795, 2.576158149609762]

  `cov`と `cov1`も参照してください。

  Categories: Package descriptive

関数: cor
`cor` (matrix)
`cor` (matrix, logical_value)

  多変量標本の相関行列です。

  オプション:

  - `'data`(デフォルト `'true`)は入力行列が標本データを含むかどうかを示します。 含む場合には共分散行列 `cov1`を計算しなくてはいけません。 含まない場合にはデータの代わりに(対称)共分散行列が与えられなければいけません。

  例:

      (%i1) load (descriptive)$
      (%i2) fpprintprec : 7 $
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) cor (s2);
            [   1.0     .8476339  .8803515  .8239624  .7519506 ]
            [                                                  ]
            [ .8476339    1.0     .8735834  .6902622  0.782502 ]
            [                                                  ]
      (%o4) [ .8803515  .8735834    1.0     .7764065  .8323358 ]
            [                                                  ]
            [ .8239624  .6902622  .7764065    1.0     .7293848 ]
            [                                                  ]
            [ .7519506  0.782502  .8323358  .7293848    1.0    ]

  共分散行列から相関行列を計算します。

      (%i1) load (descriptive)$
      (%i2) fpprintprec : 7 $
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) s : cov1 (s2)$
      (%i5) cor (s, data=false); /* this is faster */
            [   1.0     .8476339  .8803515  .8239624  .7519506 ]
            [                                                  ]
            [ .8476339    1.0     .8735834  .6902622  0.782502 ]
            [                                                  ]
      (%o5) [ .8803515  .8735834    1.0     .7764065  .8323358 ]
            [                                                  ]
            [ .8239624  .6902622  .7764065    1.0     .7293848 ]
            [                                                  ]
            [ .7519506  0.782502  .8323358  .7293848    1.0    ]

  `cov`と`cov1`も参照してください。

  Categories: Package descriptive

関数: list_correlations
`list_correlations` (matrix)
`list_correlations` (matrix, options ...)

  関数 `list_correlations`は相関尺度のリストを返します:

  - precision matrix: 共分散行列 S_1の逆行列,

               -1     ij
              S   = (s  )
               1         i,j = 1,2,...,p

  - multiple correlation vector: (R_1^2, R_2^2, ..., R_p^2),

               2          1
              R  = 1 - -------
               i        ii
                       s   s
                            ii

    変数の残りが独立変数として使われる時、これらは X_i上の線形多変量回帰モデルの適合度の指標です。

  - partial correlation matrix: (i, j)成分が以下の行列

                                 ij
                                s
              r        = - ------------
               ij.rest     / ii  jj\ 1/2
                           |s   s  |
                           \       /

  オプション:

  - `'data`(デフォルト `'true`)は入力行列が標本データを含むかどうかを示します。 含む場合には共分散行列 `cov1`を計算しなくてはいけません。 含まない場合にはデータの代わりに(対称)共分散行列が与えられなければいけません。

  例:

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) z : list_correlations (s2)$
      (%i4) fpprintprec : 5$ /* for pretty output */
      (%i5) z[1];  /* precision matrix */
            [  .38486   - .13856   - .15626   - .10239    .031179  ]
            [                                                      ]
            [ - .13856   .34107    - .15233    .038447   - .052842 ]
            [                                                      ]
      (%o5) [ - .15626  - .15233    .47296    - .024816  - .10054  ]
            [                                                      ]
            [ - .10239   .038447   - .024816   .10937    - .034033 ]
            [                                                      ]
            [ .031179   - .052842  - .10054   - .034033   .14834   ]
      (%i6) z[2];  /* multiple correlation vector */
      (%o6)      [.85063, .80634, .86474, .71867, .72675]
      (%i7) z[3];  /* partial correlation matrix */
            [  - 1.0     .38244   .36627   .49908   - .13049 ]
            [                                                ]
            [  .38244    - 1.0    .37927  - .19907   .23492  ]
            [                                                ]
      (%o7) [  .36627    .37927   - 1.0    .10911    .37956  ]
            [                                                ]
            [  .49908   - .19907  .10911   - 1.0     .26719  ]
            [                                                ]
            [ - .13049   .23492   .37956   .26719    - 1.0   ]

  `cov`と `cov1`も参照してください。

  Categories: Package descriptive

関数: principal_components
`principal_components` (matrix)
`principal_components` (matrix, options ...)

  多変量標本の主成分を計算します。 多変量統計分析で次元を減らすために標本の主成分が使われます。

  オプション:

  - `'data`(デフォルト `'true`)は入力行列が標本データを含むかどうかを示します。 含む場合には共分散行列 `cov1`を計算しなくてはいけません。 含まない場合にはデータの代わりに(対称)共分散行列が与えられなければいけません。

  関数 `principal_components`の出力は以下の結果を含むリストです:

  - 主成分の分散、
  - 全分散の中でそれぞれの主成分が占めるパーセンテージ、
  - 回転行列。

  例:

  この標本では、最初の成分は全分散の83.13パーセントを占める。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) fpprintprec:4 $
      (%i4) res: principal_components(s2);
      0 errors, 0 warnings
      (%o4) [[87.57, 8.753, 5.515, 1.889, 1.613],
      [83.13, 8.31, 5.235, 1.793, 1.531],
      [ .4149  .03379   - .4757  - 0.581   - .5126 ]
      [                                            ]
      [ 0.369  - .3657  - .4298   .7237    - .1469 ]
      [                                            ]
      [ .3959  - .2178  - .2181  - .2749    .8201  ]]
      [                                            ]
      [ .5548   .7744    .1857    .2319    .06498  ]
      [                                            ]
      [ .4765  - .4669   0.712   - .09605  - .1969 ]
      (%i5) /* accumulated percentages  */
          block([ap: copy(res[2])],
            for k:2 thru length(ap) do ap[k]: ap[k]+ap[k-1],
            ap);
      (%o5)                 [83.13, 91.44, 96.68, 98.47, 100.0]
      (%i6) /* sample dimension */
            p: length(first(res));
      (%o6)                                  5
      (%i7) /* plot percentages to select number of
               principal components for further work */
           draw2d(
              fill_density = 0.2,
              apply(bars, makelist([k, res[2][k], 1/2], k, p)),
              points_joined = true,
              point_type    = filled_circle,
              point_size    = 3,
              points(makelist([k, res[2][k]], k, p)),
              xlabel = "Variances",
              ylabel = "Percentages",
              xtics  = setify(makelist([concat("PC",k),k], k, p))) $

  共分散行列がわかっている場合、関数に渡すことができるが、 オプション `data=false`を使わなくてはいけない。

      (%i1) load (descriptive)$
      (%i2) S: matrix([1,-2,0],[-2,5,0],[0,0,2]);
                                      [  1   - 2  0 ]
                                      [             ]
      (%o2)                           [ - 2   5   0 ]
                                      [             ]
                                      [  0    0   2 ]
      (%i3) fpprintprec:4 $
      (%i4) /* the argumment is a covariance matrix */
            res: principal_components(S, data=false);
      0 errors, 0 warnings
                                                        [ - .3827  0.0  .9239 ]
                                                        [                     ]
      (%o4) [[5.828, 2.0, .1716], [72.86, 25.0, 2.145], [  .9239   0.0  .3827 ]]
                                                        [                     ]
                                                        [   0.0    1.0   0.0  ]
      (%i5) /* transformation to get the principal components
               from original records */
            matrix([a1,b2,c3],[a2,b2,c2]).last(res);
                   [ .9239 b2 - .3827 a1  1.0 c3  .3827 b2 + .9239 a1 ]
      (%o5)        [                                                  ]
                   [ .9239 b2 - .3827 a2  1.0 c2  .3827 b2 + .9239 a2 ]

  Categories: Package descriptive

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 49.4 Functions and Variables for statistical graphs

関数: barsplot (data1, data2, …, option_1, option_2, …)

  1変量、多変量どちらの標本でも離散統計変数の棒グラフをプロットします

  dataは1標本を意味する結果のリストかもしれませんし、それぞれサイズ mの n個の標本を意味する m行 n列の行列かもしれません。

  利用可能なオプションは以下のものです:

  - `draw`パッケージで定義されたもの。
  - box_width (デフォルト, `3/4`): 長方形の相対幅。 値は範囲 `[0,1]`内でなければいけません。
  - grouping (デフォルト, `clustered`): 複数の標本をいかに表示するか示します。 有効な値: `clustered`と `stacked`。
  - groups_gap (デフォルト, `1`): 棒の2つの隣り合うグループの隙間を表す正の整数。
  - bars_colors (デフォルト, `[]`): 複数の標本のための色のリスト。 指定された色よりもたくさん標本がある時は、 追加で必要な色はランダムに選ばれます。 更に詳しくは `color`を参照してください。
  - frequency (デフォルト, `absolute`): 縦座標のスケールを示します。 可能な値: `absolute`, `relative`, `percent`。
  - ordering (デフォルト, `orderlessp`): 可能な値は `orderlessp`か `ordergreatp`です。 統計的結果がどちら向きに x軸に並んでいるかを示します。
  - sample_keys (デフォルト, `[]`): 凡例に使われる文字列のリスト。 リストの長さが 0か標本の長さ以外ならエラーメッセージを返します。
  - start_at (デフォルト, `0`): x軸上のどこからプロットされるか示します。
  - `barsplot`が内部で割り当てる `xtics`を除くすべてのグローバル `draw`オプション もしこのオプションに自分の値を設定し、複雑なシーンを構築したいなら、 `barsplot_description`を使用してください。 以下の例を参照してください。
  - 以下のローカル drawオプション: `key`, `color`, `fill_color`, `fill_density`, `line_width`。 `bars`も参照してください。

  wxMaximaと iMaximaインターフェイスで埋め込みヒストグラムを生成するための 関数 `wxbarsplot`もあります。 複数プロット文脈での `barsplot`。

  例:

  行列形式での1変量標本。絶対頻度。

      (%i1) load (descriptive)$
      (%i2) m : read_matrix (file_search ("biomed.data"))$
      (%i3) barsplot(
              col(m,2),
              title        = "Ages",
              xlabel       = "years",
              box_width    = 1/2,
              fill_density = 3/4)$

  異なるサイズの2つの標本。 相対頻度とユーザー宣言の色を使って。

      (%i1) load (descriptive)$
      (%i2) l1:makelist(random(10),k,1,50)$
      (%i3) l2:makelist(random(10),k,1,100)$
      (%i4) barsplot(
              l1,l2,
              box_width    = 1,
              fill_density = 1,
              bars_colors  = [black, grey],
              frequencies = relative,
              sample_keys = ["A", "B"])$

  サイズが等しい4つの非数標本。

      (%i1) load (descriptive)$
      (%i2) barsplot(
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              title  = "Asking for something to four groups",
              ylabel = "# of individuals",
              groups_gap   = 3,
              fill_density = 0.5,
              ordering     = ordergreatp)$

  スタックバー。

      (%i1) load (descriptive)$
      (%i2) barsplot(
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              makelist([Yes, No, Maybe][random(3)+1],k,1,50),
              title  = "Asking for something to four groups",
              ylabel = "# of individuals",
              grouping     = stacked,
              fill_density = 0.5,
              ordering     = ordergreatp)$

  棒グラフ関連オプションについてはパッケージ drawの `barsplot`を参照してください。 関数 `histogram`と `piechart`も参照してください。

  Categories: Package descriptive · Plotting

関数: barsplot_description (…)

  関数 `barsplot_description`は 他のグラフィックオブジェクトと一緒に複雑なシーンを生成するために グラフィックオブジェクトを生成します。

  例: 多重プロット文脈での `barsplot`

      (%i1) load (descriptive)$
      (%i2) l1:makelist(random(10),k,1,50)$
      (%i3) l2:makelist(random(10),k,1,100)$
      (%i4) bp1 :
              barsplot_description(
               l1,
               box_width = 1,
               fill_density = 0.5,
               bars_colors = [blue],
               frequency = relative)$
      (%i5) bp2 :
              barsplot_description(
               l2,
               box_width = 1,
               fill_density = 0.5,
               bars_colors = [red],
               frequency = relative)$
      (%i6) draw(gr2d(bp1), gr2d(bp2))$

  Categories: Package descriptive · Plotting

関数: boxplot (data)
`boxplot` (data, option_1, option_2, …)

  この関数は箱ひげ図をプロットします。 引数 dataはリストだったり行列だったりします。 箱ひげ図は主に異なる標本の比較に使われるので、リストはあまり興味深くありません。 行列の場合には多変量統計変数の複数成分を比較することが可能です。 しかし、できる限り異なる標本サイズの標本のリストも許すようにしています。 実際、これはパッケージ `descriptive`の中でこの種のデータ構造を許容する唯一の関数です

  箱は、第2四分位数すなわち中央値に置かれた水平区間と共に 第1四分位数から第3四分位数までプロットされます。 デフォルトでは、下ひげと上ひげはそれぞれ最小値と最大値でプロットされます。 オプション rangeは、 `quantile(x,3/4)+range*(quantile(x,3/4)-quantile(x,1/4))`より大きな値か `quantile(x,1/4)-range*(quantile(x,3/4)-quantile(x,1/4))`より小さな値が外れ値 と考えられるに違いないことを示すのに使うことができます。 その場合、それらは孤立した点としてプロットされ、ひげはサンプルの残りの極値に置かれます。

  利用可能なオプションは以下のものです:

  - box_width (デフォルト, `3/4`): 箱の相対幅。 この値は範囲 `[0,1]`内でなければいけません。
  - box_orientation (デフォルト, `vertical`): 可能な値: `vertical`と `horizontal`。
  - range (デフォルト, `inf`): 外れ値境界を設定するための四分位範囲の正の係数
  - outliers_size (デフォルト, `1`): 孤立した外れ値の円のサイズ
  - `boxplot`が内部で割り当てる `points_joined`, `point_size`, `point_type`, `xtics`, `ytics`, `xrange`, `yrange`を除くすべての `draw`オプション。 もしこのオプションに自分の値を設定し、複雑なシーンを構築したいなら、 `boxplot_description`を使用してください。
  - 以下のローカル `draw`オプション: `key`, `color`, `line_width`。

  wxMaximaと iMaximaインターフェイスで埋め込みヒストグラムを生成するための 関数 `wxbarsplot`もあります。

  例:

  多変量標本の箱ひげ図。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix(file_search("wind.data"))$
      (%i3) boxplot(s2,
              box_width  = 0.2,
              title      = "Windspeed in knots",
              xlabel     = "Stations",
              color      = red,
              line_width = 2)$

  異なるサイズの 3つの標本の箱ひげ図。

      (%i1) load (descriptive)$
      (%i2) A :
             [[6, 4, 6, 2, 4, 8, 6, 4, 6, 4, 3, 2],
              [8, 10, 7, 9, 12, 8, 10],
              [16, 13, 17, 12, 11, 18, 13, 18, 14, 12]]$
      (%i3) boxplot (A, box_orientation = horizontal)$

  オプション rangeは外れ値を扱うのに使うことができます。

      (%i1) load (descriptive)$
      (%i2) B: [[7, 15, 5, 8, 6, 5, 7, 3, 1],
                [10, 8, 12, 8, 11, 9, 20],
                [23, 17, 19, 7, 22, 19]] $
      (%i3) boxplot (B, range=1)$
      (%i4) boxplot (B, range=1.5, box_orientation = horizontal)$
      (%i5) draw2d(
              boxplot_description(
                B,
                range            = 1.5,
                line_width       = 3,
                outliers_size    = 2,
                color            = red,
                background_color = light_gray),
              xtics = {["Low",1],["Medium",2],["High",3]}) $

  Categories: Package descriptive · Plotting

Function: boxplot_description (…)

  関数 `boxplot_description`は 他のグラフィックオブジェクトと一緒に複雑なシーンを生成するために グラフィックオブジェクトを生成します。

  Categories: Package descriptive · Plotting

関数: histogram
`histogram` (list)
`histogram` (list, option_1, option_2, …)
`histogram` (one_column_matrix)
`histogram` (one_column_matrix, option_1, option_2, …)
`histogram` (one_row_matrix)
`histogram` (one_row_matrix, option_1, option_2, …)

  この関数は一連の標本からヒストグラムをプロットします。 標本データは数のリストか一次元行列に保存しなければいけません。

  利用可能なオプションは以下のものです:

  - nclasses (デフォルト, `10`): ヒストグラムのクラス数、もしくは クラスの境界と数か境界だけを含むリスト。
  - frequency (デフォルト, `absolute`): 縦座標のスケールを示します。 可能な値: `absolute`, `relative`, `percent`, `density`。 `density`を使うと、ヒストグラムの面積がトータルで1になります。
  - htics (デフォルト, `auto`): ヒストグラムチックのフォーマット。 可能な値: `auto`, `endpoints`, `intervals`, またはラベルのリスト。
  - `histogram`が内部で割り当てる `xrange`, `yrange`, `xtics`を除くすべてのグローバル `draw`オプション。 もしこれらのオプションに自分の値を設定したいなら、 `histogram_description`を利用してください。 以下の例を参照してください。
  - 以下のローカル drawオプション: `key`, `color`, `fill_color`, `fill_density`と `line_width`。 `barsplot`も参照してください。

  wxMaximaと iMaximaインターフェイスで埋め込みヒストグラムを生成する 関数 `wxhistogram`もあります。

  例:

  8クラスを持つ簡単なヒストグラム。

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) histogram (
                 s1,
                 nclasses     = 8,
                 title        = "pi digits",
                 xlabel       = "digits",
                 ylabel       = "Absolute frequency",
                 fill_color   = grey,
                 fill_density = 0.6)$

  ヒストグラムの境界を-2と12に、クラス数を3に設定します。 また予め定義されたチックを導入します:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) histogram (
                 s1,
                 nclasses     = [-2,12,3],
                 htics        = ["A", "B", "C"],
                 terminal     = png,
                 fill_color   = "#23afa0",
                 fill_density = 0.6)$

  Categories: Package descriptive · Plotting

関数: histogram_description (…)

  関数 `histogram_description`は他のグラフィックオブジェクトと一緒に 複雑なシーンを生成するのに適したグラフィックオブジェクトを生成します。 `xrange`を設定しシーンの中に明示的な曲線を足すのに `histogram_description`を利用します:

      (%i1) load (descriptive)$
      (%i2) ( load("distrib"),
              m: 14, s: 2,
              s2: random_normal(m, s, 1000) ) $
      (%i3) draw2d(
              grid   = true,
              xrange = [5, 25],
              histogram_description(
                s2,
                nclasses     = 9,
                frequency    = density,
                fill_density = 0.5),
              explicit(pdf_normal(x,m,s), x, m - 3*s, m + 3* s))$

  Categories: Package descriptive · Plotting

関数: piechart
`piechart` (list)
`piechart` (list, option_1, option_2, …)
`piechart` (one_column_matrix)
`piechart` (one_column_matrix, option_1, option_2, …)
`piechart` (one_row_matrix)
`piechart` (one_row_matrix, option_1, option_2, …)

  `barsplot`に似ていますが、長方形の代わりに扇をプロットします。

  利用可能なオプションは以下のものです:

  - sector_colors (デフォルト, `[]`): セクタの色のリスト。 指定した色よりも多くセクタがあるときは、必要な色の超過分がランダムに選ばれます。 それらについて更に知るには `color`を参照してください。
  - pie_center (デフォルト, `[0,0]`): 円グラフの中心。
  - pie_radius(デフォルト, `1`): 円グラフの半径。
  - `piechart`が内部で割り当てる `key`を除いたすべてのグローバル `draw`オプション。 もしこのオプションに自分の値を設定し、複雑なシーンを構築したいなら、 `piechart_description`を利用してください。
  - 以下のローカル `draw`オプション: `key`, `color`, `fill_display`, `line_width`。 `ellipse`も参照してください。

  wxMaximaと iMaximaインターフェイスで埋め込みヒストグラムを生成する 関数 `wxhistogram`もあります。

  例:

      (%i1) load (descriptive)$
      (%i2) s1 : read_list (file_search ("pidigits.data"))$
      (%i3) piechart(
              s1,
              xrange = [-1.1, 1.3],
              yrange = [-1.1, 1.1],
              title  = "Digit frequencies in pi")$

  関数 `barsplot`も参照してください。

  Categories: Package descriptive · Plotting

関数: piechart_description (…)

  関数 `piechart_description`は他のグラフィックオブジェクトと一緒に 複雑なシーンを生成するのに適したグラフィックオブジェクトを生成します。

  Categories: Package descriptive · Plotting

関数: scatterplot
`scatterplot` (list)
`scatterplot` (list, option_1, option_2, …)
`scatterplot` (matrix)
`scatterplot` (matrix, option_1, option_2, …)

  1変量 (list)や多変量 (matrix)の標本の散布図をプロットします。

  利用可能なオプションは `histogram`が許すものと同じです。

  wxMaximaと iMaximaインターフェイスで埋め込みヒストグラムを生成する 関数 `wxscatterplot`もあります。

  例:

  シミュレーティッドGauss標本の1変量散布図。

      (%i1) load (descriptive)$
      (%i2) load (distrib)$
      (%i3) scatterplot(
              random_normal(0,1,200),
              xaxis      = true,
              point_size = 2,
              dimensions = [600,150])$

  二次元散布図。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) scatterplot(
             submatrix(s2, 1,2,3),
             title      = "Data from stations #4 and #5",
             point_type = diamant,
             point_size = 2,
             color      = blue)$

  3次元散布図。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) scatterplot(submatrix (s2, 1,2), nclasses=4)$

  5つのクラスのヒストグラムと5次元散布図。

      (%i1) load (descriptive)$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) scatterplot(
              s2,
              nclasses     = 5,
              frequency    = relative,
              fill_color   = blue,
              fill_density = 0.3,
              xtics        = 5)$

  2次元か 3次元で孤立点か線で結んだ点をプロットすることについては、 `points`を参照してください。 `histogram`も参照してください。

  Categories: Package descriptive · Plotting

関数: scatterplot_description (…)

  関数 `scatterplot_description`は他のグラフィックオブジェクトと一緒に 複雑なシーンを生成するのに適したグラフィックオブジェクトを生成します。

  Categories: Package descriptive · Plotting

関数: starplot (data1, data2, …, option_1, option_2, …)

  1変量、多変量どちらの標本でも離散統計変数のスターダイアグラムをプロットします

  dataは 1標本を意味する結果のリストかもしれませんし、 それぞれサイズ mの n個の標本を意味する m行 n列の行列かもしれません。

  利用可能なオプションは以下のものです:

  - stars_colors (デフォルト, `[]`): 多変量標本の色のリスト。 指定した色よりも多くセクタがあるときは、必要な色の超過分がランダムに選ばれます。 それらについて更に知るには `color`を参照してください。
  - frequency (デフォルト, `absolute`): 半径のスケールを示します。 可能な値: `absolute`, `relative`, `percent`。
  - ordering (デフォルト, `orderlessp`): 可能な値は `orderlessp`か `ordergreatp`です。 統計的結果がどちら向きに x軸に並んでいるかを示します。
  - sample_keys (デフォルト, `[]`): 凡例に使われる文字列のリスト。 リストの長さが0か標本の長さ以外なら、 エラーメッセージを返します。
  - star_center (デフォルト, `[0,0]`): ダイアグラムの中心。
  - star_radius (デフォルト, `1`): ダイアグラムの半径。
  - `starplot`が内部で割り当てる `points_joined`, `point_type`, `key`を除いたすべてのグローバル `draw`オプション。 もしこのオプションに自分の値を設定し、複雑なシーンを構築したいなら、 `starplot_description`を利用してください。
  - 以下のローカル `draw`オプション: `line_width`。

  wxMaximaと iMaximaインターフェイスで埋め込みヒストグラムを生成する 関数 `wxstarplot`もあります。

  例:

  絶対頻度に基づいたプロット。 ユーザーが定義した位置と半径。

      (%i1) load (descriptive)$
      (%i2) l1: makelist(random(10),k,1,50)$
      (%i3) l2: makelist(random(10),k,1,200)$
      (%i4) starplot(
              l1, l2,
              stars_colors = [blue,red],
              sample_keys = ["1st sample", "2nd sample"],
              star_center = [1,2],
              star_radius = 4,
              proportional_axes = xy,
              line_width = 2 ) $

  Categories: Package descriptive · Plotting

関数: starplot_description (…)

  関数 `starplot_description`は他のグラフィックオブジェクトと一緒に 複雑なシーンを生成するのに適したグラフィックオブジェクトを生成します。

  Categories: Package descriptive · Plotting

関数: stemplot
`stemplot` (data)
`stemplot` (data, option)

  幹葉図をプロットします。

  固有の利用可能なオプションは:

  - leaf_unit (デフォルト, `1`): 葉の単位を示します; 10のべきでなければいけません。

  例:

      (%i1) load (descriptive)$
      (%i2) load(distrib)$
      (%i3) stemplot(
              random_normal(15, 6, 100),
              leaf_unit = 0.1);
      -5|4
       0|37
       1|7
       3|6
       4|4
       5|4
       6|57
       7|0149
       8|3
       9|1334588
      10|07888
      11|01144467789
      12|12566889
      13|24778
      14|047
      15|223458
      16|4
      17|11557
      18|000247
      19|4467799
      20|00
      21|1
      22|2335
      23|01457
      24|12356
      25|455
      27|79
      key: 6|3 =  6.3
      (%o3)                  done

  Categories: Package descriptive · Plotting

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by 市川雄二 on December, 27 2016 using texi2html 1.76.