Para esta terceira aula prática de Estatística Computacional I, precisaremos dos seguintes pacotes:
require(ggplot2) # Abordagem gráfica
Quando nos deparamos com a necessidade de fazer inferências sobre uma única população, estamos lidando com o desafio de entender e estimar parâmetros populacionais com base em uma única amostra. Em muitas situações práticas, é impossível ou inviável coletar dados de toda a população. Nesse contexto, a estatística nos oferece ferramentas para tirar conclusões sobre essa população, com base em um número limitado de observações.
Até agora, aprendemos como avaliar a qualidade de um estimador: vimos o que significa ele ser não viciado, consistente e eficiente. Em outras palavras, já sabemos julgar se um número calculado a partir de uma amostra é, em princípio, um bom representante daquilo que queremos saber sobre a população — como a média, a proporção ou a variância populacional.
Mas há uma pergunta essencial que ainda não foi respondida:
“Mesmo que o meu estimador seja bom, o quão confiável é o valor
obtido na prática, a partir de uma única amostra?”
É aí que entra o próximo passo da jornada: entender o comportamento dos estimadores ao longo de todas as possíveis amostras. O nome disso é distribuição amostral. Quando conhecemos essa distribuição, conseguimos quantificar a incerteza que acompanha qualquer estimativa — e com isso, construir intervalos de confiança e realizar testes de hipótese.
Para isso, vamos estudar os casos em que essas distribuições são
conhecidas:
- A distribuição da média amostral quando a
população é normal
- A distribuição da variância amostral quando a
população é normal
Adicionalmente, vamos explorar uma das ideias mais poderosas da estatística: o Teorema Central do Limite (TCL). Ele nos mostra que, mesmo que a população não seja normal, a média das amostras tende a seguir uma distribuição normal à medida que o tamanho da amostra cresce. Isso abre as portas para aplicar a inferência em situações reais, onde raramente conhecemos a distribuição da população. Um exemplo clássico é a utilização do TCL na distribuição da proporção amostral em dados binários.
O apelo computacional entra aqui como um aliado
fundamental. Ao simularmos muitas amostras de uma mesma
população, conseguimos:
- Ver na prática como as distribuições amostrais se
formam.
- Comparar distribuições em diferentes cenários
(normal, assimétrica, etc.)
- Observar o efeito do tamanho amostral sobre a
variabilidade e a forma da distribuição
- Visualizar como os estimadores se comportam e como o
TCL se manifesta
Essa abordagem transforma o aprendizado: da teoria abstrata para uma compreensão visual, empírica e exploratória, tornando a transição para intervalos de confiança e testes de hipótese muito mais natural e intuitiva.
Vamos ver os seguintes tópicos, computacionalmente:
Seja \(X_1, X_2, \ldots, X_n\) uma amostra aleatória simples de tamanho \(n\) extraída de uma população com distribuição normal:
\[ X_i \sim \mathcal{N}(\mu, \sigma^2), \quad \text{para } i = 1, 2, \ldots, n \]
com \(\mu \in \mathbb{R}\) e \(\sigma^2 > 0\) .
Pode-se provar que média amostral \(\bar{X}\) possui distribuição normal com média \(\mu\) e variância \(\sigma^2/n\), isto é:
\[ \bar{X} \sim \mathcal{N} \left( \mu, \frac{\sigma^2}{n} \right) \]
Este resultado é exato, pois decorre da suposição de normalidade da população. Não há necessidade de invocar o Teorema Central do Limite aqui.
Para exemplificar, considere que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de uma população com distribuição Normal(\(\mu=170\),\(\sigma^2=100\)). Ao considerar \(n=25\), teremos que:
\[ \bar{X} \sim \mathcal{N} \left( \mu, \frac{\sigma^2}{n} \right)=\mathcal{N} \left( 170, 4 \right) \]
Vamos comprovar este resultado computacionalmente, simulando \(B=1000\) amostras:
# Parâmetros populacionais de X
media_real = 170
sigma_real = 10
# Tamanho da amostra
n = 25
# Parâmetros populacionais de Xbarra
media_real_x_barra = media_real
sigma_real_x_barra = sigma_real/sqrt(n)
# Quantidade de réplicas
B = 1000
# Cria o vetor de B médias amostrais da população teórica
set.seed(2025)
medias = replicate(B,mean(rnorm(n,media_real,sigma_real)))
# Criar data frame
df <- data.frame(medias = medias)
# Criar data frame das probabilidades teóricas
seq = seq(min(medias),max(medias), length.out = 500)
df_teorico <- data.frame(
medias = seq,
dens = dnorm(seq, mean=media_real_x_barra,sd=sigma_real_x_barra)
)
# Criar o gráfico
ggplot(df, aes(x = medias)) +
# histograma
geom_histogram(aes(y = ..density..),
fill = "lightblue", color = "black") +
# gráfico de linha
geom_line(data = df_teorico, aes(x = medias, y = dens),
color = "red", size = 1) +
labs(title = "Distribuição da média amostral",
x = "Valores", y = "Densidade") +
theme_minimal()
Considere que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de tamanho \(n=10\) de uma população com distribuição Normal(\(\mu=80\),\(\sigma^2=64\)).
Qual é a distribuição teórica da média amostral \(\bar{X}\)?
Simule \(B = 1000\) amostras dessa população e mostre, computacionalmente, que a distribuição empírica de \(\bar{X}\) se aproxima da distribuição teórica obtida no item (a).
Seja \(X_1, X_2, \ldots, X_n\) uma amostra aleatória simples de tamanho \(n\), com as seguintes propriedades:
Então, o Teorema Central do Limite afirma que, à medida que o tamanho da amostra \(n\) cresce indefinidamente, a distribuição da média amostral \(\bar{X}_n\) se aproxima de uma distribuição normal com média \(\mu\) e variância \(\sigma^2/n\), isto é,
\[ \bar{X} \approx \mathcal{N}\left( \mu, \frac{\sigma^2}{n} \right). \]
Embora o Teorema Central do Limite garanta que a distribuição da média amostral tende à normalidade à medida que \(n \to \infty\), na prática é comum encontrar a recomendação de que uma amostra de tamanho \(n \geq 30\) já seria “suficientemente grande” para aplicar aproximações normais. Essa regra prática, porém, é controversa. O valor \(n = 30\) não possui uma justificativa teórica universal: o quão rapidamente a média amostral se aproxima da normalidade depende da forma da distribuição original.
Assim, o uso do \(n = 30\) como critério fixo deve ser visto com cautela, sendo mais prudente considerar as características da distribuição original e, se possível, avaliar a aproximação por meio de simulações ou métodos computacionais.
O resultado do TCL é surpreendente e fundamental porque:
No exemplo e exercícios a seguir, vamos supor que a população é caracterizada por diferentes distribuições e vamos comprovar o Teorema Central do Limite, em cada caso.
Para ilustrar o teorema central do limite, vamos fazer um exemplo assumindo que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de uma população com distribuição Exponencial com parâmetro \(\lambda\). Sabemos que:
\[E(X)=\mu=\frac{1}{\lambda}\] \[Var(X)=\sigma^2=\frac{1}{\lambda^2}\]
De acordo com o teorema central do limite (TCL), temos que a média amostral \(\bar{X}\) tem distribuição aproximadamente normal com média \(\mu=\frac{1}{\lambda}\) e variância \(\frac{1}{n\lambda^2}\), isto é:
\[\bar{X} \approx \mathcal{N}\left(\mu,\frac{\sigma^2}{n}\right)=\mathcal{N}\left(\frac{1}{\lambda},\frac{1}{n\lambda^2}\right)\]
No nosso estudo, vamos considerar que \(\lambda=6\) e \(n=36\). Assim, a distribuição aproximada de \(\bar{X}\) será:
\[\bar{X} \approx \mathcal{N}\left(\frac{1}{\lambda},\frac{1}{n\lambda^2}\right)=\mathcal{N}\left(\frac{1}{6},\frac{1}{1296}\right)\]
Seguem os comandos:
# Parâmetros populacionais de X
lambda_real = 6
# Tamanho da amostra
n = 36
# Parâmetros populacionais de Xbarra (TCL)
media_real_x_barra = 1/lambda_real
sigma_real_x_barra = sqrt(1/(lambda_real^2*n))
# Quantidade de réplicas
B = 1000
# Cria o vetor de B médias amostrais da população teórica
set.seed(2025)
medias = replicate(B,mean(rexp(n,rate=lambda_real)))
# Criar data frame
df <- data.frame(medias = medias)
# Criar data frame das probabilidades teóricas
seq = seq(min(medias),max(medias), length.out = 500)
df_teorico <- data.frame(
medias = seq,
dens = dnorm(seq, mean=media_real_x_barra,
sd=sigma_real_x_barra)
)
# Criar o gráfico
ggplot(df, aes(x = medias)) +
# histograma
geom_histogram(aes(y = ..density..),
fill = "lightblue", color = "black") +
# gráfico de linha
geom_line(data = df_teorico, aes(x = medias, y = dens),
color = "red", size = 1) +
labs(title = "Distribuição da média amostral",
x = "Valores", y = "Densidade") +
theme_minimal()
Para ilustrar o Teorema Central do Limite (TCL), considere que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de uma população com distribuição Uniforme no intervalo \((a, b)\). Sabemos que:
\[ E(X) = \mu = \frac{a + b}{2} \] \[ Var(X) = \sigma^2 = \frac{(b - a)^2}{12} \]
Se \(n = 49\), \(a = 2\) e \(b = 5\):
Qual é a distribuição teórica aproximada da média amostral \(\bar{X}\)?
Simule \(B = 1000\) amostras dessa população e mostre, computacionalmente, que a distribuição empírica de \(\bar{X}\) se aproxima da distribuição teórica obtida no item (a).
Este aplicativo Shiny foi desenvolvido para ilustrar, de forma interativa e visual, o Teorema Central do Limite (TCL) — um dos pilares da inferência estatística. A partir da simulação de amostras de diferentes distribuições, o usuário pode observar como a distribuição da média amostral tende a uma distribuição normal à medida que o tamanho da amostra aumenta, independentemente da forma da distribuição original. Explore diferentes cenários, escolha a distribuição populacional, defina parâmetros, o tamanho da amostra e o número de repetições, e veja o TCL em ação: Simulação TCL
Considere uma variável aleatória \(X \sim \text{Bernoulli}(p)\), com:
\[ \mathbb{P}(X = 1) = p \quad \text{e} \quad \mathbb{P}(X = 0) = 1 - p, \quad \text{com } 0 < p < 1 \]
Sejam \(X_1, X_2, \ldots, X_n\) uma amostra aleatória simples de tamanho \(n\), i.i.d., com:
\[ X_i \sim \text{Bernoulli}(p), \quad \text{para } i = 1, 2, \ldots, n \]
A proporção amostral \(\hat{p}\) é definida como:
\[ \hat{p} = \frac{1}{n} \sum_{i=1}^{n} X_i \]
ou seja, \(\hat{p}\) é a fração de sucessos observados na amostra. Ela é, basicamente, uma média amostral. De acordo com o teorema central do limite, a proporção amostral \(\hat{p}\) pode ser aproximada por uma normal:
\[ \hat{p} \approx \mathcal{N}\left(p, \frac{p(1 - p)}{n} \right) \]
Essa distribuição pode ser aproximada por uma normal quando as seguintes condições são satisfeitas:
\[ n \cdot p \geq 5 \quad \text{e} \quad n \cdot (1 - p) \geq 5 \]
Essa regra garante que há eventos e não-eventos suficientes na amostra para que a distribuição de \(\hat{p}\) seja aproximadamente simétrica.
Para ilustrar este resultado, vamos considerar que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de tamanho \(n=40\) de uma população com distribuição Bernoulli com parâmetro \(p=0,5\). Assim, a distribuição da proporção amostral \(\hat{p}\) é aproximada por:
\[ \hat{p} \approx \mathcal{N}\left(p, \frac{p(1 - p)}{n} \right)=\mathcal{N}\left(0.5, \frac{0.25}{40} \right) \]
Note que \(np=40\cdot0.5=20\geq5\) e \(n(1-p)=40\cdot0.5=20\geq5\). Assim a aproximação deve ser satisfeita. Vamos investigar esse contexto com os seguintes códigos:
# Parâmetros populacionais de X
p = 0.5
# Tamanho da amostra
n = 40
# Parâmetros populacionais de Xbarra (TCL)
media_real_prop = p
sigma_real_prop = sqrt((p*(1-p))/n)
# Quantidade de réplicas
B = 1000
# Cria o vetor de B médias amostrais da população teórica
set.seed(2025)
props = replicate(B,mean(rbinom(n,size=1,p=p)))
# Criar data frame
df <- data.frame(props = props)
# Criar data frame das probabilidades teóricas
seq = seq(min(props),max(props), length.out = 500)
df_teorico <- data.frame(
props = seq,
dens = dnorm(seq, mean=media_real_prop,
sd=sigma_real_prop)
)
# Criar o gráfico
ggplot(df, aes(x = props)) +
# histograma
geom_histogram(aes(y = ..density..), bins = nclass.Sturges(df$props),
fill = "lightblue", color = "black") +
# gráfico de linha
geom_line(data = df_teorico, aes(x = props, y = dens),
color = "red", size = 1) +
labs(title = "Distribuição da proporção amostral",
x = "Valores", y = "Densidade") +
theme_minimal()
Considere que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de tamanho \(n=36\) de uma população com distribuição Bernoulli com parâmetro \(p=0,9\).
O Teorema Central do limite será satisfeito?
Prove isto, computacionalmente. Considere \(B=1000\).
Seja \(X_1, X_2, \ldots, X_n\) uma amostra aleatória simples de tamanho \(n\) proveniente de uma população com distribuição normal:
\[ X_i \sim \mathcal{N}(\mu, \sigma^2), \quad \text{para } i = 1, 2, \ldots, n \]
com \(\mu \in \mathbb{R}\) e \(\sigma^2 > 0\) .
Define-se a variância amostral como:
\[ S^2 = \frac{1}{n - 1} \sum_{i=1}^{n} (X_i - \bar{X})^2. \]
A estatística
\[ \frac{(n - 1) S^2}{\sigma^2} \]
segue uma distribuição qui-quadrado com \(n - 1\) graus de liberdade:
\[ \frac{(n - 1) S^2}{\sigma^2} \sim \chi^2_{n - 1} \]
Este resultado é exato somente sob a suposição de normalidade da população. O Teorema Central do Limite não se aplica neste caso.
Considere que \(X_1, X_2, \dots, X_n\) seja uma amostra aleatória de tamanho \(n=16\) de uma população com distribuição Normal com parâmetros \(\mu=170\) e \(\sigma^2=100\). Considerando \(B=1000\) verifique, computacionalmente, se a distribuição da estatística \(\frac{(n - 1) S^2}{\sigma^2}\) tem distribuição qui-quadrado com \(n-1\) graus de liberdade.