#=============================================================================== #. Name : Frequência relativa vs. densidade #. Author : J.C.Faria # Date : 23/08/2021 10:20:53 # Aim : Possibilitar o entendimento da diferença entre # Frequência relativa e desidade de probabilidades # Mail : <<>> #=============================================================================== # Síntese: Essencialmente, o conceito de densidade de probabilidades (DP) # elimina a influência da amplitude de classes (h) no gráfico da # frequência relativa (FR). # Esta, como se sabe, descreve - em termos relativos (fi/total) - # todas as frequências dos fenômenos observacionais. # Os dois conceitos (DP e FR) tem o mesmo siginificado apenas quando # a amplitude de classes (h) é igual a 1. # A DP possibilita a generalização do conceito descritivo simples # da FR para os fenômenos observacionais genéricos atravéz do uso # das funções de densidade de probabilidades já bem estudadas e # consolidadas: Normal, t de Student, F de Snedecor, etc. #=============================================================================== #.. Carregando pacotes necessários library(fdth) #.. Um exercício de percepção # Gerando uma amostra: amo ~ N(m, s) set.seed(2021) amo <- rnorm(n=1e4, m=10, sd=2) (range(amo)) # mínimo e máximo # Tabela de distribuição de frequência (tb <- fdt(amo, start=0, end=20, h=20)) par(mfrow=c(3, 1)) plot(tb, main= 'Freq. relativa', type='rfh', ylab='Freq. relativa (fr)', xlab='', ylim=c(0, 1)) #... <--- Observar! text(x=10, y=.4, label= 'Área (b.h : 20.1) = 20') plot(tb, main= 'Densidade - eixo Y na mesma escala acima', type='d', ylab='Densidade (d)', xlab='', ylim=c(0, 1)) #... <--- Observar! text(x=10, y=.4, label= 'Área (b.h : 20.1/20) = 1') plot(tb, main= 'Densidade - eixo Y na escala ampliada', type='d', ylab='Densidade (d)', ylim=c(0, 1/20)) #... <--- Observar! text(x=10, y=.02, label= 'Área (b.h : 20.1/20) = 1') #.. Simulação #.. Definindo valores # (Ajuste, se necessário, para obter uma boa visualização) m <- 0 #.. média (0 >= s =< 10) s <- 5 #.. desvio padrão (2 >= s =< 10) n <- 1e4 #.. tamanho da amostra st <- -4*s #.. Primmeira classe do histograma en <- 4*s #.. Última classe do histograma # Lista de controle da simulação L <- list(s1=letters[1:3], s2=seq(from=1.5, to=.5, by=-.5), s3=c('rfh', 'd'), s4=c('Freq. relativa (fr)', 'Densitdade (d)'), s5=c('h=1.5 | fr > d', 'h=1.0 | fr = d', 'h=0.5 | fr < d', 'h=1.5 | fr = d', 'h=1.0 | fr = d', 'h=0.5 | fr = d')) par(mfrow=c(2, 3)) # duas linhas e duas colunas com preencimento nas linhas for(i in 1:2) { for(j in 1:3) { plot(fdt(rnorm(n=n, m=m, sd=s), start=st, end=en, h=L$s2[j]), #... <--- Observar! type=L$s3[i], #... <--- Observar! xlab='', ylim=c(0, 0.12), ylab=switch(L$s1[i], a=L$s4[1], b=L$s4[2]), main=ifelse(i == 1, switch(L$s1[j], a=L$s5[1], b=L$s5[2], c=L$s5[3]), switch(L$s1[j], a=L$s5[4], b=L$s5[5], c=L$s5[6]))) # Plotando a curva de densidade correspondente curve(dnorm(x, m=m, sd=s), add=T, lw=2, col=2, n=1e3) } }