Сравнение трех и более групп

Постановка задачи

Есть данные по одному количественному показателю в двух группах, нужно определить, отличаются ли значения показателя в одной группе от значений показателя в других группах.

Примеры

Определить, правда ли, что средняя продолжительность жизни различается в четырех регионах России; проверить, действительно ли жанр музыки (классика, рок, техно), прослушиваемой в течение эксперимента влияет на показатель ориентации в пространстве.

Методы для сравнения

  • ANOVA — однофакторный дисперсионный анализ (One-way ANOVA);
  • критерий Краскала-Уоллиса (Kruskal-Wallis rank sum test).

ANOVA

Применение

Используется, когда распределение исследуемого количественного показателя является нормальным во всех группах (в каждой из групп).

Нулевая и альтернативная гипотезы

Нулевая гипотеза, которая проверяется с помощью данного критерия:

\[ H_0:\mu_1=\mu_2 \text{ (средние равны в k группах, нет различий)} \] Альтернативная гипотеза:

\[ H_1: \text{ не все средние по группам равны (существует как минимум одна пара отличающихся)}. \]

Под средними значениями в гипотезах подразумеваются средние значения генеральных совокупностей, то есть средние значения показателя «вообще», а не для конкретных выборок. Для конкретных выборок (столбцов, которые мы берем из таблицы с данными) нет смысла формулировать гипотезы и проверять их на каком-либо уровне значимости, мы и так можем посчитать средние арифметические явно, сравнить их и сказать, равны они или нет. Но такой вывод не будет надежным: в исследовании мы хотим учитывать все возможные варианты выборок, а не один (может, так случайно получилось, что средние арифметические в группах совпали, опросим других людей и сформируем новую выборку, а там они уже не совпадут).

Статистика критерия

Статистика критерия (значение, которое позволяет понять, насколько сильно наши данные отличаются от того, что ожидается согласно нулевой гипотезе) имеет F-распределение с числами степеней свободы равными \(\text{df}_1=n-k\) и \(\text{df}_2=k-1\), где \(n\) — общее число наблюдений, а \(k\) — число групп.

Реализация ANOVA в R

Возьмем данные по эффективности различных спреев от насекомых (встроенный датасет InsectSprays):

head(InsectSprays)
##   count spray
## 1    10     A
## 2     7     A
## 3    20     A
## 4    14     A
## 5    14     A
## 6    12     A

Столбец count — показатель эффективности спрея, spray — его тип. Предположим, что данные во всех группах распределены нормально (конечно, необходимо в этом удостовериться, но все уже точно знают, как это делается) и что нам необходимо сравнить средние значения эффективности по разным типам спрея.

Применим ANOVA:

anov <- aov(data = InsectSprays, count ~ spray)
summary(anov)
##             Df Sum Sq Mean Sq F value Pr(>F)    
## spray        5   2669   533.8    34.7 <2e-16 ***
## Residuals   66   1015    15.4                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

1. Sum Sq здесь — суммы квадратов (sum of squares) отклонений.

Значение 2669 в выдаче (при spray) — это межгрупповая сумма квадратов отклонений. Она отвечает за ту часть дисперсии, то есть изменчивости показателя эффективности спрея (count), которая объясняется делением на группы по типу спрея (spray). Вспоминая обозначения с семинара:

\[ SS_{\text{between}} = 2669. \]

Значение 1015 в выдаче (при Residuals) — это внутригрупповая сумма квадратов отклонений. Она отвечает за ту часть дисперсии, то есть изменчивости показателя эффективности спрея (count), которая НЕ объясняется делением на группы по типу спрея (отсюда и residuals, остатки, как в регрессии). Вспоминая обозначения с семинара:

\[ SS_{\text{within}} = 1015. \]

Далее наша задача — сравнить полученные суммы квадратов и понять, правда ли, что изменчивость показателя эффективности, которая объясняется делением на группы, больше изменчивости этого показателя, которая делением на группы не объясняется. Другими словами, правда ли, что разброс значений показателя между группами больше разброса значений внутри групп. Если да, то различия между группами действительно есть, если нет — то нет. Однако есть проблема: будет странно сравнивать полученные суммы квадратов отклонений как есть, потому что группы могут быть разного размера. Было придумано следующее: считать средние суммы квадратов отклонений.

2. Mean Sq — средние суммы квадратов отклонений. Чтобы их получить, нужно проделать следующее:

\[ MS_{\text{between}} = 2669 / 5 = 533.8 \]

\[ MS_{\text{within}} = 1015 / 66 = 15.4, \]

то есть просто поделить сумму соответсвующих квадратов отклонений на степени свободы Df.

3. Степени свободы Df здесь — это степени свободы F-распределения, которое имеет статистика используемого критерия (см. выше). Вычисляются как: \(\text{df}_1 = n - k\) и \(\text{df}_2=k-1\), где \(n\) — общее число наблюдений (72 строки), а \(k\) — число групп (6 типов спрея). То есть здесь мы получаем \(72 - 6 = 66\) и \(6-1 = 5\).

4. Теперь мы можем сравнить средние квадраты отклонений — посчитать отношение между ними. Это и будет наблюдаемое значение статистики критерия, то есть F:

\[ F = \frac{MS_{\text{between}}}{MS_{\text{within}}} = 533.8/15.4 = 34.7 \text{ (как раз в есть в выдаче)}. \]

5. Осталось p-value, то есть \(P(F > 34.7)\), вероятность того, что значение F-статистики будет больше (более экстремальным, чем наблюдаемое значение 34.7, полученное на наших данных.

P-value в выдаче близко к нулю, поэтому на 5% уровне значимости мы можем отвергнуть нулевую гипотезу о равенстве средних. Средние значения эффективности у разных спреев действительно различаются.

Критерий Краскала-Уоллиса

Применение

Используется, когда распределение исследуемого количественного показателя не является нормальным (хотя бы в одной из групп).

Нулевая и альтернативная гипотезы

Нулевая гипотеза, которая проверяется с помощью данного критерия:

\[ H_0:\text{ выборки взяты из одного распределения} \] Альтернативная гипотеза:

\[ H_1: \text{ выборки взяты не из одного распределения}. \] То есть, нулевая гипотеза об отсутствии отличий, а альтернативная — об их наличии.

Статистика критерия

Статистика критерия (значение, которое позволяет понять, насколько сильно наши данные отличаются от того, что ожидается согласно нулевой гипотезе) имеет распределение хи-квадрат c \(k-1\) степенями свободы, где \(k\) — число сравниваемых групп.

Реализация в R

Продолжим работать с тем же датасетом, но предположим, что данные распределены ненормально (так и будет, если проверим формально). Запускаем тест Краскела-Уоллиса:

kruskal.test(InsectSprays$count ~ InsectSprays$spray)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  InsectSprays$count by InsectSprays$spray
## Kruskal-Wallis chi-squared = 54.691, df = 5, p-value = 1.511e-10

Здесь Kruskal-Wallis chi-squared — это наблюдаемое значение статистики критерия, df — число степеней свободы для хи-квадрат распределения. Считается это значение довольно сложно (см. здесь), но важно то, что этот критерий ранговый, то есть проводит манипуляции не с исходными наблюдениями, а с их рангами.

p-value здесь очень мало, поэтому на 5% уровне значимости есть основания отвегнуть нулевую гипотезу. Выборки взяты из разных распределений, различия в эффективности спреев между группами есть. Или, как альтернативный вывод: тип спрея оказывает влияение на его эффективность.