Статистические поправки для мульти-вариантных тестов. Часть 2. FDR

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

  • Без дополнительных предположений нельзя построить более мощную процедуру, чем метод Холма
  • При независимости экспериментов нельзя построить более мощную процедуру, чем метод Шидака-Холма

Зато можно сделать мощную процедуру для FDR — и, как показывает практика, для многих задач использование FDR оправдано. Рассмотрим пару наиболее известных процедур корректировки p-value: метод Бенджамини-Хохберга и метод Бенджамини-Иекутиели.

Для начала напомним, что FDR (False Discovery Rate) — это средняя доля ложно отвергнутых \(H_0\) среди всех отвергнутых \(H_0\), \(FDR = E(\frac{V}{R} | R>0)\). Если рассматривая FWER нас беспокоила вероятность, что хотя бы одна нулевая гипотеза будет ложно отвергнута, то теперь, рассматривая FDR, мы снижаем планку и допускаем, что таких гипотез будет несколько — но не более чем \(\alpha\).
Заметим, что \(FDR \leq FWER \)

Метод Бенджамини-Хохберга (BH procedure)

Для начала, как обычно, тестируем наши \(m\) гипотез и вычисляем для них p-value. Отсортируем наши гипотезы по возрастанию p-value: \(p_1 \leq p_2 \leq … \leq p_m\), пусть гипотеза \(H_i\) соответствует \(p_i\). Затем для контроля FDR на уровне \(\alpha\) ищем
\(k=max\{ i: p_i \leq \frac{i}{m}\alpha \}\).
Если такое k существует, то отклоняем все гипотезы \(H_i\), для которых \(i \leq k\). Если k не нашлось — ничего не отклоняем.

На самом деле, этот метод контролирует FDR на уровне \(\frac{m_0}{m}\alpha\), где \(m_0\) — количество гипотез с верной \(H_0\). Но, так как на практике мы не знаем значение \(m_0\), то довольствуемся оценкой сверху.
Метод Бенджамини-Хохберга применим в случае, если гипотезы проверялись независимо (или хотя бы положительно зависимы, что не очень понятно что это и тем более как это проверить). А вот метод Бенджамини-Иекутиели не требует такого условия.

Метод Бенджамини-Иекутиели (Benjamini-Yekutieli)

Метод очень, очень похож на предыдущий. Добавляется только один коэффициент \(c = \sum_{i=1}^{m} \frac{1}{i}\) (частичная сумма гармонического ряда, который, очень медленно расходится)
В этом случае также сортируем гипотезы по возрастанию p-value: \(p_1 \leq p_2 \leq … \leq p_m\), гипотеза \(H_i\) соответствует \(p_i\). Для контроля FDR на уровне \(\alpha\) ищем
\(k=max\{ i: p_i \leq \frac{i}{m*с}\alpha \}\).
Если такое k существует, то отклоняем все гипотезы \(H_i\), для которых \(i \leq k\). Если k не нашлось — ничего не отклоняем.
Обычно пользуются все же BH-процедурой, поскольку условие независимости выполнено.

Эти две процедуры также реализованы в библиотеке statsmodels для python:

 
 
from statsmodels.stats.multitest import multipletests
reject, p_value_corrected, sidak_corr, bonf_corr = multipletests(p_values, alpha=0.05, method='fdr_bh')

Чтобы получить метод Бенджамини-Иекутиели, меняем метод и вот оно счастье.

 
 
from statsmodels.stats.multitest import multipletests
reject, p_value_corrected, sidak_corr, bonf_corr = multipletests(p_values, alpha=0.05, method='fdr_by')

Метод возвращает:

  1. reject — булевский массив длины \(m\), в котором True — нулевую гипотезу можно отвергнуть и False — если нельзя
  2. pvals_corrected — массив длины \(m\) со скорректированными p-value
  3. alphacSidak — поправка Шидака
  4. alphacBonf — поправка Бонферонни

Есть небольшие рекомендации по использованию FDR и FWER:

  • Контроль FDR (обычно FDR < 0.1): исследование и отбор признаков для последующего (более сложного и дорогого) анализа. Баланс между мощностью и ложными срабатываниями.
  • Контроль FWER (обычно FWER < 0.05): подтверждение выводов, строгий контроль за вероятностью ошибок первого рода

Ссылки по теме:

  1. Конечно же, статьи с вики и machinelearning.ru: обзор, FWER, FDR, BH-procedure, BY-procedure
  2. Статья Яндекса про основные методы:
  3. Про поправки Бонферонни и Шидака — статья Herve Abdi
  4. Интересная лекция института биоинформатики дополнительного образования
  5. Master Thesis про BH-procedure, автор — Wouter van Loon
  6. Оригинальная статья про BY-procedure

Добавить комментарий