####################################################################################### ################ Statistická laboratoř - Zimní škola ################################## ################ Testování statistických hypotéz ################################### ############### Adéla Vrtková, Martina Litschmannová ################################## ####################################################################################### library(moments) ############################################################### ### Jednovýběrový test ######################################## ############################################################### ## Pre - procesing data=read.csv2(file="http://am-nas.vsb.cz/lit40/DATA/aku_new.csv") dataS=stack(data) colnames(dataS)=c("kap","vyrobce") dataS=na.omit(dataS) a=data$A[!is.na(data$A)] b=data$B[!is.na(data$B)] c=data$C[!is.na(data$C)] d=data$D[!is.na(data$D)] ## Testování hypotézy předchází explorační analýza summary(a) sd(a) # Vizuální posouzení dat par(mar = c(5,2,2,2),oma = c(0,0,0,0)) pom=layout(matrix(c(1,2,3,3), 2, 2)) layout.show(pom) boxplot(a, main="Výrobce A", horizontal = TRUE, ylim=c(min(a),max(a)), xlab="kapacita (mAh)") hist(a, main=" ", xlim=c(min(a),max(a)), ylab="četnost", xlab="kapacita (mAh)") qqnorm(a, main="Q-Q graf", xlab="teoretické kvantily", ylab="výběrové kvantily") qqline(a,col = "red") ## Data obsahují odlehlé pozorování - co s tím? # Rozhodnutí o vypořádání se s odlehlými pozorováními je na výzkumníkovi boxplot(a, plot=FALSE) a_bez = a a_bez[a_bez>=1866.9]=NA a_bez=a_bez[!is.na(a_bez)] ## Odlehlá pozorování vyřešena -> ověřujeme normalitu dat skewness(a_bez) # šikmost moments::kurtosis(a_bez)-3 #špičatost, funkci voláme z balíčku moments # Ověření normality pomocí exaktního testu -> Shapirův-Wilkův test # H0: Kapacita akumulátorů výrobce A má normální rozdělení. # HA: Kapacita akumulátorů výrobce A nemá normální rozdělení. shapiro.test(a_bez) # normalita dat ověřena -> Studentův t-test # Na hladině významnosti 0,05 nelze předpoklad normality zamítnout # (p - hodnota = 0,372, Shapirův-Wilkův test). # normalita dat ověřena -> Studentův t-test t.test(a_bez, mu=1750, # definování nulové hypotézy alternative="greater") # upřesnění alternativy ## Na hladině významnosti 0.05 nelze H0 zamítnout, tj. ## nemůžeme předpokládát že akumulátory výrobce A mají průměrnou kapacitu vyšší než než 1750 mAh. ## S 95% spolehlivostí lze očekávat střední kapacitu akumulátorů vyšší než 1749.3 mAh. ############################################################################ ### Dvouvýběrový test ###################################################### ############################################################################ ## Preprocesing dat: vytvoření souboru, v němž jsou údaje pouze o výrobcích A a B ## + identifikace odlehlých pozorování a jejich zpracování dataS_AB=dataS[which(dataS$vyrobce=="A" | dataS$vyrobce=="B"),] # uložíme si pouze výrobce A a B par(mfrow = c(1,1)) boxplot(dataS_AB$kap~dataS_AB$vyrobce) # podíváme se na data levels(dataS_AB$vyrobce) # hodnoty C a D stále zůstaly "aktivní" jako skupiny - je třeba je odstranit dataS_AB$vyrobce=factor(dataS_AB$vyrobce) # Vizuální posouzení dat boxplot(dataS_AB$kap~dataS_AB$vyrobce) # Tentokráte si odlehlé pozorování ponecháme v datech ## Explorační analýza + exaktní posouzení normality a shody rozptylů par(mfcol=c(3,2)) boxplot(a, main="Výrobce A", horizontal = T, ylim=c(min(a),max(a))) hist(a, main="", xlim=c(min(a),max(a))) qqnorm(a) qqline(a) boxplot(b, main="Výrobce B", horizontal = T, ylim=c(min(b),max(b))) hist(b, main="", xlim=c(min(b),max(b))) qqnorm(b) qqline(b) # posouzení normality skewness(a) moments::kurtosis(a)-3 shapiro.test(a) skewness(b) moments::kurtosis(b)-3 shapiro.test(b) # Normalita dat nezamítnuta, posuzujeme shodu rozptylů sd(a) sd(b) max(var(a),var(b))/min(var(a),var(b))>2 var.test(a,b) # shoda rozptylů zamítnuta (na hl. významnosti 5 %) # Závěr: Oba výběry lze považovat za výběry z normálních rozdělení, # rozptyly se statisticky významně liší. Pro ověření shody polohy proto # použijeme Aspinové - Welchův test. mean(a)-mean(b) t.test(a,b, alternative = "greater", var.equal = F) # paremetrem var.equal nastavujeme, zda bude použit t-test nebo A-W test # Na hladině významnosti 5 % zamítáme nulovou hypotézu o shodě středních hodnot. # Střední kapacita akumulátorů výrobce A je statisticky významně větší než střední kapacita akumulátorů výrobce B.