УДК 517.18
UDC 517.18
STATISTICAL DATA ANALYSIS IN WXMAXIMA ENVIRONMENT
T. M.Golovko, A. O. Zakharova, B. A. Akishin
Don State Technical University, Rostov-on-Don, Russian Federation
СТАТИСТИЧЕСКИМ АНАЛИЗ ДАННЫХ В СРЕДЕ WXMAXIMA
Т. М. Головко, А. О. Захарова, Б. А. Акишин
Донской государственный технический университет, г. Ростов-на-Дону, Российская Федерация
akiboralex@mail.ru
Рассматриваются возможности и целесообразность использования некоммерческой системы компьютерной математики Maxima при решении задач математической статистики, отмечается наличие множества встроенных функций, позволяющих рассчитывать основные показатели описательной статистики, функций распределения вероятностей, группирование вариационных рядов, осуществление графического сопровождения, проверку статистических гипотез и другие.
Ключевые слова: система компьютерной математики, случайная величина, математическая статистика, функция распределения, вариационный ряд, графический интерфейс, проверка статистических гипотез.
Введение. Программа Maxima в графическом интерфейсе wxMaxima содержит ряд встроенных функций для решения задач теории вероятностей, математической статистики и статистического анализа [1]. Возможности данной программы в этих вопросах уступают таким специализированным пакетам, как, Statistika. Стандартные процедуры статистического оценивания Maxima выполняет достаточно просто и надежно. Открытость программного кода позволяет легко создавать новые, необходимые пользователю функции.
Статистический анализ в среде wxMaxima. Возможности программы Maxima можно проиллюстрировать на примере анализа выборки данных непрерывной случайной величины.
Проведем статистическую обработку выборки из N=100 значений случайной величины X, представляющей собой рост (в сантиметрах) посетителей магазина мужской одежды [2].1 Исход -
akiboralex@mail.ru
The article considers the possibilities and the feasibility of using non-commercial computer algebra system Maxima in solving tasks of mathematical statistics. The paper notes the presence of many built-in functions, which allows calculating the main indicators of descriptive statistics, probability distribution functions, variational series grouping, the implementation of graphics support, the verification of statistical hypotheses and others.
Keywords: system of computer mathematics, random variable, mathematical statistics, distribution function, variational series, graphic interface, verification of statistical hypotheses
1 В пособии [2] аналогичные статистические расчеты были проведены в Excel и MathCAD
\(ш)}
i щм Л
ные данные хранятся в текстовом файле.
1. Ввод-вывод матричных данных. При обработке больших объемов исходных данных, используемых в математической статистике, весьма важными процедурами являются организация ввода и хранения этих данных.
Для чтения и записи матричных или потоковых данных в составе Maxima предусмотрен пакет numericalio. Основные функции этого пакета:
— read_matrix (file_name, separator_flag) — считывание матрицы из файла с именем file_name;
— read_list (file_name, separator_flag) — считывание списка из файла;
— write_data (object, file_name, separator_flag) — осуществление вывода объекта (списка, матрицы, массива) в файл.
Список можно преобразовать в матрицу функцией matrix, а матрицу в список — функцией makelist [3].
Для разделения данных в потоке используются различные символы, определяемые параметром separator_flag: comma — запятая, pipe — вертикальная черта, simicolon — двоеточие, tab — символ табуляции, space — пробел и др. По умолчанию разделителем считается пробел.
Итак, подключается пакет numericalio и загружаются данные для рассматриваемого примера из текстового файла в список wxMaxima с помощью функции read_list :
(%i3) load(descriptive) load(numericalio)
A : read_list (file_search ("F:\\example_l.txt")) (%o3) [154,164,180,179,169,168,177,150,177,166,158,182,157,159,197, 177,187,178,184,169,190,146,178,171,181,186,172,186,156,197,190,176, 176,159,162,174,171,186,156,182,172,175,181,163,170,176,171,179,158, 186,156,183,170,189,167,187,182,185,173,187,175,188,171,170,164,161, 183,178,182,178,176,144,159,174,159,171,172,167,158,180,182,176,161, 175,178,190,178,170,177,183,180,161,178,169,172,176,164,173,172,181]
(%i4) length (A)
Здесь функция length вычисляет длину списка — 100 чисел.
2. Расчёт описательной статистики. Функции программы Maxima для расчета так называемой описательной статистики объединены в пакет descriptive [4].
(%о4) 100
Рис.1. Загрузка данных из внешнего файла
Таблица 1.
Основные функции пакета descriptive
mean(list), mean(matrix)2 Вычисление среднего
cor(matrix) Вычисляет корреляционную матрицу
cov(matrix) Вычисляет ковариационную матрицу
median(list), median(matrix) Вычисляет медиану
var(list), var(matrix) Вычисляет дисперсию случайной величины
std(list), std(matrix), Вычисляет среднеквадратичное отклонение
skewness(list), skewness(matrix) Вычисление асимметрии
kurtosis(list), kurtosis(matrix) Вычисление эксцесса
quantile(list, p), quantile(matrix, p) Вычисление p-квантиля
maxi(list), maxi(matrix), mini(list), Выбор наибольшего и наименьшего значения в выбор-
mini(matrix) ке соответственно
range(list), range(matrix) Размах вариации выборки
Простым способом расчета многих описательных статистик является использование панели инструментов — Maxima ^ Панели ^ Статистика.
Рассчитаем численно (с флагом numer [3]) некоторые показатели для выборки A рассматриваемого примера:
Рис.2. Расчет основных статистических показателей 3. Построение вариационного ряда. Для группировки данных в виде вариационных рядов в пакете descriptive заложены две функции [4]:
2 Если в качестве входного параметра указана матрица, то вычисление соответствующей характеристики осуществляется отдельно по каждому столбцу
— discrete_freq (list) — создание дискретного вариационного ряда для выборки дискретной случайной величины, представленной списком list;
— continuous_freq (list, m) — создание интервального вариационного ряда для выборки непрерывной случайной величины. Функция делит диапазон от наименьшего до наибольшего значений в списке list на m интервалов и подсчитывает частоты. На выходе формируются два списка — список значений границ интервалов и список частот.
Зададим число интервалов m = 8 и рассчитаем интервальный вариационный ряд для рассматрива-
3
емого примера:
^ Интервальный вариационный
Рис.3. Создание вариационного ряда
В используемой версии 'хМахта 15.08.02 не удалось найти готовых встроенных функций или отдельных пакетов для расчета характеристик вариационного ряда, поэтому, используя встроенный макроязык программирования, необходимо создать собственные функции для расчета взвешенного среднего и среднеквадратического отклонения интервального вариационного ряда по формулам:
Xv = N Z
N¿=1
1 m х + x.
¿-1
2
Sv =
1 m x + x. , _ 2
—z - X) • nr
N -1 ¿=i 2 ' г
(1)
где в качестве значения показателя на интервале принимается полусумма его значений на концах.
^ Среднее интервального вариационного ряда
(%il5) mean_vs(X,Y,m):=block( [N,i,s], N:0, s:0,
for i:l thru m do (N : N+ Y[i], s:s + (X[i]+X[i + l])/2.*Y[i]), s: s/N)
(%il6) Xu :mean_vs(X_n[l], X_n[2], 8) (%ol6) 173.3
^ Среднеквадратическое отклонение
(%il7) st d_vs (X, Y ,m): = bl ock ( [N, i, s, si], N:0, s:0, sl:0,
for i:l thru m do (N : N+ Y[i], s:s + (X[i]+X[i + l])/2.*Y[i]), s: s/N, for i:l thru m do ( sl:sl+((X[i]+X[i + l])/2.-s)^2*Y[i]), sl:sqrt( sl/(N-l)))
(%il8) Sv:std_vs(X_n[ 1 ], X_n[2], 8) (%ol8) 10.56
Рис.4. Расчет статистических показателей вариационного ряда Рисунок 4 показывает, что среднее интервального вариационного ряда Xv = 173,3 и его среднеквадратическое отклонение Sv = 10,56 мало отличаются от выборочных среднего a = 173,4 и сред-
Именно столько интервалов разбиения рекомендует формула Старджеса для N=100
n
3
неквадратического отклонения s = 10,78 соответственно.
4. Построение графических иллюстраций. Графические иллюстрации по статистической обработке данных можно произвести в Maxima при помощи нескольких функций: гистограмма, диаграмма рассеяния, круговая и секторная диаграммы, диаграмма Бокса-Вискера. [1].
В интерфейсе wxMaxima удобнее использовать wx- аналоги функций, осуществляющие вывод графика непосредственно на экран в активном документе [3].
Рассмотрим некоторые графики более подробно.
Гистограмма вариационного ряда по данным рассматриваемого примера.
Рис.5. Гистограмма вариационного ряда
Использовались следующие опции функции ,^хЫ81о§гат:
— если задать значение опции пс^БеБ, то для выборки А автоматически создается интервальный вариационный ряд;
— значение опции йэдиепсу=ёепвку указывает на то, что будет построена
4
гистограмма плотности относительных частот вариационного ряда/ Диаграмма Бокса-Вискера («ящик с усами») отображает одновременно несколько величин, которые характеризуют вариационный ряд снизу-вверх:
— наименьшее значение — 144 см;
— 0,25-квантиль, называемый первым (нижним) квартилем — 167 см;
— 0,5-квантиль, называемый медианой или вторым квартилем — 175 см;
4 По внешнему виду гистограммы можно предположить нормальный закон распределения непрерывной
случайной величины X, представляющей собой рост покупателей
— 0,75-квантиль, называемый третьим (верхним) квартилем — 181 см;
— наибольшее значение — 197 см.
Рис.6. Диаграмма Бокса-Вискера для вариационного ряда
Разность между третьим и первым квартилями называется интерквартильным размахом (181-167=14 см.), который является характеристикой разброса значений случайной величины и вместе с медианой может быть использован в случае распределений с большими выбросами, либо при невозможности вычисления математического ожидания и среднеквадратического отклонения.
Если А является матрицей, то функция Ьохр1о1 строит «ящики с усами» для каждого столбца.
5. Функции распределения случайных величин. Пакет ^бШЬ содержит набор функций для вычисления вероятностных характеристик многих дискретных и непрерывных распределений [4]. Существует соглашение об именах функций в пакете ^бШЬ. Каждое имя функции состоит из двух частей: первая часть указывает на параметр, который необходимо вычислить, вторая часть имени — это прямая ссылка на вероятностную модель.
Например, рёГ_погта1 вычисляет плотность вероятности нормального закона распределения, а сёГ_Ыпот1а1 — функцию распределения биномиального закона и т.д.
По данным интервального вариационного ряда примера рассчитаем плотность вероятности нормального закона распределения с математическим ожиданием а = 173,4 и среднеквадратиче-ским отклонением я = 10,78 на границах интервалов:
[ (%i22) load (distrib)
F
(%123) Оп: pdf_noгmal (Х_п [ 1 ], XV, Эу), питег (%о23) [8.064 10 ~4,0.003776,0.01193,0.02541,0.0365,0.03537, 0.02311,0.01019,0.003029 ]
Рис.7. Расчет плотности вероятности нормального закона распределения
Строим кривую нормального распределения — по форме она похожа на построенную ранее гистограмму вариационного ряда.
Рис.8. График плотности вероятности
6. Проверка статистических гипотез. Для проверки статистических гипотез в Maxima подключается пакет stats [4], который включает следующие функции:
— test_mean — функция позволяет оценить среднее значение и его доверительный интервал по выборке. Функция использует проверку по критерию Стьюдента;
— test_means_difference - функция позволяет проверить принадлежность двух выборок к одной генеральной совокупности;
— test_variance — оценка доверительного интервала для дисперсии выборки. Данная функция использует тест х2. Предполагается, что распределение выборки нормальное;
— test_normality — проверка нормальности распределения по критерию Шапиро-Уилка;
— другие стандартные тесты.
Функции пакета stats возвращают данные типа inference_result. Объекты этого типа содержат ряд необходимых результатов для анализа статистических распределений и проверки гипотез. Часть из них по умолчанию выводится на экран, а другие могут быть вызваны отдельно.
В отличие от классического подхода к проверке гипотез через критические значения распределения соответствующих статистик, в функциях пакета stats используется процедура проверки гипотез с помощью, так называемого P-value (P-значения), которое фактически является вероятностью «ошибки 1-го рода». Если p(t) меньше заданного уровня значимости, то нулевая гипоте-
л
за отвергается в пользу альтернативной. В противном случае она не отвергается. Преимуществом данного подхода является возможность определения уровня значимости, на котором нулевая гипотеза будет отвергнута или принята.
Проверим некоторые статистические гипотезы для данных выборки рассматриваемого примера.
Разобьем выборку А на две части и проверим гипотезу о равенстве выборочных средних Н0 : а1 = а2 с надежностью а = 0,95
I (%i 24) load ("stats")
[ (96126) Al: makelist(A[|], i, 1, 50) A2: makelist(A[il i, 51, 100)
(%i28) al : tnean(Al],numer a2 : mean(A2),numer (%o27) 173.2 (%o2S) 173.7
Рис.9. Средние частей выборки
Фактическая разность этих выборочных средних равна 0,5. Используем функцию test means difference :
> test_means_dlfferenœ(Al, A2, )
DIFFERENCE OF WEANS TEST diff_estimate = — 0.54 confJevel = 0.95 confjnterval = [ - 4.864,3.784 ] ( %029 ) method = Exact t-test We'ch approx.
hypotheses = HO; rnearsl = mears2, HI; meanl # твзп2 statistic = 0.248 distribution = [stuctent_t, 94.12 ] p_value = 0.8847
Рис.10. Проверка гипотезы о равенстве выборочных средних
Значения опций приняты по умолчанию, в частности, дисперсии выборок считались не заданными. Анализ inference_resu1t показывает, что нулевая гипотеза Н 0 о равенстве средних может быть принята, т.к. величина p_va1ue=0,8047 достаточно велика, чтобы ее отвергнуть.
Проверим гипотезу о нормальности закона распределения случайной величины X, представленной выборкой А :
№1(4) 2017
(%i30) test_normaIitу(A)
SHAPIRO - WILK TEST
(%o30) statistic = 0.9804 p_value = 0.1431
Рис.11. Проверка гипотезы о нормальном распределении
Проверка нормальности распределения осуществляется функцией test_normality. В этой функции реализован критерий Шапиро-Уилка, который считается наиболее эффективным для малых выборок. Функция возвращает два значения: величина W-статистики statistic=0,9804, характеризующая близость выборочного распределения к нормальному, и величина вероятности p_value. Так как p_value=0,1431 больше принятого уровня значимости 0,05, то нулевая гипотеза о нормальности распределения выборки A не отвергается.
Заключение. Система компьютерной алгебры Maxima позволяет решать большинство задач математической статистики. Программа Maxima является доступным и компактным программным продуктом, что обеспечивает удобство использования этой системы в научных исследованиях и учебном процессе.
Библиографический список
1. Чичкарев, Е. А. Компьютерная математика с Maxima: руководство для школьников и студентов / Е. А. Чичкарев. — Москва : ALT Linux, 2012. — 384 с.
2. Акишин, Б. А. Экономико-математические расчеты на персональном компьютере: учебно-методическое пособие / Б. А. Акишин, А. В. Галабурдин // Статистическая обработка данных. — Ч. 1. - Ростов-на-Дону : РАС ЮРГУЭС, 2007. — 52 с.
3. Акишин, Б. А. Решение математических задач с помощью пакета Maxima: учебное пособие / Б. А. Акишин, Л. В. Черкесова, А. В. Галабурдин — Ростов-на-Дону : Издательский центр ДГТУ, 2015. — 100 с.
4. Документация по текущей версии пакета Maxima [Электронный ресурс] — Режим доступа : http://maxima.sourceforge.net/docs/manual/en/maxima.html (дата обращения: 10.07.2016).