Análise estatística
Jacques Wainer (wainer@ic.unicamp.br)
Março 2018
Dados retirados (amostrados) de uma mesma fonte podem ter médias diferentes. A diferença é apenas por causa da sorte ou do azar. Isso é chamado de "erro de amostragem"
a=runif(6) b=runif(4)
runif(6)
gera 6 dados de uma distribuição uniforme entre 0.0 e 1.0
mean(a) mean(b)
tira a média dos dois conjuntos. Não são iguais, um deles é "melhor"! Mas eles são basicamente iguais - são duas amostragens de uma mesma fonte, e a diferença entre os dois conjuntos é apenas devido a "sorte"
pareado | não pareado | |
---|---|---|
paramétrico | teste T pareado | teste T nao pareado |
não paramétrico | Wilcoxon signed rank | Wilcoxon sum rank |
pareado | não pareado | |
---|---|---|
paramétrico | repeated ANOVA | ANOVA |
não paramétrico | Friedman | Kruskal-Wallis |
Há outros testes para outras situações (dados não numéricos, dados 0/1 pareados e não pareados, etc).
a=rnorm(6,10) b=rnorm(4,10) wilcox.test(a,b)
wilcox.test
roda o sum rank (dados não pareados), que é um teste não paramétrico
x=rnorm(35,10) y=rnorm(30,10.3) wilcox.test(x,y) t.test(x,y)
veja que o teste T deu um p-valor menor, e confirma o que foi dito que teste T é mais poderoso. Mas veja:
wilcox.test(a,b) t.test(a,b)
a
e b
não satisfazem as pressuposições do teste T (n>30) e então o
teste não da o menor p-valor.
?t.test
for (i in 1:20){ tt=t.test(rnorm(20),rnorm(30)) print(paste("i:",round(tt$p.value,3))) }
a=matrix(rnorm(300),ncol=20) b=matrix(rnorm(400),ncol=20) for (i in 1:20){ teste=t.test(a[,i],b[,i]) print(paste(i,":", round(teste$p.value,3))) }
a=rnorm(20,10) b=rnorm(30,10) t.test(a,b) t.test(a[1;10],b[1:15]) t.test(a[10;20],b[15:30]) t.test(a[seq(1,20,2)],b[seq(1,30,2)]) t.test(a[seq(2,20,2)],b[seq(2,30,2)])
a=rnorm(6,10) t.test(a) wilcox.test(a,conf.int=T)
a=rnorm(6,10) b=rnorm(8,10.3) x=rnorm(8,12) t.test(a,b) t.test(a)$conf.int t.test(b)$conf.int t.test(a,x) t.test(x)$conf.int
\[ p(h|d) = \frac{P(d|h) P(h)}{P(d)} \]