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)
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)
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))
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))
