Para esta actividad se utilizará la base de datos
babies, correspondiente al estudio Child Health and
Development Studies, desarrollado en Estados Unidos.
La base contiene información relacionada con las madres y sus bebés, incluyendo características maternas, consumo de cigarrillo durante el embarazo, duración de la gestación y peso al nacer.
Se estudiarán dos variables principales:
La finalidad es aplicar técnicas de estadística inferencial para estimar parámetros poblacionales a partir de una muestra aleatoria y estudiar las propiedades de los estimadores.
if (!requireNamespace("openintro", quietly = TRUE)) {
install.packages("openintro")
}
if (!requireNamespace("dplyr", quietly = TRUE)) {
install.packages("dplyr")
}
if (!requireNamespace("ggplot2", quietly = TRUE)) {
install.packages("ggplot2")
}
library(openintro)
library(dplyr)
library(ggplot2)
library(knitr)
data("babies", package = "openintro")
datos_originales <- babies
dim(datos_originales)
## [1] 1236 8
names(datos_originales)
## [1] "case" "bwt" "gestation" "parity" "age" "height"
## [7] "weight" "smoke"
str(datos_originales)
## tibble [1,236 × 8] (S3: tbl_df/tbl/data.frame)
## $ case : int [1:1236] 1 2 3 4 5 6 7 8 9 10 ...
## $ bwt : int [1:1236] 120 113 128 123 108 136 138 132 120 143 ...
## $ gestation: int [1:1236] 284 282 279 NA 282 286 244 245 289 299 ...
## $ parity : int [1:1236] 0 0 0 0 0 0 0 0 0 0 ...
## $ age : int [1:1236] 27 33 28 36 23 25 33 23 25 30 ...
## $ height : int [1:1236] 62 64 64 69 67 62 62 65 62 66 ...
## $ weight : int [1:1236] 100 135 115 190 125 93 178 140 125 136 ...
## $ smoke : int [1:1236] 0 0 1 0 1 0 0 0 0 1 ...
head(datos_originales)
La función dim() permite conocer el número de filas y
columnas.
La función names() identifica los nombres de las
variables.
La función str() muestra la estructura y el tipo de dato
de cada variable.
El consumo de cigarrillo durante el embarazo constituye una variable de interés en los estudios relacionados con la salud materno-infantil.
Una de las características que puede analizarse es la duración de la gestación, expresada en semanas.
Se desea estudiar la proporción de madres que fumaron durante el embarazo y estimar la duración promedio de la gestación.
También se busca comparar la duración de la gestación entre madres fumadoras y no fumadoras.
¿Cuál es la proporción de madres fumadoras y cuál es la duración media de la gestación? ¿Existen diferencias en las semanas de gestación entre madres fumadoras y no fumadoras?
Aplicar técnicas de estimación puntual y por intervalos para estudiar la proporción de madres fumadoras y la duración de la gestación, verificando las propiedades estadísticas de los estimadores utilizados.
Para desarrollar esta práctica se considerarán como población finita
de referencia todos los registros válidos de la base babies
después de aplicar los criterios de limpieza.
Esta población de referencia es el conjunto de registros disponibles para el ejercicio. No debe confundirse con todas las madres gestantes de Estados Unidos ni con la población actual de Colombia.
Cada unidad estadística corresponde a un registro de una madre y su bebé en el estudio.
| Variable | Descripción | Tipo |
|---|---|---|
| smoke | Consumo de cigarrillo durante el embarazo | Cualitativa nominal dicotómica |
| gestation | Duración de la gestación en días | Cuantitativa |
| gestation_semanas | Duración de la gestación en semanas | Cuantitativa continua |
La variable smoke se codifica así:
La variable gestation está expresada en días. Para
facilitar la interpretación se realizará la conversión a semanas:
\[ \text{Semanas}=\frac{\text{Días de gestación}}{7} \]
Se estudiarán los siguientes parámetros:
Proporción poblacional:
\[ p=P(\text{madre fumadora}) \]
Media poblacional:
\[ \mu=E(X) \]
Donde \(X\) representa las semanas de gestación.
Varianza poblacional:
\[ \sigma^2=Var(X) \]
Se conservarán únicamente los registros con información válida para las dos variables de estudio.
datos <- datos_originales %>%
transmute(
smoke = as.numeric(as.character(smoke)),
gestation_dias = as.numeric(as.character(gestation))
) %>%
filter(
!is.na(smoke),
!is.na(gestation_dias),
smoke %in% c(0, 1),
gestation_dias > 0,
gestation_dias < 999
) %>%
mutate(
gestation_semanas = gestation_dias / 7,
grupo = factor(
smoke,
levels = c(0, 1),
labels = c("No fumadora", "Fumadora")
)
)
N <- nrow(datos)
cat("Número de registros válidos:", N)
## Número de registros válidos: 1213
tabla_fumadoras <- datos %>%
count(grupo) %>%
mutate(
porcentaje = 100 * n / sum(n)
)
kable(tabla_fumadoras, digits = 2)
| grupo | n | porcentaje |
|---|---|---|
| No fumadora | 733 | 60.43 |
| Fumadora | 480 | 39.57 |
ggplot(datos, aes(x = grupo, fill = grupo)) +
geom_bar() +
labs(
title = "Distribución de madres según consumo de cigarrillo",
x = "Consumo de cigarrillo",
y = "Frecuencia"
) +
theme_minimal() +
theme(legend.position = "none")
summary(datos$gestation_semanas)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 21.14 38.86 40.00 39.90 41.14 50.43
ggplot(datos, aes(x = gestation_semanas)) +
geom_histogram(
bins = 25,
fill = "steelblue",
color = "white"
) +
labs(
title = "Distribución de las semanas de gestación",
x = "Semanas de gestación",
y = "Frecuencia"
) +
theme_minimal()
En esta actividad se utilizará un muestreo aleatorio simple sin reemplazo.
Esto significa que cada registro tiene la misma probabilidad de ser seleccionado y que una observación no puede aparecer dos veces en la muestra.
El tamaño de muestra se calculará considerando:
Para la proporción se utilizará el criterio conservador \(p=0.5\), porque maximiza la variabilidad de una variable dicotómica cuando no se conoce previamente la proporción.
Para la media se utilizará una muestra piloto de 30 registros para obtener una estimación preliminar de la desviación estándar.
La expresión inicial para una población grande es:
\[ n_0=\frac{Z_{\alpha/2}^{2}pq}{E^2} \]
Donde:
Cuando la población es finita se aplica:
\[ n=\frac{Nn_0}{N+n_0-1} \]
confianza <- 0.95
Z <- qnorm(1 - (1 - confianza) / 2)
p <- 0.5
q <- 1 - p
E_p <- 0.05
n0_p <- (Z^2 * p * q) / E_p^2
n_p <- (N * n0_p) / (N + n0_p - 1)
n_p <- ceiling(n_p)
cat("Tamaño de población:", N, "\n")
## Tamaño de población: 1213
cat("Tamaño de muestra para proporción:", n_p)
## Tamaño de muestra para proporción: 292
Para estimar la media se utiliza:
\[ n_0=\frac{Z_{\alpha/2}^{2}s^2}{E^2} \]
Donde:
Posteriormente se aplica la corrección para población finita.
set.seed(123)
piloto <- datos[
sample(1:N, size = min(30, N), replace = FALSE),
]
s_piloto <- sd(piloto$gestation_semanas)
E_media <- 0.5
n0_media <- (Z^2 * s_piloto^2) / E_media^2
n_media <- (N * n0_media) /
(N + n0_media - 1)
n_media <- ceiling(n_media)
cat("Desviación estándar de la muestra piloto:",
round(s_piloto, 4), "\n")
## Desviación estándar de la muestra piloto: 2.2655
cat("Tamaño de muestra para la media:", n_media)
## Tamaño de muestra para la media: 75
Como se estudiarán tanto una proporción como una media, se seleccionará el mayor de los dos tamaños calculados.
\[ n=\max(n_p,n_{\mu}) \]
n_final <- min(N, max(n_p, n_media))
cat("Tamaño de muestra definitivo:", n_final)
## Tamaño de muestra definitivo: 292
Interpretación: el tamaño de muestra definitivo permite atender los dos criterios de precisión establecidos, bajo los supuestos del muestreo aleatorio simple.
La muestra piloto se utiliza para estimar la desviación estándar preliminar. La selección definitiva se realizará independientemente sobre el marco de referencia completo.
Se seleccionará una muestra aleatoria simple sin reemplazo utilizando
la función sample().
set.seed(2026)
muestra <- datos[
sample(
1:N,
size = n_final,
replace = FALSE
),
]
cat("Población de referencia:", N, "\n")
## Población de referencia: 1213
cat("Tamaño de muestra:", nrow(muestra))
## Tamaño de muestra: 292
head(muestra)
summary(muestra$gestation_semanas)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 31.86 38.96 40.00 39.99 41.14 50.14
tabla_muestra <- muestra %>%
count(grupo) %>%
mutate(
porcentaje = 100 * n / sum(n)
)
kable(tabla_muestra, digits = 2)
| grupo | n | porcentaje |
|---|---|---|
| No fumadora | 168 | 57.53 |
| Fumadora | 124 | 42.47 |
En esta sección se calcularán los estimadores a partir de la muestra seleccionada.
El parámetro de interés es:
\[ p=P(\text{madre fumadora}) \]
Su estimador es la proporción muestral:
\[ \widehat p=\frac{x}{n} \]
Donde:
n <- nrow(muestra)
x <- sum(muestra$smoke == 1)
p_estimado <- mean(muestra$smoke)
cat("Madres fumadoras:", x, "\n")
## Madres fumadoras: 124
cat("Tamaño de muestra:", n, "\n")
## Tamaño de muestra: 292
cat("Proporción estimada:", round(p_estimado, 4), "\n")
## Proporción estimada: 0.4247
cat("Porcentaje estimado:",
round(p_estimado * 100, 2), "%")
## Porcentaje estimado: 42.47 %
Se utilizará el error estándar con corrección para población finita:
\[ EE(\widehat p)= \sqrt{\frac{N-n}{N}\frac{s_X^2}{n}} \]
Donde \(s_X^2\) es la varianza muestral de la variable indicadora.
EE_p <- sqrt(
((N - n) / N) *
var(muestra$smoke) / n
)
LI_p <- max(0, p_estimado - Z * EE_p)
LS_p <- min(1, p_estimado + Z * EE_p)
data.frame(
Estimacion = p_estimado,
Error_estandar = EE_p,
Limite_inferior = LI_p,
Limite_superior = LS_p
)
El parámetro es la media de semanas de gestación:
\[ \mu=E(X) \]
El estimador es:
\[ \overline X=\frac{1}{n}\sum_{i=1}^{n}X_i \]
media_estimada <- mean(muestra$gestation_semanas)
cat("Media estimada de gestación:",
round(media_estimada, 4), "semanas")
## Media estimada de gestación: 39.9936 semanas
\[ EE(\overline X)= \sqrt{\frac{N-n}{N}\frac{s^2}{n}} \]
EE_media <- sqrt(
((N - n) / N) *
var(muestra$gestation_semanas) / n
)
t_critico <- qt(0.975, df = n - 1)
LI_media <- media_estimada - t_critico * EE_media
LS_media <- media_estimada + t_critico * EE_media
data.frame(
Media_estimada = media_estimada,
Error_estandar = EE_media,
Limite_inferior = LI_media,
Limite_superior = LS_media
)
La varianza muestral corregida se calcula mediante:
\[ S^2= \frac{\sum_{i=1}^{n}(X_i-\overline X)^2}{n-1} \]
varianza_estimada <- var(muestra$gestation_semanas)
desviacion_estimada <- sd(muestra$gestation_semanas)
cat("Varianza estimada:",
round(varianza_estimada, 4), "\n")
## Varianza estimada: 5.4321
cat("Desviación estándar estimada:",
round(desviacion_estimada, 4))
## Desviación estándar estimada: 2.3307
tabla_estimadores <- data.frame(
Parametro = c(
"Proporción de madres fumadoras",
"Media de semanas de gestación",
"Varianza de semanas de gestación",
"Desviación estándar"
),
Estimacion = c(
p_estimado,
media_estimada,
varianza_estimada,
desviacion_estimada
)
)
kable(tabla_estimadores, digits = 4)
| Parametro | Estimacion |
|---|---|
| Proporción de madres fumadoras | 0.4247 |
| Media de semanas de gestación | 39.9936 |
| Varianza de semanas de gestación | 5.4321 |
| Desviación estándar | 2.3307 |
Se analizará si existen diferencias en la duración de la gestación entre los dos grupos.
comparacion <- muestra %>%
group_by(grupo) %>%
summarise(
n = n(),
media = mean(gestation_semanas),
mediana = median(gestation_semanas),
varianza = var(gestation_semanas),
desviacion = sd(gestation_semanas),
.groups = "drop"
)
kable(comparacion, digits = 3)
| grupo | n | media | mediana | varianza | desviacion |
|---|---|---|---|---|---|
| No fumadora | 168 | 40.117 | 40.143 | 5.166 | 2.273 |
| Fumadora | 124 | 39.826 | 40.000 | 5.788 | 2.406 |
ggplot(
muestra,
aes(x = grupo, y = gestation_semanas, fill = grupo)
) +
geom_boxplot(alpha = 0.8) +
labs(
title = "Semanas de gestación según consumo de cigarrillo",
x = "Condición de la madre",
y = "Semanas de gestación"
) +
theme_minimal() +
theme(legend.position = "none")
Se plantea:
\[ H_0:\mu_F-\mu_N=0 \]
\[ H_1:\mu_F-\mu_N\neq 0 \]
Donde:
prueba <- t.test(
gestation_semanas ~ grupo,
data = muestra,
conf.level = 0.95
)
prueba
##
## Welch Two Sample t-test
##
## data: gestation_semanas by grupo
## t = 1.0469, df = 256.46, p-value = 0.2961
## alternative hypothesis: true difference in means between group No fumadora and group Fumadora is not equal to 0
## 95 percent confidence interval:
## -0.2566584 0.8392785
## sample estimates:
## mean in group No fumadora mean in group Fumadora
## 40.11735 39.82604
La prueba permite evaluar si existe evidencia estadística de una diferencia entre las medias de los dos grupos.
Un resultado estadísticamente significativo no demuestra por sí mismo una relación causal entre fumar y la duración de la gestación.
Las propiedades de los estimadores se estudian mediante la teoría de la estimación y los supuestos del mecanismo de muestreo.
En esta actividad se considera el muestreo aleatorio simple sin reemplazo de una población finita de referencia.
Un estimador es insesgado cuando su valor esperado coincide con el parámetro que pretende estimar.
\[ E(\widehat{\theta})=\theta \]
El estimador es:
\[ \widehat p=\frac{1}{n}\sum_{i=1}^{n}X_i \]
Bajo muestreo aleatorio simple:
\[ E(\widehat p)=P \]
Por tanto, la proporción muestral es insesgada para la proporción de la población finita de referencia.
El estimador es:
\[ \overline X=\frac{1}{n}\sum_{i=1}^{n}X_i \]
Su esperanza bajo muestreo aleatorio simple es:
\[ E(\overline X)=\mu \]
Por tanto, la media muestral es insesgada para la media de la población finita de referencia.
La varianza muestral corregida se calcula con denominador \(n-1\).
Cuando la varianza poblacional finita se define como:
\[ S_N^2= \frac{\sum_{i=1}^{N}(X_i-\overline X_N)^2}{N-1} \]
Se cumple:
\[ E(S^2)=S_N^2 \]
Por tanto, la varianza muestral corregida es insesgada para esta definición de varianza poblacional.
Para comprender la diferencia entre parámetro y estimador, se calcularán los parámetros utilizando todos los registros válidos de la base.
Esta comparación es posible porque, en esta actividad, el conjunto de registros disponibles se utiliza como población finita de referencia.
p_referencia <- mean(datos$smoke)
media_referencia <- mean(datos$gestation_semanas)
varianza_referencia <-
sum(
(datos$gestation_semanas - media_referencia)^2
) / (N - 1)
comparacion_estimaciones <- data.frame(
Parametro = c(
"Proporción",
"Media",
"Varianza"
),
Valor_referencia = c(
p_referencia,
media_referencia,
varianza_referencia
),
Estimacion_muestral = c(
p_estimado,
media_estimada,
varianza_estimada
)
)
comparacion_estimaciones$Diferencia <-
comparacion_estimaciones$Estimacion_muestral -
comparacion_estimaciones$Valor_referencia
kable(comparacion_estimaciones, digits = 4)
| Parametro | Valor_referencia | Estimacion_muestral | Diferencia |
|---|---|---|---|
| Proporción | 0.3957 | 0.4247 | 0.0289 |
| Media | 39.9019 | 39.9936 | 0.0917 |
| Varianza | 5.2642 | 5.4321 | 0.1679 |
Interpretación:
Si la estimación muestral no coincide exactamente con el parámetro de referencia, existe un error de muestreo.
Esto no significa que el estimador sea sesgado.
La insesgadez se refiere al promedio de las estimaciones que se obtendrían al considerar todas las muestras posibles del mismo tamaño bajo el diseño de muestreo establecido.
Un estimador es consistente si converge en probabilidad al parámetro verdadero cuando el tamaño de muestra aumenta.
\[ \widehat{\theta}_n \xrightarrow{P}\theta \]
Para el muestreo aleatorio simple sin reemplazo, las varianzas de los estimadores de la media y de la proporción disminuyen conforme aumenta el tamaño de la muestra.
Para la media:
\[ Var(\overline X)= \left(1-\frac{n}{N}\right)\frac{S_N^2}{n} \]
Para la proporción:
\[ Var(\widehat p)= \left(1-\frac{n}{N}\right) \frac{S_X^2}{n} \]
Se utilizarán estas expresiones para comparar el error estándar teórico de diferentes tamaños muestrales.
n1 <- 30
n2 <- 100
n3 <- 300
Sx2 <- N / (N - 1) *
p_referencia * (1 - p_referencia)
EE_p_30 <- sqrt((1 - n1/N) * Sx2/n1)
EE_p_100 <- sqrt((1 - n2/N) * Sx2/n2)
EE_p_300 <- sqrt((1 - n3/N) * Sx2/n3)
EE_m_30 <- sqrt((1 - n1/N) *
varianza_referencia/n1)
EE_m_100 <- sqrt((1 - n2/N) *
varianza_referencia/n2)
EE_m_300 <- sqrt((1 - n3/N) *
varianza_referencia/n3)
tabla_consistencia <- data.frame(
Tamano_muestra = c(30, 100, 300),
EE_proporcion = c(
EE_p_30,
EE_p_100,
EE_p_300
),
EE_media = c(
EE_m_30,
EE_m_100,
EE_m_300
)
)
kable(tabla_consistencia, digits = 5)
| Tamano_muestra | EE_proporcion | EE_media |
|---|---|---|
| 30 | 0.08820 | 0.41368 |
| 100 | 0.04686 | 0.21978 |
| 300 | 0.02450 | 0.11492 |
Interpretación:
Al aumentar el tamaño de muestra se espera que disminuya el error estándar de los estimadores.
Esto indica que las estimaciones presentan menor variabilidad muestral.
En este diseño finito, si se realiza un censo (\(n=N\)), el error de muestreo de la media y de la proporción es cero.
Un estimador es más eficiente que otro cuando, para estimar el mismo parámetro y bajo las mismas condiciones, presenta menor varianza.
Para la proporción:
\[ Var(\widehat p)= \left(1-\frac{n}{N}\right)\frac{S_X^2}{n} \]
Para la media:
\[ Var(\overline X)= \left(1-\frac{n}{N}\right)\frac{S_N^2}{n} \]
En este ejercicio se estudia la eficiencia a través de la varianza teórica de los estimadores bajo el diseño de muestreo establecido.
No se debe comparar directamente la varianza de la proporción con la varianza de la media, porque estiman parámetros diferentes.
Un estadístico es suficiente cuando contiene toda la información de la muestra relevante para estimar un parámetro, bajo un modelo probabilístico determinado.
Por ejemplo, en un modelo Bernoulli independiente, la suma de las observaciones:
\[ T=\sum_{i=1}^{n}X_i \]
es un estadístico suficiente para la probabilidad \(p\).
La suficiencia no se determina comparando la estimación con el parámetro poblacional.
En esta práctica no se afirmará que todos los estimadores calculados son suficientes bajo cualquier modelo. La propiedad depende de la distribución y del diseño probabilístico adoptados.
A partir de los resultados obtenidos, responda:
¿Cuál es la proporción estimada de madres fumadoras?
¿Cuál es la media estimada de semanas de gestación?
¿Cuál fue el tamaño de muestra calculado y cuáles fueron los criterios utilizados para determinarlo?
¿Por qué se utilizó una muestra piloto para calcular el tamaño de muestra de la media?
¿La estimación muestral coincide exactamente con el parámetro de referencia? Explique.
¿Por qué la diferencia entre el estimador y el parámetro no demuestra que el estimador sea sesgado?
¿Qué ocurre con el error estándar cuando aumenta el tamaño de muestra?
¿Qué significa que un estimador sea consistente?
¿Por qué no es posible conocer directamente la insesgadez de un estimador cuando se desconoce la población?
¿Qué diferencias se encontraron entre las semanas de gestación de madres fumadoras y no fumadoras?