t-критерий Уэлча — тест, основанный на распределении Стьюдента и предназначенный для проверки статистической гипотезы о равенстве математических ожиданий случайных величин, имеющих необязательно равные известные дисперсии. Является модификацией t-критерия Стьюдента. Назван в честь британского статистика Бернарда Льюиса Уэлча.
Для применения двухвыборочного t-критерия Стьюдента необходимо, чтобы истинные дисперсии были равны. В случае t-критерия Уэлча истинные дисперсии уже могут быть не равны, но предпосылка о нормальном распределении средних сохраняется.
Пусть даны две независимые выборки нормально распределённых случайных величин:
Проверяем следующую нулевую гипотезу о равенстве математический ожиданий:
Пусть нулевая гипотеза верна. Тогда и . Пусть и — несмещенные оценки дисперсий и соответственно. Рассчитаем следующую статистику:
Сделаем следующее преобразование:
Распределение первой статистики является стандартным нормальным распределением:
Рассмотрим вторую статистику и для дальнейших вычислений назовем её :
Статистика напоминает случайную величину с распределением хи-квадрат, поделенную на степень свободы, но таковой не является. Пусть является случайной величиной с распределением хи-квадрат с степенями свободы. Тогда , равно как и . Теперь заметим, что (так как мы используем несмещенные оценки дисперсий), а .
Раз мы хотим, чтобы была максимально похожа на , то приравняем дисперсии данных случайных величин:
Рассчитаем дисперсию случайной величины :
Отсюда:
В конечном итоге имеем при справедливости нулевой гипотезы:
,
где находится как:
При достаточно больших объёмах выборок мы можем воспользоваться нормальной аппроксимацией:
Пусть даны две независимые выборки нормально распределённых случайных величин:
При нулевой гипотезе мы рассчитываем следующую статистику:
Пусть альтернативная гипотеза .
При справедливости нулевой гипотезы распределение будет приблизительно являться распределением Стьюдента с степенями свободы:
,
где находится как:
Следовательно, при превышении значения наблюдаемой статистики по абсолютной величине критического значения данного распределения (при заданном уровне значимости) нулевая гипотеза отвергается.
В следующих примерах будем сравнивать t-критерий Стьюдента и t-критерий Уэлча. Выборки сгенерированы модулем numpy.random для языка программирования Python.
Для всех трех примеров математические ожидания будут равны и соответственно.
В первом примере истинные дисперсии равны () и объёмы выборок равны (). Обозначим за и как соответствующие случайные выборки:
Во втором примере истинные дисперсии неравны (, ) и неравные объёмы у выборок (,). У меньшей выборки большая дисперсия:
В третьем примере истинные дисперсии неравны (, ) и неравные объёмы у выборок (,). У большей выборки большая дисперсия:
|
Выборка
|
Выборка
|
t-критерий Стьюдента
|
t-критерий Уэлча
|
Пример
|
|
|
|
|
|
|
|
|
-value |
-value
|
|
|
-value |
-value
|
1 |
15 |
20.29 |
4.61 |
15 |
22.67 |
4.35 |
-3.07 |
28 |
0.005 |
0.005 |
−3.07 |
28.0 |
0.005 |
0.004
|
2 |
10 |
21.10 |
21.01 |
20 |
22.22 |
1.04 |
−1.06 |
28 |
0.299 |
0.465 |
−0.76 |
9.57 |
0.464 |
0.459
|
3 |
10 |
20.27 |
1.31 |
20 |
22.89 |
16.69 |
−1.97 |
28 |
0.059 |
0.015 |
−2.66 |
23.28 |
0.014 |
0.018
|
Для равных дисперсий и равных объёмов выборок t-критерий Стьюдента и t-критерий Уэлча выдали примерно одинаковый результат (пример 1). Для неравных дисперсий t-критерий Уэлча точнее оценивает истинное распределение статистики, чем t-критерий Стьюдента (-value для t-критерия Уэлча ближе к моделированной -value, чем для t-критерия Стьюдента).
Если неизвестно, равны ли дисперсии двух генеральных совокупностей, крайне не рекомендуется проводить пре-тесты для определения равенства дисперсий, а лучше сразу использовать t-критерий Уэлча.[1]
Язык программирования / ПО |
Функция |
Примечание
|
LibreOffice |
TTEST(Data1; Data2; Mode; Type) |
Подробнее[2]
|
MATLAB |
ttest2(data1, data2, 'Vartype', 'unequal') |
Подробнее[3]
|
Microsoft Excel до 2010 |
TTEST(array1, array2, tails, type) |
Подробнее[4]
|
Microsoft Excel 2010 and позднее |
T.TEST(array1, array2, tails, type) или ТТЕСТ(массив1;массив2;хвосты;тип) |
Подробнее[5][6]
|
Python |
scipy.stats.ttest_ind(a, b, equal_var=False) |
Подробнее[7]
|
R |
t.test(data1, data2, alternative="two.sided", var.equal=FALSE) |
Подробнее[8]
|
Haskell |
Statistics.Test.StudentT.welchTTest SamplesDiffer data1 data2 |
Подробнее[9]
|
Julia |
UnequalVarianceTTest(data1, data2) |
Подробнее[10]
|
Stata
|
ttest varname1 == varname2, welch
|
Подробнее[11]
|
Google Sheets
|
TTEST(range1, range2, tails, type)
|
Подробнее[12]
|
B. L. Welch The Generalization of `Student’s' Problem when Several Different Population Variances are Involved // Vol. 34, No. 1/2 (Jan., 1947), pp. 28-35