¿Que es la estadística?

Autor/a

Maikol Solís

Fecha de publicación

5 de noviembre de 2022

¿Que es estadística?

Todos hemos escuchado la palabra estadística. Ya sea en la televisión, internet o los periódicos. Todos nos imaginamos que significa. Datos, números, gráficos… ¿Pero eso es todo? En esta publicación trataré de explicarme un poco el origen de la estadística, qué significa, cuáles son sus tipos y para qué se usa.

Origen de la palabra estadística

El origen de la palabra se remonta al historiador alemán Gottfried Achenwall en 1749. Él uso la palabra statistik cuando se refería al análisis de datos del Estado. Esto debido a que sus estudios lo llevaron a descubrir de la palabra en la latín statiscus usada en la antigua Roma. En el sentido estrictuo statis significa “estado” e icus “relativo”.

Esto último debido a que los romanos fueron pioneros en el poder estatal e introdujeron sistemas contables y procedimientos numéricos para lograr una gestión eficaz de los asuntos públicos.

Por ejemplo, en el año 4 a.C. o 6 d.C (fecha sin confirmar aún) el imperio romano hizo un censo a toda la población de Judea. El objetivo era sobre todo la cuantificación de la población y la recolección de impuestos.

Maria y José registrándose en el Censo de Quirino. Mosaico bizantino en la iglesia de San Salvador de Cora, Estanbul. Creación entre 1315-1320.

¿Qué significa estadística actualmente?

La estadística podemos definirla como

“El estudio de la recopilación, el análisis y la interpretación de datos para la búsqueda de patrones o tendencias.”

Es decir, existen modelos estadísticos para casi todos los aspectos de nuestras vidas. Desde cosas tan sencillas como decidir dónde ir a cenar o cuál ruta es más rápida en automóvil; hasta predecir resultados futuros en problemas médicos o económicos.

Recordemos los años 2020-2021 donde gracias a muchos investigadores en el mundo y con el uso de matemática, estadística y programación pudieron tomar decisión clave para manejar la pandemia.

Total de casos confirmados de COVID-19 entre 2020-2022.

Tipos de estadística

La estadística es una ciencia dinámica. De hecho podemos dividirla en tres grandes ramas: descriptiva, inferencial y predictiva. En la literatura aparecen otros nombres como minería de datos, análisis de datos, Big data, inteligencia artificial, etc. Más adelante hablaremos de esas ramas y como se relacionan con las tres principales.

Para ayudar con la explicación de cada termino, haré un ejemplo práctico para que se comprenda mejor con la base de datos airquality que contiene datos de mediciones de ozono, temperatura, viento, etc., en la ciudad de Nueva York entre Mayo a Setiembre de 1973

Para efectos del ejemplo solo usaremos la variable temperatura (Temp) y ozone (Ozone).

Estadística descriptiva

Se utilizan para describir la distribución, ubicación, número y frecuencia de ciertos datos. Se puede ver patrones, agrupamientos, separaciones de clases etc. En esta etapa solo queremos observar lo que está ocurriendo.

Para los siguientes ejemplos usaremos estos paquetes:

Código
library(tidyverse)
library(viridis)
library(ggExtra)
library(fitdistrplus)
library(ggpmisc)
Código
p <- ggplot(airquality) +
  geom_point(aes(Temp, Ozone, color = as.factor(Month)), size = 3) +
  scale_color_viridis_d(end = 0.8) +
  labs(color = "Mes") +
  cowplot::theme_cowplot() +
  theme(legend.position = "bottom")
ggMarginal(p,
  type = "histogram",
  yparams = list(bins = 20),
  xparams = list(bins = 20)
)

Acá podemos observar como se cruzan estas dos variables en un plano.

Código
knitr::kable(data.frame(
  Variable = c("Temp", "Ozone"),
  Media = c(
    mean(airquality$Temp, na.rm = TRUE),
    mean(airquality$Ozone, na.rm = TRUE)
  ),
  `Desviación estándar` = c(
    sd(airquality$Temp, na.rm = TRUE),
    sd(airquality$Ozone, na.rm = TRUE)
  )
), col.names = c(
  "Variable", "Media", "Desviación estándar"
), align = "c", digits = 2)
Variable Media Desviación estándar
Temp 77.88 9.47
Ozone 42.13 32.99

De la tabla anterior observamos valores de la temperatura y niveles de ozono promedio. La desviación estándar nos dice qué tanto han variado estos dos valores en los meses de observación.

Podríamos decir que en promedio la temperatura más baja que se ha observado es \(77.88-9.47= 68.41\) oF que serían unos \(20.23\) oC. Y la más alta ha sido \(77.88 + 9.47 = 87.35\) oF o el equivalente de unos \(30.75\) oC.

¡Temperaturas muy agradables en el verano de 1973!

Por su parte el nivel de ozono registra unos valores promedios de \(42.13 - 31.5 = 10.65\) y la máxima \(42.13+31.5=73.63\). Valores por encima de 100 ya se consideran altos en ciudades muy pobladas.

La correlación de estas es 0.698. Este número indica que tan fuerte es la relación lineal entre las variables. Los valores cercanos a 1 dice que si están muy relacionadas.

Estadística inferencial

Las estadísticas inferenciales se utilizan para obtener conclusiones inferencias sobre una población en función de los datos recopilados. Entre los usos más frecuentes es:

  • Estimar modelos teóricos que remplazan los datos observados.
  • Generar rangos de confianza sobre ciertos valores de interés.
  • Generar hipótesis sobre cierto comportamiento y luego probar si es cierto.

Para este ejemplo solo haremos el primer caso. Es decir, queremos saber si podemos modelar la forma en que se distribuye el Ozono y la temperatura con una función teórica. En otras publicaciones explicaré el algoritmo que usé y hablaremos de otros los otros usos.

Para este caso vamos a suponer que el Ozono tiene una forma de distribución exponencial porque los datos se concentran mucho al inicio y luego se van disipando cuando el Ozono crece.

La temperatura la modelaremos con una distribución normal, ya que sus valores se concentran en cierto valores centrales y luego se disipan conforme se alejan del centro.

Código
fitexp <- fitdist(as.numeric(na.omit(airquality$Ozone)), distr = "exp")
fitnorm <- fitdist(as.numeric(na.omit(airquality$Temp)), distr = "norm")

Estimando los parámetros obtenemos lo siguiente:

 

Ozone
rate 0.024
Temp
mean 77.882
sd 9.434

Por el momento, no nos preocupemos mucho que significa cada uno de esos números. Poco a poco iremos entiendo.

Aquí lo que me interesa es que observen que podemos construir funciones exactas que se parecen bastante bien a los datos observados.

Código
ggplot(airquality) +
  geom_rug(aes(Temp), size = 1) +
  geom_function(
    fun = dnorm, args = list(
      mean = fitnorm$estimate["mean"],
      sd = fitnorm$estimate["sd"]
    ), size = 3
  ) +
  xlim(50, 100) +
  cowplot::theme_cowplot()

Código
ggplot(airquality) +
  geom_rug(aes(Ozone), size = 1) +
  geom_function(
    fun = dexp, args = list(
      rate = fitexp$estimate["rate"]
    ), size = 3
  ) +
  xlim(0, 200) +
  cowplot::theme_cowplot()

Las pequeñas lineas que están en el eje horizontal, son los datos observados. Es decir, las fórmulas teóricas que encontramos, se “ajustan” muy bien a lo que ya teníamos.

Con esto estamos infiriendo un comportamiento observado con un modelo teórico fácil de estimar.

Estadística predictiva

Finalmente, la estadística predictiva usan modelos principalmente de regresión y clasificación para predecir resultados futuros basados en datos pasados o tendencias históricas. Otra aplicación de la estadística predictiva es estimar valores en lugares con pocas observaciones dentro de los datos.

Por ejemplo, supongamos que queremos saber cuál sería el nivel de ozono si la temperatura fuera \(100\) oF (38 oC). El valor máximo en nuestros datos de temperatura es 97 oF, por lo que el valor que le corresponde a 100 oF tenemos que estimarlo.

Para esto vamos a suponer que la temperatura y el ozono se relacionan de la siguiente forma

\[\begin{equation*} \mathtt {Ozone} = a + b\ \mathtt{Temp} + c\ \mathtt{Temp} ^2. \end{equation*}\]

Aquí \(a, b\) y \(c\) son simplemente constantes. Estimando los coeficientes usando una técnica llamada “mínimos cuadrados”, obtenemos que:

Código
lmfit <- lm(Ozone ~ poly(Temp, 2, raw = TRUE), data = airquality)

x <- coef(lmfit)
names(x) <- c("a", "b", "c")
knitr::kable(x, col.names = "Coeficientes", digits = 3, align = "c")
Coeficientes
a 305.486
b -9.551
c 0.078

Si dibujamos los datos y la curva que acabamos de construir, tendríamos algo así:

Código
ggplot(airquality, aes(x = Temp, y = Ozone)) +
  stat_poly_line(formula = y ~ poly(x, 2, raw = TRUE), fullrange=TRUE) +
  stat_poly_eq(
    formula = y ~ poly(x, 2, raw = TRUE),
    aes(label = after_stat(eq.label))
  ) +
  geom_point() +
  geom_point(data = data.frame(
    Temp = 100,
    Ozone = predict(lmfit, data.frame(Temp = 100))
  ), size = 5, color = "red") +
  xlim(55, 100) +
  cowplot::theme_cowplot()

Con este modelo vemos que si la temperatura llegara a 100 oF (🔴 en el gráfico), entonces tendríamos niveles de ozono de 131.11.

Este modelo no es perfecto ni exacto, pero ejemplifica como podemos descubrir nuevas características de los datos a partir de la estadística predictiva.

Conclusión

Aunque pueda sonar aburrida, la estadística es una herramienta muy poderosa que nos ayuda a tomar mejores decisiones en nuestro día a día. Se ha utilizado durante generaciones para tomar decisiones importantes que impactan a nuestra sociedad.

En el último siglo, las computadoras han hecho que esta ciencia sea cada vez más poderosa. Con esto podemos alcanzar nuevos niveles de entendimiento del mundo que nos rodea.