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

49. descriptive


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

49.1 Introduction to descriptive

パッケージ descriptiveには記述統計計算とグラフ作成を行うための関数一式が入っています。 ソースコードと一緒に Maximaツリーに3つのデータセットがあります: 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の2つの標本がリストに格納されました。

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

 
(%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は アイルランド共和国の5つの気象台の毎日の平均風速を含みます。 (これは12の気象台で取得されたデータセットの一部です。 元のファイルは 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からダウンロードされた別のもっと大きなものの一部)は、異なる年齢の2つのグループ ABの患者から測定された4つの血圧を含みます。

 
(%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

ここで、一番目の成分は ABはカテゴリなので意味がなく、 二番目の成分は個々人の平均の歳の有理表現であり、 四番目と最後の値はある奇妙な振る舞いを示しています。 これは、シンボル NAnon 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)

標本 matrixexprlist内の式で変換します。 ここで、それぞれの列は 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]

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

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]

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

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_momentmeanも参照してください。

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]

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

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)

これは標本 listp分位数です。 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

ここで medlistのメジアンです。

例:

 
(%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]

関数 meangeometric_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]

関数meanharmonic_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

ここで medlistのメジアンです。

例:

 
(%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は標本 listp分位数です。

例:

 
(%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

関数: km  
    km (list, option ...)  
    km (matrix, option ...)

生存や信頼性のKaplan Meier推定量、函数 S(x)=1-F(x)

データは対のリストや2列行列として導入できます。 最初の要素は観測時間で、二番目の要素は打ち切りインデックスです。 (1 = 打ち切りなし, 0 = 右側打ち切り)

オプションの引数は返される式の中の変数の名前です。 デフォルトは xです。

例:

対のリストとしてのサンプル。

 
(%i1) load ("descriptive")$
(%i2) S: km([[2,1], [3,1], [5,0], [8,1]]);
                       charfun((3 <= x) and (x < 8))
(%o2) charfun(x < 0) + -----------------------------
                                     2
                3 charfun((2 <= x) and (x < 3))
              + -------------------------------
                               4
              + charfun((0 <= x) and (x < 2))
(%i3) load ("draw")$
(%i4) draw2d(
        line_width = 3, grid = true,
        explicit(S, x, -0.1, 10))$

生存確率を見積もります。

 
(%i1) load ("descriptive")$
(%i2) S(t):= ''(km([[2,1], [3,1], [5,0], [8,1]], t)) $
(%i3) S(6);
                            1
(%o3)                       -
                            2

Categories:  Package descriptive

関数: cdf_empirical  
    cdf_empirical (list, option ...)  
    cdf_empirical (matrix, option ...)

経験分布函数 F(x)

データは数値のリストや1列行列として導入できます。

オプションの引数は返される式の中の変数の名前です。 デフォルトは xです。

例:

経験分布函数。

 
(%i1) load ("descriptive")$
(%i2) F(x):= ''(cdf_empirical([1,3,3,5,7,7,7,8,9]));
(%o2) F(x) := (charfun(x >= 9) + charfun(x >= 8)
               + 3 charfun(x >= 7) + charfun(x >= 5)
               + 2 charfun(x >= 3) + charfun(x >= 1))/9
(%i3) F(6);
                           4
(%o3)                      -
                           9
(%i4) load(draw)$
(%i5) draw2d(
        line_width = 3,
        grid       = true,
        explicit(F(z), z, -2, 12)) $

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は大域分散尺度のリストを返します:

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

オプション:

例:

 
(%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]

covcov1も参照してください。

Categories:  Package descriptive

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

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

オプション:

例:

 
(%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    ]

covcov1も参照してください。

Categories:  Package descriptive

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

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

オプション:

例:

 
(%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   ]

covcov1も参照してください。

Categories:  Package descriptive

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

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

オプション:

関数 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標本を意味する結果のリストかもしれませんし、それぞれサイズ mn個の標本を意味する mn列の行列かもしれません。

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

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)$

棒グラフ関連オプションについてはパッケージ drawbarsplotを参照してください。 関数 histogrampiechartも参照してください。

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))より小さな値が外れ値 と考えられるに違いないことを示すのに使うことができます。 その場合、それらは孤立した点としてプロットされ、ひげはサンプルの残りの極値に置かれます。

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

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, …)

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

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

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)$

様々なビンの幅の範囲。

 
(%i1) load ("descriptive")$
(%i2) s1 : read_list (file_search ("pidigits.data"))$
(%i3) histogram (s1, nclasses = {0,3,6,7,11})$

クラスの数の最適探索のためのFreedmann - Diakonis ロバスト法

 
(%i1) load ("descriptive")$
(%i2) s1 : read_list (file_search ("pidigits.data"))$
(%i3) histogram(s1, nclasses=fd) $

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に似ていますが、長方形の代わりに扇をプロットします。

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

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標本を意味する結果のリストかもしれませんし、 それぞれサイズ mn個の標本を意味する mn列の行列かもしれません。

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

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)

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

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

例:

 
(%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 October, 5 2017 using texi2html 1.76.