Maxima 5.46.0 Manual: Functions and Variables for descriptive statistics

Next: Functions and Variables for statistical graphs, Previous: Functions and Variables for data manipulation, Up: descriptive [Contents][Index]

### 45.3 Functions and Variables for descriptive statistics

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

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

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

  See also functions `var1` and `std`.

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

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

  See also function `smax`.

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

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

  Package descriptive ·

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

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

  Package descriptive ·

関数: 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`も参照してください。

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

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

  Package descriptive ·

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

  関数`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`が返す共分散行列です。

  例:

      (%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`はオプションの論理引数を取ります: `global_variances(x,true)`は、 Maximaに`x`がデータ行列であることを伝え、`global_variances(x)`と同様に作られます。 一方、`global_variances(x,false)`は `x`がデータ行列ではなく、共分散行列であることを意味し、再計算は避けられます。

      (%i1) load ("descriptive")$
      (%i2) s2 : read_matrix (file_search ("wind.data"))$
      (%i3) s : cov1 (s2)$

      (%i4) global_variances (s, false);
      (%o4) [105.338342060606, 21.06766841212119, 12874.34690469686,
               113.4651792608501, 6.636590811800795, 2.576158149609762]

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

  Package descriptive ·

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

  関数`cor`はオプションの論理引数を取ります: `cor(x,true)`は、 Maximaに`x`がデータ行列であることを伝え、`cor(x)`と同様に作られます。 一方、`cor(x,false)`は `x`がデータ行列ではなく、共分散行列であることを意味し、再計算は避けられます。

      (%i1) load ("descriptive")$
      (%i2) fpprintprec : 7 $
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) s : cov1 (s2)$

      (%i5) cor (s, 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`も参照してください。

  Package descriptive ·

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

  関数`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  |
                           \       /

  例:

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

  関数`list_correlations`もオプションの論理引数を取ります: `list_correlations(x,true)`は、 Maximaに`x`がデータ行列であることを伝え、 `list_correlations(x)`と同様に作られます。 一方、`list_correlations(x,false)`は `x`がデータ行列ではなく、共分散行列であることを意味し、再計算は避けられます。

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

  Package descriptive ·

Next: Functions and Variables for statistical graphs, Previous: Functions and Variables for data manipulation, Up: descriptive [Contents][Index]