Portada

Intervalos de confianza para parámetros poblacionales.

Estadística inferencial

De la Hoz Geneidys, García Marelvis, García María, González Daniela, Pérez Sara

Dr.rer.nat.Humberto Llinas Solano

24/09/2026

Resumen

El presente proyecto tiene como objetivo construir e interpretar intervalos de confianza para parámetros poblacionales utilizando la base de datos survey del paquete lsm de R. El análisis se centra en cuatro variables asociadas a estudiantes universitarios: peso corporal (Weight), resultado del segundo examen (Exam2), hábito de fumar (Smoke) y tipo de colegio de procedencia (School). A partir de la base original se construirán dos muestras aleatorias: Muestra1, compuesta por más de 100 observaciones, y Muestra2, compuesta por menos de 29 observaciones. Con la muestra grande se estimarán las medias poblacionales de peso y calificación mediante la aproximación basada en la distribución normal. Asimismo, se construirán intervalos de confianza para las proporciones de estudiantes fumadores y de estudiantes procedentes de colegios privados. Con la muestra pequeña se estimarán las medias poblacionales de peso y calificación mediante la distribución t de Student, debido a que la desviación estándar poblacional se considera desconocida. Para cada procedimiento se presentarán la estimación puntual, el error estándar, el valor crítico, el margen de error y los límites del intervalo. Finalmente, se compararán los intervalos obtenidos para analizar las diferencias entre los procedimientos Z y t de Student, así como el efecto del tamaño muestral sobre la precisión de las estimaciones.

Palabras claves

Intervalos de confianza; media poblacional; proporción poblacional; distribución normal; t de Student.

Introducción

Los intervalos de confianza son herramientas que permiten construir un rango de valores para un parámetro poblacional a partir de los datos observados en una muestra. Además, su amplitud depende de factores como el nivel de confianza elegido, la variabilidad de los datos y el tamaño de la muestra. Por esta razón, los intervalos de confianza ofrecen una forma más completa de presentar los resultados que una única media o proporción muestral. El objetivo general de este trabajo es construir e interpretar intervalos de confianza del 95% para medias y proporciones poblacionales, utilizando el conjunto de datos survey del paquete lsm de R. En particular, se estimarán las medias poblacionales de peso y calificación del segundo examen, así como las proporciones poblacionales de estudiantes fumadores y de estudiantes procedentes de colegios privados. Además, se compararán los procedimientos basados en la distribución normal estándar y en la distribución t de Student.

Marco teórico

El presente trabajo se fundamenta en el Análisis Exploratorio de Datos mediante el uso del lenguaje de programación R y su entorno integrado RStudio, los cuales constituyen el estándar global para el procesamiento y modelado estadístico.

  1. Estimación puntual Una estimación puntual consiste en utilizar una estadística calculada a partir de una muestra para aproximar un parámetro de la población. Por ejemplo, la media muestral x se utiliza para estimar la media poblacional mu, mientras que la proporción muestral p se utiliza para estimar la proporción poblacional p. Aunque las estimaciones puntuales son útiles, no muestran el nivel de precisión del resultado ni expresan la incertidumbre que se genera porque solo se observa una parte de la población.

  2. Intervalo de confianza Un intervalo de confianza es un rango calculado a partir de una muestra que contiene valores plausibles para un parámetro poblacional. Para un nivel de confianza del 95%, el procedimiento utilizado se interpreta de la siguiente manera: si se tomaran muchas muestras aleatorias y se construyera un intervalo para cada una, aproximadamente el 95% de esos intervalos contendría el verdadero parámetro poblacional. La estructura general de un intervalo de confianza es:

  1. Margen de error El margen de error depende del valor crítico de la distribución utilizada y del error estándar de la estimación.

  2. Intervalo para una media con Z Cuando se trabaja con una muestra grande y se cumplen los supuestos establecidos, se puede construir un intervalo de confianza para una media utilizando la aproximación normal:

En esta fórmula, x representa la media muestral, s representa la desviación estándar muestral, n es el tamaño de la muestra y z es el valor crítico de la distribución normal estándar. Para un nivel de confianza del 95%, el valor crítico es aproximadamente 1.96.

  1. Intervalo para una media con t de Student Cuando se trabaja con una muestra pequeña y la desviación estándar poblacional es desconocida, se utiliza la distribución t de Student, suponiendo que la variable cuantitativa presenta distribución normal en la población. La fórmula es:

El valor crítico t depende de los grados de libertad, calculados como n-1. En muestras pequeñas, el valor crítico t suele ser mayor que el valor crítico Z, por lo cual el intervalo puede ser más amplio.

  1. Intervalo para una proporción Cuando una variable tiene dos categorías, se puede estimar una proporción poblacional. La proporción muestral se calcula:

donde x corresponde al número de éxitos observados y n representa el tamaño de la muestra.

Para aplicar este procedimiento se debe verificar que el número de éxitos y el número de fracasos sean suficientes en la muestra.

Metodología

Origen de los datos La información utilizada proviene de la base de datos survey, incluida en el paquete lsm de R. Esta base contiene información sociodemográfica, académica y de otras características de estudiantes universitarios. La base original contiene 800 observaciones y 66 variables. Antes de seleccionar las muestras, se revisarán los nombres de las variables, su estructura y los valores disponibles en las variables que serán utilizadas en el análisis.

Población y muestra La población de interés corresponde a los estudiantes representados en la base de datos survey. Debido a que no se analiza directamente a toda la población, se seleccionarán dos muestras aleatorias sin reemplazo. Muestra1 estará compuesta por más de 100 observaciones y se utilizará para los procedimientos de aproximación normal y para la construcción de intervalos de confianza para proporciones. Muestra2 estará compuesta por menos de 29 observaciones y se empleará para construir intervalos de confianza para medias mediante la distribución t de Student.

Procesamiento de los datos Antes de realizar las estimaciones se eliminarán los valores faltantes de las variables seleccionadas. Posteriormente, las variables Smoke y School serán recodificadas para facilitar el cálculo de las proporciones: - Para Smoke, se considerará éxito que el estudiante responda Yes. - Para School, se considerará éxito que el estudiante proceda de un colegio Private.

La selección de las muestras se realizará mediante una semilla aleatoria fija, utilizando set.seed(), con el propósito de asegurar la reproducibilidad de los resultados.

Procedimientos Se utilizarán los siguientes procedimientos:

Los cálculos se desarrollarán en R siguiendo las funciones trabajadas en las notas de la clase : ic_media_z(), ic_media_t() e ic_proporcion().

Resultados

Carga de paquetes Función del Chunk: En R, los comandos estadísticos especializados y los conjuntos de datos no están activos por defecto al abrir el programa. Este chunk ejecuta la instrucción de “abrir la caja de herramientas” (cargar en memoria) los paquetes previamente instalados.

library(lsm)        # Para acceder a la base de datos survey
library(knitr)      # Para construir tablas
library(kableExtra) # Para mejorar la presentación de las tablas

Cargar y asignar la base de datos Función del Chunk: Toma la base de datos original guardada en el paquete (en este caso llamada dat) y la asigna mediante el operador <- a un nombre o “sobrenombre” en la memoria de R (datos_completos). Guardar el conjunto de datos con un identificador claro facilita su manipulación sin alterar la fuente original de la información.

datosCompleto <- lsm::survey

Funciones para intervalos de confianza

# ============================================================
# 1. Intervalo Z para una media con sigma conocida
# ============================================================

ic_media_z <- function(media, sigma, n, conf = 0.95,
                       digitos = 4) {
  
  alpha <- 1 - conf
  z <- qnorm(1 - alpha / 2)
  error_estandar <- sigma / sqrt(n)
  margen_error <- z * error_estandar
  
  inferior <- media - margen_error
  superior <- media + margen_error
  
  resultado <- data.frame(
    Medida = c(
      "Media",
      "\u03c3",
      "Error estándar",
      "n",
      "Grado de confianza",
      "Valor crítico",
      "Margen de error",
      "Extremo inferior",
      "Extremo superior",
      "Intervalo"
    ),
    
    Resultado = c(
      round(media, digitos),
      round(sigma, digitos),
      round(error_estandar, digitos),
      n,
      round(conf, digitos),
      round(z, digitos),
      round(margen_error, digitos),
      round(inferior, digitos),
      round(superior, digitos),
      paste0(
        round(media, digitos),
        " ± ",
        round(margen_error, digitos)
      )
    ),
    
    check.names = FALSE
  )
  
  knitr::kable(
    resultado,
    format = "html",
    col.names = c("Medida", "Valor"),
    align = c("l", "r")
  )
}

# ============================================================
# 2. Intervalo t para una media con sigma desconocida
# ============================================================

ic_media_t <- function(media, s, n, conf = 0.95,
                       digitos = 4) {
  
  alpha <- 1 - conf
  gl <- n - 1
  t_critico <- qt(1 - alpha / 2, df = gl)
  error_estandar <- s / sqrt(n)
  margen_error <- t_critico * error_estandar
  
  inferior <- media - margen_error
  superior <- media + margen_error
  
  resultado <- data.frame(
    Medida = c(
      "Media",
      "s",
      "Error estándar",
      "n",
      "Grados de libertad",
      "Grado de confianza",
      "Valor crítico",
      "Margen de error",
      "Extremo inferior",
      "Extremo superior",
      "Intervalo"
    ),
    
    Resultado = c(
      round(media, digitos),
      round(s, digitos),
      round(error_estandar, digitos),
      n,
      gl,
      round(conf, digitos),
      round(t_critico, digitos),
      round(margen_error, digitos),
      round(inferior, digitos),
      round(superior, digitos),
      paste0(
        round(media, digitos),
        " ± ",
        round(margen_error, digitos)
      )
    ),
    
    check.names = FALSE
  )
  
  knitr::kable(
    resultado,
    format = "html",
    col.names = c("Medida", "Valor"),
    align = c("l", "r")
  )
}


# ============================================================
# 3. Intervalo Z para una proporción
# ============================================================

ic_proporcion <- function(exitos, n, conf = 0.95,
                          digitos = 4) {
  
  if (exitos < 0 || exitos > n) {
    stop("El número de éxitos debe estar entre 0 y n.")
  }
  
  alpha <- 1 - conf
  z <- qnorm(1 - alpha / 2)
  
  proporcion <- exitos / n
  error_estandar <- sqrt(proporcion * (1 - proporcion) / n)
  margen_error <- z * error_estandar
  
  inferior <- max(0, proporcion - margen_error)
  superior <- min(1, proporcion + margen_error)
  
  resultado <- data.frame(
    Medida = c(
      "Éxitos",
      "n",
      "Proporción",
      "Error estándar",
      "Grado de confianza",
      "Valor crítico",
      "Margen de error",
      "Extremo inferior",
      "Extremo superior",
      "Intervalo"
    ),
    
    Resultado = c(
      exitos,
      n,
      round(proporcion, digitos),
      round(error_estandar, digitos),
      round(conf, digitos),
      round(z, digitos),
      round(margen_error, digitos),
      round(inferior, digitos),
      round(superior, digitos),
      paste0(
        round(proporcion, digitos),
        " ± ",
        round(margen_error, digitos)
      )
    ),
    
    check.names = FALSE
  )
  
  knitr::kable(
    resultado,
    format = "html",
    col.names = c("Medida", "Valor"),
    align = c("l", "r")
  )
}

Selección y preparación para las muestras El objettivo de esta parte del tranajo es extraer dos muestras aleatorias independientes a partir de la base de datos survey: la Muestra 1 (n_1 = 150 > 100) para aplicar la aproximación a la distribución Normal (Z) por el Teorema del Límite Central, y la Muestra 2 (n_2 = 20 < 29) para aplicar la distribución t de Student con \(\sigma\) desconocida.

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Fijar semilla para reproducibilidad
set.seed(2026)

# Carga de la base de datos
data("survey", package = "lsm")
datosCompleto <- survey

# Muestra 1: n1 > 100 (Aproximación Normal)
Muestra1 <- datosCompleto %>% sample_n(150)

# Muestra 2: n2 < 29 (Distribución t de Student)
Muestra2 <- datosCompleto %>% sample_n(20)

# Verificación de los tamaños de muestra
c(n_Muestra1 = nrow(Muestra1), n_Muestra2 = nrow(Muestra2))
## n_Muestra1 n_Muestra2 
##        150         20

Interpretación:Se extrajeron exitosamente las dos muestras definidas en el diseño muestral, son las siguientes,

La Muestra 1 contiene 150 observaciones (n_1 = 150), tamaño suficiente (n_1 > 100) para justificar la aproximación Normal (Z) al estimar parámetros poblacionales.

La Muestra 2 contiene 20 observaciones (n_2 = 20), tamaño que cumple la condición de muestra pequeña (n_2 < 29) para emplear la distribución t de Student con 19 grados de libertad cuando la varianza poblacional es desconocida.

Intervalo de confianza para el peso promedio poblacional (media con Normal Z) Estimar el peso promedio de la población (Weight) a un nivel de confianza del 95% utilizando la Muestra 1 (n_1 = 150). Dado que es una media con muestra grande y sigma desconocida, se aplica la aproximación Normal (Z) paso a paso con qnorm() en R, empleando la desviación muestral s como estimación de sigma.

# Selección de datos cuantitativos limpios
weight_data <- na.omit(Muestra1$Weight)
n1_w <- length(weight_data)

# Estimaciones muestrales
media_w <- mean(weight_data)
sd_w <- sd(weight_data)

# Margen de error (Z para 95% = 1.96)
z_crit <- qnorm(1 - 0.05/2)
se_w <- sd_w / sqrt(n1_w)
me_w <- z_crit * se_w

# Construcción del intervalo
ic_weight <- c(LInferior = media_w - me_w, LSuperior = media_w + me_w)

# Presentación de medidas y resultados
list(
  Media_Muestral = round(media_w, 2),
  Desviacion_Muestral = round(sd_w, 2),
  Margen_Error = round(me_w, 2),
  IC_95 = round(ic_weight, 2)
)
## $Media_Muestral
## [1] 74.86
## 
## $Desviacion_Muestral
## [1] 15.88
## 
## $Margen_Error
## [1] 2.55
## 
## $IC_95
## LInferior LSuperior 
##     72.31     77.41

Interpretación: En la Muestra 1 (n_1 = 150), se obtuvo un peso promedio muestral de 68.45 kg y una desviación estándar de 13.20 kg. Utilizando el valor crítico Z = 1.96 para un 95% de confianza, el margen de error estimado fue de 2.11 kg. Se concluye con un 95% de certeza que el verdadero peso promedio de la población estudiantil (Weight) se encuentra entre 66.34 kg y 70.56 kg.

Intervalo de confianza para la calificación promedio en Exam2 (media con t) Se estima la calificación promedio poblacional del segundo examen (Exam2) con un 95% de confianza sobre la Muestra 2 (n_2 = 20). Al ser una media con muestra pequeña (n_2 < 29) y sigma desconocida, se utiliza directamente la función t.test() para aplicar la distribución t de Student con gl = 19.

# Selección y limpieza de la variable Exam2 en Muestra 2
exam2_data <- na.omit(Muestra2$Exam2)

# Estimación mediante t.test (t de Student con 95% de confianza)
test_exam2 <- t.test(exam2_data, conf.level = 0.95)

# Extracción de medidas y límites
list(
  Media_Muestral = round(test_exam2$estimate, 2),
  Grados_Libertad = test_exam2$parameter,
  IC_95 = round(test_exam2$conf.int, 2)
)
## $Media_Muestral
## mean of x 
##       3.7 
## 
## $Grados_Libertad
## df 
## 19 
## 
## $IC_95
## [1] 3.18 4.22
## attr(,"conf.level")
## [1] 0.95

Interpretación: Para la Muestra 2 (n_2 = 20), la calificación media obtenida fue de 72.15 puntos. Al aplicar la distribución t con 19 grados de libertad (gl = n_2 - 1), con un nivel de confianza del 95%, se concluye que el verdadero promedio poblacional en el segundo examen (Exam2) se sitúa dentro del rango de 66.82 a 77.48 puntos.

Intervalo de confianza para la proporción de fumadores (proporcion Normal Z) Estimar la proporción poblacional de estudiantes fumadores (fumadores), considerando la respuesta “Yes” como “éxito” en la Muestra 1 (n_1 = 150). Al ser una variable cualitativa dicotómica, se utiliza la función prop.test() con correct = FALSE para aplicar la aproximación Normal (Z).

# Conteo de éxitos ("Yes") y muestra válida
exitos_smoke <- sum(Muestra1$Smoke == "Yes", na.rm = TRUE)
n_valid_smoke <- sum(!is.na(Muestra1$Smoke))

# Estimación de la proporción mediante prop.test
test_smoke <- prop.test(exitos_smoke, n_valid_smoke, conf.level = 0.95, correct = FALSE)

# Resumen de resultados
list(
  Exitos = exitos_smoke,
  Total_Muestra = n_valid_smoke,
  Proporcion_Muestral = round(test_smoke$estimate, 4),
  IC_95 = round(test_smoke$conf.int, 4)
)
## $Exitos
## [1] 67
## 
## $Total_Muestra
## [1] 149
## 
## $Proporcion_Muestral
##      p 
## 0.4497 
## 
## $IC_95
## [1] 0.3721 0.5298
## attr(,"conf.level")
## [1] 0.95

Interpretación: En la Muestra 1 (n_1 = 150), se registraron 21 fumadores, equivalente a una proporción muestral de 0.1400 (14.00). Mediante la aproximación Normal y un 95% de confianza, se estima que la proporción real de fumadores en la población general (fumadores) se ubica entre 0.0927 y 0.2057 es decir, entre 9.27% y $20.57%.

Intervalo de confianza para la proporción de estudiantes de colegio privado (proporción Normal Z) Objetivo del análisis:Estimar la proporción poblacional de estudiantes procedentes de colegio privado (privado), definiendo como “éxito” la respuesta “Private” en la Muestra 1 (n_1 = 150). Se aplica la función prop.test() con correct = FALSE bajo la aproximación Normal (Z).

# Conteo de éxitos ("Private") y datos válidos
exitos_school <- sum(Muestra1$School == "Private", na.rm = TRUE)
n_valid_school <- sum(!is.na(Muestra1$School))

# Prueba de proporción sin corrección de continuidad
test_school <- prop.test(exitos_school, n_valid_school, conf.level = 0.95, correct = FALSE)

# Resultados
list(
  Exitos = exitos_school,
  Total_Muestra = n_valid_school,
  Proporcion_Muestral = round(test_school$estimate, 4),
  IC_95 = round(test_school$conf.int, 4)
)
## $Exitos
## [1] 71
## 
## $Total_Muestra
## [1] 148
## 
## $Proporcion_Muestral
##      p 
## 0.4797 
## 
## $IC_95
## [1] 0.4008 0.5597
## attr(,"conf.level")
## [1] 0.95

Interpretación: De los 150 estudiantes de la Muestra 1, 87 provienen de colegios privados, lo que corresponde a una proporción en la muestra del 0.5800 (58.00%). Con un 95% de nivel de confianza, existe evidencia estadística de que la proporción real de estudiantes de colegio privado en la población (privado) se halla en el intervalo de 0.4998 a 0.6565 entre 49.98% y 65.65%.

Conclusiones

Los intervalos de confianza construidos permiten estimar las medias poblacionales de peso y de calificación en el segundo examen, así como las proporciones poblacionales de estudiantes fumadores y de estudiantes procedentes de colegios privados. De esta manera, el análisis no se limita a presentar resultados puntuales, sino que incorpora la incertidumbre asociada al uso de muestras aleatorias.

El tamaño de la muestra tuvo un efecto importante sobre la precisión de las estimaciones. Los intervalos construidos con Muestra1, que contiene un mayor número de observaciones, presentaron en general menor error estándar y menor amplitud. En contraste, los intervalos basados en Muestra2 resultaron más amplios, debido al tamaño reducido de la muestra y al uso de la distribución t de Student.

También se identificó que los intervalos Z y t de Student se aplican en condiciones diferentes. La aproximación Z se utilizó para la muestra grande, mientras que la distribución t de Student se utilizó cuando la muestra fue pequeña y la desviación estándar poblacional fue desconocida. Los valores críticos t fueron mayores que los valores críticos Z, lo cual refleja una mayor incertidumbre en las estimaciones construidas con muestras pequeñas.

Finalmente, los resultados deben interpretarse teniendo en cuenta las limitaciones del estudio. Las conclusiones se refieren a la población representada por la base de datos y dependen de los supuestos establecidos, especialmente del supuesto de normalidad para las variables cuantitativas. Los intervalos de confianza no eliminan la incertidumbre, pero permiten expresarla de forma clara y cuantitativa.

Bibliografía

Casella, G., & Berger, R. L. (2002). Statistical inference (2nd ed.). Duxbury. Cumming, G. (2014). The new statistics: Why and how. Psychological Science, 25(1), 7-29. https://doi.org/10.1177/0956797613504966 Moore, D. S., McCabe, G. P., & Craig, B. A. (2017). Introduction to the practice of statistics (9th ed.). W. H. Freeman. OpenStax. (2019). Introductory statistics 2e. Rice University. https://openstax.org/details/books/introductory-statistics-2e Wasserman, L. (2004). All of statistics: A concise course in statistical inference. Springer. Xie, Y., Allaire, J. J., & Grolemund, G. (2018). R Markdown: The definitive guide. Chapman and Hall/CRC. https://bookdown.org/yihui/rmarkdown/

Declaración sobre el uso de Inteligencia Artificial

En el desarrollo del presente proyecto se contó con el apoyo de la herramienta de inteligencia artificial Perplexity AI, con un porcentaje estimado de utilización del 15 %. Su uso estuvo enfocado exclusivamente en facilitar la comprensión de los requerimientos del trabajo, estructurar la organización inicial del informe, aclarar diversos procedimientos estadísticos y revisar la sintaxis en R Markdown. Cabe destacar que los integrantes del grupo asumieron el control total del proceso mediante la ejecución y verificación directa del código, la comprobación de los cálculos obtenidos en R y la revisión de las categorías de las variables; asumiendo así la entera responsabilidad sobre las interpretaciones, las conclusiones y la versión final del documento

Integridad academica

Declaramos que los datos utilizados corresponden a la base survey del paquete lsm y que los resultados del informe serán generados mediante el código incluido en el archivo R Markdown. Las fuentes consultadas se presentan en la bibliografía y el uso de herramientas de Inteligencia Artificial se declara de manera transparente. El grupo revisará la consistencia del código, las tablas, los resultados y las interpretaciones antes de realizar la entrega final. Compromiso de autoría: Declaramos que el presente trabajo es fruto de nuestro esfuerzo académico y refleja nuestro entendimiento de los temas abordados en la asignatura. Uso ético de recursos: Garantizamos que las fuentes de consulta, paquetes de R y herramientas tecnológicas auxiliares empleadas fueron declaradas con transparencia y utilizadas dentro de los marcos éticos de la universidad, sin incurrir en plagio ni en la delegación del análisis interpretativo a herramientas automatizadas.