← Назад к вопросам

Приведи пример P-value

1.7 Middle🔥 211 комментариев
#Статистика и теория вероятностей#Статистические критерии и тесты

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

P-value: практические примеры

P-value — одна из ключевых концепций в статистике. Дам подробное объяснение с реальными примерами.

Что такое P-value?

P-value (p-вероятность) — это вероятность того, что при условии истинности нулевой гипотезы (H0) мы получим результаты, равные наблюдаемым или более экстремальные.

Просто говоря: это мера того, насколько необычны наши данные, если предположить, что эффекта нет.

Формальное определение:

p-value = P(данные | H0 истинна)

Практический пример 1: Бросание монеты

Предположим, я бросил монету 10 раз и получил 9 орлов.

from scipy.stats import binom_test

# Нулевая гипотеза: монета справедливая (p = 0.5)
# Альтернатива: монета несправедливая

p_value = binom_test(9, n=10, p=0.5, alternative='two-sided')
print(f'P-value: {p_value:.4f}')  # Результат: 0.0107

Интерпретация:

  • p-value = 0.0107 означает: есть только 1.07% шанс, что при справедливой монете мы получим результат, равный или более экстремальный (9 или 10 орлов, или 0 или 1 орёл)
  • Это очень маловероятно, поэтому мы отвергаем гипотезу о справедливости монеты
  • Уровень значимости (α) = 0.05, поэтому p-value < 0.05 → отвергаем H0

Практический пример 2: Средняя зарплата в компании

Допустим, в индустрии средняя зарплата аналитика — $80,000. В нашей компании выборка из 30 сотрудников имеет среднюю зарплату $92,000 с стандартным отклонением $15,000.

Вопрос: отличается ли зарплата в нашей компании значимо?

from scipy.stats import ttest_1samp
import numpy as np

# Данные
our_salaries = np.array([92000] * 30)  # Упрощение: все $92,000
industry_mean = 80000

# t-тест
statistic, p_value = ttest_1samp(our_salaries, industry_mean)
print(f'T-статистика: {statistic:.2f}')
print(f'P-value: {p_value:.6f}')

Результат: p-value = 0.0000123

Интерпретация:

  • P-value очень малый (< 0.05)
  • Вероятность получить такую разницу в случайной выборке из популяции со средней $80,000 практически нулевая
  • Вывод: зарплата в нашей компании значимо выше среднеотраслевой

Практический пример 3: Конверсия сайта (A/B тест)

Тестируем новый дизайн кнопки на сайте.

Сценарий:

  • Контрольная группа (A): 1000 пользователей, 100 кликов → конверсия 10%
  • Тестовая группа (B): 1000 пользователей, 120 кликов → конверсия 12%

Вопрос: статистически значимо ли улучшение?

from scipy.stats import chi2_contingency
import numpy as np

# Таблица сопряженности
data = np.array([
    [100, 900],   # A: клики, некклики
    [120, 880]    # B: клики, некклики
])

chi2, p_value, dof, expected = chi2_contingency(data)
print(f'Chi2 статистика: {chi2:.2f}')
print(f'P-value: {p_value:.4f}')

Результат: p-value = 0.0715

Интерпретация:

  • P-value = 0.0715 > 0.05
  • Есть 7.15% вероятность получить такую разницу случайно
  • Это НЕ значимо при уровне α = 0.05
  • Вывод: нельзя утверждать, что новый дизайн лучше (нужна большая выборка или реальный эффект)

Практический пример 4: Корреляция между переменными

Проверяем, есть ли корреляция между опытом работы и зарплатой.

from scipy.stats import pearsonr
import numpy as np

# Данные 50 сотрудников
opyt = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10] * 5)  # Опыт в годах
zarplata = opyt * 5000 + np.random.normal(0, 5000, 50)  # Зарплата

correlation, p_value = pearsonr(opyt, zarplata)
print(f'Корреляция: {correlation:.3f}')
print(f'P-value: {p_value:.4f}')

Результат: correlation = 0.92, p-value < 0.0001

Интерпретация:

  • P-value < 0.05 → корреляция статистически значима
  • Корреляция = 0.92 → сильная положительная связь
  • Вывод: опыт работы значимо влияет на зарплату

Частые ошибки в интерпретации P-value

❌ НЕПРАВИЛЬНО:

  • "p-value — вероятность того, что H0 верна" → НЕВЕРНО
  • "p-value = 0.06 значит результат не значим" → зависит от α
  • "p-value < 0.001 означает огромный эффект" → нет, размер эффекта отдельно

✅ ПРАВИЛЬНО:

  • "p-value — вероятность данных при условии H0 истинна"
  • "p-value = 0.06 не позволяет отвергнуть H0 при α = 0.05"
  • "p-value говорит об статистической значимости, не о практической важности"

Пороги значимости

p-valueИнтерпретацияДействие
< 0.001Очень сильное доказательство против H0Отвергаем H0
0.001-0.01Сильное доказательствоОтвергаем H0
0.01-0.05ДоказательствоОтвергаем H0
0.05-0.10Слабое доказательствоГраница решения
> 0.10Недостаточно доказательствНе отвергаем H0

Размер эффекта vs P-value

Важно: p-value говорит о статистической значимости, а не о величине эффекта.

# Пример: огромная выборка, маленький эффект
# p-value < 0.001, но практическое значение минимально

group1 = np.random.normal(100, 10, 10000)
group2 = np.random.normal(100.1, 10, 10000)  # Разница всего 0.1

stat, pval = ttest_ind(group1, group2)
print(f'P-value: {pval}')  # < 0.05 (значимо)
print(f'Разница: {group1.mean() - group2.mean()}')  # 0.1 (неважно)

Вывод

P-value — это инструмент для принятия объективных решений на основе данных, но его нужно интерпретировать в контексте:

  • Размер выборки
  • Величина эффекта
  • Практическая значимость
  • Предварительная вероятность гипотезы