Стьюдентный критерий для парных выборок — это статистический тест, который сравнивает средние значения двух выборок, когда каждое наблюдение в одной выборке может быть сопоставлено с наблюдением в другой выборке.
Например, предположим, что мы хотим знать, значительно ли влияет определенная учебная программа на успеваемость студента на конкретном экзамене. Чтобы проверить это, у нас есть 20 учеников в классе, которые проходят предварительный тест. Затем каждый из студентов участвует в учебной программе каждый день в течение двух недель. Затем учащиеся пересдают тест аналогичной сложности.
Чтобы сравнить разницу между средними баллами по первому и второму тесту, мы используем парный t-критерий, потому что для каждого учащегося его балл за первый тест можно сравнить с баллом за второй тест.
Как провести парный t-тест
Для проведения парного t-теста мы можем использовать следующий подход:
Шаг 1: Сформулируйте нулевую и альтернативную гипотезы.
Н 0 : мк д = 0
H a : μ d ≠ 0 (двусторонний)
H a : µ d > 0 (односторонний)
H a : µ d < 0 (односторонний)
где μ d — средняя разница.
Шаг 2: Найдите статистику теста и соответствующее значение p.
Пусть a = балл учащегося за первый тест, а b = балл учащегося за второй тест. Чтобы проверить нулевую гипотезу о том, что истинная средняя разница между результатами теста равна нулю:
- Рассчитайте разницу между каждой парой оценок (d i = b i – a i )
- Вычислить среднюю разницу (d)
- Рассчитать стандартное отклонение разностей s d
- Рассчитайте t-статистику, которая равна T = d / (s d / √n)
- Найдите соответствующее p-значение для t-статистики с n-1 степенями свободы.
Шаг 3: Отклонить или не отклонить нулевую гипотезу в зависимости от уровня значимости.
Если p-значение меньше выбранного нами уровня значимости, мы отклоняем нулевую гипотезу и делаем вывод о наличии статистически значимой разницы между средними значениями двух групп. В противном случае мы не можем отвергнуть нулевую гипотезу.
Как провести парный t-тест в R
Чтобы провести парный t-тест в R, мы можем использовать встроенную функцию t.test() со следующим синтаксисом:
t.test (x, y, парный = ИСТИНА, альтернативный = «двухсторонний»)
- x,y: два числовых вектора, которые мы хотим сравнить
- парный: логическое значение, указывающее, что мы хотим вычислить парный t-тест
- альтернатива: альтернативная гипотеза. Это может быть установлено на «двусторонний» (по умолчанию), «больше» или «меньше».
В следующем примере показано, как провести парный t-тест, чтобы выяснить, есть ли существенная разница в средних баллах между предварительным тестом и пост-тестом для 20 учащихся.
Создайте данные
Сначала мы создадим набор данных:
#create the dataset
data <- data.frame(score = c(85 ,85, 78, 78, 92, 94, 91, 85, 72, 97,
84, 95, 99, 80, 90, 88, 95, 90, 96, 89,
84, 88, 88, 90, 92, 93, 91, 85, 80, 93,
97, 100, 93, 91, 90, 87, 94, 83, 92, 95),
group = c(rep('pre', 20), rep('post', 20)))
#view the dataset
data
# score group
#1 85 pre
#2 85 pre
#3 78 pre
#4 78 pre
#5 92 pre
#6 94 pre
#7 91 pre
#8 85 pre
#9 72 pre
#10 97 pre
#11 84 pre
#12 95 pre
#13 99 pre
#14 80 pre
#15 90 pre
#16 88 pre
#17 95 pre
#18 90 pre
#19 96 pre
#20 89 pre
#21 84 post
#22 88 post
#23 88 post
#24 90 post
#25 92 post
#26 93 post
#27 91 post
#28 85 post
#29 80 post
#30 93 post
#31 97 post
#32 100 post
#33 93 post
#34 91 post
#35 90 post
#36 87 post
#37 94 post
#38 83 post
#39 92 post
#40 95 post
Визуализируйте различия
Далее мы рассмотрим сводную статистику двух групп с помощью функций group_by() иsumm() из библиотеки dplyr :
#load *dplyr* library
library(dplyr)
#find sample size, mean, and standard deviation for each group
data %>%
group_by(group) %>%
summarise (
count = n(),
mean = mean(score),
sd = sd(score)
)
# A tibble: 2 x 4
# group count mean sd
#
#1 post 20 90.3 4.88
#2 pre 20 88.2 7.24
Мы также можем создавать диаграммы с помощью функции boxplot() в R, чтобы просмотреть распределение оценок для групп до и после:
boxplot(score~group,
data=data,
main="Test Scores by Group",
xlab="Group",
ylab="Score",
col="steelblue",
border="black"
)

Как по сводной статистике, так и по диаграммам мы видим, что средний балл в пост -группе немного выше, чем средний балл в предварительной группе. Мы также можем видеть, что оценки для пост -группы имеют меньшую изменчивость, чем оценки в предварительной группе.
Чтобы выяснить, является ли разница между средними значениями для этих двух групп статистически значимой, мы можем приступить к проведению парного t-теста.
Проведите парный t-тест
Прежде чем проводить парный t-критерий, мы должны проверить, что распределение различий нормально (или приблизительно нормально) распределено. Для этого мы можем создать новый вектор, определяемый как разница между оценками до и после, и выполнить тест Шапиро-Уилка на нормальность этого вектора значений:
#define new vector for difference between post and pre scores
differences <- with(data, score[group == "post"] - score[group == "pre"])
#perform shapiro-wilk test for normality on this vector of values
shapiro.test(differences)
# Shapiro-Wilk normality test
#
#data: differences
#W = 0.92307, p-value = 0.1135
#
Значение p теста составляет 0,1135, что больше, чем альфа = 0,05. Таким образом, мы не можем отвергнуть нулевую гипотезу о том, что наши данные нормально распределены. Это означает, что теперь мы можем приступить к проведению парного t-теста.
Мы можем использовать следующий код для проведения парного t-теста:
t.test (score ~ group, data = data, paired = TRUE)
# Paired t-test
#
#data: score by group
#t = 1.588, df = 19, p-value = 0.1288
#alternative hypothesis: true difference in means is not equal to 0
#95 percent confidence interval:
# -0.6837307 4.9837307
#sample estimates:
#mean of the differences
# 2.15
Из вывода мы видим, что:
- Тестовая статистика t равна 1,588 .
- Значение p для этой тестовой статистики с 19 степенями свободы(df) равно 0,1288 .
- 95% доверительный интервал для средней разницы составляет (-0,6837, 4,9837) .
- Средняя разница между баллами для группы до и после лечения составляет 2,15 .
Таким образом, поскольку наше p-значение меньше нашего уровня значимости 0,05, мы не сможем отвергнуть нулевую гипотезу о том, что две группы имеют статистически значимые средние значения.
Другими словами, у нас нет достаточных доказательств, чтобы сказать, что средние баллы между группами до и после лечения статистически значимо различаются. Это означает, что учебная программа не оказала существенного влияния на результаты тестов.
Кроме того, наш доверительный интервал 95% говорит о том, что мы «уверены на 95%» в том, что истинная средняя разница между двумя группами находится между -0,6837 и 4,9837 .
Поскольку в этом доверительном интервале содержится нулевое значение, это означает, что ноль на самом деле может быть истинной разницей между средними баллами, поэтому в данном случае нам не удалось отвергнуть нулевую гипотезу.