Probabilidade da Média Amostral

Sobre o Teorema Central do Limite
Rstats
Author
Published

August 21, 2021

O Teorema central do limite - na teoria das probabilidades - afirma que quando o tamanho da amostra aumenta, a distribuição amostral da sua média aproxima-se de uma distribuição normal.

Isto é verdadeiro mesmo quando a distribuição da população não é normal.

Vamos verificar se conseguimos um exemplo deste fenômeno, considerando uma população de 1.000 elementos entre 0 e 1 gerados a partir de uma distribuição uniforme.

Primeiro vamos gerar nossa população:

```{r}
#| warning: false
#| message: false
library(tidyverse)

num = 100000

# criamos uma população de 1000 elementos distribuidos entre 0 e 1 uniformemente
populacao = tibble(elemento = runif(n = num))

populacao |> 
  ggplot() +
  geom_histogram(aes(elemento), 
                 bins = 20,
                 fill = "steelblue",
                 color = "white") +
  theme_minimal() +
  labs(title = "Histograma com 1.000 elementos com valores entre 0 até 1",
       x = NULL,
       y = NULL)
```

Segundo o Teorema Central do Limite, conforme o tamanho da amostra aumenta, a distribuição amostral da média se aproxima de uma distribuição normal.

Desta forma, mesmo que a distribuição da população não siga uma distribuição normal a distribuição da média amostral seguirá o formato de uma distribuição normal.Vamos verificar se isto acontece para a nossa população.

Podemos avaliar tanto o impacto do tamanho da amostra quanto do número de amostras realizadas. Vamos analisar considerando a combinação de amostras de tamanho 50, 1000 e 10.000 elementos, e de número de amostras de 50, 200 e 500.

Produzindo Amostras

Para gerar as amostrar vamos utilizar a função R-base sample:

# 1k médias de amostras de tamanho 50

my_data = tibble(
  sample_size = as.integer(c(50, 1000, 5000)),
  num_of_samples = as.integer(c(50, 200, 500))
)

combined_data <- 
  my_data |> 
  expand(sample_size, num_of_samples)

computes_dist_of_means_of_samples <- function(a_vector, sample_size, num_of_samples) {
  1:num_of_samples |> 
    map(~ sample(a_vector, 
                 sample_size) |> 
          mean()) |> 
    reduce(c) 
}

combined_data <- 
combined_data |> 
  group_by(sample_size, num_of_samples) |> 
  summarise(values = computes_dist_of_means_of_samples(populacao$elemento,
                                                    sample_size,
                                                    num_of_samples))
Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
dplyr 1.1.0.
ℹ Please use `reframe()` instead.
ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
  always returns an ungrouped data frame and adjust accordingly.
`summarise()` has grouped output by 'sample_size', 'num_of_samples'. You can
override using the `.groups` argument.
combined_data |> 
  ggplot(aes(x = values)) +
  geom_histogram(fill = "#668877") +
  facet_grid(sample_size ~ num_of_samples) +
  labs(title = "Distribuições do valor médio de amostras para diferentes tamanhos de amostras e diferentes números de amostras coletados",
       x = "Variações no número de amostras",
       y = "Variações no tamanho das amostras") +
  theme_minimal()
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Pelo gráfico gerado vemos que o formato de curva normal se apresentou em todas as situação. Percebemos que com o aumento no tamanho da amostra (50, 1.000, 10.000) é responsável por uma concentração das médias amostrais. Enquanto que o aumento no número de amostras realizadas é responsável por uma suavização da curva.

Citation

BibTeX citation:
@misc{abreu2021,
  author = {Abreu, Marcos},
  title = {Probabilidade da Média Amostral},
  date = {2021-08-21},
  url = {https://abreums.github.io/posts/2021-08-21-proabilidade-da-media-amostral/},
  langid = {pt-br}
}
For attribution, please cite this work as:
Abreu, Marcos. 2021. “Probabilidade da Média Amostral.” August 21, 2021. https://abreums.github.io/posts/2021-08-21-proabilidade-da-media-amostral/.