Ответ
P-value (значение p) — это вероятность получить наблюдаемые выборочные данные (или ещё более крайние) в предположении, что нулевая гипотеза (H₀) верна. Я использую его как инструмент принятия решения в рамках классического частотного подхода.
Стандартный алгоритм применения:
- Формулирую гипотезы:
- H₀ (нулевая): Эффекта нет (например, «средние значения двух групп равны»).
- H₁ (альтернативная): Эффект есть (например, «средние значения различаются»).
- Выбираю уровень значимости (α): Порог вероятности для принятия решения. Обычно α = 0.05 (5%). Это допустимая вероятность совершить ошибку I рода (отклонить верную H₀).
- Провожу подходящий статистический тест (t-тест, χ², ANOVA и т.д.) на имеющихся данных и получаю p-value.
- Принимаю решение, сравнивая p-value с α:
- Если p-value ≤ α: Отвергаю нулевую гипотезу. Данные предоставляют статистически значимые свидетельства в пользу H₁.
- Если p-value > α: Не имею достаточных оснований отвергнуть H₀. Это не доказывает, что H₀ верна, а говорит лишь о том, что данные с ней не противоречат.
Практический пример на Python (двухвыборочный t-тест):
import numpy as np
from scipy import stats
# Предположим, тестируем новый алгоритм против baseline
baseline_scores = [0.85, 0.82, 0.88, 0.79, 0.90]
new_algorithm_scores = [0.89, 0.91, 0.87, 0.93, 0.90]
# H₀: Средние результаты равны (новый алгоритм не лучше).
# H₁: Средние результаты различаются (двусторонний тест).
t_statistic, p_value = stats.ttest_ind(new_algorithm_scores, baseline_scores)
print(f"t-статистика: {t_statistic:.3f}")
print(f"p-value: {p_value:.4f}")
alpha = 0.05
if p_value <= alpha:
print(f"p-value ({p_value:.4f}) ≤ α ({alpha}). Отвергаем H₀.")
print("Есть статистически значимые свидетельства различий между алгоритмами.")
else:
print(f"p-value ({p_value:.4f}) > α ({alpha}). Не отвергаем H₀.")
print("Статистически значимых различий не обнаружено.")
Критически важные интерпретации, которые я учитываю:
- P-value — не вероятность истинности гипотезы. Низкий p-value не означает, что H₁ верна с вероятностью 95%.
- Статистическая значимость ≠ практическая значимость. При огромной выборке даже крошечный эффект даст низкий p-value. Всегда оцениваю размер эффекта (например, Cohen's d).
- P-value чувствителен к нарушениям предположений теста (нормальность, гомогенность дисперсий). Перед тестом проверяю данные.
- Я никогда не использую p-value как единственную метрику, а дополняю его доверительными интервалами и визуализацией данных.