Estimación por Intervalos de Confianza en la Base de Datos Survey

Proyecto 2 — Intervalos de Confianza

Curso: Estadística Inferencial

Grupo: 6

Integrantes: - Valeria Ortiz - Laura Guevara - Maria Angel Gutierrez - Angie Serrano Olivo

Profesor: Humberto Llinás

Fecha de entrega: 25 de septiembre de 2026

RESUMEN

Este proyecto usa la base de datos survey del paquete lsm de R para aplicar intervalos de confianza a distintas variables de una encuesta a estudiantes. Se tomaron dos muestras aleatorias (120 y 24 datos, con semilla fija) y se calcularon intervalos para la media de Age y BMI, para la diferencia de medias de BMI entre los dos grupos de Like (comparando los métodos Z, t con varianzas iguales y Welch), para las proporciones de Law y MotherCHD, para la diferencia de proporciones de Law entre grupos, y para la razón de varianzas de BMI. Con un 95% de confianza, ninguno de los intervalos de diferencia (BMI: entre -2.85 y 1.56; Law: entre -0.20 y 0.16) excluyó el cero, y el intervalo de la razón de varianzas (0.68 a 1.89) incluyó el 1. El ejercicio muestra que no hay diferencias significativas entre los grupos de Like en BMI ni en la proporción de Law, y que el supuesto de varianzas iguales usado en el método combinado estaba justificado.

PALABRAS CLAVE

INTRODUCCIÓN

Contexto del problema

En los estudios con estudiantes universitarios es habitual recolectar variables de tipo demográfico, físico y de opinión —como la edad, el índice de masa corporal (BMI), la actitud frente a leyes de regulación (Law), antecedentes familiares de enfermedad coronaria (MotherCHD) o preferencias personales (Like)— con el fin de describir a una población y, sobre todo, de tomar decisiones respecto a ella sin tener que censarla por completo. En la práctica casi nunca se cuenta con la información de todos los individuos de interés, sino únicamente con una muestra, por lo que surge la necesidad de contar con procedimientos que permitan pasar de lo observado en esa muestra a una afirmación razonable sobre la población de la que proviene. Este proyecto aborda precisamente ese problema utilizando la base de datos survey del paquete lsm de R, a partir de la cual se extraen dos muestras aleatorias de distinto tamaño para estudiar el comportamiento de los intervalos de confianza en variables cuantitativas (Age, BMI) y categóricas (Law, MotherCHD), tanto de forma individual como comparando dos grupos definidos por la variable Like.

Antecedentes

La construcción de intervalos de confianza es un tema central en la estadística inferencial y cuenta con amplio respaldo en la literatura. Walpole et al. (2012) explican cómo, a partir del error estándar de un estimador, es posible construir un rango de valores plausibles para un parámetro poblacional con un nivel de confianza dado. Montgomery y Runger (2018) complementan esta idea al mostrar su aplicación práctica en medias, proporciones y razones de varianza, resaltando la importancia de validar los supuestos antes de elegir el método.

Cuando la varianza poblacional se desconoce, se recurre a la distribución t en lugar de la Z. Para el caso de dos muestras con varianzas posiblemente distintas, Welch (1947) propuso un ajuste en los grados de libertad, apoyado en la aproximación desarrollada por Satterthwaite (1946), que sigue siendo la base del método conocido como corrección de Welch-Satterthwaite. Por su parte, dado que una de las variables del estudio es el BMI, se tomó como referencia el informe técnico de la OMS (1995), que estableció los criterios internacionales para interpretar esta variable.

Estas fuentes muestran que la elección entre los métodos Z, t (varianzas iguales) o Welch depende de supuestos que deben verificarse y no asumirse, lo cual justifica el uso del intervalo para la razón de varianzas como paso previo en este trabajo.

Importancia del estudio

La comprensión de la forma en que se construyen e interpretan los intervalos de confianza es clave porque los intervalos de confianza, a diferencia de una simple estimación puntual, establecen la incertidumbre asociada al proceso de muestreo. Un valor puntual (la media muestral del BMI, por ejemplo) no dice nada acerca de la confianza en esa estimación, mientras que el intervalo de confianza sí permite extraer esa información gracias a la amplitud del intervalo. Comparar procedimientos (Z frente a t, varianzas iguales frente a Welch) y tamaños de muestras (120 frente a 24 observaciones) permite poner de manifiesto, con datos reales, principios teóricos que de otra manera quedarían en el plano de la abstracción: el efecto del tamaño de muestra en la precisión, la importancia de comprobar la condición de homogeneidad de varianzas antes de operar con la comparación de dos grupos, y las consecuencias prácticas de aplicar un método no adecuado al contexto de los datos.

Objetivo general

Ejecutar y comparar diferentes métodos de estimación por intervalos de confianza (Z, t de Student con varianzas similares, t de Welch y F) sobre variables cuantitativas y categóricas de la base de datos survey, con el objetivo de estimar parámetros poblacionales de interés —medias, proporciones, diferencias entre grupos y razón de varianzas— y de estudiar cómo el tamaño muestral y las hipótesis distribucionales condicionan la precisión y la interpretación de esos intervalos.

MARCO TEÓRICO

A lo largo del proyecto se combinan varios conceptos de estimación por intervalos que conviene precisar en función de cómo se usaron en el análisis, más allá de su definición formal.

METODOLOGÍA

Se usó la base survey del paquete lsm, seleccionando las variables Age, BMI, Law, MotherCHD y Like (esta última para dividir en dos grupos). Se eliminaron los datos faltantes y se generaron dos muestras aleatorias con set.seed(2026): una de 120 observaciones (60 por grupo) y otra de 24 (12 por grupo), esta última para ver cómo se comportan los intervalos con muestras pequeñas.Con esas muestras se calcularon:

Todo se hizo en R con los paquetes lsm, knitr y kableExtra, con un nivel de confianza del [95%, ajustar según lo usado].

Carga de paquetes

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

Interpretación.

Se cargaron las librerías lsm, knitr y kableExtra, las cuales permiten acceder a la base de datos survey y generar tablas con una mejor presentación a lo largo del documento.

Carga de la base de datos survey y verificación de sus dimensiones

survey <- lsm::survey

n_observaciones <- nrow(survey)
n_variables     <- ncol(survey)

n_observaciones
## [1] 800
n_variables
## [1] 66

Interpretación.

Se cargó la base de datos survey del paquete lsm y se verificó su tamaño mediante el número de observaciones y variables. Esta información permite conocer las dimensiones de la base antes de iniciar el análisis.

Selección de variables y definición de su uso en el análisis

kable(
  data.frame(
    N = seq_len(n_variables),
    Variable = names(survey)
  ),
  caption = "Tabla 1. Nombres de las variables de la base de datos survey"
)
Tabla 1. Nombres de las variables de la base de datos survey
N Variable
1 Observation
2 ID
3 Gender
4 Like
5 Age
6 Smoke
7 Height
8 Weight
9 BMI
10 School
11 SES
12 Enrollment
13 Score
14 MotherHeight
15 MotherAge
16 MotherCHD
17 FatherHeight
18 FatherAge
19 FatherCHD
20 Status
21 SemAcum
22 Exam1
23 Exam2
24 Exam3
25 Exam4
26 ExamAcum
27 Definitive
28 Expense
29 Income
30 Gas
31 Course
32 Law
33 Economic
34 Race
35 Region
36 EMO1
37 EMO2
38 EMO3
39 EMO4
40 EMO5
41 GOAL1
42 GOAL2
43 GOAL3
44 Pre_STAT1
45 Pre_STAT2
46 Pre_STAT3
47 Pre_STAT4
48 Post_STAT1
49 Post_STAT2
50 Post_STAT3
51 Post_STAT4
52 Pre_IDARE1
53 Pre_IDARE2
54 Pre_IDARE3
55 Pre_IDARE4
56 Pre_IDARE5
57 Post_IDARE1
58 Post_IDARE2
59 Post_IDARE3
60 Post_IDARE4
61 Post_IDARE5
62 PSICO1
63 PSICO2
64 PSICO3
65 PSICO4
66 PSICO5
kable(
  data.frame(
    Variable = c("Age", "BMI", "Law", "MotherCHD", "Like"),
    Tipo = c("Cuantitativa", "Cuantitativa",
             "Dicotómica", "Dicotómica",
             "Categórica (dos niveles)"),
    Uso = c("Intervalo para la media poblacional",
            "Intervalo para la media poblacional",
            "Intervalo para una proporción poblacional",
            "Intervalo para una proporción poblacional",
            "Definición de los dos grupos a comparar")
  ),
  caption = "Tabla 2. Variables seleccionadas y uso previsto"
)
Tabla 2. Variables seleccionadas y uso previsto
Variable Tipo Uso
Age Cuantitativa Intervalo para la media poblacional
BMI Cuantitativa Intervalo para la media poblacional
Law Dicotómica Intervalo para una proporción poblacional
MotherCHD Dicotómica Intervalo para una proporción poblacional
Like Categórica (dos niveles) Definición de los dos grupos a comparar

Interpretación.

Se identificaron las variables que serán utilizadas durante el proyecto (Age, BMI, Law, MotherCHD y Like) y se especificó el tipo de cada una junto con el procedimiento estadístico en el que será empleada.

Exploración de las frecuencias de las variables categóricas

table(survey$Law)
## 
##           Agree In disagreement 
##             418             380
table(survey$MotherCHD)
## 
##   0   1 
## 411 387
table(survey$Like)
## 
## Network      TV 
##     390     408

Interpretación.

Se obtuvieron las tablas de frecuencia de las variables Law, MotherCHD y Like, con el fin de conocer la distribución de sus categorías antes de seleccionar las muestras y realizar las estimaciones.

Selección de variables de interés y eliminación de valores perdidos

base <- survey[, c("Age", "BMI", "Law", "MotherCHD", "Like")]
base <- na.omit(base)

niveles_like <- levels(factor(base$Like))
grupo1 <- niveles_like[1]
grupo2 <- niveles_like[2]

grupo1
## [1] "Network"
grupo2
## [1] "TV"

Interpretación.

Se construyó una nueva base de datos únicamente con las variables necesarias para el análisis (Age, BMI, Law, MotherCHD y Like). Posteriormente se eliminaron las observaciones con valores faltantes utilizando na.omit() y se identificaron los dos niveles de la variable Like, que servirán para formar los grupos de comparación.

Selección aleatoria de Muestra1 con observaciones balanceadas por grupo

set.seed(2026)

indices_g1 <- sample(which(base$Like == grupo1), 60)
indices_g2 <- sample(which(base$Like == grupo2), 60)

Muestra1 <- base[c(indices_g1, indices_g2), ]

nrow(Muestra1)
## [1] 120
table(Muestra1$Like)
## 
## Network      TV 
##      60      60

Interpretación.

Mediante una semilla (set.seed(2026)) se seleccionaron aleatoriamente 60 observaciones de cada nivel de la variable Like, conformando una muestra de 120 individuos. Finalmente, se verificó el tamaño de la muestra y la cantidad de observaciones por grupo.

Selección aleatoria de Muestra2 con observaciones balanceadas por grupo

set.seed(2026)

indices_p1 <- sample(which(base$Like == grupo1), 12)
indices_p2 <- sample(which(base$Like == grupo2), 12)

Muestra2 <- base[c(indices_p1, indices_p2), ]

nrow(Muestra2)
## [1] 24
table(Muestra2$Like)
## 
## Network      TV 
##      12      12

Interpretación.

Mediante una semilla (set.seed(2026)) se seleccionaron aleatoriamente 12 observaciones de cada nivel de la variable Like, conformando una muestra de 24 individuos. Finalmente, se verificó el tamaño de la muestra y la cantidad de observaciones por grupo.

Extracción de la variable BMI para cada grupo y muestra

bmi_g1_m1 <- Muestra1$BMI[Muestra1$Like == grupo1]
bmi_g2_m1 <- Muestra1$BMI[Muestra1$Like == grupo2]

bmi_g1_m2 <- Muestra2$BMI[Muestra2$Like == grupo1]
bmi_g2_m2 <- Muestra2$BMI[Muestra2$Like == grupo2]

Interpretación.

Se extrajeron los valores de la variable BMI para cada grupo definido por la variable Like en Muestra1 y Muestra2. Esta separación facilita el cálculo de las medias, desviaciones estándar e intervalos de confianza desarrollados en los procedimientos posteriores.

Cálculo del intervalo de confianza Z para la diferencia de medias de BMI en Muestra1

alpha <- 0.05
z_critico <- qnorm(1 - alpha / 2)

media1_41 <- mean(bmi_g1_m1)
media2_41 <- mean(bmi_g2_m1)
sigma1_41 <- sd(bmi_g1_m1)
sigma2_41 <- sd(bmi_g2_m1)
n1_41 <- length(bmi_g1_m1)
n2_41 <- length(bmi_g2_m1)

diferencia_41 <- media1_41 - media2_41
error_estandar_41 <- sqrt(sigma1_41^2 / n1_41 + sigma2_41^2 / n2_41)
margen_error_41 <- z_critico * error_estandar_41

inferior_41 <- diferencia_41 - margen_error_41
superior_41 <- diferencia_41 + margen_error_41

kable(
  data.frame(
    Medida = c("Media (Grupo 1)", "Media (Grupo 2)",
               "Desviación (Grupo 1)", "Desviación (Grupo 2)",
               "n (Grupo 1)", "n (Grupo 2)",
               "Diferencia estimada", "Error estándar",
               "Valor crítico Z", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(media1_41, media2_41, sigma1_41, sigma2_41,
                     n1_41, n2_41, diferencia_41, error_estandar_41,
                     z_critico, margen_error_41, inferior_41, superior_41), 4)
  ),
  caption = "Tabla 3. Intervalo de confianza para la diferencia de medias de BMI (Muestra1, aproximación normal)"
)
Tabla 3. Intervalo de confianza para la diferencia de medias de BMI (Muestra1, aproximación normal)
Medida Valor
Media (Grupo 1) 25.3728
Media (Grupo 2) 26.0196
Desviación (Grupo 1) 6.3407
Desviación (Grupo 2) 5.9599
n (Grupo 1) 60.0000
n (Grupo 2) 60.0000
Diferencia estimada -0.6468
Error estándar 1.1234
Valor crítico Z 1.9600
Margen de error 2.2019
Extremo inferior -2.8487
Extremo superior 1.5551

Interpretación.

Se calcularon las medias, desviaciones estándar y tamaños muestrales del BMI para los dos grupos definidos por la variable Like en Muestra1. Posteriormente, se estimó la diferencia de medias utilizando una aproximación normal (Z), obteniendo el error estándar, el margen de error y los límites inferior y superior del intervalo de confianza. La Tabla 3 resume cada uno de estos cálculos y permite evaluar el rango plausible para la diferencia de medias poblacional.

Intervalo de confianza t para la diferencia de medias de BMI asumiendo varianzas iguales

media1_42 <- mean(bmi_g1_m2)
media2_42 <- mean(bmi_g2_m2)
s1_42 <- sd(bmi_g1_m2)
s2_42 <- sd(bmi_g2_m2)
n1_42 <- length(bmi_g1_m2)
n2_42 <- length(bmi_g2_m2)

diferencia_42 <- media1_42 - media2_42
gl_42 <- n1_42 + n2_42 - 2

varianza_combinada_42 <- ((n1_42 - 1) * s1_42^2 + (n2_42 - 1) * s2_42^2) / gl_42
s_combinada_42 <- sqrt(varianza_combinada_42)
error_estandar_42 <- s_combinada_42 * sqrt(1 / n1_42 + 1 / n2_42)

t_critico_42 <- qt(1 - alpha / 2, df = gl_42)
margen_error_42 <- t_critico_42 * error_estandar_42

inferior_42 <- diferencia_42 - margen_error_42
superior_42 <- diferencia_42 + margen_error_42

kable(
  data.frame(
    Medida = c("Media (Grupo 1)", "Media (Grupo 2)",
               "s (Grupo 1)", "s (Grupo 2)",
               "n (Grupo 1)", "n (Grupo 2)",
               "Diferencia estimada", "Grados de libertad",
               "Desviación combinada", "Error estándar",
               "Valor crítico t", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(media1_42, media2_42, s1_42, s2_42,
                     n1_42, n2_42, diferencia_42, gl_42,
                     s_combinada_42, error_estandar_42,
                     t_critico_42, margen_error_42,
                     inferior_42, superior_42), 4)
  ),
  caption = "Tabla 4. Intervalo de confianza para la diferencia de medias de BMI (Muestra2, varianzas iguales)"
)
Tabla 4. Intervalo de confianza para la diferencia de medias de BMI (Muestra2, varianzas iguales)
Medida Valor
Media (Grupo 1) 25.2192
Media (Grupo 2) 24.8459
s (Grupo 1) 8.0161
s (Grupo 2) 5.5010
n (Grupo 1) 12.0000
n (Grupo 2) 12.0000
Diferencia estimada 0.3733
Grados de libertad 22.0000
Desviación combinada 6.8746
Error estándar 2.8065
Valor crítico t 2.0739
Margen de error 5.8204
Extremo inferior -5.4471
Extremo superior 6.1937

Interpretación.

En este procedimiento se calcularon las medias y desviaciones estándar del BMI en ambos grupos de Muestra2. Luego se estimó la varianza combinada, el error estándar y el valor crítico de la distribución t para construir el intervalo de confianza bajo el supuesto de varianzas iguales. La Tabla 4 presenta cada uno de estos resultados.

Intervalo de confianza de Welch para la diferencia de medias de BMI con varianzas diferentes

media1_43 <- mean(bmi_g1_m2)
media2_43 <- mean(bmi_g2_m2)
s1_43 <- sd(bmi_g1_m2)
s2_43 <- sd(bmi_g2_m2)
n1_43 <- length(bmi_g1_m2)
n2_43 <- length(bmi_g2_m2)

diferencia_43 <- media1_43 - media2_43

termino1_43 <- s1_43^2 / n1_43
termino2_43 <- s2_43^2 / n2_43

error_estandar_43 <- sqrt(termino1_43 + termino2_43)

gl_43 <- (termino1_43 + termino2_43)^2 /
  (termino1_43^2 / (n1_43 - 1) + termino2_43^2 / (n2_43 - 1))

t_critico_43 <- qt(1 - alpha / 2, df = gl_43)
margen_error_43 <- t_critico_43 * error_estandar_43

inferior_43 <- diferencia_43 - margen_error_43
superior_43 <- diferencia_43 + margen_error_43

kable(
  data.frame(
    Medida = c("Media (Grupo 1)", "Media (Grupo 2)",
               "s (Grupo 1)", "s (Grupo 2)",
               "n (Grupo 1)", "n (Grupo 2)",
               "Diferencia estimada", "Grados de libertad (Welch)",
               "Error estándar", "Valor crítico t",
               "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(media1_43, media2_43, s1_43, s2_43,
                     n1_43, n2_43, diferencia_43, gl_43,
                     error_estandar_43, t_critico_43,
                     margen_error_43, inferior_43, superior_43), 4)
  ),
  caption = "Tabla 5. Intervalo de confianza para la diferencia de medias de BMI (Muestra2, varianzas diferentes, Welch)"
)
Tabla 5. Intervalo de confianza para la diferencia de medias de BMI (Muestra2, varianzas diferentes, Welch)
Medida Valor
Media (Grupo 1) 25.2192
Media (Grupo 2) 24.8459
s (Grupo 1) 8.0161
s (Grupo 2) 5.5010
n (Grupo 1) 12.0000
n (Grupo 2) 12.0000
Diferencia estimada 0.3733
Grados de libertad (Welch) 19.4798
Error estándar 2.8065
Valor crítico t 2.0895
Margen de error 5.8644
Extremo inferior -5.4911
Extremo superior 6.2376

Interpretación.

Se estimó la diferencia de medias del BMI utilizando el método de Welch, el cual no requiere asumir igualdad de varianzas entre los grupos. Para ello se calcularon el error estándar, los grados de libertad mediante la aproximación de Welch-Satterthwaite y el intervalo de confianza correspondiente. Los resultados se presentan en la tabla.

Intervalo de confianza t para la media poblacional de Age

media_44 <- mean(Muestra2$Age)
s_44 <- sd(Muestra2$Age)
n_44 <- nrow(Muestra2)
gl_44 <- n_44 - 1

t_critico_44 <- qt(1 - alpha / 2, df = gl_44)
error_estandar_44 <- s_44 / sqrt(n_44)
margen_error_44 <- t_critico_44 * error_estandar_44

inferior_44 <- media_44 - margen_error_44
superior_44 <- media_44 + margen_error_44

kable(
  data.frame(
    Medida = c("Media", "s", "n", "Grados de libertad",
               "Valor crítico t", "Error estándar", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(media_44, s_44, n_44, gl_44,
                     t_critico_44, error_estandar_44, margen_error_44,
                     inferior_44, superior_44), 4)
  ),
  caption = "Tabla 6. Intervalo de confianza para la media de Age (Muestra2)"
)
Tabla 6. Intervalo de confianza para la media de Age (Muestra2)
Medida Valor
Media 17.7521
s 3.1598
n 24.0000
Grados de libertad 23.0000
Valor crítico t 2.0687
Error estándar 0.6450
Margen de error 1.3343
Extremo inferior 16.4178
Extremo superior 19.0863

Interpretación.

A partir de la variable Age en Muestra2 se calcularon la media, la desviación estándar y el tamaño de la muestra. Con estos valores se estimó el error estándar y el intervalo de confianza utilizando la distribución t de Student, cuyos resultados se presentan en la Tabla 6.

Intervalo de confianza Z para la proporción poblacional de Law

tabla_law <- table(Muestra1$Law)
tabla_law
## 
##           Agree In disagreement 
##              63              57
nivel_exito_law <- names(tabla_law)[2]
exitos_law <- as.numeric(tabla_law[nivel_exito_law])
n_45 <- nrow(Muestra1)

p_45 <- exitos_law / n_45
error_estandar_45 <- sqrt(p_45 * (1 - p_45) / n_45)
margen_error_45 <- z_critico * error_estandar_45

inferior_45 <- max(0, p_45 - margen_error_45)
superior_45 <- min(1, p_45 + margen_error_45)

kable(
  data.frame(
    Medida = c("Éxitos", "n", "Proporción", "Error estándar",
               "Valor crítico Z", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(exitos_law, n_45, p_45, error_estandar_45,
                     z_critico, margen_error_45, inferior_45, superior_45), 4)
  ),
  caption = "Tabla 7. Intervalo de confianza para la proporción de Law"
)
Tabla 7. Intervalo de confianza para la proporción de Law
Medida Valor
Éxitos 57.0000
n 120.0000
Proporción 0.4750
Error estándar 0.0456
Valor crítico Z 1.9600
Margen de error 0.0893
Extremo inferior 0.3857
Extremo superior 0.5643

Interpretación.

Se obtuvo la frecuencia de la variable Law, identificando el número de éxitos y la proporción muestral correspondiente. Posteriormente se calculó el error estándar, el margen de error y el intervalo de confianza mediante la aproximación normal (Z). Los resultados se resumen en la Tabla 7.

Intervalo de confianza Z para la proporción poblacional de MotherCHD

tabla_mchd <- table(Muestra1$MotherCHD)
tabla_mchd
## 
##  0  1 
## 68 52
nivel_exito_mchd <- names(tabla_mchd)[2]
exitos_mchd <- as.numeric(tabla_mchd[nivel_exito_mchd])
n_46 <- nrow(Muestra1)

p_46 <- exitos_mchd / n_46
error_estandar_46 <- sqrt(p_46 * (1 - p_46) / n_46)
margen_error_46 <- z_critico * error_estandar_46

inferior_46 <- max(0, p_46 - margen_error_46)
superior_46 <- min(1, p_46 + margen_error_46)

kable(
  data.frame(
    Medida = c("Éxitos", "n", "Proporción", "Error estándar",
               "Valor crítico Z", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(exitos_mchd, n_46, p_46, error_estandar_46,
                     z_critico, margen_error_46, inferior_46, superior_46), 4)
  ),
  caption = "Tabla 8. Intervalo de confianza para la proporción de MotherCHD"
)
Tabla 8. Intervalo de confianza para la proporción de MotherCHD
Medida Valor
Éxitos 52.0000
n 120.0000
Proporción 0.4333
Error estándar 0.0452
Valor crítico Z 1.9600
Margen de error 0.0887
Extremo inferior 0.3447
Extremo superior 0.5220

Interpretación.

Se calcularon la frecuencia de éxitos y la proporción observada para la variable MotherCHD en la muestra. A partir de estos valores se construyó un intervalo de confianza para la proporción poblacional utilizando la distribución normal. La Tabla 8 presenta los cálculos obtenidos.

Separación de Muestra1 según los niveles de la variable Like

# Subconjunto para cada nivel de la variable categórica "Like"
subgrupo1 <- Muestra1[Muestra1$Like == grupo1, ]
subgrupo2 <- Muestra1[Muestra1$Like == grupo2, ]

nrow(subgrupo1)
## [1] 60
nrow(subgrupo2)
## [1] 60

Interpretación.

La muestra fue dividida en dos subconjuntos de acuerdo con los niveles de la variable Like, verificando el número de observaciones presentes en cada grupo antes de realizar las comparaciones estadísticas posteriores.

Estadísticas descriptivas del BMI para cada grupo de Like

bmi_grupo1 <- subgrupo1$BMI
bmi_grupo2 <- subgrupo2$BMI

kable(
  data.frame(
    Grupo = c(grupo1, grupo2),
    n = c(length(bmi_grupo1), length(bmi_grupo2)),
    Media = round(c(mean(bmi_grupo1), mean(bmi_grupo2)), 4),
    Desviacion = round(c(sd(bmi_grupo1), sd(bmi_grupo2)), 4),
    Varianza = round(c(var(bmi_grupo1), var(bmi_grupo2)), 4)
  ),
  caption = "Tabla 9. Estadísticas descriptivas de BMI por grupo (Like)"
)
Tabla 9. Estadísticas descriptivas de BMI por grupo (Like)
Grupo n Media Desviacion Varianza
Network 60 25.3728 6.3407 40.2043
TV 60 26.0196 5.9599 35.5207

Interpretación.

Se calcularon el tamaño de la muestra, la media, la desviación estándar y la varianza del BMI para cada nivel de la variable Like. Estas estadísticas descriptivas permiten comparar el comportamiento inicial de la variable entre ambos grupos antes de construir los intervalos de confianza.

Cálculo de las proporciones de Law en cada grupo de Like

tabla_law_g1 <- table(subgrupo1$Law)
tabla_law_g2 <- table(subgrupo2$Law)

nivel_exito <- names(tabla_law_g1)[2]  # mismo nivel de "éxito" en ambos grupos

exitos_g1 <- as.numeric(tabla_law_g1[nivel_exito])
exitos_g2 <- as.numeric(tabla_law_g2[nivel_exito])

n_g1 <- nrow(subgrupo1)
n_g2 <- nrow(subgrupo2)

p_g1 <- exitos_g1 / n_g1
p_g2 <- exitos_g2 / n_g2

kable(
  data.frame(
    Grupo = c(grupo1, grupo2),
    Exitos = c(exitos_g1, exitos_g2),
    n = c(n_g1, n_g2),
    Proporcion = round(c(p_g1, p_g2), 4)
  ),
  caption = "Tabla 10. Proporciones de Law por grupo (Like)"
)
Tabla 10. Proporciones de Law por grupo (Like)
Grupo Exitos n Proporcion
Network 28 60 0.4667
TV 29 60 0.4833

Interpretación.

Se obtuvieron las frecuencias y proporciones de la variable Law en cada uno de los grupos definidos por Like. La Tabla 10 resume estas proporciones, las cuales servirán posteriormente para estimar el intervalo de confianza de la diferencia de proporciones.

Resumen de estadísticas descriptivas por grupo

resumen_grupos <- data.frame(
  Grupo = c(grupo1, grupo2),
  n = c(n_g1, n_g2),
  Media_BMI = round(c(mean(bmi_grupo1), mean(bmi_grupo2)), 4),
  Desviacion_BMI = round(c(sd(bmi_grupo1), sd(bmi_grupo2)), 4),
  Varianza_BMI = round(c(var(bmi_grupo1), var(bmi_grupo2)), 4),
  Proporcion_Law = round(c(p_g1, p_g2), 4)
)

kable(resumen_grupos, caption = "Tabla Z. Resumen de estadísticas por grupo")
Tabla Z. Resumen de estadísticas por grupo
Grupo n Media_BMI Desviacion_BMI Varianza_BMI Proporcion_Law
Network 60 25.3728 6.3407 40.2043 0.4667
TV 60 26.0196 5.9599 35.5207 0.4833

Interpretación.

Se consolidaron en una sola tabla el tamaño muestral, la media, la desviación estándar, la varianza del BMI y la proporción de Law para ambos grupos. Este resumen facilita la comparación de las características principales antes de realizar las inferencias.

Intervalo de confianza Z para la diferencia de medias de BMI entre los grupos

# Suponemos que las sigma poblacionales son conocidas y las aproximamos
# con las desviaciones muestrales (como en la Tabla 3 del punto anterior)
sigma1 <- sd(bmi_grupo1)
sigma2 <- sd(bmi_grupo2)

media1 <- mean(bmi_grupo1)
media2 <- mean(bmi_grupo2)

diferencia_z <- media1 - media2
error_estandar_z <- sqrt(sigma1^2 / n_g1 + sigma2^2 / n_g2)
margen_error_z <- z_critico * error_estandar_z

inferior_z <- diferencia_z - margen_error_z
superior_z <- diferencia_z + margen_error_z

kable(
  data.frame(
    Medida = c("Diferencia de medias", "Error estándar",
               "Valor crítico Z", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(diferencia_z, error_estandar_z,
                     z_critico, margen_error_z,
                     inferior_z, superior_z), 4)
  ),
  caption = "IC para la diferencia de medias de BMI (sigma conocida)"
)
IC para la diferencia de medias de BMI (sigma conocida)
Medida Valor
Diferencia de medias -0.6468
Error estándar 1.1234
Valor crítico Z 1.9600
Margen de error 2.2019
Extremo inferior -2.8487
Extremo superior 1.5551

Interpretación.

Utilizando las desviaciones estándar muestrales como aproximación de las desviaciones poblacionales, se estimó el intervalo de confianza para la diferencia de medias del BMI mediante la distribución normal (Z). Se calcularon el error estándar, el margen de error y los límites del intervalo, cuyos resultados se presentan en la tabla.

Intervalo de confianza t para la diferencia de medias de BMI con varianza combinada

s1 <- sd(bmi_grupo1)
s2 <- sd(bmi_grupo2)

gl_comb <- n_g1 + n_g2 - 2
varianza_combinada <- ((n_g1 - 1) * s1^2 + (n_g2 - 1) * s2^2) / gl_comb
s_combinada <- sqrt(varianza_combinada)

error_estandar_comb <- s_combinada * sqrt(1 / n_g1 + 1 / n_g2)
t_critico_comb <- qt(1 - alpha / 2, df = gl_comb)
margen_error_comb <- t_critico_comb * error_estandar_comb

diferencia_comb <- media1 - media2
inferior_comb <- diferencia_comb - margen_error_comb
superior_comb <- diferencia_comb + margen_error_comb

kable(
  data.frame(
    Medida = c("Diferencia de medias", "Grados de libertad",
               "Desviación combinada", "Error estándar",
               "Valor crítico t", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(diferencia_comb, gl_comb, s_combinada,
                     error_estandar_comb, t_critico_comb,
                     margen_error_comb, inferior_comb, superior_comb), 4)
  ),
  caption = "IC para la diferencia de medias de BMI (varianzas iguales)"
)
IC para la diferencia de medias de BMI (varianzas iguales)
Medida Valor
Diferencia de medias -0.6468
Grados de libertad 118.0000
Desviación combinada 6.1533
Error estándar 1.1234
Valor crítico t 1.9803
Margen de error 2.2247
Extremo inferior -2.8715
Extremo superior 1.5779

Interpretación.

Bajo el supuesto de igualdad de varianzas entre los grupos, se calculó la varianza combinada y el error estándar para estimar el intervalo de confianza de la diferencia de medias del BMI. También se obtuvieron los grados de libertad y el valor crítico de la distribución t.

Intervalo de confianza de Welch para la diferencia de medias de BMI

termino1 <- s1^2 / n_g1
termino2 <- s2^2 / n_g2

error_estandar_welch <- sqrt(termino1 + termino2)

gl_welch <- (termino1 + termino2)^2 /
  (termino1^2 / (n_g1 - 1) + termino2^2 / (n_g2 - 1))

t_critico_welch <- qt(1 - alpha / 2, df = gl_welch)
margen_error_welch <- t_critico_welch * error_estandar_welch

diferencia_welch <- media1 - media2
inferior_welch <- diferencia_welch - margen_error_welch
superior_welch <- diferencia_welch + margen_error_welch

kable(
  data.frame(
    Medida = c("Diferencia de medias", "Grados de libertad (Welch)",
               "Error estándar", "Valor crítico t",
               "Margen de error", "Extremo inferior", "Extremo superior"),
    Valor = round(c(diferencia_welch, gl_welch, error_estandar_welch,
                     t_critico_welch, margen_error_welch,
                     inferior_welch, superior_welch), 4)
  ),
  caption = "IC para la diferencia de medias de BMI (varianzas diferentes, Welch)"
)
IC para la diferencia de medias de BMI (varianzas diferentes, Welch)
Medida Valor
Diferencia de medias -0.6468
Grados de libertad (Welch) 117.5503
Error estándar 1.1234
Valor crítico t 1.9804
Margen de error 2.2248
Extremo inferior -2.8716
Extremo superior 1.5780

Interpretación.

Bajo el supuesto de igualdad de varianzas entre los grupos, se calculó la varianza combinada y el error estándar para estimar el intervalo de confianza de la diferencia de medias del BMI. También se obtuvieron los grados de libertad y el valor crítico de la distribución t.

Intervalo de confianza para la diferencia de proporciones de Law entre los grupos

diferencia_p <- p_g1 - p_g2
error_estandar_p <- sqrt(p_g1 * (1 - p_g1) / n_g1 + p_g2 * (1 - p_g2) / n_g2)
margen_error_p <- z_critico * error_estandar_p

inferior_p <- diferencia_p - margen_error_p
superior_p <- diferencia_p + margen_error_p

kable(
  data.frame(
    Medida = c("Proporción Grupo 1", "Proporción Grupo 2",
               "Diferencia de proporciones", "Error estándar",
               "Valor crítico Z", "Margen de error",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(p_g1, p_g2, diferencia_p, error_estandar_p,
                     z_critico, margen_error_p,
                     inferior_p, superior_p), 4)
  ),
  caption = "IC para la diferencia de proporciones (Law)"
)
IC para la diferencia de proporciones (Law)
Medida Valor
Proporción Grupo 1 0.4667
Proporción Grupo 2 0.4833
Diferencia de proporciones -0.0167
Error estándar 0.0912
Valor crítico Z 1.9600
Margen de error 0.1787
Extremo inferior -0.1953
Extremo superior 0.1620

Interpretación.

Se calcularon las proporciones de la variable Law en ambos grupos definidos por Like y, a partir de ellas, se estimó la diferencia de proporciones. Posteriormente se obtuvo el error estándar, el margen de error y el intervalo de confianza correspondiente utilizando la aproximación normal.

Intervalo de confianza para la razón de varianzas del BMI entre los grupos

var1 <- var(bmi_grupo1)
var2 <- var(bmi_grupo2)

razon_varianzas <- var1 / var2

gl_num <- n_g1 - 1
gl_den <- n_g2 - 1

f_inferior <- qf(alpha / 2, df1 = gl_num, df2 = gl_den)
f_superior <- qf(1 - alpha / 2, df1 = gl_num, df2 = gl_den)

inferior_f <- razon_varianzas / f_superior
superior_f <- razon_varianzas / f_inferior

kable(
  data.frame(
    Medida = c("Varianza Grupo 1", "Varianza Grupo 2",
               "Razón de varianzas (s1²/s2²)",
               "Grados de libertad numerador",
               "Grados de libertad denominador",
               "F inferior (tabla)", "F superior (tabla)",
               "Extremo inferior", "Extremo superior"),
    Valor = round(c(var1, var2, razon_varianzas,
                     gl_num, gl_den, f_inferior, f_superior,
                     inferior_f, superior_f), 4)
  ),
  caption = "IC para la razón de varianzas poblacionales de BMI"
)
IC para la razón de varianzas poblacionales de BMI
Medida Valor
Varianza Grupo 1 40.2043
Varianza Grupo 2 35.5207
Razón de varianzas (s1²/s2²) 1.1319
Grados de libertad numerador 59.0000
Grados de libertad denominador 59.0000
F inferior (tabla) 0.5973
F superior (tabla) 1.6741
Extremo inferior 0.6761
Extremo superior 1.8949

Interpretación.

Se calcularon las varianzas del BMI para ambos grupos y posteriormente se estimó su razón utilizando la distribución F. El intervalo de confianza obtenido permite evaluar si las varianzas poblacionales pueden considerarse iguales o diferentes, información útil para seleccionar el procedimiento más apropiado en la comparación de medias.

Preguntas de análisis

a. ¿Qué diferencias conceptuales y prácticas existen entre los intervalos construidos utilizando la distribución Z y aquellos construidos mediante la distribución t de Student?

La distribución t se usa cuando el tamaño de la muestra es menor a 30 (muestra pequeña), mientras que con muestras de más de 30 unidades experimentales se puede usar la aproximación normal (Z), ya que ahí la distribución muestral ya se comporta prácticamente como una normal. En la práctica esto se refleja en la calidad de los resultados: con Muestra2 (n=12 por grupo, menor a 30) tocó usar t, y el valor crítico fue más alto (2.07 con varianzas iguales), lo que se traduce en un margen de error mayor (5.82) y un intervalo más ancho. Con Muestra1 (n=60, mayor a 30) se pudo usar Z con su valor crítico fijo de 1.96, y el margen de error bajó a 2.20.

b. Compare la amplitud de los intervalos obtenidos con Muestra1 y Muestra2. ¿Qué efecto parece tener el tamaño de la muestra sobre la precisión de la estimación?

Con Muestra1 (n=60 por grupo) el margen de error del intervalo para la diferencia de medias de BMI fue de 2.20, mientras que con Muestra2 (n=12 por grupo) el margen subió a 5.82 (varianzas iguales) e incluso a 5.86 con Welch. Es decir, el intervalo de Muestra2 es casi tres veces más ancho que el de Muestra1. Esto confirma lo esperado: a menor tamaño de muestra, mayor es el error estándar y por tanto menor la precisión de la estimación, aun cuando el nivel de confianza (95%) se mantiene igual en ambos casos.

c. ¿Qué diferencias observa entre los valores críticos utilizados en los procedimientos basados en Z y t de Student? Explique por qué se presentan estas diferencias.

El valor crítico de Z siempre fue 1.96, no cambia. El de t sí cambió según los grados de libertad: 2.07 con 22 g.l., 2.09 con Welch (19.48 g.l.) y 1.98 con 118 g.l. cuando se usó toda la muestra. La razón es que con pocos grados de libertad la t tiene colas más anchas que la normal, para cubrir la incertidumbre de no conocer la varianza real. Cuando los grados de libertad suben (como con 118), la t se va pareciendo cada vez más a la Z.

d. Compare los dos intervalos construidos para proporciones. ¿Cuál presenta mayor precisión? Sustente su respuesta utilizando el margen de error y la amplitud de los intervalos.

El margen de error de Law fue 0.0893 (IC de 0.386 a 0.564) y el de MotherCHD fue 0.0887 (IC de 0.345 a 0.522). Son casi iguales, pero MotherCHD salió un poco más preciso. Esto pasa porque su proporción (0.433) está más lejos de 0.5 que la de Law (0.475), y la varianza de una proporción es más grande justo cuando p está cerca de 0.5, entonces entre más se aleje de ahí, más chico el error y más angosto el intervalo.

CONCLUSIONES

CONCLUSIÓN GENERAL

Los intervalos de confianza construidos a lo largo del proyecto permiten afirmar, con un 95% de confianza, que no existe evidencia suficiente para sostener que los dos grupos definidos por la variable Like difieran a nivel poblacional, ni en el BMI promedio ni en la proporción de personas con Law, dado que en ambos casos el intervalo de la diferencia incluyó el valor cero. De manera similar, el intervalo para la razón de varianzas de BMI incluyó el valor 1, lo cual indica que, a partir de la evidencia muestral disponible, es razonable asumir que las varianzas poblacionales de BMI son iguales entre ambos grupos. En conjunto, estos resultados describen una población en la que los grupos comparados son estadísticamente similares en las variables analizadas, dentro del margen de incertidumbre propio del muestreo.

El tamaño de muestra tuvo un efecto claro sobre la precisión de las estimaciones: los intervalos calculados con la muestra de 24 observaciones fueron notablemente más anchos que los calculados con la muestra de 120, reflejando un mayor error estándar y, por tanto, mayor incertidumbre sobre el verdadero valor poblacional cuando se dispone de menos datos. Este mismo efecto se refleja en la comparación entre los procedimientos Z y t: mientras que Z asume que la desviación poblacional es conocida, la distribución t incorpora la incertidumbre adicional de tener que estimarla a partir de la muestra, lo cual se traduce en valores críticos mayores y, en consecuencia, en márgenes de error más amplios, sobre todo cuando los grados de libertad son pocos, como ocurrió en la muestra pequeña.

Finalmente, es importante reconocer las limitaciones de los intervalos obtenidos. Todos ellos dependen de supuestos que no siempre pueden verificarse por completo con muestras pequeñas, como la normalidad de las variables o la aproximación de las desviaciones poblacionales mediante las muestrales en el método Z. Además, un intervalo que incluya el cero (o el uno, en el caso de la razón de varianzas) no demuestra que no exista diferencia poblacional; únicamente indica que la evidencia muestral disponible no permite descartar esa posibilidad con el nivel de confianza utilizado, por lo que muestras más grandes o repeticiones del estudio podrían modificar esta conclusión.

DECLARACIÓN DE IA

Declaración sobre el uso de Inteligencia Artificial

declaracion_ia <- data.frame(
  Aspecto = c("Uso de IA", "Herramienta utilizada", "Uso realizado", "Porcentaje estimado de utilización"),
  Información = c("Sí", "Claude (Anthropic)", 
                  "Apoyo en redacción y corrección de estilo del resumen y estilo del knit, metodología y respuestas de la sección de comparación de procedimientos; verificación de resultados numéricos mediante ejecución del código", 
                  "45 %")
)
knitr::kable(declaracion_ia, caption = "Declaración de uso de Inteligencia Artificial")
Declaración de uso de Inteligencia Artificial
Aspecto Información
Uso de IA Sí
Herramienta utilizada Claude (Anthropic)
Uso realizado Apoyo en redacción y corrección de estilo del resumen y estilo del knit, metodología y respuestas de la sección de comparación de procedimientos; verificación de resultados numéricos mediante ejecución del código
Porcentaje estimado de utilización 45 %

REFERENCIAS

Montgomery, D. C., & Runger, G. C. (2018). Applied statistics and probability for engineers (7th ed.). Wiley.

Organización Mundial de la Salud. (1995). Physical status: the use and interpretation of anthropometry. Report of a WHO Expert Committee (WHO Technical Report Series 854). Ginebra: OMS.

Satterthwaite, F. E. (1946). An approximate distribution of estimates of variance components. Biometrics Bulletin, 2(6), 110–114.

Walpole, R. E., Myers, R. H., Myers, S. L., & Ye, K. (2012). Probabilidad y estadística para ingeniería y ciencias (9.ª ed.). Pearson Educación.

Welch, B. L. (1947). The generalization of ‘Student’s’ problem when several different population variances are involved. Biometrika, 34(1/2), 28–35.