#=============================================================================== #. Título: Inferência Estatística - Origem distribuição F (Snedecor) #. Curso : Introdução à estatística #. Autor : José Cláudio Faria/UESC/DCET # Data : 26/09/2022 17:24:49 #=============================================================================== # 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 #... Normal #Mu <- 100 #Sigma <- 20 #... Normal padrão Mu <- 0 Sigma <- 1 #... Número de pares de amostras n <- 1e4 # Usar: # 1e3, 1e4, 1e5 para modelar # 1e1 para estudar detalhadamente #... 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)) #plot(ty='n', # xlab='F', # ylab='f(F)', # 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') #.. Síntese # 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!