##=============================================================================== ## Título: Inferência Estatística - Origem distribuição F (Snedecor) ## Curso : Introdução à estatística ## Autor : José Cláudio Faria/UESC/DCET ## Data : 27/07/2016 19:13:38 ## Versão: v9 ##=============================================================================== ## Objetivos gerais ##=============================================================================== ## a) Apresentar os recursos básicos do R para a IE; ## b) Fundamentar o estudante nos mecanismos básicos da IE. ##=============================================================================== ## Objetivos específicos ##=============================================================================== ## a) Amostrar repetidamente pares de amostras (tamanhos definidos pelo usuário) ## de uma população normal qualquer: Y ~ N(Mu, Sigma); ## b) Estimar a variância a partir de cada amostra e calcular a razão entre as ## duas estimativas; ## c) Plotar o histograma dos valores, que deve ser semelhante a função F ## (para os tamanhos de amostras defindos pelo usuário) se o número de ## repetições do processo for suficiente para se aproximar do limite; ## d) Sobrepor ao histograma a função densidade de probabilidade específica. ##=============================================================================== #.. ___Ini opções___ ## Tamanho das amostras nN <- 4 # Tamanho da amostra (n) do Numerador (N) nD <- 21 # Tamanho da amostra (n) do Denominador (D) ## Características da população Mu <- 100 Sigma <- 2 ## Normal padrão #Mu <- 0 #Sigma <- 1 ## Número de pares de amostras n <- 1e4 # Usar 1e3, 1e4, 1e5 ## Erro adotado na inferência erro <- 5/100 #.. ___Fim opções___ ## Simulação ## Estimativas da variância do numerador s2N <- apply(matrix(rnorm(n*nN, Mu, Sigma), ncol=nN), 1, var) ## Estimativas da variância do denominador s2D <- apply(matrix(rnorm(n*nD, Mu, Sigma), ncol=nD), 1, var) ## Observando a distribuição da razão das estimativas da variância: observacional require(fdth) plot(fdt(s2N/s2D, start=0, end=10, h=.05), ty='d', xlim=c(0, 10), ylim=c(0, 1.2)) ## Sobrepondo a curva de densidade de probabilidades: teórica curve(df(x, nN-1, nD-1), n=1e4, col='darkblue', add=TRUE, lwd=3) # F limite Flim <- qf(erro, nN-1, nD-1, lower=FALSE) # Texto Fcal text(x=Flim, y=.6, col='darkblue', pos=4, label=paste('F(', nN-1, ';', nD-1, ')', sep='')) # Linha decisão segments(x0=Flim, y0=0, x1=Flim, y1=1, col='red', lty=3) # Texto das hipóteses text(x=c(Flim, Flim), y=.8, col=c('darkgreen', 'red'), labels=c('RAH0', 'RRH0'), pos=c(2, 4)) # Texto do erro text(x=Flim, y=.3, col='red', pos=4, labels=paste('Erro tipo I (alfa) = ', 100*erro, '%', sep='')) # Valor do erro text(x=Flim, y=1, pos=3, col='red', label=paste('Flim = ', round(Flim, 2), sep='')) # Achuras sob a curva xa1 <- seq(0, Flim, len=1e3) ya1 <- df(xa1, df1=nN-1, df2=nD-1) # Para evitar Inf no caso da amostra do numerador ser de tamanho 2 ya1 <- sub(Inf, 1e2, ya1) polygon(x=c(0, xa1, Flim), y=c(0, ya1, 0), col=adjustcolor('darkgreen', alpha.f=.2), border='darkgreen') xa2 <- seq(Flim, 20, len=1e3) ya2 <- df(xa2, df1=nN-1, df2=nD-1) polygon(x=c(Flim, xa2), y=c(0, ya2), col=adjustcolor('red', alpha.f=.2), border='red') # Em poucas palavras: # A distribuição F (de Snedecor) descreve como se distribui a razão # entre duas estimativas da variância # de uma distribuição normal X~N(Mu, Sigma) qualquer.