Моделирование с Maxima
6.2.3 Проверка статистических гипотез
Для проверки статистических гипотез в Maxima включён пакет stats. Он позволяет, в частности, проводить сопоставление средних или дисперсий двух выборок. Предусмотрена и проверка нормальности распределения, а также ряд других стандартных тестов. для использования stats пакет необходимо загрузить командой load("stats"); необходимые пакеты descriptive и distrib загружаются автоматически.
Функции пакета stats возвращают данные типа . Объекты этого типа содержат необходимые результаты для анализа статистических распределений и проверки гипотез.
Функция позволяет оценить среднее значение и доверительный интервал по выборке. Синтаксис вызова: test_mean () или test_mean ().
Функция использует проверку по критерию Стьюдента. Аргумент — список или одномерная матрица с тестируемой выборкой. Возможно также использование центральной предельной теоремы (опция ). Опции :
- 'mean, по умолчанию 0, ожидаемое среднее значение;
- 'alternative, по умолчанию 'twosided, вид проверяемой гипотезы (возможные значения 'twosided, 'greater и 'less);
- 'dev, по умолчанию 'unknown, величина среднеквадратичного отклонения, если оно известно ('unknown или положительное выражение);
- 'conflevel, по умолчанию 95/100, уровень значимости для доверительного интервала (величина в пределах от 0 до 1);
- 'asymptotic, по умолчанию , указывает какой критерий использовать (-критерий или центральную предельную теорему).
Результаты, которые возвращает функция:
- 'mean_estimate — среднее по выборке;
- 'conf_level — уровень значимости, выбранный пользователем;
- 'conf_interval — оценка доверительного интервала;
- 'method — использованная процедура;
- 'hypotheses — проверяемые статистические гипотезы (нулевая и альтернативная );
- 'statistic — число степеней свободы для проверки нулевой гипотезы;
- 'distribution — оценка распределения распределения выборки;
- 'p_value — вероятность ошибочного выбора гипотезы , если выполняется .
Примеры использования :
Выполняется -тест с неизвестной дисперсией. Нулевая гипотеза : среднее равно 50 против альтернативной гипотезы : среднее меньше 50; в соответствии с результатами расчёта, величина вероятности слишком велика, чтобы отвергнуть .
(%i1) load("stats")$ (%i2) data: [78,64,35,45,45,75,43,74,42,42]$ (%i3) test_mean(data,'conflevel=0.9,'alternative='less,'mean=50);
Следующий тест — проверка гипотезы (среднее равно 50) против альтернативной гипотезы среднее по выборке отлично от 50. В соответствии с величиной нулевая гипотеза. Данный тест применяется для больших выборок.
(%i1) load("stats")$ (%i2) test_mean([36,118,52,87,35,256,56,178,57,57,89,34,25,98,35, 98,41,45,198,54,79,63,35,45,44,75,42,75,45,45, 45,51,123,54,151],'asymptotic=true,'mean=50);
Функция позволяет проверить, принадлежат ли выборки и к одной генеральной совокупности.
Синтаксис вызова: или t.
Данная функция выполняет t-тест для сравнения средних по выборкам и ( — списки или одномерные матрицы). Сравнение выборок может проводиться также на основании центральной предельной теоремы (для больших выборок). Опции функции такие же, как и для , кроме оценок среднеквадратичных отклонений выборок (если они известны) Список опций:
- 'alternative, по умолчанию 'twosided, вид проверяемой гипотезы (возможные значения 'twosided, 'greater и 'less);
- 'dev1, 'dev2, по умолчанию 'unknown, величины среднеквадратичных отклонений для выборок и , если они известны ('unknown или положительное выражение);
- 'conflevel, по умолчанию 95/100, уровень значимости для доверительного интервала (величина в пределах от 0 до 1);
- 'asymptotic, по умолчанию , указывает какой критерий использовать (-критерий или центральную предельную теорему).
Вывод результатов не отличается от вывода результатов .
Примеры использования : Для двух малых выборок проверяется гипотеза от равенстве средних против альтернативной гипотезы : различие математических ожиданий статистически значимо, т.е. выборки принадлежат к разным генеральным совокупностям.
(%i1) load("stats")$ (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$ (%i3) y: [1.2,6.9,38.7,20.4,17.2]$ (%i4) test_means_difference(x,y,'alternative='greater);
Оценка доверительного интервала для дисперсии выборки проводится при помощи функции .
Синтаксис вызова: или
Данная функция использует тест . Предполагается, что распределение выборки нормальное. Опции функции :
- 'mean, по умолчанию 'unknown, оценка математического ожидания (среднее по выборке), если оно известно;
- 'alternative, по умолчанию 'twosided, вид проверяемой гипотезы (возможные значения 'twosided, 'greater и 'less);
- 'variance, по умолчанию 1, это оценка дисперсии выборки для сравнения с фактической дисперсией;
- 'conflevel, по умолчанию 95/100, уровень значимости для доверительного интервала (величина в пределах от 0 до 1).
Основной результат, возвращаемый функцией — оценка дисперсии выборки и доверительный интервал для неё.
Пример: Проверка, отличается ли дисперсия выборки с неизвестным математическим ожиданием от значения 200.
(%i1) load("stats")$ (%i2) x: [203,229,215,220,223,233,208,228,209]$ (%i3) test_variance(x,'alternative='greater,'variance=200);
Сравнение дисперсий двух выборок проводится при помощи функции (синтаксис вызова или .
Данная функция предназначена для сопоставления дисперсий двух выборок с нормальным распределением по критерию Фишера (-тест). Аргументы и — списки или одномерные матрицы, содержащие независимые выборки.
Опции функции :
- 'mean1, 'mean2, по умолчанию 'unknown, оценки математических ожиданий выборок и , если они известны;
- 'alternative, по умолчанию 'twosided, вид проверяемой гипотезы (возможные значения 'twosided, 'greater и 'less);
- 'conflevel, по умолчанию 95/100, уровень значимости для доверительного интервала (величина в пределах от 0 до 1).
Основной результат, возвращаемый функцией — отношение дисперсий выборок .
Пример: проверяется гипотеза о равенстве дисперсий двух выборок по сравнению с альтернативной гипотезой о том, что дисперсия первой больше, чем дисперсия второй.
(%i1) load("stats")$ (%i2) x: [20.4,62.5,61.3,44.2,11.1,23.7]$ (%i3) y: [1.2,6.9,38.7,20.4,17.2]$ (%i4) test_variance_ratio(x,y,'alternative='greater);
При отсутствии представлений о распределении выборки может использоваться непараметрический тест для сравнения средних. Оценка медианы непрерывной выборки проводится при помощи функции . Синтаксис вызова или .
Функция допускает две опции: (аналогично ) и (по умолчанию 0, или оценка значения медианы для проверки статистической значимости).
Результаты, которые возвращает функция:
- 'med_estimate: медиана выборки;
- 'method: использованная процедура;
- 'hypotheses: проверяемые статистические гипотезы (нулевая и альтернативная );
- 'statistic: число степеней свободы для проверки нулевой гипотезы;
- 'distribution: оценка распределения распределения выборки;
- 'p_value: вероятность ошибочного выбора гипотезы , если выполняется .
Пример: проверка гипотезы о равенстве медианы выборки 6, против альтернативной гипотезы : медиана больше 6.
(%i1) load("stats")$ (%i2) x: [2,0.1,7,1.8,4,2.3,5.6,7.4,5.1,6.1,6]$ (%i3) test_sign(x,'median=6,'alternative='greater);
Аналогичная функция — (либо с указанием опций ), которая использует тест правила знаков Вилкоксона для оценки гипотезы о медиане непрерывной выборки. Опции и результаты функции такие же, как и для функции .
Пример: проверка гипотезы : медиана равна 15 против альтернативной гипотезы : медиана больше 15.
(%i1) load("stats")$ (%i2) x: [17.1,15.9,13.7,13.4,15.5,17.6]$ (%i3) test_signed_rank(x,median=15,alternative=greater);
Непараметрическое сравнение медиан двух выборок реализовано в одной функции — . В данной функции используется тест Вилкоксона-Манна-Уитни. -критерий Манна-Уитни — непараметрический метод проверки гипотез, часто использующийся в качестве альтернативы -тесту Стьюдента. Обычно этот тест используется для сравнения медиан двух распределений и , не являющихся нормальными (отсутствие нормальности не позволяет применить - тест).
Синтаксис вызова: или .
Функция допускает лишь одну опцию: (аналогично ).
Результаты, которые возвращает функция:
- 'method: использованная процедура;
- 'hypotheses: проверяемые статистические гипотезы (нулевая и альтернативная );
- 'statistic: число степеней свободы для проверки нулевой гипотезы;
- 'distribution: оценка распределения распределения выборки;
- 'p_value: вероятность ошибочного выбора гипотезы , если выполняется .
Пример: проверка, одинаковы ли медианы выборок и .
(%i1) load("stats")$ (%i2) x:[12,15,17,38,42,10,23,35,28]$ (%i3) y:[21,18,25,14,52,65,40,43]$ (%i4) test_rank_sum(x,y);
Для выборок большего объёма распределение выборок приблизительно нормальное. Сравниваем гипотезы : медиана 1 = медиана 2 и : медиана 1 < медиана 2.
(%i1) load("stats")$ (%i2) x: [39,42,35,13,10,23,15,20,17,27]$ (%i3) y: [20,52,66,19,41,32,44,25,14,39,43,35,19,56,27,15]$ (%i4) test_rank_sum(x,y,'alternative='less);
Проверка нормальности распределения осуществляется функцией . В этой функции реализован тест Шапиро-Уилка. Выборка (список или одномерная матрица) должна быть размером не менее 2, но не более 5000 элементов (иначе выдаётся сообщение об ошибке). Функция возвращает два значения: statistic — величина -статистики и величина вероятности (если больше принятого уровня значимости, нулевая гипотеза о нормальности распределения выборки не отвергается). Статистика характеризует близость выборочного распределения к нормальному (чем ближе к 1, тем меньше вероятность ошибочно принять гипотезу о нормальности распределения).
Пример: проверка гипотезы о нормальном распределения генеральной совокупности по заданной выборке.
(%i1) load("stats")$ (%i2) x:[12,15,17,38,42,10,23,35,28]$ (%i3) test_normality(x);