Maxima Manual: Введение в пакет descriptive

Next: Функции и переменные для манипулирования данными, Previous: Пакет descriptive, Up: Пакет descriptive [Contents][Index]

### 43.1 Введение в пакет descriptive

Пакет `descriptive` содержит набор функций для выполнения вычислений и визуализации данных в рамках описательной статистики. Вместе с исходным кодом пакета Maxima включает также три набора данных: `pidigits.data`, `wind.data` и `biomed.data`.

Для справки по функциям пакета `descriptive` можно использовать любое статистическое руководство.

Для комментариев, сообщений об ошибках и предложений обращайтесь к автору пакета по адресу ’mario AT edu DOT xunta DOT es’.

Ниже приведен простой пример использования функций пакета `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

Отметим, что для многомерной выборки среднее вычисляется для каждой колонки.

В случае нескольких выборок, возможно различного размера, для получения результата для каждой выборки можно использовать функцию `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` содержит первые 100 цифр числа `%pi`:

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

Для загрузки этих данных в Maxima следует делать так

    (%i1) load ("numericalio")$
    (%i2) s1 : read_list (file_search ("pidigits.data"))$
    (%i3) length (s1);
    (%o3)                          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) load ("numericalio")$
    (%i2) s2 : read_matrix (file_search ("wind.data"))$
    (%i3) length (s2);
    (%o3)                          100
    (%i4) s2 [%]; /* last record */
    (%o4)            [3.58, 6.0, 4.58, 7.62, 11.25]

Некоторые выборки содержат нечисловые данные. Например, файл `biomed.data` (являющийся частью другого большого набора данных из StatLib Data Repository) содержит четыре измерения крови взятые от двух групп пациентов разного возраста `A` и `B`

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

Первый пациент принадлежит группе `A`, возраст 30 лет, и его/ее измерения крови есть 167.0, 89.0, 25.6 и 364.

При работе с категоризированными данными следует соблюдать осторожность. В следующем примере символу `a` присвоено значение до задания катигоризированной выборки

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

Next: Функции и переменные для манипулирования данными, Previous: Пакет descriptive, Up: Пакет descriptive [Contents][Index]