Capítulo 2 Estimación

En esta capítulo trataremos sobre como usar una muestra para obtener información sobre la población de la que se ha extraído. Esto nos conducirá a introducir los conceptos de intervalo de confianza y de error típico de estimación.

2.1 Intervalos de confianza

Un problema habitual es el de estimar parámetros que ayuden a caracterizar una variable. Por ejemplo el porcentaje de individuos que mejora ante un cierto tratamiento, o el tiempo medio que tarda un anestésico en hacer efecto.

Podríamos decir, tras realizar un estudio, “el 75% de los pacientes tratados experimentó una mejoría”. Una respuesta más sofisticada usando intervalos de confianza podría ser: “Nuestro estudio muestra que en el 75% de los casos se experimenta una mejoría, siendo el margen de error del 6%. El nivel de confianza es del 95%”.

El cálculo de intervalos de confianza para la estimación de parámetros son técnicas que nos permiten hacer declaraciones sobre qué valores podemos esperar para un parámetro. El intervalo calculado dependerá de:

  • Lo estimado en la muestra (porcentaje, media,…) El intervalo de confianza esta formado por valores ligeramente menores y mayores que la aproximación ofrecida por la muestra.

  • El tamaño muestral. Cuantos más datos hayan participado en el cálculo, más pequeño esperamos que sea la diferencia entre el valor estimado y el valor real desconocido.

  • La probabilidad (nivel de confianza) con la que el método dará una respuesta correcta. Un nivel de confianza habitual para los intervalos de confianza es el 95%.

Puede parecer sorprendente que no busquemos respuestas con una confianza del 100%, pero ocurre que en ese caso, los intervalos serían tan grandes que no serían de gran provecho. La elección de un nivel de confianza como el 95% es un compromiso entre hacer declaraciones con una razonable probabilidad de acertar, y que además el intervalo declarado, sea lo suficientemente pequeño como para suscitar algún interés. El nivel de confianza hay que interpretarlo como que disponemos de un método de calcular intervalos que seguido con rigor, en cierto porcentaje de casos acierta (nivel de confianza) y en el resto falla.

2.2 Error típico o estándar

En multitud de ocasiones al utilizar un programa estadístico encontramos junto a las más diversas estimaciones como una media, una proporción, un coeficiente de regresión, un coeficiente de asimetría, etc., una cantidad denominada error estándar o también error típico.

El error estándar tiene mucho que ver con los intervalos de confianza. Para muchos parámetros, su intervalo de confianza es habitualmente la estimación obtenida sobre la muestra (proporción, media,…), y un margen de error que nos es más que un múltiplo del error estándar. Un ejemplo muy común, consiste en elegir niveles de confianza del 95%. Para ello un margen de error de dos errores estándar es habitualmente la respuesta.

Cuando un programa estadístico nos ofrece una estimación de una cantidad, junto a su error estándar, podemos estar seguros de que si se dan ciertas condiciones de validez, el estimador del parámetro tiene comportamiento normal cuya desviación típica es el error estándar, y por tanto una declaración como:

“La proporción de pacientes que mejoraron con el tratamiento es del 0.75, con un error estándar del 0.03”

puede enunciarse de forma más clara en forma de intervalo de confianza:

La proporción de pacientes que mejoró fue del 0.75, siendo el intervalo de confianza al 95% 0.69—0.81 .

Es fácil confundir desviación típica con error típico. Ambos hablan de la dispersión en torno a un valor central y se usan en distribuciones aproximadamente normales. Peo el segundo se utiliza solo en el contexto de estimar un valor a partir de una muestra.

Practique con la diferencia entre desviación típica y error típico

Ejemplo de intervalos de confianza y errores estándar

Se consideran dos grupos de individuos que desmpeñan un trabajo similar, pero que siguen una forma de alimentación muy diferente. Están formados por albañiles de Málaga y Tánger. Descargue la base de datos 2poblaciones-Mismotrabajo-DiferenteNutricion.sav. Las primeras líneas tienen el siguiente aspecto:

df=read_sav("datos/2poblaciones-Mismotrabajo-DiferenteNutricion.sav", user_na=FALSE) %>% haven::as_factor() %>% mutate(Talla=Talla*100)
df %>% head()  %>% knitr::kable(booktabs=T)
Grupo Colesterol Trigliceridos Glucemia PAS PAD Peso Talla Consumo Gasto
Málaga 238 107 89 130 70 81 167 3521 1400
Tanger 251 163 90 130 90 85 167 1490 1730
Málaga 194 73 89 120 60 79 170 3701 2180
Tanger 169 71 65 110 60 86 181 3200 2150
Málaga 227 114 121 130 90 91 173 4124 1700
Málaga 214 84 80 120 60 87 178 4209 1845

Si usa SPSS en el menú “Analizar - Estadística discriptiva - Explorar”, colocando las variables numéricas en el campo Dependientes y el Grupo en el campo Factor puede obtener información para construir estos resultados:

vNumericas=names(df) %>% setdiff("Grupo")
listaGraficos=vNumericas %>% map( ~ ggplot(df %>% mutate(Respuesta=df[[.x]]) ,aes(x=Grupo,y=Respuesta))+geom_boxplot(fill="lightblue")+xlab(.x)+ylab(""))
do.call("grid.arrange", c(listaGraficos, ncol=3))

Visualmente se aprecia que los individuos de Grupo==Málaga siendo de Talla similar, presentan mayor Consumo de energía y similar Gasto. Se observa en ellos mayores valores de Colesterol, Trigliceridos, Glucemia y Peso, y valores similares de Presión arterial.

Los intervalos de confianza y errores estándar podrían mostrarse en una tabla como sigue:

vNumericas=names(df) %>% setdiff("Grupo")
df %>% generaTablatTestPorGrupo("Grupo", vNumericas,
                                columnas = c("media","dt","et","ic1","ic2")) %>% 
  knitr::kable( booktabs = T, 
                col.names=c("Variable",
                        "media","dt","et","ic(min)","ic(max)",
                        "media","dt","et","ic(min)","ic(max)")) %>%
  add_header_above(c(" " = 1, "Tanger" = 5, "Málaga" = 5)) %>%
  kable_styling(font_size = 9)
Tanger
Málaga
Variable media dt et ic(min) ic(max) media dt et ic(min) ic(max)
Colesterol 163 44.8 8.32 146 180 209 42.4 6.06 197 221
Trigliceridos 82 45.2 8.39 65 99 113 69.9 9.98 93 133
Glucemia 78 11.3 2.09 74 82 88 19.0 2.72 83 94
PAS 120 10.0 1.86 116 124 122 12.8 1.83 118 125
PAD 72 9.7 1.80 69 76 70 9.6 1.37 68 73
Peso 73 7.8 1.46 70 76 81 8.7 1.25 79 84
Talla 170 4.6 0.86 169 172 169 4.7 0.67 168 171
Consumo 1909 469.8 87.23 1731 2088 3528 550.9 78.71 3370 3686
Gasto 1894 185.9 34.52 1824 1965 1880 438.1 62.59 1755 2006

En la tabla anterior vemos para cada grupo no solo la media y desviación típica de cada grupo (que nos da una idea de donde se sitúan los individuos de cada grupo), sino un la precisión con la que se ha estimado la media de cada grupo (en forma de error estándar e intervalo de confianza al 95%).

Realmente no es esta la forma habitual de presentar los resultados en una publicación científica. Normalmente queremos mostrar como es la precisión de nuestras estimaciones, y el intervalo de confianza se muestra más bien para la diferencia que hay entre los dos grupos. Hay que esperar a ver la prueba t-student para ver como construir la tabla habitual:


df %>% generaTablatTestPorGrupo("Grupo", vNumericas,
                                columnas = c("n","mediaet","p.t","ci95")) %>% 
  knitr::kable( booktabs = T, 
                col.names=c("Variable",
                        "n","media±et", 
                        "n","media±et",
                        "p dif.","ic95% dif.")) %>%
  add_header_above(c(" " = 1, "Tanger" = 2, "Málaga" = 2," "=2))
Tanger
Málaga
Variable n media±et n media±et p dif. ic95% dif.
Colesterol 30 162.67±8.32 50 209.12±6.06 <0.001* 46.45[26.15,66.76]
Trigliceridos 30 82.13±8.39 50 113.22±9.98 0.018* 31.09[5.45,56.72]
Glucemia 30 78.03±2.09 50 88.18±2.72 0.004* 10.15[3.40,16.89]
PAS 30 119.83±1.86 50 121.70±1.83 0.472 1.87[-3.28,7.01]
PAD 30 72.50±1.80 50 70.30±1.37 0.329 -2.20[-6.67,2.27]
Peso 30 72.67±1.46 50 81.38±1.25 <0.001* 8.71[4.94,12.49]
Talla 30 170.33±0.86 50 169.48±0.67 0.431 -0.85[-3.01,1.30]
Consumo 30 1909.17±87.23 50 3528.04±78.71 <0.001* 1618.87[1387.71,1850.04]
Gasto 30 1894.20±34.52 50 1880.30±62.59 0.845 -13.90[-154.73,126.93]
resumen=df %>% gather(Variable,Valor,-Grupo) %>% 
  group_by(Grupo,Variable) %>% 
  summarise(Media=mean(Valor),
                n=length(Valor),
               ET=sd(Valor)/sqrt(n),
               IC=ET*qt(0.975,n-1))

listaGraficos=vNumericas %>% map( ~ ggplot(resumen %>% filter(Variable==.x), aes(x=Grupo,y=Media)) +
  geom_errorbar(aes(ymin=Media-ET,ymax=Media+ET),width=0.2, size=1, color="navyblue")+
  geom_bar(stat="identity", fill="lightblue", alpha=0.5)+
  geom_point( size=4, shape=21, fill="white")+ylab(.x))
do.call("grid.arrange", c(listaGraficos, ncol=3))

Las barras ocupan mucho espacio y no permiten apreciar bien las diferencias. Personalmente pienso que es mejor mostrar solo los intervalos formados por las medias y el error típico como sigue:

listaGraficos=vNumericas %>% map( ~ ggplot(resumen %>% filter(Variable==.x), aes(x=Grupo,y=Media)) +
  geom_errorbar(aes(ymin=Media-ET,ymax=Media+ET),width=0.2, size=1, color="navyblue")+
  geom_point( size=4, shape=21, fill="white")+ylab(.x))
do.call("grid.arrange", c(listaGraficos, ncol=3))