Jednovýberový t-test

Zadanie: Spoločnosť tvrdí, že priemerný denný predaj ich produktu je 500 dolárov. Na overenie tohto tvrdenia ste zhromaždili náhodnú vzorku údajov o predaji za 30 dní. Chcete otestovať, či sa skutočný priemerný predaj líši od 500 USD. Otestujte na hladine významnosti 0.1 pomocou porovnania testovacej štatistiky s príslušným kvantilom a tiež pomocou testu implementovaného priamo v Rku.

Testujeme: H0:μ=500 proti H1:μ≠500

sales_data <- c(480, 505, 490, 520, 470, 485, 510, 495, 475, 530, 510, 495, 505, 515, 490, 500, 485, 520, 495, 475, 505, 495, 510, 485, 500, 490, 505, 495, 520, 480)

smean <- mean(sales_data) #výberový (s-sample)
mu0 <- 500
n <- length(sales_data)
sample_sd <- sd(sales_data)

# testovacia štatistika
z <- (smean - mu0) / (sample_sd / sqrt(n))
z
## [1] -0.7846185
# Kvantil pre hladinu významnosti 0.1
alpha <- 0.1  # hladina významnosti
q <- qnorm(1 - alpha / 2)
abs(z) < q  # Ak je pravda, H0 nemôžeme zamietnuť
## [1] TRUE
# cez p-hodnotu
p <- 2 * pnorm(z)
p > alpha  # Ak je pravda, H0 nemôžeme zamietnuť
## [1] TRUE

Znamená to, že priemerný denný predaj za uvažovaný mesiac nie je štatisticky významné rôzny na hladine významnosti 0.1.

plot(function(x) dnorm(x, mean=0, sd=1 ), from=-7, to=7)
abline(v = z, col="blue") #testovacia štatistika
abline(v = c(-q, q), col="red") #oblasť nezamietnutia H0

df<-data.frame(sales_data)
library(ggplot2)
df <- data.frame(sales_data)
ggplot(data = df, aes(x = "", y = sales_data)) + 
  geom_boxplot(fill="#4472c4", outlier.colour = "red") + 
  labs(x="", y="Denný predaj (USD)", title="Boxplot denného predaja") +
  theme(plot.title = element_text(hjust=0.5)) +
  geom_hline(aes(yintercept=mean(sales_data)), colour="#ff9999") + # priemer vzorky
  geom_hline(aes(yintercept=500), colour="#e60000") # očakávaná hodnota 500 USD

Jednovýberový jednostrannný t-test

Zadanie: Predpokladajme, že spoločnosť vyrábajúca nápoje tvrdí, že priemerný obsah cukru v ich nápoji je 15 gramov. Máte podozrenie, že skutočný priemerný obsah cukru je vyšší ako 15 gramov, preto to chcete otestovať jednostranným t-testom. Otestujte na hladine významnosti 0.01 pomocou výpočtu P hodnoty a tiež pomocou testu implementovaného priamo v Rku.

Testujeme: H0: μ=15 proti H1: μ>15

sugar_content <- c(14.8, 15.5, 15.2, 16.0, 15.7, 15.3, 15.6, 15.9, 16.2, 15.4)

mu0 <- 15
n <- length(sugar_content)
smean <- mean(sugar_content)
s <- sd(sugar_content)        
t <- (smean - mu0) / (s / sqrt(n)) # Testovacia štatistika
t
## [1] 4.275487
alpha <- 0.01

q <- qt(1 - alpha, df = n - 1)
t > q  # Ak je TRUE, H0 zamietame
## [1] TRUE
# p-hodnota
p_value <- 1 - pt(t, df = n - 1)
p_value < alpha  # Ak je TRUE, H0 zamietame
## [1] TRUE
t.test(sugar_content, mu = 15, alternative = "greater", conf.level = 0.99)
## 
##  One Sample t-test
## 
## data:  sugar_content
## t = 4.2755, df = 9, p-value = 0.001032
## alternative hypothesis: true mean is greater than 15
## 99 percent confidence interval:
##  15.19045      Inf
## sample estimates:
## mean of x 
##     15.56
plot(function(x) dt(x, n-1 ), from=-7, to=7)
abline(v=t,col="blue")
abline(v=q, col="red") 

Dvojvýberový t-test

Zadanie: Chcete porovnať priemerné skóre dvoch skupín študentov (skupiny A a skupiny B) v matematickom teste, aby ste zistili, či je medzi ich výkonom významný rozdiel. Otestujte na hladine významnosti 0.1 pomocou testu implementovaného priamo v Rku.

Testujeme: H0: mu1=mu2 H1: mu1≠mu2

group_A <- c(75, 80, 78, 90, 85, 88, 76, 92, 82, 87)  
group_B <- c(82, 79, 91, 88, 95, 84, 89, 90, 86, 81) 

alpha <- 0.1
t.test(group_A, group_B, paired = F, alternative = "two.side", conf.level = 1-alpha/2)
## 
##  Welch Two Sample t-test
## 
## data:  group_A and group_B
## t = -1.2961, df = 17.47, p-value = 0.2118
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -8.398318  1.998318
## sample estimates:
## mean of x mean of y 
##      83.3      86.5

Párový t-test

Zadanie: Učiteľ chce vedieť, či nová vyučovacia metóda zlepšuje výsledky testov. Vzorka študentov absolvovala predbežný test, potom bola aplikovaná nová vyučovacia metóda a tí istí študenti absolvovali post-test. Cieľom je zistiť, či sa priemerné skóre testu po použití metódy zvýšilo. Otestujte na hladine významnosti 0.01 pomocou testu implementovaného priamo v Rku.

pre_test <- c(65, 70, 78, 74, 68, 72, 77, 80, 71, 75)
post_test <- c(70, 75, 82, 78, 73, 76, 80, 85, 75, 78)

# Párový t-test
t.test(pre_test, post_test, paired = TRUE, alternative = "greater", conf.level = 0.99)
## 
##  Paired t-test
## 
## data:  pre_test and post_test
## t = -16.837, df = 9, p-value = 1
## alternative hypothesis: true mean difference is greater than 0
## 99 percent confidence interval:
##  -4.90379      Inf
## sample estimates:
## mean difference 
##            -4.2

F-test

Zadanie: Chcete otestovať, či dva rôzne výrobné stroje vyrábajú položky s rovnakou variabilitou hmotnosti. Zhromažďujete vzorku hmotností položiek z oboch strojov a máte záujem skontrolovať, či sú rozdiely v hmotnosti medzi týmito dvoma strojmi rovnaké. Otestujte na hladine významnosti 0.05 pomocou testu implementovaného priamo v Rku.

machine_A <- c(50.1, 49.8, 50.3, 49.9, 50.0, 50.2, 49.7, 50.1, 49.9, 50.3)
machine_B <- c(49.5, 50.4, 50.6, 49.8, 50.1, 49.9, 50.3, 49.7, 50.5, 49.6)

# F-test na porovnanie rozptylov
var.test(machine_A, machine_B, alternative = "two.sided", conf.level = 0.95)
## 
##  F test to compare two variances
## 
## data:  machine_A and machine_B
## F = 0.27137, num df = 9, denom df = 9, p-value = 0.06532
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  0.06740385 1.09252406
## sample estimates:
## ratio of variances 
##          0.2713675