Предпосылки
Для применения двухвыборочного t-критерия Стьюдента необходимо, чтобы истинные дисперсии были равны. В случае t-критерия Уэлча истинные дисперсии уже могут быть не равны, но предпосылка о нормальном распределении средних сохраняется.
Вычисление статистики
Пусть даны две независимые выборки нормально распределённых случайных величин:


Проверяем следующую нулевую гипотезу о равенстве математический ожиданий:

Пусть нулевая гипотеза верна. Тогда
и
. Пусть
и
— несмещенные оценки дисперсий
и
соответственно. Рассчитаем следующую статистику:

Сделаем следующее преобразование:

Распределение первой статистики является стандартным нормальным распределением:

Рассмотрим вторую статистику и для дальнейших вычислений назовем её
:

Статистика
напоминает случайную величину с распределением хи-квадрат, поделенную на степень свободы, но таковой не является. Пусть
является случайной величиной с распределением хи-квадрат с
степенями свободы. Тогда
, равно как и
. Теперь заметим, что
(так как мы используем несмещенные оценки дисперсий), а
.
Раз мы хотим, чтобы
была максимально похожа на
, то приравняем дисперсии данных случайных величин:

Рассчитаем дисперсию случайной величины
:

Отсюда:

В конечном итоге имеем при справедливости нулевой гипотезы:
,
где
находится как:

При достаточно больших объёмах выборок мы можем воспользоваться нормальной аппроксимацией:
![{\displaystyle t={\dfrac {{\bar {X}}-{\bar {Y}}}{\sqrt {{\dfrac {{\hat {\sigma }}_{x}^{2}}{n_{x}}}+{\dfrac {{\hat {\sigma }}_{y}^{2}}{n_{y}}}}}}{\xrightarrow[{n_{x},n_{y}\rightarrow \infty }]{}}{\mathcal {N}}(0,1)}](./5ac9d162cea3827fcc09bc08d25590921ae4dbb0.svg)
Двухвыборочный 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] |