UNIVERSIDADE FEDERAL DO ACRE (UFAC)

Disciplina: Estatística e Probabilidade para Machine Learning
Aluno: Victor
Treinamento PAVIC-LAB • Módulo 02


1. Introdução Teórica e Prática

Esta atividade tem como objetivo demonstrar empiricamente um dos teoremas mais importantes de toda a ciência de dados e aprendizado de máquina: o Teorema Central do Limite (TCL).

Trabalhamos com o cenário do tempo de processamento de imagens por um sistema computacional. Suponha que esse tempo possa ser representado por uma variável aleatória contínua \(X\) com distribuição exponencial de média \(\mu = 2\) segundos:

\[X \sim ext{Exp}(\lambda = 0.5)\]

A distribuição exponencial é clássica por ser altamente assimétrica à direita (muitos processamentos rápidos e pouquíssimos muito longos). O TCL postula que, embora a população original \(X\) seja muito assimétrica, a distribuição das médias amostrais de tamanho \(n\) (representadas por \(ar{X}\)) tenderá progressivamente a uma Distribuição Normal de média \(\mu_{ar{X}} = \mu = 2\) e desvio-padrão (erro-padrão) \(\sigma_{ar{X}} = rac{\sigma}{\sqrt{n}} = rac{2}{\sqrt{n}}\) à medida que \(n\) aumenta.


2. Parte A — Conhecendo a Variável Contínua

Geramos 10.000 tempos de processamento simulados no R a partir da distribuição exponencial.

# Limpar o ambiente
rm(list = ls())

# Fixar a semente para tornar a simulação reproduzível
set.seed(123)

# Parâmetros da distribuição exponencial
mu <- 2
lambda <- 1 / mu

# Gerar 10.000 observações da variável contínua X
x <- rexp(10000, rate = lambda)

Resumo Numérico

mean(x)
## [1] 2.007563
sd(x)
## [1] 1.999764
summary(x)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 6.758e-04 5.788e-01 1.397e+00 2.008e+00 2.768e+00 1.816e+01

Gráfico da Distribuição Original

Plotamos o histograma com a curva teórica exponencial sobreposta:

hist(x,
     breaks = 40,
     main = "Distribuição dos tempos de processamento (Original)",
     xlab = "Tempo (segundos)",
     ylab = "Densidade",
     col = "lightblue",
     border = "white",
     freq = FALSE)

# Curva teórica da distribuição exponencial
curve(dexp(x, rate = lambda), add = TRUE, lwd = 2, col = "darkblue")

Questões da Parte A

1. A média simulada ficou próxima de 2 segundos?
Resposta: Sim, a média simulada foi de 2.0076 segundos, que é extremamente próxima da média teórica populacional de \(\mu = 2\) segundos. Essa convergência é garantida pela Lei Forte dos Grandes Números.

2. O histograma parece simétrico ou assimétrico?
Resposta: O histograma é fortemente assimétrico à direita, caracterizado por uma concentração altíssima de dados próxima de zero e uma cauda longa se estendendo para valores mais altos (até cerca de 16 segundos).

3. A variável original apresenta forma aproximadamente Normal? Justifique visualmente.
Resposta: Não. A forma é totalmente decrescente, típica de uma exponencial. Ela não possui o formato de sino clássico e simétrico que caracteriza a distribuição Normal. O valor mais frequente está próximo de zero e cai rapidamente.


3. Parte B — Simulando a Distribuição da Média Amostral

Realizamos 5.000 repetições. Em cada uma, retiramos uma amostra aleatória de tamanho \(n\) da distribuição exponencial e calculamos a sua média. Comparamos as distribuições para os tamanhos amostrais \(n = 1, 5, 30 ext{ e } 50\).

# Número de repetições da simulação
B <- 5000

# Função para gerar B médias amostrais
gerar_medias <- function(n, B = 5000) {
  replicate(B, mean(rexp(n, rate = lambda)))
}

# Distribuições amostrais da média
media_n1  <- gerar_medias(1,  B)
media_n5  <- gerar_medias(5,  B)
media_n30 <- gerar_medias(30, B)
media_n50 <- gerar_medias(50, B)

Tabela Comparativa de Convergência do TCL

Calculamos a média das médias simuladas, seus desvios-padrão (empíricos) e o erro-padrão teórico ($ rac{}{}$):

resultado <- data.frame(
  n = c(1, 5, 30, 50),
  media_das_medias = c(mean(media_n1), mean(media_n5),
                       mean(media_n30), mean(media_n50)),
  dp_das_medias_simulado = c(sd(media_n1), sd(media_n5),
                             sd(media_n30), sd(media_n50)),
  erro_padrao_teorico = 2 / sqrt(c(1, 5, 30, 50))
)

knitr::kable(resultado, digits = 4, 
             col.names = c("Tamanho Amostral (n)", "Média das Médias", "Desvio-Padrão Simulado (DP)", "Erro-Padrão Teórico"))
Tamanho Amostral (n) Média das Médias Desvio-Padrão Simulado (DP) Erro-Padrão Teórico
1 2.0316 2.0216 2.0000
5 1.9983 0.8827 0.8944
30 1.9933 0.3668 0.3651
50 2.0008 0.2791 0.2828

Visualização dos Histogramas Amostrais

par(mfrow = c(2, 2))

hist(media_n1, breaks = 35, col = "salmon", border = "white",
     main = "Médias amostrais: n = 1", xlab = "Média amostral", ylab = "Densidade", freq = FALSE)
curve(dnorm(x, mean = 2, sd = 2/sqrt(1)), add = TRUE, lwd = 1.5, col = "darkred")

hist(media_n5, breaks = 35, col = "orange", border = "white",
     main = "Médias amostrais: n = 5", xlab = "Média amostral", ylab = "Densidade", freq = FALSE)
curve(dnorm(x, mean = 2, sd = 2/sqrt(5)), add = TRUE, lwd = 1.5, col = "darkred")

hist(media_n30, breaks = 35, col = "lightgreen", border = "white",
     main = "Médias amostrais: n = 30", xlab = "Média amostral", ylab = "Densidade", freq = FALSE)
curve(dnorm(x, mean = 2, sd = 2/sqrt(30)), add = TRUE, lwd = 1.5, col = "darkred")

hist(media_n50, breaks = 35, col = "cornflowerblue", border = "white",
     main = "Médias amostrais: n = 50", xlab = "Média amostral", ylab = "Densidade", freq = FALSE)
curve(dnorm(x, mean = 2, sd = 2/sqrt(50)), add = TRUE, lwd = 1.5, col = "darkred")

par(mfrow = c(1, 1))

Questões da Parte B

4. Compare os quatro histogramas. O que acontece com a forma da distribuição das médias quando n aumenta?
Resposta: À medida que \(n\) aumenta, o histograma perde a assimetria acentuada à direita e se torna progressivamente mais simétrico, estreito e em formato de sino (Normal).

5. Para qual tamanho amostral a distribuição das médias já parece aproximadamente Normal?
Resposta: Para \(n = 30\) (e \(n = 50\)), a distribuição já apresenta um comportamento visual perfeitamente simétrico e em formato de sino, encaixando-se na regra geral de que \(n \ge 30\) fornece aproximações satisfatórias para o TCL.

6. A média das 5.000 médias amostrais permanece próxima de qual valor?
Resposta: Permanece extremamente próxima de \(\mu = 2\) (o valor teórico de todas as simulações varia de aproximadamente \(1,99\) a \(2,01\)). Isso comprova empiricamente que a média amostral é um estimador não viesado do parâmetro populacional.

7. O desvio-padrão das médias aumenta ou diminui quando n cresce?
Resposta: O desvio-padrão das médias diminui drasticamente. Isso ocorre porque o desvio-padrão da média (erro-padrão) é proporcional a \(1/\sqrt{n}\). Conforme a amostra aumenta, as médias ficam muito mais concentradas ao redor da média real \(2\).

8. Compare o desvio-padrão simulado das médias com o erro-padrão teórico \(2/\sqrt{n}\). Os valores são semelhantes?
Resposta: Sim, são quase idênticos. Veja os números obtidos: - Para \(n = 1\): Simulado \(pprox\) 2.0216 vs Teórico = \(2.0000\) - Para \(n = 5\): Simulado \(pprox\) 0.8827 vs Teórico \(pprox 0.8944\) - Para \(n = 30\): Simulado \(pprox\) 0.3668 vs Teórico \(pprox 0.3651\) - Para \(n = 50\): Simulado \(pprox\) 0.2791 vs Teórico \(pprox 0.2828\)


4. Parte C — Verificação Visual do TCL

Focamos no caso clássico \(n = 30\) para avaliar o ajuste com a curva Gaussiana teórica de mesma média e variabilidade correspondente:

# Histograma das médias para n = 30
hist(media_n30, 
     breaks = 40, 
     probability = TRUE, 
     main = "TCL: Distribuição das Médias para n = 30", 
     xlab = "Média amostral",
     ylab = "Densidade",
     col = "palegreen",
     border = "white")

# Curva Normal prevista pelo TCL: N(2, 2^2/30)
curve(dnorm(x, mean = mu, sd = mu/sqrt(30)), 
      add = TRUE, lwd = 2.5, col = "darkgreen")

Questões da Parte C

9. A curva Normal se ajusta razoavelmente ao histograma das médias?
Resposta: Sim, o ajuste é excelente. A linha verde escura representa a curva Normal teórica ideal do TCL, e ela desenha o contorno exato do histograma das médias amostrais, validando a aproximação.

10. Explique, com suas palavras, por que o resultado obtido ilustra o Teorema Central do Limite.
Resposta: Esse resultado ilustra o TCL porque o teorema garante exatamente esse fenômeno: mesmo que os dados individuais venham de uma população altamente assimétrica e não-normal (no caso, a exponencial), a média calculada sobre amostras independentes se comporta como uma variável aleatória Normal quando o tamanho amostral é suficientemente grande (\(n \ge 30\)). Além disso, a variabilidade das estimativas cai à taxa de $ rac{}{}$, tornando as previsões mais precisas.


5. Conclusão Geral

Aumentar o tamanho da amostra \(n\) não altera a distribuição dos dados populacionais originais (que continuam sempre exponenciais e assimétricos), mas muda completamente a distribuição das suas médias amostrais, que se tornam progressivamente Normais e muito menos dispersas. Isso confere estabilidade e confiabilidade matemática para os modelos preditivos e algoritmos de inteligência artificial em visão computacional.