Эта статья посвящена точному тесту Макнемара и его реализации на Python. Я хочу начать с указаний и теории тестирования точного теста Макнемара, прежде чем мы рассмотрим, как выполнить тест с нуля с помощью Python. В качестве примера воспользуемся реальными данными об эпидемии коронавируса атипичной пневмонии в 2003 году. В конце мы хотим проверить наш результат, сравнив его с результатом, который мы получили с помощью встроенной функции Python.

Точный тест Макнемара - это статистический тест, используемый для коррелированных двоичных данных в таблицах 2x2. Точный тест Макнемара является дихотомическим эквивалентом парного t-критерия, причем последний применяется к непрерывным переменным. Тест был опубликован американским профессором психологии Куинном Макнемаром в 1947 году. Обычно точный тест Макнемара применяется в здравоохранении с помощью наборов данных, которые содержат зависимые (например, совпадающие) пары. К ним относятся исследования до и после тестирования, исследования случай-контроль (например, исследования близнецов) и статистические сравнения диагностических тестов.

Чтобы представить математику, лежащую в основе теста, я хочу использовать краткий пример: предположим, мы хотим проверить, существует ли связь между курением и раком легких. Поэтому мы сопоставляем 42 пациента с раком легкого (= случаи) с 42 контрольными людьми (= контрольная группа) на основе возраста и семейного анамнеза рака легких. Затем мы получаем статус курения каждого из 84 человек. Получаем такую ​​таблицу:

Из 42 подобранных пар была 21 пара, где и здоровый человек (= контрольная группа), и пациент с раком легких (= случай) были курильщиками, 8 пар, где пациент с раком легкого был курильщиком, а контрольная - нет, 12 пар, где оба были некурящими, и 1 пара, где больной раком не курил, а контрольный человек курил.

Примечание. Это не «типичная» таблица непредвиденных обстоятельств, поскольку ячейки отражают пары, а не отдельных лиц! Следовательно, мы не можем использовать обычный анализ таблиц сопряженности, такой как критерий хи-квадрат Пирсона или точный критерий Фишера, которые оба предполагают независимые выборки!

21 пара, в которых оба пациента и контрольная группа подвергались воздействию фактора риска, не предоставляют информации о связи между курением и раком легких. Точно так же 12 пар, в которых ни случай, ни контроль не подвергались воздействию фактора риска, не предоставляют дополнительной информации.

В тесте Макнемара используются данные только из двух несогласованных ячеек («Случайный курильщик | Контрольный некурящий» и «Случайный некурящий | Контрольный курильщик») в таблице. Если бы не было связи между курением и раком легких, мы бы интуитивно ожидали, что дискордантные пары будут примерно поровну распределены между этими двумя клетками. Другими словами, несогласованные пары могут попасть либо в одну несогласованную ячейку, либо в другую с равными шансами (p = 0,5), если интересующие нас переменные независимы друг от друга (= нулевая гипотеза).

Вероятность наблюдения конкретного распределения 9 несогласованных пар между обеими ячейками при нулевой гипотезе может быть вычислена с помощью бинома. В нашем примере мы получаем:

При проверке гипотез нас обычно интересует вероятность наблюдения определенного результата - или даже более экстремального результата - при нулевой гипотезе. Еще более экстремальное распределение дискордантных пар в этом исследовании соответствовало бы 9 парам в «Case Smoker | Контролировать некурящий »и ноль пар в« Кейсе для некурящих | Контролировать курильщика »:

Тест Макнемара обычно выполняется как двусторонний, потому что теоретически все несогласные пары также могут быть найдены в «Случай некурящего | Контрольный курильщик »- сторона стола. Вот почему мы также должны добавить

а также

к двум вероятностям, которые мы рассчитали в первую очередь, в результате получилось двустороннее значение p 0,0176 + 0,00195 + 0,0176 + 0,00195 = 0,039. Следовательно, мы бы отклонили нулевую гипотезу независимости на уровне значимости 0,05 в этом примере.

Мы могли бы упростить вычисление нашего p-значения, поскольку математически можно показать, что

где b и c - количество несогласованных ячеек в нашей таблице.

Точный тест МакНемара - это непараметрический тест, который необходимо отличать от теста Макнемара, который использует приближение хи-квадрат для биномиального распределения. Как и точный тест Фишера, точный тест Макнемара применим к выборке любого размера, но обязателен для разреженных данных. Общее практическое правило - использовать точный тест, когда количество несогласованных пар меньше 10.²

Точный тест Макнемара с Python:

В конце 2002 года новое вирусное заболевание, которое позже стало известно как тяжелый острый респираторный синдром (SARS), появилось на юго-востоке Китая и быстро распространилось среди более 8000 человек во всем мире, вызвав 774 смертельных исхода. Благодаря глобальным усилиям вирус может быть окончательно сдержан в 2004 году. Вирус, вызвавший вспышку в 2002 году (SARS-CoV-1), генетически тесно связан с вирусом SARS-CoV-2, вызывающим продолжающуюся пандемию коронавирусной болезни 2019 ( COVID-19).

Одной из ключевых мер по сдерживанию распространения атипичной пневмонии в начале 2000-х годов было быстрое выявление случаев заболевания атипичной пневмонией у людей. Как и сегодня, количественный анализ RT-PCR был наиболее чувствительным диагностическим инструментом для обнаружения SARS CoV. Однако основным недостатком методов, основанных на ПЦР, была необходимость в непереносимых лабораторных условиях. 3 Это может привести к тому, что ОТ-ПЦР будет неосуществимой в отдаленных районах. Более быстрой и логистически более простой альтернативой методам на основе ПЦР является тест амплификации, опосредованный петлей обратной транскрипции (RT-LAMP), который можно использовать при вспышках заболеваний в отдаленных районах.

Чтобы сравнить уровни обнаружения обоих методов (количественная ОТ-ПЦР и ОТ-LAMP), исследователи провели следующее исследование: ретроспективные носоглоточные аспираты 59 подтвержденных случаев SARS Cov были протестированы с использованием обоих методов соответственно. Была получена следующая таблица:

На первый взгляд, мы можем видеть, что RT-LAMP правильно идентифицировал 42/59 = 71% аспиратов как случаев по сравнению с 46/59 = 78% в RT-PCR. Глядя на данные, мы можем ошибиться, полагая, что RT-LAMP может иметь более низкие показатели обнаружения.

Теперь мы хотим использовать Python, чтобы выяснить, сильно ли отличаются оба диагностических теста с точки зрения их обнаружения. Поскольку мы имеем дело с бинарным исходом («положительный / отрицательный») и оба диагностических теста были повторены на одном и том же носоглоточном аспирате соответственно, мы должны использовать тест Макнемара. Сумма дискордантных пар равна 2 + 6 = 8. Поскольку количество противоречащих друг другу наблюдений составляет точный тест Макнемара.

В Python мы начинаем с импорта некоторых полезных библиотек:

… И вставляем наши данные:

Затем мы используем цикл while для вычисления соответствующих биномиальных вероятностей, как и в предыдущем примере.

Сумма этих биномиальных вероятностей и есть наше p-значение:

Statsmodels - это модуль Python, который предлагает встроенную функцию для непосредственного применения точного теста Макнемара:

Как мы видим, и функция statsmodels, и наш собственный код Python дают нам p-значение 0,29, что по сути является тем, что сообщалось в исходной статье. Авторы пришли к выводу, что общий уровень обнаружения не были статистически значимыми друг от друга. Сегодня методы на основе LAMP используются в дополнение к тестам на основе ПЦР в глобальных усилиях по борьбе с COVID-19.

Полную записную книжку jupyter можно найти на моем GitHub!

Ссылки:

  1. Макнемар, Куинн (18 июня 1947 г.). «Обратите внимание на ошибку выборки разницы между коррелированными пропорциями или процентами». Психометрика
  2. Руфибах, К. Оценка парных двоичных данных. Скелетная радиология 40, 1–4 (2011). Https://doi.org/10.1007/s00256-010-1006-1
  3. Ли, Патрисия. (2017). Амплификация ДНК в полевых условиях: переходите к ПЦР, вот и LAMP. Ресурсы молекулярной экологии. 17. 138–141. 10.1111 / 1755–0998.12548.
  4. Пун Л.Л., Вонг Б.В., Чан К.Х. и др. Оценка результатов ПЦР с обратной транскриптазой в реальном времени и анализов петлевой амплификации в реальном времени для выявления коронавируса тяжелого острого респираторного синдрома. J Clin Microbiol. 2005. 43 (7): 3457–3459. DOI: 10.1128 / JCM.43.7.3457–3459.2005
  5. Минжэ Шен, Ин Чжоу, Цзявэй Е, Абду Ахмед Абдулла Аль-маскри, Ю Канг, Су Зенг, Шенг Цай, Последние достижения и перспективы обнаружения нуклеиновых кислот при коронавирусе, Журнал фармацевтического анализа,
    2020, ISSN 2095– 1779, https://doi.org/10.1016/j.jpha.2020.02.010.