¿Qué es el Muestreo Estadístico?
El muestreo estadístico es el proceso o conjunto de métodos utilizados para seleccionar un subconjunto representativo de una población, con el fin de realizar inferencias sobre las características de dicha población.
En lugar de analizar a todos los individuos (lo cual sería un censo), tomamos una “parte” para ahorrar tiempo y recursos.
Nota: Para que los resultados sean válidos, la muestra debe ser representativa, es decir, debe reflejar fielmente las características del grupo más grande.
Para entender el muestreo, debemos dominar estos términos:
Los métodos se dividen principalmente en dos grandes familias:
Todos los elementos tienen una probabilidad conocida de ser elegidos. Es el más riguroso científicamente.
La selección depende del juicio del investigador o de la conveniencia.
A continuación, creamos una “población” de 1,000 personas con una altura promedio y tomamos una muestra de 50.
# 1. Crear una población con distribución normal (media=170cm, sd=10)
set.seed(123) # Para reproducibilidad
poblacion <- rnorm(1000, mean = 170, sd = 10)
# 2. Tomar una muestra aleatoria simple de 50 personas
muestra <- sample(poblacion, size = 50)
# 3. Comparar promedios
mean_poblacion <- mean(poblacion)
mean_muestra <- mean(muestra)
cat("Media Poblacional:", round(mean_poblacion, 2), "\n")
## Media Poblacional: 170.16
cat("Media de la Muestra:", round(mean_muestra, 2), "\n")
## Media de la Muestra: 169.4
El estimador de Horvitz-Thompson (HT) es fundamental en el muestreo probabilístico con probabilidades de inclusión desiguales. A diferencia de los estimadores clásicos, el HT permite obtener inferencias válidas sobre una población independientemente del diseño de muestreo utilizado, siempre que se conozcan las probabilidades de selección.
Sea una población de tamaño \(N\). Queremos estimar el total poblacional \(Y = \sum_{i=1}^N y_i\).
Si seleccionamos una muestra \(s\) con una probabilidad de inclusión de primer orden \(\pi_i = P(i \in s)\), el estimador de HT se define como:
\[\hat{Y}_{HT} = \sum_{i \in s} \frac{y_i}{\pi_i}\]
Donde \(w_i = 1/\pi_i\) se conoce como el peso de diseño. Este peso representa a cuántos individuos de la población “representa” el individuo seleccionado en la muestra.
El estimador de Horvitz-Thompson es siempre insesgado para el total poblacional, bajo cualquier diseño de muestreo donde \(\pi_i > 0\) para todo \(i\).
Definimos una variable indicadora \(I_i\), tal que: \[I_i = \begin{cases} 1 & \text{si } i \in s \\ 0 & \text{si } i \notin s \end{cases}\] Donde \(E[I_i] = \pi_i\). Entonces podemos reescribir el estimador como: \[\hat{Y}_{HT} = \sum_{i=1}^N I_i \frac{y_i}{\pi_i}\]
Aplicando la esperanza: \[E[\hat{Y}_{HT}] = \sum_{i=1}^N E[I_i] \frac{y_i}{\pi_i} = \sum_{i=1}^N \pi_i \frac{y_i}{\pi_i} = \sum_{i=1}^N y_i = Y\]
La varianza del estimador HT depende de las probabilidades de inclusión de segundo orden \(\pi_{ij} = P(i, j \in s)\).
\[\text{Var}(\hat{Y}_{HT}) = \sum_{i=1}^N \sum_{j=1}^N (\pi_{ij} - \pi_i \pi_j) \frac{y_i}{\pi_i} \frac{y_j}{\pi_j}\]
Para diseños de muestreo de tamaño de muestra fijo (\(n\)), la varianza se puede expresar de forma alternativa, lo que suele ser más estable: \[\text{Var}(\hat{Y}_{HT}) = \sum_{i=1}^N \sum_{j>i}^N (\pi_i \pi_j - \pi_{ij}) \left( \frac{y_i}{\pi_i} - \frac{y_j}{\pi_j} \right)^2\]
Dado que en la práctica no conocemos los valores \(y_i\) de toda la población, estimamos la varianza a partir de los datos muestrales.
\[\hat{\text{Var}}(\hat{Y}_{HT}) = \sum_{i \in s} \sum_{j > i \in s} \frac{\pi_i \pi_j - \pi_{ij}}{\pi_{ij}} \left( \frac{y_i}{\pi_i} - \frac{y_j}{\pi_j} \right)^2\]
Este estimador es insesgado para la varianza real siempre que \(\pi_{ij} > 0\) para todos los pares.
En diseños complejos (como el muestreo sistemático), las probabilidades \(\pi_{ij}\) pueden ser extremadamente difíciles de calcular. En estos casos, se utiliza la aproximación de Hartley-Rao o se asume un diseño con reemplazo (aunque sea sin reemplazo) para simplificar el cálculo:
\[\hat{\text{Var}}_{aprox}(\hat{Y}_{HT}) \approx \frac{n}{n-1} \sum_{i \in s} \left( \frac{y_i}{\pi_i} - \frac{\hat{Y}_{HT}}{n} \right)^2\]
Esta aproximación es común en software estadístico cuando el tamaño de la población es mucho mayor que el de la muestra (fracción de muestreo pequeña).
Usando la librería survey para aplicar el estimador
HT:
library(survey)
## Warning: package 'survey' was built under R version 4.5.3
# Datos de ejemplo
data(api)
# Diseño de muestreo aleatorio simple (proporcional)
# En este caso pi_i = n/N para todos
dstrat <- svydesign(id=~1, data=apistrat, fpc=~fpc)
## Warning in as.fpc(fpc, strata, ids, pps = pps): `fpc' varies within strata:
## stratum 1 at stage 1
# Estimación del total usando HT
total_ht <- svytotal(~api00, dstrat)
print(total_ht)
## total SE
## api00 1770966 88340
# Varianza estimada
vcov(total_ht)
## api00
## api00 7803970679
En un MAS de tamaño \(n\) sobre una población de tamaño \(N\), el estimador de la media poblacional \(\bar{Y}\) es la media muestral:
\[\bar{y} = \frac{1}{n} \sum_{i \in s} y_i\]
Para demostrar que \(E[\bar{y}] = \bar{Y}\), usamos la variable indicadora \(I_i\) (\(1\) si el elemento está en la muestra, \(0\) si no):
\[E[\bar{y}] = E\left[ \frac{1}{n} \sum_{i=1}^N I_i y_i \right] = \frac{1}{n} \sum_{i=1}^N y_i E[I_i]\]
Como en MAS la probabilidad de inclusión es \(\pi_i = P(I_i=1) = n/N\): \[E[\bar{y}] = \frac{1}{n} \sum_{i=1}^N y_i \left( \frac{n}{N} \right) = \frac{1}{N} \sum_{i=1}^N y_i = \bar{Y}\]
La varianza de la media muestral en un muestreo sin reemplazo está dada por:
\[Var(\bar{y}) = \left( 1 - \frac{n}{N} \right) \frac{S^2}{n}\]
Donde \(S^2 = \frac{1}{N-1} \sum_{i=1}^N (y_i - \bar{Y})^2\).
\[Var(\bar{y}) = Var\left( \frac{1}{n} \sum_{i=1}^N I_i y_i \right) = \frac{1}{n^2} \left[ \sum_{i=1}^N y_i^2 Var(I_i) + \sum_{i=1}^N \sum_{j \neq i}^N y_i y_j Cov(I_i, I_j) \right]\]
Sustituyendo estos valores y simplificando mediante la identidad \(\sum \sum y_i y_j = (\sum y_i)^2 - \sum y_i^2\), llegamos a la expresión final:
\[Var(\bar{y}) = \frac{N-n}{Nn} S^2 = \frac{1-f}{n} S^2\]
Donde \(f = n/N\) es la fracción de muestreo.
Puesto que \(S^2\) es un parámetro poblacional desconocido, lo estimamos mediante la varianza residual de la muestra (\(s^2\)):
\[\hat{Var}(\bar{y}) = \frac{1-f}{n} s^2\]
Donde \(s^2 = \frac{1}{n-1} \sum_{i \in s} (y_i - \bar{y})^2\).
Importante: El factor \((1-f)\) se denomina Factor de Corrección por Población Finita (FPC). Si la población es muy grande comparada con la muestra (\(f \to 0\)), el FPC se aproxima a 1 y la fórmula se reduce a la varianza clásica del muestreo con reemplazo: \(s^2/n\).
# Supongamos una población de N=1000 y muestra de n=100
N <- 1000
n <- 100
f <- n/N
# Población simulada
y_pob <- rnorm(N, mean=50, sd=10)
S2_pob <- var(y_pob)
# Varianza teórica de la media
var_teorica <- (1 - f) * (S2_pob / n)
# Muestra
y_muest <- sample(y_pob, n)
s2_muest <- var(y_muest)
# Varianza estimada
var_estimada <- (1 - f) * (s2_muest / n)
cat("Varianza Teórica:", var_teorica, "\n")
## Varianza Teórica: 0.9351791
cat("Varianza Estimada:", var_estimada)
## Varianza Estimada: 1.030176
En el muestreo de Bernoulli, el tamaño de la muestra no es fijo; es una variable aleatoria que sigue una distribución Binomial \(n \sim Bin(N, \pi)\).
Para estimar el total poblacional \(Y\), se utiliza el estimador de Horvitz-Thompson: \[\hat{Y}_{Ber} = \frac{1}{\pi} \sum_{i \in s} y_i = \frac{1}{\pi} \sum_{i=1}^N I_i y_i\] Donde \(I_i\) son variables aleatorias independientes \(I_i \sim Bernoulli(\pi)\).
La varianza del total estimado en un muestreo de Bernoulli es: \[Var(\hat{Y}_{Ber}) = \frac{1 - \pi}{\pi} \sum_{i=1}^N y_i^2\]
Para comparar la eficiencia, comparamos la varianza del total del Muestreo de Bernoulli frente al Muestreo Aleatorio Simple (MAS), asumiendo que el tamaño de muestra esperado en Bernoulli es igual al tamaño fijo en MAS (\(n = N\pi\)).
\[Var(\hat{Y}_{MAS}) = N^2 \left( 1 - \frac{n}{N} \right) \frac{S^2}{n}\] Recordando que \(S^2 = \frac{1}{N-1} \sum (y_i - \bar{Y})^2\).
Podemos descomponer la suma de cuadrados de la varianza de Bernoulli (\(\sum y_i^2\)): \[\sum_{i=1}^N y_i^2 = (N-1)S^2 + N\bar{Y}^2\]
Sustituyendo esto en la varianza de Bernoulli con \(\pi = n/N\): \[Var(\hat{Y}_{Ber}) = \frac{1 - n/N}{n/N} \left( (N-1)S^2 + N\bar{Y}^2 \right)\] \[Var(\hat{Y}_{Ber}) = N^2 \left( 1 - \frac{n}{N} \right) \frac{S^2}{n} \left[ \frac{N-1}{N} \right] + \frac{N^2(1-f)}{n}\bar{Y}^2\]
Comparando término a término con \(Var(\hat{Y}_{MAS})\): \[Var(\hat{Y}_{Ber}) \approx Var(\hat{Y}_{MAS}) + \frac{N^2(1-f)}{n}\bar{Y}^2\]
Matemáticamente, el Muestreo Aleatorio Simple (MAS) es más eficiente que el muestreo de Bernoulli.
La razón es que en el muestreo de Bernoulli hay dos fuentes de variabilidad: 1. La variabilidad de los valores \(y_i\) seleccionados (común a ambos). 2. La variabilidad del tamaño de la muestra (\(n\) no es constante).
El término extra \(\frac{N^2(1-f)}{n}\bar{Y}^2\) representa el “costo” en precisión por no saber exactamente cuántos elementos entrarán en la muestra.
N <- 1000
pi <- 0.1
y <- rnorm(N, mean = 100, sd = 15) # Población
# Simulación de Bernoulli
sim_ber <- replicate(1000, {
muest_ber <- y[runif(N) < pi]
sum(muest_ber) / pi
})
# Simulación de MAS (n fijo = N * pi = 100)
sim_mas <- replicate(1000, {
muest_mas <- sample(y, size = N*pi)
sum(muest_mas) / (N*pi/N) # N * media muestral
})
cat("Varianza Bernoulli:", var(sim_ber), "\n")
## Varianza Bernoulli: 89471740
cat("Varianza MAS:", var(sim_mas), "\n")
## Varianza MAS: 2019779
cat("Relación de varianzas (Ber/MAS):", var(sim_ber)/var(sim_mas))
## Relación de varianzas (Ber/MAS): 44.29779
Para estimar el total poblacional \(Y\), se utiliza: \[\hat{Y}_{P} = \sum_{i \in s} \frac{y_i}{\pi_i}\]
Al igual que en otros diseños probabilísticos, el estimador es insesgado: \[E[\hat{Y}_P] = E\left[ \sum_{i=1}^N I_i \frac{y_i}{\pi_i} \right] = \sum_{i=1}^N \frac{y_i}{\pi_i} E[I_i] = \sum_{i=1}^N y_i = Y\]
Debido a la independencia de las unidades (lo que implica que las covarianzas entre \(I_i\) e \(I_j\) son cero), la varianza es notablemente simple:
\[\text{Var}(\hat{Y}_P) = \sum_{i=1}^N \left( \frac{1 - \pi_i}{\pi_i} \right) y_i^2\]
A partir de la muestra, el estimador insesgado de la varianza es: \[\widehat{\text{Var}}(\hat{Y}_P) = \sum_{i \in s} \frac{1 - \pi_i}{\pi_i^2} y_i^2\]
El muestreo de Poisson suele ser más eficiente que el de Bernoulli si las probabilidades \(\pi_i\) se eligen de forma que sean proporcionales al tamaño de la variable \(y_i\) (Muestreo PPT).
Simularemos un escenario donde la probabilidad de ser elegido depende de una variable auxiliar \(x\) (por ejemplo, el tamaño de una empresa).
set.seed(42)
N <- 500
x <- rgamma(N, shape = 2, scale = 10) # Variable auxiliar
y <- 5 * x + rnorm(N, 0, 10) # Variable de interés relacionada con x
# Definir probabilidades pi_i proporcionales a x (n esperado = 50)
pi <- 50 * (x / sum(x))
pi[pi > 1] <- 1 # Truncar probabilidades mayores a 1
# Proceso de Muestreo de Poisson
I <- rbinom(N, 1, pi)
muestra_y <- y[I == 1]
muestra_pi <- pi[I == 1]
# Estimación HT
total_est <- sum(muestra_y / muestra_pi)
total_real <- sum(y)
cat("Total Real:", total_real, "\n")
## Total Real: 47897.89
cat("Total Estimado (Poisson):", total_est, "\n")
## Total Estimado (Poisson): 47220.96
cat("Tamaño de muestra obtenido:", sum(I), "\n")
## Tamaño de muestra obtenido: 51
Si el tamaño de muestra variable es un problema para tu investigación, se suele utilizar el Estimador de Razón de Hájek, que ajusta el total de Poisson dividiéndolo por el tamaño de muestra observado para reducir el impacto de la aleatoriedad de \(n\):
\[\hat{Y}_{Hájek} = N \frac{\sum_{i \in s} (y_i / \pi_i)}{\sum_{i \in s} (1 / \pi_i)}\]
También conocido como Muestreo Aleatorio Simple con Reposición. En este diseño: * Cada elemento seleccionado se devuelve a la población antes de la siguiente extracción. * Un mismo individuo puede aparecer varias veces en la muestra. * Las extracciones son independientes. * La probabilidad de selección permanece constante: \(\pi_i = 1/N\).
Es el diseño más común en la práctica (encuestas, auditorías). * Una vez seleccionado un elemento, no vuelve a la población. * Un individuo solo puede aparecer una vez. * Las extracciones son dependientes (la probabilidad cambia en cada paso). * El tamaño de la muestra es finito y limitado por \(N\).
Sea \(\bar{y}\) el estimador de la media poblacional \(\bar{Y}\).
\[Var(\bar{y}_{MCR}) = \frac{\sigma^2}{n}\] Donde \(\sigma^2 = \frac{1}{N} \sum (y_i - \bar{Y})^2\).
\[Var(\bar{y}_{MSR}) = \frac{S^2}{n} \left( 1 - \frac{n}{N} \right)\] Donde \(S^2 = \frac{1}{N-1} \sum (y_i - \bar{Y})^2\) y el término \((1 - f)\) con \(f = n/N\) es el Factor de Corrección por Población Finita (FPC).
Para comparar cuál es más eficiente, analizamos cuál tiene la menor varianza para un mismo tamaño de muestra \(n\).
Sabemos que \(S^2 \approx \sigma^2\) cuando \(N\) es grande. La diferencia clave radica en el FPC: 1. En MSR, a medida que \(n\) crece, \((1 - n/N)\) se hace más pequeño, reduciendo la varianza. 2. Si \(n > 1\), entonces \((1 - n/N) < 1\).
Conclusión: El Muestreo Sin Reemplazo es SIEMPRE más eficiente (o igual si \(n=1\)) que el Muestreo Con Reemplazo, ya que al no repetir elementos, capturamos más información única de la población, lo que reduce la incertidumbre del estimador.
R permite controlar esto fácilmente con el argumento
replace en la función sample().
# Configuración
N <- 100
n <- 30
poblacion <- rnorm(N, mean = 100, sd = 15)
# 1. Muestreo Con Reemplazo (MCR)
set.seed(1)
muestra_con <- sample(poblacion, size = n, replace = TRUE)
# 2. Muestreo Sin Reemplazo (MSR)
set.seed(1)
muestra_sin <- sample(poblacion, size = n, replace = FALSE)
# Comparación de errores estándar (Simulación)
sim_con <- replicate(10000, mean(sample(poblacion, n, replace = TRUE)))
sim_sin <- replicate(10000, mean(sample(poblacion, n, replace = FALSE)))
cat("Varianza simulación MCR:", var(sim_con), "\n")
## Varianza simulación MCR: 7.144891
cat("Varianza simulación MSR:", var(sim_sin), "\n")
## Varianza simulación MSR: 5.076641
cat("Reducción de varianza:", (1 - var(sim_sin)/var(sim_con))*100, "%")
## Reducción de varianza: 28.94725 %
El muestreo sistemático consiste en seleccionar un punto de partida aleatorio y luego elegir cada \(k\)-ésimo elemento de la población hasta completar el tamaño de muestra \(n\).
La eficiencia del muestreo sistemático depende críticamente del orden de la población. Se puede comparar con el MAS mediante el coeficiente de correlación intraclásica (\(\rho\)):
\[Var(\bar{y}_{sis}) = \frac{S^2}{n} [1 + (n-1)\rho]\]
R no tiene una función única en el paquete base para muestreo sistemático, pero es muy sencillo de programar.
# 1. Crear una población con tendencia (más eficiente para sistemático)
set.seed(123)
N <- 200
n <- 20
poblacion <- sort(rnorm(N, mean = 50, sd = 10)) # Población ordenada
# 2. Función de Muestreo Sistemático
muestreo_sistematico <- function(pob, n_muestra) {
N_pob <- length(pob)
k <- floor(N_pob / n_muestra) # Salto
arranque <- sample(1:k, 1) # Arranque aleatorio
indices <- seq(from = arranque, by = k, length.out = n_muestra)
return(pob[indices])
}
# 3. Ejecución
muestra_sis <- muestreo_sistematico(poblacion, n)
# 4. Comparación de Medias
cat("Media Poblacional:", mean(poblacion), "\n")
## Media Poblacional: 49.9143
cat("Media Muestra Sistemática:", mean(muestra_sis), "\n")
## Media Muestra Sistemática: 50.24207
plot(poblacion, col="gray", pch=20, main="Selección Sistemática sobre Población Ordenada")
points(seq(from=sample(1:(200/20), 1), by=200/20, length.out=20),
muestra_sis, col="red", pch=19, cex=1.5)
legend("topleft", legend="Elementos seleccionados", col="red", pch=19)
Es ideal cuando tienes “marcos muestrales” físicos (como una fila de personas o carpetas en un archivo) donde ir saltando de \(k\) en \(k\) es mucho más rápido que generar 50 números aleatorios distintos y buscarlos uno por uno.
En los diseños anteriores (MAS, Bernoulli), todos los elementos tenían la misma probabilidad de entrar. En el muestreo PPT, la probabilidad de selección \(\pi_i\) de una unidad es proporcional a una variable auxiliar \(x_i\) (el “tamaño”) que está correlacionada con la variable de interés \(y_i\).
Si queremos estimar el total de ventas de un país, es más eficiente darle más probabilidad de selección a las empresas grandes que a las pequeñas, ya que las grandes aportan más a la variabilidad del total.
\[\pi_i = n \cdot \frac{x_i}{\sum_{j=1}^N x_j}\]
Es el diseño más utilizado en investigación de mercados y encuestas de opinión rápida. Se asienta en la premisa de que si la muestra se parece a la población en ciertas características (sexo, edad, zona), los resultados serán representativos.
Para el muestreo PPT, utilizaremos el paquete
sampling.
# Instalación si no se tiene: install.packages("sampling")
library(sampling)
set.seed(456)
N <- 100
n <- 10
# x es el 'tamaño' (ej. número de empleados)
# y es el 'interés' (ej. producción total)
x <- rgamma(N, shape = 2, scale = 5)
y <- 2 * x + rnorm(N, 0, 2)
# 1. Calcular probabilidades de inclusión proporcionales a x
pik <- inclusionprobabilities(x, n)
# 2. Seleccionar la muestra usando el método sistemático de Madow para PPT
s <- UPsystematic(pik)
muestra_y <- y[s == 1]
muestra_pik <- pik[s == 1]
# 3. Estimador de Horvitz-Thompson para el total
total_est <- sum(muestra_y / muestra_pik)
total_real <- sum(y)
cat("Total Real:", round(total_real, 2), "\n")
## Total Real: 2075.67
cat("Total Estimado PPT:", round(total_est, 2))
## Total Estimado PPT: 2087.92
Esta tabla resume los métodos probabilísticos y no probabilísticos vistos hasta ahora, permitiendo identificar cuál elegir según la naturaleza de los datos y los recursos disponibles.
| Diseño | Descripción | Cuándo usarlo (Uso) | Ventaja Principal | Desventaja / Riesgo |
|---|---|---|---|---|
| MAS (Sin Reemplazo) | Cada unidad tiene la misma probabilidad (\(n/N\)). | Poblaciones homogéneas y marcos muestrales completos. | Es el estándar de oro por su sencillez y robustez. | Requiere una lista completa (marco) de toda la población. |
| MAS (Con Reemplazo) | Las unidades pueden repetirse tras ser seleccionadas. | Poblaciones muy grandes o modelos de simulación (Bootstrap). | Independencia estadística perfecta entre observaciones. | Menos eficiente que el MSR (mayor varianza). |
| Bernoulli | Selección independiente con probabilidad \(\pi\) constante. | Poblaciones de tamaño desconocido o flujos continuos. | No requiere conocer \(N\) de antemano. | El tamaño de muestra (\(n\)) es aleatorio, no fijo. |
| Poisson | Cada unidad \(i\) tiene su propia probabilidad \(\pi_i\) independiente. | Cuando se conocen pesos individuales para cada elemento. | Máxima flexibilidad en probabilidades individuales. | Alta varianza si \(n\) fluctúa demasiado. |
| Sistemático | Selección por intervalos (\(k\)) tras un arranque aleatorio. | Poblaciones ordenadas o marcos físicos (archivos, filas). | Muy fácil de ejecutar en campo sin errores. | Peligroso si existen ciclos o periodicidad en los datos. |
| PPT (Proporcional al Tamaño) | La probabilidad \(\pi_i\) depende de una variable auxiliar \(x\). | Poblaciones con unidades de tamaños muy dispares (ej. empresas). | Reduce drásticamente el error si \(x\) está correlacionada con \(y\). | Requiere información auxiliar precisa de toda la población. |
| Por Cuotas (No Probabilístico) | Selección basada en llenar “celdas” (ej. 50% mujeres). | Estudios de mercado rápidos o sin presupuesto para aleatoriedad. | Muy rápido y económico; no requiere marco muestral. | No permite calcular el error muestral ni hacer inferencia formal. |
Un concepto clave que hemos demostrado matemáticamente es la jerarquía de precisión. En condiciones generales (población sin ciclos):
\[Var(\hat{Y}_{PPT}) < Var(\hat{Y}_{MSR}) < Var(\hat{Y}_{MCR}) < Var(\hat{Y}_{Ber})\]
En la siguiente tabla, \(N\) es el tamaño poblacional, \(n\) el tamaño muestral, y \(f = n/N\) la fracción de muestreo.
| Diseño | Estimador del Total (\(\hat{Y}\)) | Varianza Teórica \(Var(\hat{Y})\) | Estimador de Varianza \(\widehat{Var}(\hat{Y})\) |
|---|---|---|---|
| MAS (Sin Reemplazo) | \(N \cdot \bar{y}\) | \(N^2 \frac{S^2}{n} (1-f)\) | \(N^2 \frac{s^2}{n} (1-f)\) |
| MAS (Con Reemplazo) | \(N \cdot \bar{y}\) | \(N^2 \frac{\sigma^2}{n}\) | \(N^2 \frac{s^2}{n}\) |
| Bernoulli | \(\frac{1}{\pi} \sum_{i \in s} y_i\) | \(\frac{1-\pi}{\pi} \sum_{i=1}^N y_i^2\) | \(\frac{1-\pi}{\pi^2} \sum_{i \in s} y_i^2\) |
| Poisson | \(\sum_{i \in s} \frac{y_i}{\pi_i}\) | \(\sum_{i=1}^N \frac{1-\pi_i}{\pi_i} y_i^2\) | \(\sum_{i \in s} \frac{1-\pi_i}{\pi_i^2} y_i^2\) |
| Sistemático | \(N \cdot \bar{y}_{sis}\) | \(\frac{N^2 S^2}{n} [1 + (n-1)\rho]\) | No existe (se suele usar fórmula de MAS) |
| Horvitz-Thompson | \(\sum_{i \in s} \frac{y_i}{\pi_i}\) | \(\sum \sum (\pi_{ij}-\pi_i \pi_j) \frac{y_i y_j}{\pi_i \pi_j}\) | \(\sum_{i \in s} \sum_{j \in s} \frac{\pi_{ij}-\pi_i \pi_j}{\pi_{ij}} \frac{y_i y_j}{\pi_i \pi_j}\) |
Si usas el paquete survey en R, estas fórmulas se
aplican automáticamente según cómo definas tu objeto.
Ahora que hemos cubierto todos los diseños donde las unidades se eligen “sueltas”, el siguiente nivel lógico es cuando empezamos a agruparlas:
library(survey)
# 1. Crear población estratificada
set.seed(789)
N <- 1000
poblacion <- data.frame(
id = 1:N,
zona = rep(c("Norte", "Sur", "Centro"), times = c(500, 300, 200)),
ingresos = c(rnorm(500, 2000, 100), rnorm(300, 1000, 50), rnorm(200, 1500, 80))
)
# 2. Definir tamaños de muestra por estrato (Afijación Proporcional)
# n total = 100
n_h <- c("Norte"=50, "Sur"=30, "Centro"=20)
# 3. Extraer la muestra
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
muestra_est <- poblacion %>%
group_by(zona) %>%
group_modify(~ slice_sample(.x, n = n_h[.y$zona])) %>%
ungroup()
# 4. Configurar el diseño en 'survey'
# Para estratificado, usamos el argumento 'strata'
muestra_est$N_estrato <- case_when(
muestra_est$zona == "Norte" ~ 500,
muestra_est$zona == "Sur" ~ 300,
muestra_est$zona == "Centro" ~ 200
)
diseno_est <- svydesign(
id = ~1,
strata = ~zona, # Definimos la variable de estratificación
fpc = ~N_estrato, # Tamaño de cada estrato poblacional
data = muestra_est
)
# 5. Estimaciones
media_est <- svymean(~ingresos, diseno_est)
total_est <- svytotal(~ingresos, diseno_est)
print(media_est)
## mean SE
## ingresos 1607.5 7.6247
print(total_est)
## total SE
## ingresos 1607483 7624.7
El muestreo estratificado consiste en dividir la población de tamaño \(N\) en subgrupos mutuamente excluyentes llamados estratos (\(L\)). La idea principal es que los elementos dentro de cada estrato sean lo más parecidos posible (homogeneidad interna) y que los estratos sean muy diferentes entre sí (heterogeneidad externa).
[Image of stratified sampling diagram]
Es el promedio ponderado de las medias muestrales de cada estrato:
\[\bar{y}_{est} = \sum_{h=1}^L W_h \bar{y}_h\]
Donde: * \(W_h = N_h / N\) es el peso del estrato. * \(\bar{y}_h\) es la media de la muestra en el estrato \(h\).
La varianza depende de la variabilidad interna de cada estrato (\(S_h^2\)):
\[Var(\bar{y}_{est}) = \sum_{h=1}^L W_h^2 \left( \frac{1-f_h}{n_h} \right) S_h^2\]
¿Cómo determinamos el tamaño de muestra \(n_h\) para cada estrato?
Utilizaremos el paquete survey para analizar una
población dividida en tres estratos de niveles socioeconómicos.
# Cargar librerías
library(survey)
library(dplyr)
# 1. Crear Población Ficticia (N = 1000)
set.seed(123)
N <- 1000
poblacion <- data.frame(
id = 1:N,
estrato = rep(c("Bajo", "Medio", "Alto"), times = c(500, 350, 150)),
gasto = c(rnorm(500, 200, 40), rnorm(350, 500, 80), rnorm(150, 1200, 150))
)
# 2. Definir tamaños de muestra (Afijación Proporcional, n = 100)
# Bajo: 50, Medio: 35, Alto: 15
n_total <- 100
muestras_por_estrato <- c("Bajo" = 50, "Medio" = 35, "Alto" = 15)
# 3. Extraer la muestra
muestra_est <- poblacion %>%
group_by(estrato) %>%
group_modify(~ slice_sample(.x, n = muestras_por_estrato[.y$estrato])) %>%
ungroup()
# 4. Añadir información de FPC (Tamaño del estrato poblacional)
muestra_est <- muestra_est %>%
mutate(fpc_h = case_when(
estrato == "Bajo" ~ 500,
estrato == "Medio" ~ 350,
estrato == "Alto" ~ 150
))
# 5. Configurar el diseño muestral
diseno_estratificado <- svydesign(
id = ~1,
strata = ~estrato,
fpc = ~fpc_h,
data = muestra_est
)
# 6. Resultados
media_poblacional <- svymean(~gasto, diseno_estratificado)
total_poblacional <- svytotal(~gasto, diseno_estratificado)
print(media_poblacional)
## mean SE
## gasto 450.98 7.3514
confint(media_poblacional)
## 2.5 % 97.5 %
## gasto 436.5674 465.3844
El muestreo estratificado es una técnica de muestreo probabilístico que consiste en dividir una población en subgrupos homogéneos llamados estratos, con el fin de mejorar la precisión de las estimaciones. Cada estrato debe ser internamente homogéneo y externamente heterogéneo respecto a los demás.
La afijación hace referencia a la forma en que se distribuye el tamaño total de la muestra entre los diferentes estratos de la población. Esta distribución es clave para garantizar estimaciones eficientes y representativas.
Consiste en asignar a cada estrato un tamaño de muestra proporcional a su tamaño dentro de la población total.
Fórmula:
n_h = n * (N_h / N)
Donde: - n_h: tamaño de muestra del estrato h - n: tamaño total de la muestra - N_h: tamaño del estrato h - N: tamaño total de la población
Minimiza la varianza de los estimadores considerando la variabilidad de cada estrato.
Fórmula:
n_h = n * (N_h * S_h) / Σ(N_h * S_h)
Donde: - S_h: desviación estándar del estrato h
Asigna el mismo tamaño de muestra a todos los estratos, independientemente de su tamaño.
Fórmula:
n_h = n / L
Donde: - L: número de estratos
Se utiliza cuando los costos de recolección de datos varían entre estratos.
Fórmula:
n_h = n * (N_h * S_h / √C_h) / Σ(N_h * S_h / √C_h)
Donde: - C_h: costo asociado al estrato h
La correcta elección del tipo de afijación permite: - Reducir el error muestral - Optimizar recursos (tiempo y costo) - Mejorar la precisión de las estimaciones
La selección del método de afijación depende de: - La variabilidad de los estratos - Los objetivos del estudio - Las restricciones de tiempo y costo
En la práctica, la afijación proporcional es la más utilizada por su simplicidad, mientras que la afijación óptima es preferida cuando se busca mayor precisión estadística.
El tamaño muestral (n) es el número total de unidades que se seleccionan de una población para realizar un estudio. Su elección es fundamental, ya que determina la precisión y confiabilidad de los resultados.
En el muestreo estratificado, el tamaño total de la muestra se distribuye entre los diferentes estratos de la población.
El tamaño muestral depende de varios factores:
n = (Z² * p * q) / e²
Donde: - Z: valor asociado al nivel de confianza - p: proporción esperada - q: 1 - p - e: error máximo permitido
Si la población es pequeña, se aplica:
n = [N * Z² * p * q] / [e² (N - 1) + Z² * p * q]
Una vez determinado el tamaño total (n), se distribuye entre los estratos mediante métodos de afijación.
n_h = n * (N_h / N)
n_h = n * (N_h * S_h) / Σ(N_h * S_h)
n_h = n / L
El tamaño muestral influye directamente en el error muestral:
El muestreo estratificado suele reducir el error en comparación con el muestreo aleatorio simple, especialmente cuando los estratos son homogéneos.
Un tamaño muestral adecuado permite:
La correcta determinación del tamaño muestral y su adecuada distribución en los estratos son elementos clave para garantizar la calidad de los resultados en un estudio estadístico. La elección debe basarse en criterios técnicos, objetivos del estudio y restricciones operativas.
El muestreo por conglomerados es una técnica de muestreo probabilístico en la cual la población se divide en grupos naturales llamados conglomerados (por ejemplo: barrios, escuelas, empresas), y luego se seleccionan algunos de estos grupos para estudiar.
A diferencia del muestreo estratificado, donde los estratos son homogéneos, los conglomerados suelen ser internamente heterogéneos.
Se seleccionan algunos conglomerados y se estudian todos los elementos dentro de ellos.
Se realiza en varias etapas, combinando diferentes métodos de muestreo.
El tamaño muestral depende de:
Generalmente, se busca un equilibrio entre:
El error en este tipo de muestreo suele ser mayor que en el muestreo aleatorio simple, debido a la similitud entre elementos dentro de un mismo conglomerado.
Este efecto se conoce como efecto de diseño (design effect).
El muestreo por conglomerados es una técnica eficiente en términos operativos, especialmente cuando la población es amplia y dispersa. Sin embargo, se debe considerar el aumento del error muestral y aplicar diseños adecuados para garantizar la calidad de los resultados.
set.seed(123)
# Crear población
N <- 1000
poblacion <- data.frame(
id = 1:N,
conglomerado = sample(1:50, N, replace = TRUE), # 50 conglomerados
ingreso = rnorm(N, mean = 500, sd = 100)
)
head(poblacion)
## id conglomerado ingreso
## 1 1 31 653.2718
## 2 2 15 692.3694
## 3 3 14 559.8443
## 4 4 3 516.6663
## 5 5 42 513.7199
## 6 6 50 531.3710
# Seleccionar conglomerados
conglomerados_seleccionados <- sample(unique(poblacion$conglomerado), 5)
# Filtrar datos
muestra <- subset(poblacion, conglomerado %in% conglomerados_seleccionados)
# Ver resultado
table(muestra$conglomerado)
##
## 13 18 25 37 44
## 20 17 29 19 21
library(dplyr)
# Seleccionar conglomerados
cong_sel <- sample(unique(poblacion$conglomerado), 5)
# Filtrar conglomerados
muestra_2etapas <- poblacion %>%
filter(conglomerado %in% cong_sel) %>%
group_by(conglomerado) %>%
sample_n(10) # 10 elementos por conglomerado
muestra_2etapas
## # A tibble: 50 × 3
## # Groups: conglomerado [5]
## id conglomerado ingreso
## <int> <int> <dbl>
## 1 689 15 407.
## 2 405 15 573.
## 3 866 15 350.
## 4 752 15 519.
## 5 575 15 372.
## 6 800 15 573.
## 7 891 15 534.
## 8 717 15 719.
## 9 693 15 618.
## 10 740 15 583.
## # ℹ 40 more rows
mean(muestra$ingreso)
## [1] 504.8579
mean(muestra_2etapas$ingreso)
## [1] 491.8149
install.packages("survey")
## Warning: package 'survey' is in use and will not be installed
library(survey)
# Diseño muestral
diseno <- svydesign(
id = ~conglomerado,
data = muestra,
weights = ~1
)
# Estimar media
svymean(~ingreso, diseno)
## mean SE
## ingreso 504.86 6.6384
El muestreo multietápico es una técnica de muestreo probabilístico en la cual la selección de la muestra se realiza en varias etapas sucesivas. Es una extensión del muestreo por conglomerados y se utiliza cuando la población es grande, dispersa o difícil de listar completamente.
En el muestreo multietápico, las unidades de muestreo se agrupan en diferentes niveles jerárquicos. Por ejemplo:
Sea:
El estimador de la media en un diseño multietápico es:
\[ \bar{y} = \frac{1}{N} \sum_{i=1}^{n} \left( \frac{N}{n} \cdot \frac{1}{m_i} \sum_{j=1}^{m_i} y_{ij} \right) \]
La varianza se descompone en dos componentes:
\[ Var(\bar{y}) = Var_{entre} + Var_{intra} \]
Donde:
Una forma aproximada:
\[ Var(\bar{y}) = \frac{S_b^2}{n} + \frac{1}{n} \sum_{i=1}^{n} \frac{S_{w,i}^2}{m_i} \]
La probabilidad de inclusión de una unidad es:
\[ \pi_{ij} = \pi_i \cdot \pi_{j|i} \]
Donde:
Los pesos se definen como:
\[ w_{ij} = \frac{1}{\pi_{ij}} \]
Estos son fundamentales para obtener estimaciones insesgadas.
set.seed(123)
# Crear población simulada
N <- 50 # conglomerados
M <- 100 # unidades por conglomerado
poblacion <- expand.grid(
conglomerado = 1:N,
unidad = 1:M
)
poblacion$y <- rnorm(nrow(poblacion), mean = 100, sd = 20)
n <- 10
cong_sel <- sample(1:N, n)
library(dplyr)
m <- 15
muestra <- poblacion %>%
filter(conglomerado %in% cong_sel) %>%
group_by(conglomerado) %>%
sample_n(m)
# Probabilidades
pi_i <- n / N
pi_j_i <- m / M
muestra$peso <- 1 / (pi_i * pi_j_i)
# Media ponderada
media_estimada <- weighted.mean(muestra$y, muestra$peso)
media_estimada
## [1] 98.0615
install.packages("survey")
## Warning: package 'survey' is in use and will not be installed
library(survey)
diseno <- svydesign(
id = ~conglomerado + unidad,
weights = ~peso,
data = muestra
)
svymean(~y, diseno)
## mean SE
## y 98.061 1.7708