T-тест в R програмиране: Една проба и сдвоен T-тест [Пример]
Какво е статистическо заключение?
Статистическото заключение е изкуството да се генерират заключения относно разпределението на данните. Учен по данни често е изложен на въпрос, на който може да се отговори само научно. Следователно статистическото заключение е стратегия за тестване дали дадена хипотеза е вярна, т.е. потвърдена от данните.
Обща стратегия за оценка на хипотезата е провеждането на t-тест. T-тест може да покаже дали две групи имат една и съща средна стойност. t-тестът се нарича още a Студентски тест. T-тест може да бъде оценен за:
- Един вектор (т.е. t-тест за една извадка)
- Два вектора от една и съща примерна група (т.е. сдвоен t-тест).
Вие приемате, че и двата вектора са избрани на случаен принцип, независими са и идват от нормално разпределена популация с неизвестни, но еднакви вариации.
Какво е T-тест в R програмирането?
Основната идея зад T-теста е да се използва статистика за оценка на две противоположни хипотези:
- H0: NULL хипотеза: Средната стойност е същата като използваната извадка
- H3: Вярна хипотеза: Средната стойност е различна от използваната извадка
Т-тестът обикновено се използва при малки размери на извадката. За да извършите t-тест, трябва да приемете нормалността на данните.
Синтаксис на T-тест в R
Основният синтаксис за t.test() в R е:
t.test(x, y = NULL, mu = 0, var.equal = FALSE) arguments: - x : A vector to compute the one-sample t-test - y: A second vector to compute the two sample t-test - mu: Mean of the population- var.equal: Specify if the variance of the two vectors are equal. By default, set to `FALSE`
Един примерен T-тест в R
T-тестът за една извадка или тестът на Стюдънт сравнява средната стойност на вектор с теоретична средна стойност, . Формулата, използвана за изчисляване на t-теста, е:
Тук
се отнася до средната стойност
до теоретичната средна
- s е стандартното отклонение
- n броя на наблюденията.
За да оцените статистическата значимост на t-теста, трябва да изчислите р-стойност, Най- р-стойност варира от 0 до 1 и се интерпретира, както следва:
- P-стойност по-ниска от 0.05 означава, че сте силно уверени, че ще отхвърлите нулевата хипотеза, следователно H3 се приема.
- P-стойност, по-висока от 0.05, показва, че нямате достатъчно доказателства, за да отхвърлите нулевата хипотеза.
Можете да конструирате p-стойността, като разгледате съответната абсолютна стойност на t-теста в разпределението на Стюдънт със степен на свобода, равна на
Например, ако имате 5 наблюдения, трябва да сравните нашата t-стойност с t-стойността в разпределението на Стюдънт с 4 степени на свобода и 95 процента доверителен интервал. За да се отхвърли нулевата хипотеза, t-стойността трябва да бъде по-висока от 2.77.
Вижте таблицата по-долу:
Един примерен пример за T-тест в R
Да предположим, че сте компания, произвеждаща бисквитки. Всяка бисквитка трябва да съдържа 10 грама захар. Бисквитките се произвеждат от машина, която добавя захарта в купа, преди всичко да се смеси. Вярвате, че машината не добавя 10 грама захар за всяка бисквитка. Ако предположението ви е вярно, машината трябва да бъде поправена. Запаметихте нивото на захар от тридесет бисквитки.
Забележка: Можете да създадете произволен вектор с функцията rnorm(). Тази функция генерира нормално разпределени стойности. Основният синтаксис е:
rnorm(n, mean, sd) arguments - n: Number of observations to generate - mean: The mean of the distribution. Optional - sd: The standard deviation of the distribution. Optional
Можете да създадете разпределение с 30 наблюдения със средна стойност от 9.99 и стандартно отклонение от 0.04.
set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04) head(sugar_cookie)
Изход:
## [1] 9.967581 9.980793 10.052348 9.992820 9.995172 10.058603
Можете да използвате t-тест за една проба, за да проверите дали нивото на захарта е различно от рецептата. Можете да начертаете тест за хипотеза:
- H0: Средното ниво на захар е равно на 10
- H3: Средното ниво на захар е различно от 10
Използвате ниво на значимост от 0.05.
# H0 : mu = 10 t.test(sugar_cookie, mu = 10)
Ето резултата:
P-стойността на t-теста за една проба е 0.1079 и над 0.05. Можете да сте сигурни на 95%, че количеството захар, добавено от машината, е между 9.973 и 10.002 грама. Не можете да отхвърлите нулевата (H0) хипотеза. Няма достатъчно доказателства, че количеството захар, добавено от машината, не следва рецептата.
Сдвоен T-тест в R
Сдвоеният Т-тест или t-тестът на зависимите проби се използва, когато средната стойност на третираната група се изчислява два пъти. Основното приложение на сдвоения t-тест е:
- A / B Тестване: Сравнете два варианта
- Проучвания на случаите: Преди/след лечение
Пример за сдвоен T-тест в R
Компания за напитки се интересува от ефективността на програмата за отстъпки върху продажбите. Компанията реши да следи ежедневните разпродажби на един от магазините си, където се популяризира програмата. В края на програмата компанията иска да знае дали има статистическа разлика между средните продажби на магазина преди и след програмата.
- Компанията проследяваше продажбите всеки ден преди стартирането на програмата. Това е първият ни вектор.
- Програмата се промотира за една седмица и продажбите се записват всеки ден. Това е нашият втори вектор.
- Ще извършите t-теста, за да прецените ефективността на програмата. Това се нарича сдвоен t-тест, защото стойностите на двата вектора идват от едно и също разпределение (т.е. от един и същ магазин).
Проверката на хипотезата е:
- H0: Няма разлика в средната стойност
- H3: Двете средства са различни
Не забравяйте, че едно предположение в t-теста е неизвестна, но равна дисперсия. В действителност данните едва имат еднаква средна стойност и това води до неправилни резултати за t-теста.
Едно решение за облекчаване на предположението за равна дисперсия е използването на теста на Welch. R приема, че двете вариации не са равни по подразбиране. Във вашия набор от данни и двата вектора имат една и съща дисперсия, можете да зададете var.equal= TRUE.
Създавате два произволни вектора от разпределение на Гаус с по-висока средна стойност за продажбите след програмата.
set.seed(123) # sales before the program sales_before <- rnorm(7, mean = 50000, sd = 50) # sales after the program.This has higher mean sales_after <- rnorm(7, mean = 50075, sd = 50) # draw the distribution t.test(sales_before, sales_after,var.equal = TRUE)
Получихте p-стойност от 0.04606, по-ниска от прага от 0.05. Вие заключавате, че средните стойности на двете групи са значително различни. Програмата подобрява продажбите на магазини.
Oбобщение
- Статистическото заключение е изкуството да се генерират заключения относно разпределението на данните.
- Т-тестът принадлежи към семейството на инференциални статистики. Обикновено се използва, за да се установи дали има статистическа разлика между средните стойности на две групи.
- T-тестът за една извадка или тестът на Стюдънт сравнява средната стойност на вектор с теоретична средна стойност.
- Сдвоеният Т-тест или t-тестът на зависимите проби се използва, когато средната стойност на третираната група се изчислява два пъти.
Можем да обобщим t-теста в таблицата по-долу:
тест | Хипотеза за проверка | р-стойност | код | Незадължителен аргумент |
---|---|---|---|---|
t-тест за една проба | Средната стойност на вектор е различна от теоретичната средна стойност | 0.05 |
t.test(x, mu = mean) |
|
t-тест на сдвоена проба | Средното A е различно от средното B за същата група | 0.06 |
t.test(A,B, mu = mean) |
var.equal= TRUE |
Ако приемем, че дисперсиите са равни, трябва да променим параметъра var.equal= TRUE.