############################################################## # AULA 22 - Testes de aderencia # ############################################################## rm(list = ls()); cat('\014') ############################################################## ### ### ### EXEMPLO 1 ### ### ### ################# # Passo 1: Especificar as hipoteses H0 e Ha ############################################################## # Amostra: frequencia observada o = c(22, 52, 26) # Passo 2: Especificar a estatistica do teste e sua # distribuicao, sob H0 ############################################################## # Parametros p = c(0.25, 0.5, 0.25) n = sum(o) # Frequencia esperada e = n*p e ## [1] 25 50 25 Q2 = sum( (o - e)^2 / e ) Q2 ## [1] 0.48 # Passo 3: Fixar o nivel de significancia do teste (α) ############################################################## # erro tipo 1 = alfa alfa = 0.05 # numero de par´ametros envolvidos k = 3 # hipoteses de uma cauda # valor de qui-quadrado para o erro tipo 1 qc = round(qchisq(1 - alfa, k - 1), 3) qc ## [1] 5.991 # Passo 4: Calcular o p-valor (ou a regiao critica do teste) ############################################################## valorp = round(1 - pchisq(Q2, 2), 4) valorp ## [1] 0.7866 # Passo 5: Decidir entre H0 e Ha, comparando o valor p com α # (ou verificando se a estatistica do teste pertence ou nao # a regiao critica) ############################################################## chisq.test(o, p = e/100) ## ## Chi-squared test for given probabilities ## ## data: o ## X-squared = 0.48, df = 2, p-value = 0.7866 # OU chisq.test(o, p = e, rescale.p = TRUE) ## ## Chi-squared test for given probabilities ## ## data: o ## X-squared = 0.48, df = 2, p-value = 0.7866 ############################################################## rm(list = ls()); cat('\014') ############################################################## ### ### ### EXEMPLO 2 ### ### ### ################# # Passo 1: Especificar as hipoteses H0 e Ha ############################################################## # Frequencia observada o = c(2, 5, 16, 42, 69, 51, 32, 23, 9, 1) # tamanho amostra n = sum(o) # Classes cl = seq(9.5, 19.5, 1) # Ponto medio x = c() for(i in 1:length(o)) { x[i] = (cl[i] + cl[i+1])/2 } # Media amostral xbarra = sum(x*o)/n # variancia amostral aux = (x-xbarra)^2 s2 = sum(o*aux)/(n-1) # Desvio padrao s = sqrt(s2) # Frequencia esperada e = c() for(i in 1:length(o)) { e[i] = round(n*(pnorm(cl[i+1], xbarra, s) - pnorm(cl[i], xbarra, s)), 2) } e ## [1] 1.54 6.52 19.25 39.65 57.02 57.27 40.16 19.67 6.72 1.60 obs = c(o[1]+o[2], o[3:8], o[9]+o[10]) esp = c(e[1]+e[2], e[3:8], e[9]+e[10]) cbind(obs, esp) ## obs esp ## [1,] 7 8.06 ## [2,] 16 19.25 ## [3,] 42 39.65 ## [4,] 69 57.02 ## [5,] 51 57.27 ## [6,] 32 40.16 ## [7,] 23 19.67 ## [8,] 10 8.32 # Passo 2: Especificar a estatistica do teste e sua # distribuicao, sob H0 ############################################################## # Estatistica do teste Q2 = round(sum( (obs - esp)^2 / esp ), 4) Q2 ## [1] 6.5918 # Passo 3: Fixar o nivel de significancia do teste (α) ############################################################## # erro tipo 1 = alfa alfa = 0.04 # numero de par´ametros envolvidos k = 8 q = 2 # hipoteses de uma cauda # valor de qui-quadrado para o erro tipo 1 qc = round(qchisq(1 - alfa, k - q - 1), 2) qc ## [1] 11.64 # Passo 4: Calcular o p-valor (ou a regiao critica do teste) ############################################################## valorp = round(1 - pchisq(Q2, k - q - 1), 4) valorp ## [1] 0.2528 ############################################################## rm(list = ls()); cat('\014') ############################################################## ### ### ### EXEMPLO 3 ### ### ### ################# mu = 30 sigma = 16 x = c(2,5,17,21,25,33,34,37,40,56) n = length(x) F10 = 1:10/n F10_1 = (1:10 - 1) / n # Funcao acumulada da normal(30,16^2) Fx = round(pnorm(x, mu, sigma), 3) aux1 = abs(Fx-F10) aux2 = abs(Fx-F10_1) # Tabela com os valores Tab = cbind(x, F10, F10_1, aux1, aux2) colnames(Tab) = c("x", "F10", "F10_1", "|Fx - F10|", "|Fx - F10_1|") Tab ## x F10 F10_1 |Fx - F10| |Fx - F10_1| ## [1,] 2 0.1 0.0 0.060 0.040 ## [2,] 5 0.2 0.1 0.141 0.041 ## [3,] 17 0.3 0.2 0.092 0.008 ## [4,] 21 0.4 0.3 0.113 0.013 ## [5,] 25 0.5 0.4 0.123 0.023 ## [6,] 33 0.6 0.5 0.026 0.074 ## [7,] 34 0.7 0.6 0.101 0.001 ## [8,] 37 0.8 0.7 0.131 0.031 ## [9,] 40 0.9 0.8 0.166 0.066 ## [10,] 56 1.0 0.9 0.052 0.048 # Estatistica do teste Dn = max(aux1, aux2) Dn ## [1] 0.166 ks.test(x, "pnorm", 30, 16) ## ## One-sample Kolmogorov-Smirnov test ## ## data: x ## D = 0.16599, p-value = 0.9052 ## alternative hypothesis: two-sided