Σ
SDCalc
СреднийПрименение·12 min

d Коэна и расчёт размера эффекта

Освойте расчёт размера эффекта: d Коэна, g Хеджеса и Δ Гласса. Научитесь измерять практическую значимость результатов помимо p-значений с помощью стандартного отклонения.

За пределами статистической значимости: размер эффекта

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

Представьте клиническое испытание, где новый препарат демонстрирует статистически значимое улучшение (p < 0,001) по сравнению с плацебо. Без размера эффекта неизвестно, составляет ли улучшение 0,1% или 50%. Размер эффекта даёт этот важнейший контекст, помогая заинтересованным сторонам определить, стоит ли эффект затрат, побочных действий или усилий по внедрению.

Наиболее распространённая мера размера эффекта для сравнения двух групп — d Коэна, которая выражает разницу между средними в единицах стандартного отклонения. Такая стандартизация позволяет сравнивать результаты разных исследований и шкал измерения.

Почему размер эффекта важен

Статистическая значимость сильно зависит от объёма выборки. При достаточно большой выборке даже ничтожные различия становятся «значимыми». И наоборот, важные эффекты могут не достичь значимости в малых выборках. Размер эффекта решает эту проблему, предоставляя меру, не зависящую от объёма выборки.

Ловушка значимости

Исследование с n=10 000 может показать p < 0,001 для разницы в 0,5 балла по 100-балльной шкале. Это статистически значимо, но практически бессмысленно (d ≈ 0,05). Всегда указывайте размер эффекта вместе с p-значениями.

Основные причины использовать размер эффекта:

  • Мета-анализ: размеры эффектов можно объединять по исследованиям для общей оценки
  • Анализ мощности: необходим для расчёта требуемого объёма выборки будущих исследований
  • Практические решения: помогает определить, стоит ли внедрять вмешательство
  • Репликация: обеспечивает цель для воспроизведения результатов

d Коэна: стандартная мера размера эффекта

d Коэна выражает разницу между средними двух групп в единицах объединённого стандартного отклонения:

d Коэна

d = (M₁ - M₂) / sp

Где M₁ и M₂ — средние групп, а sp — объединённое стандартное отклонение:

Объединённое стандартное отклонение

sp = √[((n₁-1)s₁² + (n₂-1)s₂²) / (n₁+n₂-2)]

Знак d указывает направление: положительный, когда M₁ > M₂, отрицательный, когда M₁ < M₂. Часто указывается абсолютное значение |d|, когда направление очевидно из контекста.

Зачем объединять стандартное отклонение?

Объединение предполагает, что обе группы имеют одинаковую дисперсию в генеральной совокупности. Это даёт более стабильную оценку, чем использование СО одной из групп, и соответствует допущениям двухвыборочного t-критерия.

Альтернативные меры размера эффекта

Хотя d Коэна наиболее распространена, существуют альтернативы для специфических ситуаций:

g Хеджеса: размер эффекта с поправкой на смещение

d Коэна немного завышает размер эффекта в генеральной совокупности при малых выборках. g Хеджеса применяет поправочный коэффициент:

Поправка g Хеджеса

g = d × (1 - 3/(4(n₁+n₂) - 9))

Для выборок более 20 человек в группе разница пренебрежимо мала. Для малых выборок (n < 20) предпочтительнее g Хеджеса.

Δ Гласса: при неравных дисперсиях

Когда одна из групп является контрольной с известной вариабельностью, в знаменатель подставляется только СО контрольной группы:

Δ Гласса

Δ = (M₁ - M₂) / s_control

Это полезно, когда воздействие может влиять на дисперсию (например, вмешательство, которое помогает слабым больше, чем сильным).

Интерпретация размера эффекта: ориентиры Коэна

Джейкоб Коэн предложил следующие условные границы для интерпретации значений d:

Размер эффекта (d)ИнтерпретацияПерекрытие
0,2Малый85% перекрытие между группами
0,5Средний67% перекрытие между группами
0,8Большой53% перекрытие между группами
1,2Очень большой40% перекрытие между группами
2,0Огромный19% перекрытие между группами

Контекст важен

Это приблизительные ориентиры, а не абсолютные правила. В некоторых областях d = 0,2 может быть высокозначимым (например, снижение риска инфаркта), а в других d = 0,8 может быть ожидаемым (например, репетиторство по сравнению с отсутствием обучения).

Решённый пример: Образовательное вмешательство

Школа тестирует новую программу по чтению. Контрольная группа (n=25): среднее=72, СО=12. Экспериментальная группа (n=30): среднее=79, СО=14. Рассчитаем d Коэна:

1

Рассчитайте объединённую дисперсию

sp² = [(25-1)(12)² + (30-1)(14)²] / (25+30-2) = [24×144 + 29×196] / 53 = [3456 + 5684] / 53 = 172,45
2

Рассчитайте объединённое СО

sp = √172,45 = 13,13
3

Рассчитайте d Коэна

d = (79 - 72) / 13,13 = 7 / 13,13 = 0,53
4

Интерпретируйте

Средний размер эффекта (d = 0,53). Экспериментальная группа показывает результат примерно на половину стандартного отклонения выше контрольной.

Это означает: если взять случайного ученика из экспериментальной группы и случайного из контрольной, ученик экспериментальной группы наберёт больше баллов примерно в 64% случаев (рассчитано из перекрытия распределений).

Реализация на Python

Программный расчёт размеров эффекта с доверительными интервалами:

python
import numpy as np
from scipy import stats

def cohens_d(group1, group2):
    """Calculate Cohen's d for two independent groups."""
    n1, n2 = len(group1), len(group2)
    var1, var2 = np.var(group1, ddof=1), np.var(group2, ddof=1)

    # Pooled standard deviation
    pooled_std = np.sqrt(((n1-1)*var1 + (n2-1)*var2) / (n1+n2-2))

    # Cohen's d
    d = (np.mean(group1) - np.mean(group2)) / pooled_std
    return d

def hedges_g(group1, group2):
    """Calculate Hedges' g (bias-corrected effect size)."""
    n1, n2 = len(group1), len(group2)
    d = cohens_d(group1, group2)

    # Correction factor for small sample bias
    correction = 1 - 3 / (4*(n1+n2) - 9)
    return d * correction

# Example usage
control = [68, 72, 75, 70, 69, 74, 71, 73, 76, 72]
treatment = [75, 79, 82, 78, 80, 77, 81, 76, 83, 79]

d = cohens_d(treatment, control)
g = hedges_g(treatment, control)
print(f"Cohen's d: {d:.3f}")
print(f"Hedges' g: {g:.3f}")