testy statystyczne
Test na 1 średnią
Testy parametryczne
T.Test
Przykład 1
Wiemy, że średni czas świecenia żarówki wynosi wg normy 1000 godzin. Po wprowadzeniu zmian w technologii postanowiono sprawdzić, czy zmiany te poprawiły normę. Czas pracy 10 żarówek: 1015,1017,1045,1058,1147,987,1295,1054,884,978
czas <- c(1015,1017,1045,1058,1147,987,1295,1054,884,978)
t.test(czas, mu=1000, alternative='greater', conf.level=0.95) ##norma=1000h, sprawdzymy czy jest więcej##
## One Sample t-test
##
## data: czas
## t = 1.3823, df = 9, p-value = 0.1001
## alternative hypothesis: true mean is greater than 1000
## 95 percent confidence interval:
## 984.3458 Inf
## sample estimates:
## mean of x
## 1048
power.t.test(n=10,delta=48,sd=109.8089,sig.level=0.05,power=NULL,type=c("one.sample"),alternative=c("one.sided")) ##sprawdzenie mocy testu##
## One-sample t test power calculation
##
## n = 10
## delta = 48
## sd = 109.8089
## sig.level = 0.05
## power = 0.3570032
## alternative = one.sided
Przykład 2 Z LABÓW
Dane dotyczą czasu snu studenta po zażyciu leku (grupa 2) lub po placebo (grupa 1). Sprawdź, czy prawdziwe jest podejrzenie, iż przeciętny czas snu uzyskany dzięki zażyciu nowego leku jest istotnie wyższy od 2 godzin.
1. Statytyki opisowe (kod w rstudio)
get_summary_stats(sleep)## # A tibble: 1 x 13
## variable n min max median q1 q3 iqr mad mean sd se
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 extra 20 -1.6 5.5 0.95 -0.025 3.4 3.42 1.56 1.54 2.02 0.451
## # ... with 1 more variable: ci <dbl>
2. Obserwacje odstające
sleep %>%
group_by(group) %>%
identify_outliers("extra")## [1] group extra ID is.outlier is.extreme
## <0 wierszy> (lub 'row.names' o zerowej długości)
Wynik: Brak obserwacji odstających.
3. Normalność + (wykres ggqqplot)
sleep %>%
group_by(group) %>%
shapiro_test(extra)## # A tibble: 2 x 4
## group variable statistic p
## <fct> <chr> <dbl> <dbl>
## 1 1 extra 0.926 0.408
## 2 2 extra 0.919 0.351
ggqqplot(sleep, x = "extra")Wynik: Dla obu grup badanych nie odrzucamy hipotezy zerowej. Na wykresie nie ma znaczcych odchyleń od normalności.
3. T.Test
Założenie: Przecietny czas snu jest wyższy o 2 h po zażyciu leku.
wyniki<-
sleep %>%
filter(group=="2") %>%
select("extra") %>%
t.test(mu=2,alternative="greater",conf.level=0.95)
wyniki##
## One Sample t-test
##
## data: .
## t = 0.52119, df = 9, p-value = 0.3074
## alternative hypothesis: true mean is greater than 2
## 95 percent confidence interval:
## 1.169334 Inf
## sample estimates:
## mean of x
## 2.33
4. Analiza mocy testu - pakiet pwr
wyliczenie delty (różnica między średnią wyniku a założeniem) : 2.33 - 2 = 0.33
wyliczenie power (1-type II error)=0,9
power.t.test(power=0.9, delta= 0.33, sd= 2, sig.level=0.05,type="one.sample",alternative="one.sided")##
## One-sample t test power calculation
##
## n = 315.9159
## delta = 0.33
## sd = 2
## sig.level = 0.05
## power = 0.9
## alternative = one.sided
lub
moc<-pwr.t.test(power=0.9, d=0.33/2, sig.level=0.05,type="one.sample",alternative="greater")
plot(moc) ***
Test dla wariancji - sigma.test
Przykład 1 - odchylenie st.
Zbadano czas (godz.) przeznaczony przez 150 losowo wybranychstudentów na naukę statystyki dzień przed kolokwium. Czy zaprezentowane wyniki mogą być podstawą do twierdzenia, że odchylenie standardowe czasu przeznaczonego na naukę statystyki na dzień przed kolokwium istotnie przekracza 3 godziny? Dane podane w tabeli z przedzałami czasowymi co 2 h
czas<-rep(c(1,3,5,7,9,11),c(13,22,41,38,23,13)) #dane zagregowane
library(TeachingDemos) #konieczna instalacja pakietu
sigma.test(czas,sigma=3,alternative="greater",conf.level=0.95)##
## One sample Chi-squared test for variance
##
## data: czas
## X-squared = 126, df = 149, p-value = 0.9145
## alternative hypothesis: true variance is greater than 9
## 95 percent confidence interval:
## 6.353463 Inf
## sample estimates:
## var of czas
## 7.610738
Przykład 2 - wariancja
Wykonano 15 pomiarów czasu zaparzania średniej kawy latte przez nowo zakupiony ekspres do kawy otrzymując w sekundach: 12; 18; 16; 15; 14; 11; 9; 11; 13; 17; 15; 12; 13; 14; 10 Zakładając, że rozkład czasu zaparzania kawy jest normalny, na poziomie istotności 0,05 zweryfikować hipotezę, że wariancja czasu zaparzania średniej kawy latte jest istotnie mniejsza od 6 (sekund)2.
library(TeachingDemos)
czas<-c(12,18,16,15,14,11,9,11,13,17,15,12,13,14,10)
sigma.test(czas,sigmasq=6,alternative="less",conf.level=0.95) #sigmaSQ##
## One sample Chi-squared test for variance
##
## data: czas
## X-squared = 15.556, df = 14, p-value = 0.6587
## alternative hypothesis: true variance is less than 6
## 95 percent confidence interval:
## 0.00000 14.20462
## sample estimates:
## var of czas
## 6.666667
Testy dla frakcji w populacji
(część dużej próby) chi-kwadrt - prop.testPrzy okazji kontroli artykułów spożywczych na podstawie próby liczącej 150 supermarketów otrzymano następujący rozkład częstości występowania w dostawie firmy A mleka w wadliwym opakowaniu: 0 razy - 28, 1 raz - 38, 2 razy - 24. Firma A przypuszcza, że udział dostaw, w których w jednej dostawie są uszkodzone mniej niż 3 opakowania, wynosi więcej niż 72%. Sprawdzić to przypuszczenie na poziomie istotności 0,01. Sklepy max 2 wadliwe: 90 | Reszta: 60 H0: 150 klepów 72% = 108 (max 2 wadliwe) | Reszta: 42
prop.test(90,150,0.72,alternative='greater',conf.level=0.99)##
## 1-sample proportions test with continuity correction
##
## data: 90 out of 150, null probability 0.72
## X-squared = 10.127, df = 1, p-value = 0.9993
## alternative hypothesis: true p is greater than 0.72
## 99 percent confidence interval:
## 0.5016945 1.0000000
## sample estimates:
## p
## 0.6
binomal - binom.test
W ramach sondaży przedwyborczych partia X, licząca na poparcie 25% wyborców, chcąc sprawdzić swoje przypuszczenia, przeprowadziła krótką ankietę. Spośród 30 wylosowanych osób 9 zadeklarowało jej poparcie.
binom.test(9,30,p=0.25,alternative=c("two.sided"),0.95)##
## Exact binomial test
##
## data: 9 and 30
## number of successes = 9, number of trials = 30, p-value = 0.529
## alternative hypothesis: true probability of success is not equal to 0.25
## 95 percent confidence interval:
## 0.1473452 0.4939590
## sample estimates:
## probability of success
## 0.3
Porównywanie 2 populacji
Testy parametryczne
Próby niezależne
Przykład 1 - t.test
Sprawdzano, czy czas przejazdu tramwajem odcinka Dworzec Główny – Opera w Gdańsku w czasie godzin szczytu jest porównywalny z czasem przejazdu tego odcinka samochodem osobowym. Zebrane wyniki (w minutach) były następujące: Tramwajem: 9; 10; 8; 11; 7; 6 Samochodem: 7; 6; 5; 4; 5; 8. Na poziomie istotności α=0,05 zweryfikuj hipotezę o jednakowej wartości przeciętnej czasów przejazdu tramwajem i samochodem tego odcinka w Gdańsku w czasie godzin szczytu.
tramwaj<- c(9,10,8,11,7,6)
auto<-c(7,6,5,4,5,8)
shapiro.test(tramwaj) #normalność##
## Shapiro-Wilk normality test
##
## data: tramwaj
## W = 0.98189, p-value = 0.9606
shapiro.test(auto)##
## Shapiro-Wilk normality test
##
## data: auto
## W = 0.95801, p-value = 0.8043
var.test(tramwaj,auto)##
## F test to compare two variances
##
## data: tramwaj and auto
## F = 1.6154, num df = 5, denom df = 5, p-value = 0.6115
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.2260423 11.5441553
## sample estimates:
## ratio of variances
## 1.615385
t.test(tramwaj,auto,var.equal=TRUE)##
## Two Sample t-test
##
## data: tramwaj and auto
## t = 2.744, df = 10, p-value = 0.02069
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.5013049 4.8320284
## sample estimates:
## mean of x mean of y
## 8.500000 5.833333
Wynik: Próby niezależne. Taka sama ilosc obserwacji. Normalność w obu przypadkach. Znamy wiarancje. Wariancja jest jednorodna - T.TEST ***
Pzykład 2 - t.test wspólna wariancja LABKI
Dane dotyczą charakterystyk różnych modeli aut. Hipoteza: Czy istotna jest różnica w spalaniu samochodów z automatyczną i manualną skrzynią biegów. am -> 1=automatyczna, 2=manualna, mpg -> spalanie
1. Normalność próby
attach(mtcars) shapiro_test(mpg[group==“2”]) shapiro_test(mpg[group==“1”]) Wniosek: P.value > 0.05 dla obu rodzajów silnika
2. Jednorodność wariancji
attach(mtcars)## Następujący obiekt został zakryty z package:ggplot2:
##
## mpg
var(mpg[am==0])## [1] 14.6993
var(mpg[am==1])## [1] 38.02577
var.test(mpg[am==1], mpg[am==0])##
## F test to compare two variances
##
## data: mpg[am == 1] and mpg[am == 0]
## F = 2.5869, num df = 12, denom df = 18, p-value = 0.06691
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.934280 8.040391
## sample estimates:
## ratio of variances
## 2.586911
Wniosek: Wariancje nie są jednorodne.
3. T.Test ze wspólną wariancją
attach(mtcars)## Następujące obiekty zostały zakryte z mtcars (pos = 3):
##
## am, carb, cyl, disp, drat, gear, hp, mpg, qsec, vs, wt
## Następujący obiekt został zakryty z package:ggplot2:
##
## mpg
t.test(var.equal=TRUE, PAIRED=FALSE,
mpg[am==0], mpg[am==1], alternative="two.sided")##
## Two Sample t-test
##
## data: mpg[am == 0] and mpg[am == 1]
## t = -4.1061, df = 30, p-value = 0.000285
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -10.84837 -3.64151
## sample estimates:
## mean of x mean of y
## 17.14737 24.39231
Wniosek: Odrzucamy Ho - spalanie samochodów w zależności od skrzyni biegów istotnie wpływa na spalanie. ***
Przykład 3 - wilcox.test LABKI
Załóżmy, że jesteś badaczem rynku i chcesz porównać doświadczenia 2 różnych grup losowo wybranych osób z dwoma różnymi dostawcami usług współdzielenia skuterów. Czy powiedziałbyś, że istnieje znacząca różnica w ocenach satysfakcji tych osób z usługodawców oferujących wynajem skuterów (użyj alfa=0.05)?
1. Normalność
attach(skutery_2_) shapiro.test(Yamaha) shapiro.test(Suzuki)
Wniosek: P.value < 0.05 dla Suzuki - rozkłady nie są normalne
2. Wilcox.test - dla rozkładów nienormalnych
wilcox.test(Yamaha,Suzuki,alternative = “two.sided” )
Wniosek: istnieje znacząca różnica w ocenach satysfakcji tych dwóch marek motorów.
Próby zależne
Pzykład 1 - PRÓBY ZAKLEŻNE LABKI
Dane dotyczą czasu snu studenta po zażyciu leku (grupa 2) lub po placebo (grupa 1). Hipoteza: Długośc snu po zażyciu leku jest znacząco dłuższy niż w przypadku placebo.
1. Normalność
attach(sleep)
shapiro.test(extra[group=="1"])##
## Shapiro-Wilk normality test
##
## data: extra[group == "1"]
## W = 0.92581, p-value = 0.4079
shapiro.test(extra[group=="2"])##
## Shapiro-Wilk normality test
##
## data: extra[group == "2"]
## W = 0.9193, p-value = 0.3511
Wniosek: P.value > 0.05 w obu pzypadkach
** 2. T.Test**
attach(sleep)## Następujące obiekty zostały zakryte z sleep (pos = 3):
##
## extra, group, ID
t.test(paired=TRUE,extra[group=="2"], extra[group=="1"], alternative = "greater")##
## Paired t-test
##
## data: extra[group == "2"] and extra[group == "1"]
## t = 4.0621, df = 9, p-value = 0.001416
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
## 0.8669947 Inf
## sample estimates:
## mean of the differences
## 1.58
Wniosek: p.value = 0 - ilośc snu jest większa przy braniu leku
Testy nieparametryczne
Przykład 1 prop.test LABKI
SKALA NOMINALNA - 2 PRÓBY NIEZALEZNE
Przeprowadzono ankietę na 424 studentach Politechniki Gdańskiej. Hipoteza: Studentki dużo częściej w ogóle nie ćwiczą fizycznie niż studenci(wykorzystaj poziom istotności 0.05).
Określenie ile jest kobiet i mężczyzn:
attach(dane_2) tab<-table(Exer,Sex) View(tab) Wniosek: 211 kobiet 247 mężczyzn. 22 kobiet nie ćwiczy. 22 mężczyzn nie ćwiczy
Tabelka 2x2
K<-c(22,211)
M<-c(22,247)
x<-c("None","All")
con.tab<-data.frame(M,K,row.names = x)
con.tab## M K
## None 22 22
## All 247 211
prop.test
never<-c(22,22)
all<-c(211,247)
prop.test(never,all,alternative="greater",conf.level=0.9)##
## 2-sample test for equality of proportions with continuity correction
##
## data: never out of all
## X-squared = 0.15291, df = 1, p-value = 0.3479
## alternative hypothesis: greater
## 90 percent confidence interval:
## -0.02478463 1.00000000
## sample estimates:
## prop 1 prop 2
## 0.10426540 0.08906883
Różnica nie jest istotna statystyvzne (p.value)
Moc testu
power.prop.test(p1=0.10426540,p2=0.08906883 ,sig.level=0.1,power=0.9,alternative="one.sided")##
## Two-sample comparison of proportions power calculation
##
## n = 4966.541
## p1 = 0.1042654
## p2 = 0.08906883
## sig.level = 0.1
## power = 0.9
## alternative = one.sided
##
## NOTE: n is number in *each* group
Wniosek: trzeba przebadać 4967 studentów, żeby otrzymać moc testu = 90%
Dodatkowe Tabelka 2x2
K<-c(22,211)
M<-c(22,247)
x<-c("None","All")
con.tab<-data.frame(M,K,row.names = x)
con.tab## M K
## None 22 22
## All 247 211
chisq_test(con.tab)## # A tibble: 1 x 6
## n statistic p df method p.signif
## * <dbl> <dbl> <dbl> <int> <chr> <chr>
## 1 502 0.116 0.733 1 Chi-square test ns
Przykład 2 prop.test
Wysunięto przypuszczenie, że palacze papierosów stanowią jednakowy odsetek wśród mężczyzn i kobiet. W celu sprawdzenia tej hipotezy wylosowano 500 mężczyn i 600 kobiet. Okazało się, że wśród mężczyzn było 200 palaczy, a wśród kobiet 250.
prop.test(x = c(200,250), n = c(500,600))##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(200, 250) out of c(500, 600)
## X-squared = 0.24824, df = 1, p-value = 0.6183
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.07680992 0.04347659
## sample estimates:
## prop 1 prop 2
## 0.4000000 0.4166667