##=============================================================================== ## Título: Inferência Estatística - Distribuição F (Snedecor) - decisão ## Curso : Introdução à estatística ## Autor : José Cláudio Faria/UESC/DCET ## Data : 27/07/2016 11:09:25 ## Versão: v5 ##=============================================================================== ## Objetivos gerais ##=============================================================================== ## a) Apresentar os recursos básicos do R para a IE; ## b) Fundamentar o mestrando nos mecanismos básicos da IE. ##=============================================================================== ## Objetivos específicos ##=============================================================================== ## a) Gerar uma população normal; ## b) Amostrar repetidamente pares de amostras de tamanhos informados da ## população ## c) Estimar a variância a partir de cada amostra e calcular a razão entre as ## duas de cada par armazenando estes valores em um vetor. ## d) Usar este vetor para decidir, sob a distribuição F, se as razões ## anteriormente obtidas podem ser consideradas, ou não, como provenientes de ## uma mesma população, adotando um erro tipo I máximo para a inferência. ## ## Em outras palavras, o objetivo maior é ilustrar a flutuação normal do ## processo de amostragem e os possíveis erros de decisão na inferência ## influenciados por esta flutuação. ##=============================================================================== #.. ___Ini opções___ ## Tamanho das amostras n1 <- 5 # Tamanho da amostra (n1) n2 <- 13 # Tamanho da amostra (n2) ## Características da população Mu <- 10 Sigma <- 2 ## Número de pares de amostras n <- 1e4 # Usar 1e2, 1e3, ..., 1e5 erro <- 5 # Define erro tipo I máximo a ser usado na inferência # (informado em %) #.. ___Fim opções___ ## Simulação ## Estimativas da variância a partir do tamanho n1 s2.n1 <- apply(matrix(rnorm(n * n1, Mu, Sigma), ncol=n1), 1, var) ## Estimativas da variância a partir do tamanho n2 s2.n2 <- apply(matrix(rnorm(n * n2, Mu, Sigma), ncol=n2), 1, var) Fcal <- s2.n1 / s2.n2 # Valores da razão entre duas estimativas da variância # de uma população normal observados ## Valor Ftab recebe valor limite da calda superior da distribuição Fi ## adotando erro tipo I máximo especificado = erro Ftab <- qf(erro / 100, n1-1, n2-1, lower.tail=FALSE) ## Inferência dec <- Fcal < Ftab # Decisão: As amostras podem ser consideradas como # provenientes de uma mesma população? dec.cer <- length(dec[dec == TRUE]) dec.err <- n - dec.cer # Plotar gráfico dos resultados observados plot(Fcal, ylab='Valores F calculados', xlab='Número de pares de amostras', font=2, font.lab=2, cex=0.5, col='dark orange', ylim=c(0, 20)) tab.inf <- parse(text=paste(paste('F[', erro, '~"%"]',sep=''), '(', n1 - 1, ', ', n2 - 1, ')==', round(Ftab, 2), sep='')) abline(h=Ftab) text(n/2, Ftab, tab.inf, font=4, col='dark blue') text(n/2, Ftab/2, font=4, col='dark green', paste('RAHo -> Decisões Corretas (%)', 100 * (dec.cer/n), sep=' = ')) text(n/2, Ftab + (max(Fcal) - Ftab)/2, font=4, col='red', paste('RRHo -> Decisões Equivocadas (%)', 100 * (dec.err/n), sep=' = '))