| This post was kindly contributed by Ridículas - go there to comment and to read the full post. |
O objetivo desse “post” é dúbio! Vamos mostrar como reproduzir as tabelas estatísticas dos livros no R.
Mas para quê reproduzir as tabelas que estão nos livros? Primeiro vamos ver como fazer…
Primeiro pegue o seu livro de estatística experimental de cabeceira, e procure (no final, quase certamente) a tabela de F-Snedecor. Aquela mesma que agente usa para ver se um teste F< é significativo ou não! Se estivermos diante da mesma tabela teremos algo como (supondo que estejamos usando um nível de significância de 0,01, ou seja a tabela de 1%):
| 1 | 2 | 3 | 10 | ||
| 1 | 4052,18 | 4999,50 | 5403,35 | 6055,85 | |
| 2 | 98,50 | 99,00 | 99,17 | 99,40 | |
| 3 | 34,12 | 30,82 | 29,46 | 27,23 | |
| 100 | 6,90 | 4,82 | 3,98 | 2,50 |
Para reproduzir essa tabela fazemos: criamos um vetor com os ditos numeradores (com os graus de liberdade) da fonte de variação a ser testada na análise de variância; depois criamos outro vetor com os graus de liberdade do denominador (o erro na maioria das vezes); com esses dois vetores usamos a função expand.grid() criando uma planilha com as margens da tabela de dupla entrada.
Isso feito (fácil né?). Agora obtemos os valores críticos (), que nada mais são que quantis da distribuição F-Snedecor. Com o vetor dos ditos
concatenado a planilha que criamos anteriormente conseguimos “reproduzir” ipsis literis, as tabelas dos livros usando uma combinação das funções
with() e tapply(), veja no CMR que reproduz a tabela de F!
alpha <- .01
numerador <- 1:10
denominador <- c(1:30, 35, 40, 45, 50, 100)
margens <- expand.grid(numerador = numerador, # margens - tabela
denominador = denominador)
probs <- round(qf((1 - alpha),
margens$numerador,
margens$denominador), # quantil da dist. F-Snedecor
dig = 2) # arredondamento
class <- transform(cbind(margens, probs), # planilha com as margens
numerador = factor(numerador),
denominador = factor(denominador)) # transf. em fatores
tabela <- with(class,
tapply(probs,
list(denominador, numerador),
sum)) # construção da tabela de dupla entrada
Você pode pensar “- Agora ficou fácil, nem preciso mais do livro, calculo os meus próprios F tabelados!”. Por trás desse “sentimento” de indepêndencia vamos agora fazer o mesmo para a tabela de (Veja o CMR). Não vamos nos alongar, mas acho que concordamos que isso é facilmente extrapolável para outras tabelas estatísticas do final dos livros.
gl <- c(1:30, 40, 50, 60, 120, 240, 480, 960)
nivel.prob <- sort(c(.005, .01, .025, .05, .1,
seq(.25, .75, .25), .9, .95, .975, .990, .995),
decreasing = TRUE)
margens <- expand.grid(gl = gl, alpha = nivel.prob) # margens - tabela de dupla entrada
chi2 <- qchisq((1 - margens$alpha),
margens$gl) # quantil da distribuição de chi-quadrado
class <- transform(cbind(margens, chi2), # construção da planilha de valores
gl = factor(gl),
alpha = factor(alpha)) # transformação em fatores
tabela <- round(with(class,
tapply(chi2,
list(gl, alpha),
sum)), dig = 3) # tabela de dupla entrada
Compare o que você obteve no R com a tabela do seu livro, vou reproduzir um “pedaço” dela aqui, caso você não esteja com seu livro:
| 0,005 | 0,010 | 0,025 | 0,995 | ||
| 1 | 7,879 | 6,635 | 5,024 | <0,000 | |
| 2 | 10,597 | 9,210 | 7,78 | 0,010 | |
| 3 | 12,838 | 11,345 | 9,348 | 0,072 | |
| 960 | 1076,621 | 1064,867 | 1047,760 | 850,891 |
Agora a lógica desse “post”: na verdade, reproduzir as tabelas foi só um subterfúgio. Até porque não tem coisa mais torpe que isso (as tabelas sempre continuarão nos livros). E principalmente, na verdade, elas, hoje em dia, perderam um pouco (para não dizer todo) o propósito! Antes de você ou seu professor mais ortodoxo de estatística me apedrejar, deixe eu terminar…!
Antigamente, obter esse valores de eram difíceis de serem obtidos! Isso envolve integração e cálculo “pesado”. Assim, é extremmamente louvável que algumas pessoas tiveram a intenção de fazer essas contas e construir essas tabelas. Mas hoje em dia, isso é facilmente obtido pelo computador (da mesma forma que fizemos!). E principalmente, abre-se um “leque” para nós, afinal não precisamos mais ficar “presos”, aos valores de
das tabelas! Basta apenas que entendamos a relação com as probabilidades de erros…
Essa figura mostra as probabilidades de erro tipo I, tipo II e o poder do teste. Erro tipo I é o erro ao rejeitar quando, na realidade,
é verdadeira. A probabilidade de cometer este erro do tipo I é designada por
(nível de significância). O erro do tipo I equivale a concluir que o tratamentos diferem quando na verdade eles diferem.
A probabilidade de cometermos o erro tipo I é de e de cometermos o erro tipo II é
. Em um teste de hipótese ambas essas probabilidades devem ser mínimas. Mas em geral se “escolhe” pela diminuição do erro tipo I, que é feita manipulando-se
.
A maioria do programas hoje em dia (incluindo o tema do Ridículas) apresentam além dos asteríscos da significância do teste F a estatística do p-valor que é nada mais nada menos que o complemento do da probabilidade do erro tipo I.