Критерий Мак-Нимара
Материал из MachineLearning.
Критерий Мак-Нимара (также, К. Мак-Немара, англ. McNemar's test) используется для анализа таблиц сопряженности размером 2x2 (для дихотомического признака). В отличие от критерия хи-квадрат, критерий Мак-Немара применяется, когда условие независимости наблюдений не выполняется, но, напротив, учет признака выполняется на одних и тех же субъектах.
Содержание |
Определение
Рассмотрим n субъектов, для каждого из которых было проведено 2 теста:
Тест 2 положительный Тест 2 отрицательный Сумма в строке Тест 1 положительный a b a + b Тест 1 отрицательный c d c + d Сумма в столбце a + c b + d n
Нулевая гипотеза утверждает, что маргинальные распределения для всех исходов совпадают:
- ,
- .
Заметим, что корректность этих равенств не зависит от и . После сокращения, получаем оригинальную формулировку нулевой и альтернативной гипотез:
- ,
- .
Оригинальная форма статистического критерия Мак-Немара такова:
- .
Применение коррекции Йейтса для повышения качества качества критерия на выборках с низкочастотными событиями приводит к следующей формуле:
- .
На практике (например, по умолчанию в функции mcnemar.test
в R), однако, обычно применяется коррекция Эдвардса:
- .
При условии выполнения нулевой гипотезы для достаточно больших выборок (b + c > 25) статистика имеет распределение хи-квадрат с одной степенью свободы. Для маленьких выборок (b + c <= 25) применяют точный критерий Мак-Немара, который является критерием знаков для b относительно биномиального распределения с параметрами n = b + c, p = 1/2.
Пример
В системе R:
> d <- matrix(c(37, 7, 15, 26), 2, 2) > mcnemar.test(d) McNemar's Chi-squared test with continuity correction data: d McNemar's chi-squared = 2.2273, df = 1, p-value = 0.1356 > mcnemar.test(d, correct=F) McNemar's Chi-squared test data: d McNemar's chi-squared = 2.9091, df = 1, p-value = 0.08808 > mcnemar.exact(d) Exact McNemar test (with central confidence intervals) data: d b = 15, c = 7, p-value = 0.1338 alternative hypothesis: true odds ratio is not equal to 1 95 percent confidence interval: 0.8224084 6.2125863 sample estimates: odds ratio 2.142857
Реализации
- MATLAB: встроенной реализации нет, есть реализации на File Exchange.
- R: функция
mcnemar.test
в стандартном пакетеstats
иmcnemar.exact
в пакетеexact2x2
. - Python: в библиотеках не реализован, однако можно найти готовые реализации
Ссылки
- EnWiki: McNemar's test
- McNemar, Quinn (June 18, 1947). "Note on the sampling error of the difference between correlated proportions or percentages". Psychometrika 12 (2): 153–157.
- Yates, F (1934). "Contingency table involving small numbers and the χ2 test". Supplement to the Journal of the Royal Statistical Society 1(2), 217–235.
- Edwards, A (1948). "Note on the "correction for continuity" in testing the significance of the difference between correlated proportions". Psychometrika 13: 185–187.
- Fay, Michael P. "Exact McNemar’s Test and Matching Confidence Intervals". (2011).