Основы статистики
Проверка гипотез
Теоретическое введение
Проверка гипотез – это способ получить численный ответ на такой вопрос, как «Имели ли кактусовые земляные вьюрки большую длину клюва в 1975 году, чем в 2012 году?» при условии нормально распределенных данных о длине клюва.
Каждый тест состоит из двух гипотез, которые обозначают и . Гипотеза называется альтернативной, она представляет собой утверждение, которое вы хотите проверить, для чего пытаетесь найти в данных достаточно веские статистические основания. Гипотеза – это нулевая гипотеза, противоположная по отношению к . Она утверждает, что нет оснований нарушать status quo, то есть картину мира, которая у нас уже есть в отсутствии противоречащих ей наблюдений.
Относительно средней длины клюва вьюрков в 1975 и в 2012 году нулевая гипотеза состоит в том, что обе выборки имеют одинаковое среднее. Статистические тесты создаются для получения одного из двух выводов: оставить в силе предположение о status quo (выбор ) или отклонить его (т.е. принять новое утверждение). Если тест дает решение об отклонении , значит у нас есть достаточно оснований, чтобы выбрать утверждение . Однако, если по результатам теста нужно выбрать , то его исход не несет для нас новой информации. Однако выбор не означает, что – истинная гипотеза. Составление гипотез должно осуществляться без опоры на параметры или свойства данных.
Перед запуском теста нужно установить некоторый уровень значимости (обычно это 5% или 1%). Это вероятность отклонить нулевую гипотезу при условии, что она верна. Такая ошибка означает, что мы на основе наблюдаемых данных делаем некорректный вывод о распределении. Обращаясь к примеру выборки для длины клюва вьюрков, такая ошибка означала бы, что мы считаем среднее значение длины клюва обеих выборок разным, в то время как на самом деле оно одно и то же.
Любой тест возвращает нам значение . Если – истинная гипотеза, то -значение – это вероятность того, что другая выборка будет настолько же или больше отклоняться от среднестатистической выборки рассматриваемого распределения. Решение по тесту принимается после сравнения -значения и уровня значимости .
Как выполняется проверка гипотез:
- Выдвинуть предположение о распределении, породившем выборку (например, эмпирически, после сравнения с эталонным распределением или после изучения графика).
- Сформулировать альтернативную и нулевую гипотезы.
- Установить уровень значимости.
- Выполнить тест, запустив соответствующую функцию.
- Проинтерпретировать заключение теста и -значение
- если , то оставить ;
- если , то отклонить .
Проверка гипотезы о равенстве средних для двух нормально распределенных выборок
Проверим гипотезу о разнице в средних значениях длины клюва кактусовых земляных вьюрков (scandens) в 1975 и в 2012 годах. Без каких-либо доказательств нет никаких оснований предполагать, что длина клюва изменилась. Таким образом, нулевой и альтернативной гипотезами в данном случае являются следующие:
- : Средняя длина клюва кактусовых земляных вьюрков в 1975 году такая же, как и средняя длина клюва в 2012 году.
- : Средняя длина клюва кактусовых земляных вьюрков в 1975 году отличалась от средней длины клюва в 2012 году.
В Engee существуют несколько функций для тестирования параметров нормальных распределений. Можно разделить их на функции для проверки свойств среднего значения, дисперсии или принадлежности к нормальному распределению. Все они собраны в библиотеке HypothesisTests. Вот некоторые из них:
| Среднее | Дисперсия | Характер распределения | |
|---|---|---|---|
| Одно распределение | OneSampleTTest |
VarianceFTest, EqualVarianceTTest, UnequalVarianceTTest |
OneSampleADTest, JarqueBeraTest |
| Несколько распределений | EqualVarianceTTest, UnequalVarianceTTest, OneSampleHotellingT2Test, EqualCovHotellingT2Test, UnequalCovHotellingT2Test |
BartlettTest |
KSampleADTest |
Чтобы сравнить длину клюва вьюрков в 1975 и 2012 годах, нужен тест для двух распределений. Функция EqualVarianceTTest позволяет проверить гипотезу о равенстве средних двух распределений, если выполняется предположение о том, что они имеют одинаковую дисперсию (необязательно известную).
Чтобы решить поставленную задачу, снова загрузим результаты измерений длины и толщины клюва для двух видов вьюрков. Для этого сначала подключим необходимые библиотеки, прочитаем файл с данными finchData.csv и выделим из него данные для каждого из двух видов вьюрков в отдельные таблицы scandens и fortis:
using CSV, DataFrames, StatsBase, Distributions, HypothesisTests
data = CSV.read("finchData.csv", DataFrame)
scandens = data[data.Species .== "scandens", :]
fortis = data[data.Species .== "fortis", :];
Создадим необходимые массивы с данными измерений длины и толщины клюва для каждого вида вьюрков и для каждого года наблюдения отдельно и преобразуем их тип из типа данных Matrix в тип данных Vector:
sLength1975 = vec(scandens.BeakLength[scandens.Year .== 1975, :])
sLength2012 = vec(scandens.BeakLength[scandens.Year .== 2012, :])
sDepth1975 = vec(scandens.BeakDepth[scandens.Year .== 1975, :])
sDepth2012 = vec(scandens.BeakDepth[scandens.Year .== 2012, :])
fLength1975 = vec(fortis.BeakLength[fortis.Year .== 1975, :])
fLength2012 = vec(fortis.BeakLength[fortis.Year .== 2012, :])
fDepth1975 = vec(fortis.BeakDepth[fortis.Year .== 1975, :])
fDepth2012 = vec(fortis.BeakDepth[fortis.Year .== 2012, :]);
Теперь выполним проверку гипотезы о равенстве средней длины клюва кактусовых земляных вьюрков (scandens) в 1975 и в 2012 году:
h = EqualVarianceTTest(sLength1975, sLength2012)
Такие функции обычно возвращают только заключение. Получить-значение можно с помощью функции pvalue из библиотеки StatsBase.
pvalue(h)
Мы видим, что -значение очень близко к нулю. Значит, есть основания отвергнуть нулевую гипотезу и принять альтернативную гипотезу о том, что средняя длина клюва в 1975 году отличалась от средней длины клюва в 2012 году. Таким образом, мы получили доказательства того, что за период с 1975 по 2012 год произошло уменьшение длины клюва у кактусовых земляных вьюрков.
Проверить гипотезу о равенстве средних двух распределений, если выполнется предположение о том, что они имеют неодинаковую дисперсию, можно с помощью функции UnequalVarianceTTest:
h = UnequalVarianceTTest(sLength1975, sLength2012)
pvalue(h)
✏️Задание 1
Проверьте гипотезу о равенстве средней длины клюва средних земляных вьюрков (fortis) в 1975 и в 2012 году в предположении о том, что они имеют:
- одинаковую дисперсию,
- неодинаковую дисперсию.
Подсказка
Нулевой и альтернативной гипотезами в данном случае являются следующие:
- : Средняя длина клюва средних земляных вьюрков в 1975 году такая же, как и средняя длина клюва в 2012 году.
- : Средняя длина клюва средних земляных вьюрков в 1975 году отличалась от средней длины клюва в 2012 году.
Решение
h = EqualVarianceTTest(sLength1975, sLength2012)
pvalue(h)
h = UnequalVarianceTTest(sLength1975, sLength2012)
pvalue(h)
Следовательно, при обоих предположениях (об одинаковых и о неодинаковых дисперсиях) есть основания отвергнуть нулевую гипотезу и принять альтернативную гипотезу о том, что средняя длина клюва для этого вида вьюрков в 1975 году отличалась от средней длины клюва в 2012 году.
Проверка гипотезы о равенстве дисперсий для двух нормально распределенных выборок
Теперь проверим гипотезу о равенстве дисперсий длины клюва кактусовых земляных вьюрков (scandens) в 1975 и в 2012 году.
- : дисперсия длины клюва кактусовых земляных вьюрков в 1975 году равна дисперсии в 2012 году.
- : дисперсия длины клюва кактусовых земляных вьюрков в 1975 году не равна дисперсии в 2012 году.
В Engee это можно сделать с помощью функции VarianceFTest из библиотеки HypothesisTests.
h = VarianceFTest(sLength1975, sLength2012)
pvalue(h)
У нас нет оснований отвергнуть нулевую гипотезу о том, что дисперсии длины клюва кактусовых земляных вьюрков в 1975 и в 2012 году равны между собой.
✏️Задание 2
Проверьте гипотезу о равенстве дисперсий толщины клюва кактусовых земляных вьюрков (scandens) в 1975 и в 2012 году.
Подсказка
Нулевой и альтернативной гипотезами в данном случае являются следующие:
- : дисперсия толщины клюва кактусовых земляных вьюрков в 1975 году равна дисперсии в 2012 году.
- : дисперсия толщины клюва кактусовых земляных вьюрков в 1975 году не равна дисперсии в 2012 году.
Решение
h = VarianceFTest(sDepth1975, sDepth2012)
pvalue(h)
Таким образом, у нас нет оснований отвергнуть нулевую гипотезу о том, что дисперсии толщины клюва кактусовых земляных вьюрков в 1975 и в 2012 году равны между собой.
Проверка гипотезы о нормальном распределении выборки
Тесты, которые мы использовали в предыдущем разделе, предполагают, что данные для каждой популяции соответствуют нормальному распределению. Ранее на гистограммах мы видели, что все эти распределения действительно кажутся нормальными. Однако, чтобы сделать обоснованные выводы, нам необходимо подтвердить, соответствуют ли данные нормальному распределению, с помощью проверки гипотез.
В Engee функция JarqueBeraTest из библиотеки HypothesisTests выполняет проверку гипотезы о нормальном распределении выборки с помощью теста Харке–Бера. В нем сравниваются асимметрия и эксцесс выборки со значениями асимметрии и эксцесса для нормального распределения.
Проверим на нормальность распределение длины клюва кактусовых земляных вьюрков (scandens) по результатам наблюдений в 1975 и в 2012 году.
- : длина клюва кактусовых земляных вьюрков распределена нормально.
- : длина клюва кактусовых земляных вьюрков не распределена нормально.
h1 = JarqueBeraTest(sLength1975)
h1 = JarqueBeraTest(sLength2012)
Длина клюва кактусовых земляных вьюрков как 1975 года, так и 2012 года соответствует нормальному распределению, что означает, что полученные нами результаты из предыдущего раздела верны.
✏️Задание 3
Проверьте на нормальность распределение толщины клюва кактусовых земляных вьюрков (scandens) по результатам наблюдений в 1975 году и в 2012 году.
Подсказка
Нулевой и альтернативной гипотезами в данном случае являются следующие:
- : толщина клюва кактусовых земляных вьюрков распределена нормально.
- : толщина клюва кактусовых земляных вьюрков не распределена нормально.
Решение
h1 = JarqueBeraTest(fDepth1975)
h1 = JarqueBeraTest(fDepth2012)
Здесь мы вынуждены отвергнуть нулевую гипотезу о нормальном распределении толщины клюва как для данных 1975 года, так и 2012 года.