Podemos utilizar recursos computacionais e em particular simulações para inferir distribuições amostrais de quantidades de interesse. Na teoria de estatística existem vários resultados que podem ser ilustrados via simulação, o que ajuda na compreensão e visualização dos conceitos e resultados. Veremos alguns exemplos a seguir.
Este uso de simulações é apenas um ponto de partida pois estas são especialmente úteis para explorar situações onde resultados teóricos não são conhecidos ou não podem ser obtidos.
Resultado 1: Se
então
.
Vejamos como ilustrar este resultado. Vamos começar gerando uma amostra de 1000 números da distribuição normal padrão. A seguir vamos fazer um histograma dos dados obtidos e sobrepor a curva da distribuição teórica. Fazemos isto com os comando abaixo e o resultado está no gráfico da esquerda da Figurafig:sim01 5.
> y <- rnorm(1000) > hist(y, prob=T) > curve(dnorm(x), -4, 4, add=T)Note que, para fazer a comparação do histograma e da curva teórica é necessário que o histograma seja de frequências relativas e para isto usamos o argumento prob = T.
Agora vamos estudar o comportamento da variável ao quadrado.
O gráfico da direita da
Figurafig:sim01 5
mostra o histograma dos quadrados do valores da amostra e a curva da
distribuição de
.
> hist(y^2, prob=T) > curve(dchisq(x, df=1), 0, 10, add=T)
![]() |
Nos gráficos anteriores comparamos o histograma da distribuição empírica obtida por simulação com a curva teórica da distribuição. Uma outra forma e mais eficaz forma de comparar distribuições empíricas e teóricas é comparar os quantis das distribuições e para isto utilizamos o qq-plot. O qq-plot é um gráfico dos dados ordenados contra os quantis esperados de uma certa distribuição. Quanto mais próximo os pontos estiverem da reta 1-1 mais próximos os dados observados estão da distribuição considerada. Portanto para fazer o qqplot seguimos os seguintes passos:
> quantis <- qchisq(ppoints(length(y)), df=1) > qqplot(quantis, y^2) > abline(0,1)Note que o comando
qchisq(ppoints(length(y)), df=1)
acima está concatenando 3 comandos e calcula os quantis da ppoints
. O número de elementos desta sequência deve igual ao número de dados e por isto usamos length(y)
.
Resultado 2: Se
então
.
Para ilustrar este resultado vamos gerar 10.000 amostras de 3 elementos cada da distribuiçâo normal padrão, elevar os valores ao quadrado e, para cada amostra, somar os quadrados dos três números. Na Figurafig:sim02 7 mostramos o histograma dos valores obtidos com a curva da distribuição esperada e o qq-plot.
> y <- matrix(rnorm(30000), nc=3) > sy2 <- apply(y^2, 1, sum) > hist(sy2, prob=T, main="") > curve(dchisq(x, df=3), 0, 30, add=T) > qqplot(qchisq(ppoints(length(sy2)), df=3), sy2) > abline(0,1)
![]() |
Resultado 3:
Se
então
.
Neste exemplo vamos obter 1000 amostras de tamanho 20 de uma distribuição normal de média 100 e variância 30. Vamos organizar as amostras em uma matriz onde cada coluna corresponde a uma amostra. A seguir vamos calcular a média de cada amostra. Pelo Resultado 3 acima esperamos que a média das médias amostrais seja 100 e a variância seja 1.5 (= 30/20), e que a distribuição das médias amostrais seja normal, valores bem próximos dos obtidos acima. Para completar vamos obter o gráfico com o histograma das médias das amostras e a distribuição teórica conforme Figurafig:sim03 8 e o respectivo qq-plot.
> y <- matrix(rnorm(20000, mean=100, sd=sqrt(30)), nc=1000) > ybar <- apply(y, 2, mean) > mean(ybar) > [1] 99.96043 > var(ybar) [1] 1.582839 > hist(ybar, prob = T) > curve(dnorm(x, mean=100, sd=sqrt(30/20)), 95, 105, add=T) > qqnorm(ybar) > qqline(ybar)Note que para obter o qq-plot neste exemplo utilizamos as funções
qqnorm
qqline
já disponíveis no para
fazer qq-plot para distribuição normal.
![]() |