¿Qué es un intervalo de confianza?

El intervalo de confianza (IC) es un rango de valores que es probable que contenga un valor de una población con cierto grado de confianza. Con frecuencia es expresado como % en el que una media o proporción de una población cae dentro del intevalo superior e inferior.

Intervalo de confianza a 95%

Un intervalo a 95% de confianza es un rango de valores donde se puede estar seguro un 95% de que contiene el valor verdadero de una población. Debido a la variabilidad natural del muestreo, la media o proporción de la muestra (centro del IC) variará de muestra a muestra. La confianza está en el método, no en un IC en particular. Si se repite el método de muestreo muchas veces, aproximadamente 95% de los intevalos construidos incluirían el valor verdadero de la población.

Por lo tanto, mientras el tamaño de muestra aumenta, el rango de valores del intervalo se reduce, significandose que se conoce el valor verdadero con más certeza, comparado a que se tuviera una muestra muy pequeña.

Por ello, cuando se trata de una variable respuesta continua que involucra tomar mediciones en personas, los datos pueden ser resumidos por la media y la desviación estándar. Una media observada desde un ensayo clínico será una estimación de la media verdadera. El error estándar de la media representa que tan lejos la media observada se espera que este desde el valor verdadero, y es utilizado para estimar un intervalo de confianza para la media verdadera:
\[ IC = \text{Media observada} \pm Z * ErrorEstandar \]
Por otro lado, un intervalo de confianza para cuando la variable respuesta se basa en contar personas, quiere decir que se trata de un porcentaje o una proporción; donde el error estándar indica que tan lejos esta el valor observado del valor verdadero. Un IC para la verdadera proporción es un rago dentro del cual se espera que esté la verdadera proporción:

\[ IC = \text{Proporción observada} \pm Z * ErrorEstandar \]

\[\text{Error estandar} = \frac{\sigma}{\sqrt n }\]

donde:

  • \(\sigma\): Desviación estándar de las mediciones (variabilidad natural entre personas)
  • n: Tamaño de muestra

Los IC juegan un papel importante dentro de ensayos clinicos aleatorios, ya que ayudan a obtener información preliminar la cual será interpretada y evaluada para considerar futuras investigaciones. Sin embargo se debe tomar mucho cuidado con las interpretaciones que se realicen respecto al ensayo, especialmente si éste contiene un grupo de control que produjo resultados positivos.

Para comenzar, se van a declarar las respectivas paqueterías que se utilizarán a lo largo del documento, por lo cual es importante que se instalen con anticipación.

Declaración de paqueterias

library(tidyverse)
library(ggplot2)

1 Para una población (solo un grupo)

Un doctor conduce un pequeño ensayo con una muestra aleatoria de pacientes, donde le interesa saber el nivel promedio de colesterol. Es por ello que midió los niveles de 20 pacientes y desea inferir sobre los datos.
Encuentra un intervalo de confianza del 95% para la media del nivel de colesterol de sus pacientes.

A continuación se presentan los datos recolectados (en m.mol/L):

head(datos,length(datos$Mediciones))
##    Mediciones
## 1         3.6
## 2         6.9
## 3         5.1
## 4         4.2
## 5         5.5
## 6         7.2
## 7         3.0
## 8         5.8
## 9         4.9
## 10        9.9
## 11        7.1
## 12        5.4
## 13        6.2
## 14        4.5
## 15        6.3
## 16        8.2
## 17        5.7
## 18        4.4
## 19        7.9
## 20        3.2

1.1 Descripción de variable respuesta

  • Tipo de variable: Cuantitativa continua (mediciones sobre personas)
  • x: Nivel de colesterol en el i-ésimo paciente en m.mol/L

1.2 Hipótesis

  • \(H_0\): La media del nivel de colesterol en pacientes es 5.75 m.mol/L
  • \(H_a\): La media del nivel de colesterol en pacientes es diferente de 5.75 m.mol/L
Se comienza calculando el parámetro estadístico de la muestra, que en este caso se referiere a la media, ya que se trata de una variable respuesta continua en base a mediciones sobre personas.
xmedia = mean(datos$Mediciones)                  #Media muestral
xmedia
## [1] 5.75

Se estima que la media del nivel de colesterol en los pacientes es 5.75 m.mol/L. Esto indica una estimación para la media verdadera de la población.

A continuación, se calcula la desviación estándar de las mediciones haciendo uso de unas de las funciones ya establecidas en R donde el único argumento que necesita es los datos a inferir.
sigma <- sd(datos$Mediciones)                  #Desviación estándar de mediciones
sigma
## [1] 1.768288
Los niveles de colesterol en los pacientes tienen una desviación estándar de 1.768, la cual indica la disperción natural de los datos alrededor del valor de la media.

Y una vez obtenidos los datos anteriores se puede calcular el error estándar de las mediciones de la siguiente manera:
erroEstan <- sigma/sqrt(length(datos$Mediciones))        #Error estándar
erroEstan
## [1] 0.3954012

El error estándar ayuda a darse una idea de la precisión que tendrá el intervalo para estimar el valor verdadero de la media.

A continuación, se utilizará la distribución de t-student debido a que los datos han sido obtenidos de una muestra y no se conoce el valor de la varianza poblacional, además de que el tamaño de muestra es muy pequeño.

El valor de t-student es a una probabilidad de \(\alpha\)/2 con n-1 grados de libertad tal como se muestra a continuación:
gl <- (length(datos$Mediciones)-1)           #n-1 gados de libertad (n=20)
gl
## [1] 19
alfa_2 <- (1-0.95)/2                         #valor de alfa sobre 2

t <- qt(1-alfa_2, df=gl)                     #Función para obtener cuantiles de t-student
t
## [1] 2.093024
Una vez consiguiendo los valores requeridos, se pueden calcular los intervalos de confianza a 95%:
#Intervalos de confianza 

LI1 <- xmedia - (t*erroEstan)       #Límite inferior
LS1 <- xmedia + (t*erroEstan)       #Límite superior
(4.9224158 , 6.5775842)

Se determina con una confianza del 95% que el nivel promedio de colesterol en los pacientes van desde 4.92 hasta 6.58 m.mol/L.

2 Prueba t para una población (un solo grupo)

Calcular los intervalos de confianza forma manual no es de gran dificultad siempre y cuando se tengan los datos necesarios como se observó en la parte de arriba. Sin embargo, la intención es encontrar métodos que ayuden a encontrar los valores deseados de una forma más rápida y precisa. El software R ofrece funciones pre-determinadas, donde por medio de una prueba t calcula diferentes valores incluyendo los IC:
t.test(datos$Mediciones,                 #Datos a inferir
       alternative = "two.sided",        #Tipo de prueba (bilateral)
       mu = 5.75,                        #Media de los datos
       conf.level = 0.95)                #Nivel de confianza
## 
##  One Sample t-test
## 
## data:  datos$Mediciones
## t = 0, df = 19, p-value = 1
## alternative hypothesis: true mean is not equal to 5.75
## 95 percent confidence interval:
##  4.922416 6.577584
## sample estimates:
## mean of x 
##      5.75
  • p es altamente significante
  • Se rechaza \(H_0\), se acepta hipótesis alternativa: la media no es 5.75 m.mol/L
  • IC 4.9224-6.58 m.mol/L

En base a la teoria vista al inicio de la práctica se sabe que entre más grande el tamaño del ensayo, mayor confiabilidad para estimar el valor verdadero.

3 Simulación de ensayos

Por cuestiones prácticas se desea demostrar que cuando se realiza una simulación de muchos ensayos de tamaño n cada uno; se encontrará que un 95% de los intervalos de confianza contendrá el valor de la media verdadera.

Se realizan 100 simulaciones de ensayos de 20 pacientes cada uno, donde se calcula un intervalo de confianza para cada uno y se grafican:
LI <- NULL                 #Iniciación de variable para limite inferior
LS <- NULL                 #Iniciación de variable para limite superior
medias <- NULL             #Iniciación de variable para las medias
si <- NULL

#Se realiza un ciclo 100 veces

Simulaciones <- for (i in 1:100){
  
  set.seed(i)
  muestra = sample(datos$Mediciones, size=20 ,replace=TRUE)     #Tomamos muestra de 20
  
  media = mean(muestra)                                         #Media de la muestra
  
  desviacionEsta = sqrt(var(muestra))                           #Desv.Están. de la muestra
  
  errorEstandar =(desviacionEsta/sqrt(length(datos$Mediciones)))  #Error estandar de la muestra
  
  LI[i]= media-t*errorEstandar              #Limites inferiores (recolectados)
  LS[i]= media+t*errorEstandar              #Limites superiores (recolectados)
  medias[i] = media                         #Medias (recolectadas)
  
  inf = sum(LI  > mean(medias))                     #Limites inferiores mayores a la media
  sup = sum(LS  < mean(medias))                     #Limites superior menores a la media
}

noContieneMedia <- (sup+inf)/100
siContieneMedia <- (1-noContieneMedia)*100

4 Visualización de los datos

ejex <- c(1:100)
leg <- c("Media Verdadera")

ggplot(Simulaciones, aes(medias,ejex)) +        # ggplot2 plot with confidence intervals
  geom_point() +
  geom_errorbar(aes(xmin = LI, xmax = LS))+
  geom_vline(xintercept = mean(medias), col = "maroon", size=1)+
  geom_text(aes(mean(medias), 0, label = leg, vjust = -105, hjust=0.5,color="red",fontface ="bold", show.legend = NA)) +
  scale_y_continuous(limits = c(0, 101), name = "Muestras") +
  scale_x_continuous(limits = c(3.5, 8),name = "Nivel de colesterol en m.mol/L") +
  theme(legend.position = "none") +
  ggtitle("Nivel de colesterol en pacientes, n=20") + theme(plot.title = element_text(hjust = 0.5))

De los 50 intervalos de confianza calculados solo en un 97% se encuentra el valor de la media verdadera.

5 Referencias

(2022)

Peter D.R. Higgins, MD, PhD, MSc. (2022). Reproducible Medical Research with R. https://bookdown.org/pdr_higgins/rmrwr/