Содержание

Опрос, который дочитывают

Готовые шаблоны, ветвления по ответам и отчёты — в одном месте

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

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

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

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

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

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

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

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

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

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

WebAsk · сервис опросов Так выглядит вопрос NPS · это демо

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

Вот и всё — такой опрос собирается за пару минут, а индекс WebAsk считает сам.

Создать свой опрос

В литературе встречается имя «тест Фишера-Ирвина»: к той же идее независимо пришёл Джозеф Ирвин в 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.

1

Опрос, который дочитывают

Готовые шаблоны, ветвления по ответам и отчёты — в одном месте

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