Як виконати t-тест парних зразків у r
Т-критерій парних вибірок — це статистичний тест, який порівнює середні значення двох вибірок, коли кожне спостереження з однієї вибірки можна порівняти зі спостереженням з іншої вибірки.
Наприклад, скажімо, ми хочемо знати, чи має певна навчальна програма значний вплив на успішність студентів на конкретному іспиті. Щоб перевірити це, ми просимо 20 учнів у класі пройти попередній тест. Потім кожен із студентів бере участь у навчальній програмі щодня протягом двох тижнів. Потім студенти повторно складають тест подібної складності.
Щоб порівняти різницю між середніми балами за перший і другий тести, ми використовуємо парний t-критерій, оскільки для кожного студента їх результат за перший тест можна пов’язати з його балом за другий тест.
Як виконати парний t-тест
Щоб виконати парний t-тест, ми можемо використати такий підхід:
Крок 1: Сформулюйте нульову та альтернативну гіпотези.
H 0 : μ d = 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, paired = TRUE, alternative = “два боки”)
- x,y: два цифрові вектори, які ми хочемо порівняти
- paired: логічне значення, яке вказує, що ми хочемо обчислити парний 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 #scoregroup #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 posts #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() і summary () з бібліотеки dplyr :
#load dplyr library
library(dplyr)
#find sample size, mean, and standard deviation for each group
data %>%
group_by (group) %>%
summarize (
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 .
Оскільки нульове значення міститься в цьому довірчому інтервалі, це означає, що нуль насправді може бути справжньою різницею між середніми балами, тому нам не вдалося відхилити нульову гіпотезу в цьому випадку.