Рассмотренный ранее критерий \(\chi^2\) для анализ таблиц сопряженности размером 2х2 применим только в отношении независимых наблюдений. Если же учет какого-либо дихотомического признака выполняется, например, на одних и тех же испытуемых, вместо критерия \(\chi^2\) следует использовать критерий Мак-Немара (назван по имени автора - американского психолога и статистика Куинна Мак-Немара; оригинальная статья, в которой был описан этот критерий (McNemar 1947), доступна для скачивания в свободном доступе с сайта издательсва Springer).
Представим такую ситуацию: 15-ти испытуемым дали попробовать новый освежительный напиток, который скоро должен будет поступить в продажу. Испытуемых попросили ответить на вопрос, понравился ли им этот напиток - с вариантами ответа "да" или "нет". После этого тем же 15 участникам эксперимента показали рекламу, содержащую информацию о пользе и вкусовых качествах напитка. По завершении просмотра испытуемым снова дали выпить напиток и попросили ответить на ранее поставленный вопрос. Производитель напитка желает выяснить эффективность рекламы, изучив изменения в предпочтениях участников эксперимента после ее просмотра.
Данные, полученые в ходе эксперимента, могли бы выглядеть так (пример заимствован с сайта Cookbook for R):
data <- read.table(header=TRUE, con <- textConnection(" subject time result 1 pre 0 1 post 1 2 pre 1 2 post 1 3 pre 0 3 post 1 4 pre 1 4 post 0 5 pre 1 5 post 1 6 pre 0 6 post 1 7 pre 0 7 post 1 8 pre 0 8 post 1 9 pre 0 9 post 1 10 pre 1 10 post 1 11 pre 0 11 post 0 12 pre 1 12 post 1 13 pre 0 13 post 1 14 pre 0 14 post 0 15 pre 0 15 post 1 "))
В таблице data столбец subject содержит идентификационные номера испытуемых, столбец time - метки, отражающие время проведения опроса (pre - до показа рекламы, post - после), а столбец result - ответы на вопрос (закодированы как 0 - "нет" и 1 - "да"). Данные умышленно приведены сначала в т.н. "длинном формате" - чтобы продемонстрировать еще раз, что те же 15 испытуемых были опрошены дважды и что их ответы могли измениться после просмотра рекламы.
Подобно критерию \(\chi^2\), критерий Мак-Немара работает с таблицей сопряженности размером 2х2. Для преобразования объекта data в такую таблицу необходимо выполнить пару дополнительных операций. Сначала преобразуем data в таблицу "широкого формата" (для этого использованы возможности пакета reshape2 (Wickham 2007)):
Подобно критерию \(\chi^2\), критерий Мак-Немара работает с таблицей сопряженности размером 2х2. Для преобразования объекта data в такую таблицу необходимо выполнить пару дополнительных операций. Сначала преобразуем data в таблицу "широкого формата" (для этого использованы возможности пакета reshape2 (Wickham 2007)):
# Если пакет еще не установлен на Вашем компьютере, выполните: install.packages("reshape2") # Преобразуем данные в "широкий формат": data.wide <- dcast(data, subject ~ time, value_var="result") data.wide subject post pre 1 1 1 0 2 2 1 1 3 3 1 0 4 4 0 1 5 5 1 1 6 6 1 0 7 7 1 0 8 8 1 0 9 9 1 0 10 10 1 1 11 11 0 0 12 12 1 1 13 13 1 0 14 14 0 0 15 15 1 0
Теперь эти данные можно легко свести в матрицу, соответствующую таблице сопряженности (использованная ниже функция table() входит в базовый набор функций R):
Полученная таблица сопряженности отражает изменения предпочтений участников эксперимента до и после показа рекламы (сравните с критерием Стьюдента для парных выборок). Так, например, мы видим, что двоим испытуемым напиток не нравился как до, так и после показа рекламы (пересечение строки 0 и столбца 0); восьми испытуемым напиток не нравился до показа рекламы, но понравился после (пересечение строки 0 и столбца 1), и т.д. В общем виде таблицу сопряженности для критерия Мак-Немара мы можем представить так:
Критерий Мак-Немара предназначен для проверки нулевой гипотезы о том, что маргинальные частоты строк и столбцов таблицы сопряженности не различаются:
\[p_a + p_b = p_a + p_c\] \[p_c + p_d = p_b + p_d\]
После сокращения получаем (McNemar 1947):
\[H_0: p_b = p_c\] \[H_1: p_b \not= p_c\]
Критерий рассчитывается следующим образом:
\[Q = \frac{(b-c)^2}{b+c}\]
При больших объемах выборок (примерно 50 и выше) Q имеет распределение, близкое к распределению \(\chi^2\) с одной степенью свободы. Более точное приближение достигается при помощи поправки Эдвардса (Edwards 1948):
\[Q = \frac{(|b-c| - 1)^2}{b+c}\]
В R приведенные формулы реализованы в базовой функции mcnemar.test():
По умолчанию поправка Эдвардса применяется. При необходимости ее можно отключить, воспользовавшись аргументом correct:
Как видим, в обоих случаях p-value < 0.05, что дает нам основания отклонить нулевую гипотезу об отсутствии эффекта рекламы - число испытуемых, которым напиток понравился после ее просмотра, увеличилось.
Обратите внимание: хотя критерий Мак-Немара имеет дело с таблицей сопряженности 2х2, структура этой таблицы в корне отличается от таковой для критерия \(\chi^2\). В случае с \(\chi^2\) факт повторного учета дихотомического признака на тех же объектах не отражен:
Полученная таблица сопряженности отражает изменения предпочтений участников эксперимента до и после показа рекламы (сравните с критерием Стьюдента для парных выборок). Так, например, мы видим, что двоим испытуемым напиток не нравился как до, так и после показа рекламы (пересечение строки 0 и столбца 0); восьми испытуемым напиток не нравился до показа рекламы, но понравился после (пересечение строки 0 и столбца 1), и т.д. В общем виде таблицу сопряженности для критерия Мак-Немара мы можем представить так:
Тест 2 (-)
|
Тест 2 (+)
|
Всего
| |
Тест 1 (-)
|
а
|
b
|
a + b
|
Тест 1 (+)
|
c
|
d
|
c + d
|
Всего
|
a + c
|
b + d
|
a + b + c + d
|
Критерий Мак-Немара предназначен для проверки нулевой гипотезы о том, что маргинальные частоты строк и столбцов таблицы сопряженности не различаются:
\[p_a + p_b = p_a + p_c\] \[p_c + p_d = p_b + p_d\]
После сокращения получаем (McNemar 1947):
\[H_0: p_b = p_c\] \[H_1: p_b \not= p_c\]
Критерий рассчитывается следующим образом:
\[Q = \frac{(b-c)^2}{b+c}\]
При больших объемах выборок (примерно 50 и выше) Q имеет распределение, близкое к распределению \(\chi^2\) с одной степенью свободы. Более точное приближение достигается при помощи поправки Эдвардса (Edwards 1948):
\[Q = \frac{(|b-c| - 1)^2}{b+c}\]
В R приведенные формулы реализованы в базовой функции mcnemar.test():
mcnemar.test(ct) McNemar's Chi-squared test with continuity correction data: ct McNemar's chi-squared = 4, df = 1, p-value = 0.0455
По умолчанию поправка Эдвардса применяется. При необходимости ее можно отключить, воспользовавшись аргументом correct:
mcnemar.test(ct, correct = FALSE) McNemar's Chi-squared test data: ct McNemar's chi-squared = 5.4444, df = 1, p-value = 0.01963
Как видим, в обоих случаях p-value < 0.05, что дает нам основания отклонить нулевую гипотезу об отсутствии эффекта рекламы - число испытуемых, которым напиток понравился после ее просмотра, увеличилось.
Обратите внимание: хотя критерий Мак-Немара имеет дело с таблицей сопряженности 2х2, структура этой таблицы в корне отличается от таковой для критерия \(\chi^2\). В случае с \(\chi^2\) факт повторного учета дихотомического признака на тех же объектах не отражен:
Применим ли критерий Мак-Немара для таблиц сопряжённости 3х3 или 4х4 ?
Отправить комментарий