Содержание

Опрос за пару минут

Насколько вероятно, что вы нас порекомендуете?

Собрать ответы Есть бесплатный тариф
Лого WebAsk

Точный тест Фишера (точный критерий Фишера, Fisher's exact test)

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

Тест почти всегда приходит на замену другому, поэтому начать стоит с карточки про критерий хи-квадрат, а практика анализа таблиц разобрана в статье Хи-квадрат по данным опроса.

Что делает точный тест Фишера

Проверяемая гипотеза та же, что у хи-квадрата: признаки независимы, доли в группах равны, отношение шансов равно единице. Отличается только способ получить вероятность.

Тест закрепляет итоги таблицы сопряжённости по строкам и столбцам, а затем перебирает все таблицы, которые с такими итогами вообще возможны. У каждой считается вероятность выпасть при отсутствии связи, эти вероятности берутся из гипергеометрического распределения. Дальше складываются вероятности вашей таблицы и всех, чья вероятность не больше её, и полученная сумма это и есть p-значение.

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

Откуда взялось название

Тест придумал Рональд Фишер и впервые изложил в 1934 году, в пятом издании «Статистических методов для исследователей», а годом позже разобрал его на примере спора за чаем в «Дизайне эксперимента». Коллега Фишера Мюриэль Бристол утверждала, что на вкус различает, налили в чашку сначала молоко или сначала чай. Фишер предложил проверку: восемь чашек, в четырёх молоко налито первым, испытуемая знает пропорцию и должна назвать эти четыре. Угадать все четыре случайно можно с вероятностью один к семидесяти, то есть около 0,014, и именно эта арифметика перебора вариантов стала тестом.

WebAsk · сервис опросов Проверьте это на своих данных Соберите ответы и посмотрите распределение — без выгрузок в Excel Создать опрос

В литературе встречается имя «тест Фишера-Ирвина»: к той же идее независимо пришёл Джозеф Ирвин в 1935 году. Ещё годом раньше её описал Фрэнк Йейтс, но в название теста он не попал, зато его имя носит та самая поправка на непрерывность для хи-квадрата. И не стоит путать этот тест с F-критерием Фишера, который сравнивает дисперсии и работает в ANOVA, это разные инструменты одного автора.

Как он считается

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

Пять возможных таблиц 2 на 2 с закреплёнными итогами, вероятность каждой и сравнение точного теста Фишера с хи-квадратом на тех же данных

Разница с приближением видна сразу. Точный тест даёт p = 0,048, результат едва проходит порог. Хи-квадрат на той же таблице выдаёт 0,010 и выглядит гораздо убедительнее, хотя ожидаемые частоты здесь всего 2 и 3.

Дальше начинается путаница с поправками. У хи-квадрата есть поправка Йейтса на непрерывность, придуманная как раз для того, чтобы подтянуть приближение к точному тесту, и часть программ применяет её на таблицах 2×2 по умолчанию, в том числе функция chisq.test в R. С поправкой то же расхождение даёт уже p = 0,053, то есть результат оказывается консервативнее самого Фишера. Вывод практический: на мелких числах считайте точный тест и указывайте в отчёте, какой вариант применяли, иначе числа не сойдутся у вас и у коллеги.

Односторонний и двусторонний вариант

Как и у других тестов, у Фишера есть сторона. Односторонний вариант отвечает на вопрос «не выше ли доля в первой группе», двусторонний на вопрос «различаются ли группы вообще». В примере выше это 0,024 против 0,048. Ровно вдвое получилось потому, что итоги таблицы там симметричны, и зеркальный перекос имеет ту же вероятность. В общем случае двусторонний p не равен удвоенному одностороннему.

Двусторонний вариант считают по-разному, и это регулярный источник расхождений между программами. Самый частый способ, он же по умолчанию в R, складывает вероятности всех таблиц, у которых вероятность не больше наблюдаемой. Другой способ просто удваивает односторонний результат. На несимметричных таблицах числа получаются разными, поэтому сторону и способ выбирают до расчёта, а не после того, как увидели p.

Когда его берут вместо хи-квадрата

  • Ожидаемая частота меньше пяти на таблице 2×2. Классический случай и самый частый повод. Смотрят именно на ожидаемые частоты: пустая ячейка в ваших данных сама по себе не повод менять тест.
  • Маленькая выборка целиком. При нескольких десятках ответов приближение шатко почти всегда, независимо от того, как разложились частоты.
  • Редкий сегмент. Выборка большая, но интересующая группа крошечная: тридцать корпоративных клиентов против трёх тысяч частных, десять уволившихся против двух сотен работающих.

Для таблиц больше 2×2 существует обобщение, тест Фишера-Фримена-Холтона, но перебор там растёт быстро, поэтому в статпакетах он либо считается долго, либо заменяется симуляцией методом Монте-Карло. Порог «меньше пяти» тоже относится к таблицам 2×2: у больших таблиц свои требования к разреженным ячейкам, они собраны в карточке про критерий хи-квадрат.

Ограничения

  • Тест консервативен. Из-за того, что итоги таблицы закреплены, а вероятностей конечное число, фактическая доля ложных срабатываний оказывается ниже заявленной. На практике это означает, что реальный эффект тест иногда не замечает. Причина глубже, чем дискретность: закрепляя оба итога таблицы, тест считает заданным то, что в опросе на самом деле случайно, ведь число подписавшихся вы заранее не назначали. Отсюда и растут альтернативы: mid-p, который берёт половину вероятности наблюдённой таблицы вместо целой, и более мощный тест Барнарда для таблиц 2×2.
  • Наблюдения должны быть независимыми. Один респондент попадает в одну ячейку. Если у вас два замера одной группы, нужен тест Макнемара, а не Фишер.
  • Силу связи он не измеряет. Рядом с тестом приводят отношение шансов с точным доверительным интервалом: на таблице 2×2 это штатный размер эффекта. Если в одной из ячеек ноль, само отношение уходит в бесконечность, и смысл несёт только интервал. На таблицах больше 2×2 силу связи меряют V Крамера.
  • Малые числа остаются малыми. Точный расчёт не добавляет данных: на выборке из десяти человек честный p просто окажется большим. Тест защищает от ложного вывода, но не заменяет нужный объём выборки.

Как получают p на мелкой таблице

СпособЧто делаетЧем платит
Точный тест Фишераперебирает все таблицы с теми же итогамиконсервативен, теряет мощность
Mid-pберёт половину вероятности вашей таблицыстрогой гарантии уровня уже нет
Тест Барнардане закрепляет второй итог таблицысчитается дольше
Хи-квадрат с поправкой Йейтсаподтягивает приближение к точному тестучасто перестраховывается
Фишер-Фримен-Холтонтот же перебор для таблиц больше 2×2вариантов становится слишком много
Симуляция Монте-Карлооценивает вероятность случайными таблицамиответ чуть меняется при повторе

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

Как это сделано в WebAsk

Собрать данные можно любым закрытым вопросом, а дальше всё решает размер частот. Калькулятор хи-квадрата сам предупредит, что на вашей таблице приближение уже неточно. Перебор он не делает, поэтому такие таблицы считают в статпакете или в онлайн-калькуляторе точного теста, а из WebAsk забирают выгрузку с частотами.

Проще всего до этой ситуации не доводить. Прикиньте объём выборки заранее калькулятором размера выборки, соберите ответы в конструкторе WebAsk и проверьте, что в каждом сегменте, который планируете сравнивать, набралось хотя бы несколько десятков человек.

Частые вопросы

Что такое точный тест Фишера простыми словами?

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

Почему тест называется точным?

Потому что вероятность считается по известному распределению целиком, а не приближается другим. Хи-квадрат подставляет непрерывное распределение вместо дискретных частот, и на мелких числах это даёт заметную ошибку. Точный тест такой подстановки не делает, но и стоит дороже: приходится перебирать варианты.

Когда брать Фишера, а когда хи-квадрат?

Ориентир один: ожидаемые частоты. Если на таблице 2×2 хотя бы одна ожидаемая частота меньше пяти, берут Фишера. Если частоты крупные, берут хи-квадрат, он проще и работает на таблицах любого размера, хотя и там за разреженными ячейками надо следить. Считают при этом ожидаемые частоты, а не те, что видны в таблице.

Можно ли применять точный тест к большой таблице?

Формально да, обобщение называется тестом Фишера-Фримена-Холтона. Но число возможных таблиц растёт очень быстро, поэтому расчёт становится тяжёлым, и программы либо считают его долго, либо оценивают ответ симуляцией. На крупных частотах в этом нет смысла: там хи-квадрат даёт практически тот же результат.

Почему у меня в R и в онлайн-калькуляторе разные p?

Чаще всего из-за стороны теста и способа считать двусторонний вариант. R по умолчанию складывает вероятности всех таблиц, не превосходящих наблюдаемую по вероятности, а часть калькуляторов просто удваивает односторонний результат. На несимметричных таблицах эти числа расходятся, поэтому в отчёте стоит указывать, какой вариант вы применяли.

Тест Фишера точнее, значит он лучше?

Не всегда. Из-за закреплённых итогов тест консервативен: он реже ошибается в сторону ложной находки, но чаще пропускает реальный эффект. На крупных частотах хи-квадрат даёт тот же вывод и считается проще, а если мощности не хватает, берут mid-p или более мощный тест Барнарда.

Что делать, если данных совсем мало?

Точный тест сохранит честность вывода, но не добавит информации: скорее всего p окажется большим, и различие останется недоказанным. Правильный ход это планировать объём выборки заранее, а решение объединить мелкие категории принимать до расчёта и по содержательной логике, а не после того, как увидели p.

2
Опрос за пару минут

Насколько вероятно, что вы нас порекомендуете?

Собрать ответы Есть бесплатный тариф