La media muestral

Definición

\[ \overline{x}_{n}=\frac{\sum_{i=1}^{n}x_i}{n} \]

Valor esperado o esperanza

\[ E\left(\overline{x}_{n}\right)=\mu_x \]

Nota: A \(\overline{x}_{n}\) se llama estimador del valor en la población \(\mu\) parámetro (valor fijo y desconocido); a la anterior propiedad se le conoce como insegamiento.

Varianza

\[ Var\left(\overline{x}_{n}\right)=\frac{\sigma^2_x}{n} \]

Nota: La varianza de la media muestral en la medida que se incremente el tamaño de la muestra se hace más pequeña.

Propiedades

\[ \text{Sea }X_1,X_2,\ldots,X_n\text{ una muestra aleatoria cualquiera }\overline{x}_{n}\stackrel{n{\rightarrow}\infty}{\sim}N\left(\mu_x,\frac{\sigma^2_x}{n}\right) \]

\[ \text{Luego }Z=\frac{\overline{x}_{n}-\mu_x}{\sqrt{\frac{\sigma^2_x}{n}}}\stackrel{n{\rightarrow}\infty}{\sim}N\left(0,1\right) \]

Nota: En caso de no conocer la varianza de la población \(\sigma^2_n\), puede usarse la varianza muestral \(S^2_x=\frac{1}{n-1}\sum_{i=1}^{n}\left(x_i-\overline{x}_n\right)^2\), y entonces:

\[ \text{Luego }Z=\frac{\overline{x}_{n}-\mu_x}{\sqrt{\frac{S^2_x}{n}}}\stackrel{n{\rightarrow}\infty}{\sim}N\left(0,1\right) \]

Simulación de datos, cálculo de la media y su distribución

Estandarización de una variable aleatoria con media igual a 176 y desviación estándar igual a 3 centímetros, que puede ser la distribución de las estaturas de los individuos en una población cuyo promedio de estaturas sea igual 176 centímetros y en promedio se alejen de este valor en 3 centímetros.

ESTATURAS <- rnorm(n=1200000,mean=176,sd=3)
#install.packages("tidyverse")
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data.frame(ESTATURAS) %>% 
  summarise(
    "media" = mean(x=ESTATURAS),
    "varianza" = ((length(ESTATURAS)-1)/length(ESTATURAS))*var(ESTATURAS)
  )
data.frame(ESTATURAS) %>% 
  ggplot(
    aes(
      x=ESTATURAS
    )
  ) +
  geom_density(
    fill="gray",
    colour="black"
  ) + 
  ggtitle("Distribución poblacional") + 
  ylab("")

n <- c(5, 13, 23, 37, 41)
t <- c(10, 100, 1000, 10000)

muestras.de.estaturas <- data.frame()

for(i in n) {
    col <- c()
    for(j in t) {
        trial <- 1:j
        counter <- j
        value <- c()
        while(counter > 0) {
            bucket <- sample(ESTATURAS, i, replace = FALSE)
            Z <- mean(bucket)
            value <- c(value, Z)
            counter <- counter - 1
        }
        col <- cbind(trial, value, i, j)
        muestras.de.estaturas <- rbind(muestras.de.estaturas, col)
    }
}

rm(col, bucket, value, counter, i, j, n, t, Z, trial)

str(muestras.de.estaturas)
## 'data.frame':    55550 obs. of  4 variables:
##  $ trial: num  1 2 3 4 5 6 7 8 9 10 ...
##  $ value: num  177 177 177 176 176 ...
##  $ i    : num  5 5 5 5 5 5 5 5 5 5 ...
##  $ j    : num  10 10 10 10 10 10 10 10 10 10 ...
names(muestras.de.estaturas) <- c("trial#", "value", "samples", "trials")

ggplot(muestras.de.estaturas, aes(x = value)) + geom_density(fill = "lightblue") + 
        facet_grid(samples ~ trials, labeller = label_both) + 
        ggtitle("Teorema del límite central por medio de simulación") + 
        geom_vline(xintercept = round(176,1), linetype = "dashed")

n <- c(5, 13, 23, 37, 41)
t <- c(10, 100, 1000, 10000)

muestras.de.estaturas <- data.frame()

for(i in n) {
    col <- c()
    for(j in t) {
        trial <- 1:j
        counter <- j
        value <- c()
        while(counter > 0) {
            bucket <- sample(ESTATURAS, i, replace = FALSE)
            Z <- (mean(bucket)-176)/(3/sqrt(i))
            value <- c(value, Z)
            counter <- counter - 1
        }
        col <- cbind(trial, value, i, j)
        muestras.de.estaturas <- rbind(muestras.de.estaturas, col)
    }
}

rm(col, bucket, value, counter, i, j, n, t, Z, trial)

str(muestras.de.estaturas)
## 'data.frame':    55550 obs. of  4 variables:
##  $ trial: num  1 2 3 4 5 6 7 8 9 10 ...
##  $ value: num  0.336 0.172 -1.913 -1.881 0.179 ...
##  $ i    : num  5 5 5 5 5 5 5 5 5 5 ...
##  $ j    : num  10 10 10 10 10 10 10 10 10 10 ...
names(muestras.de.estaturas) <- c("trial#", "value", "samples", "trials")

ggplot(muestras.de.estaturas, aes(x = value)) + geom_density(fill = "lightblue") + 
        facet_grid(samples ~ trials, labeller = label_both) + 
        ggtitle("Teorema del límite central por medio de simulación") + 
        geom_vline(xintercept = round(0,1), linetype = "dashed")