Hace unas semanas escribí este post donde detallaba cómo crear un script en R. Debido a su éxito, me he animado a seguir durante las próximas semanas en esta dirección. Por ello creo que es oportuno empezar con conceptos básicos de estadística y su implementación a través de lenguaje R. Comencemos …

Estadística y terminología esencial

Mucho se habla en la actualidad de Data Science, Big Data, Data Analytics, etc. y muy poco de la Estadística. Al fin y al cabo es en lo que se basan en gran parte estas disciplinas. A día de hoy todavía me acuerdo perfectamente de las clases de estadística durante mis estudios como ingeniero informático. Por fin había encontrado una disciplina práctica y aplicable, y al parecer con mucho futuro. 

Lo primero para empezar a profundizar en la estadística, es entender que existen multitud de campos, aunque igualmente cierto es que todos ellos tiene un denominador común. Para ello, tal y como hago en los cursos que imparto, lo primero es explicar los términos más habituales y usados:

  • Población. Grupo concreto de individuos pertenecientes a un conjunto de datos.
  • Muestra. Subconjunto representativo de la población.
  • Estadístico. Número que engloba a un conjunto de datos (media, percentil, etc.) de una muestra.
  • Parámetro. Resumen de una población previamente censada en un número.
  • Sesgo (Bias). Desviación de los resultados a causa de una preselección favorecida. 
  • Error muestral. Diferencia máxima porcentual entre los resultados de la muestra y la población.
  • Media. Promedio de los datos. Cuando existen valores atípicos, se le considera poco representativa.
  • Mediana. Centro exacto del conjunto de datos ordenado. Si el conjunto es impar es el valor central, si es par el valor es la media de los valores centrales.
  • Moda. Valor que más se repite.
  • Desviación estándar o típica. Grado de variación existente entre los datos.
  • Percentil. Porcentaje de valores situados por debajo de dicho indicador.

Además de estos términos, existen otros muy utilizados y que se suelen asociar a un tipo de distribución de los datos que se da de manera habitual y natural en el estudio y tratamiento de la información.

Distribución normal

Ejemplos de distribuciones normales y distribución normal estándar (línea roja)

A este tipo de organización y comportamiento de los datos se la conoce como distribución normal y se basa en la conocida campana de Gauss. Algunos términos relacionados que debemos conocer son …

  • Valores z. Puntuaciones estándar como resultado de una normalización de los datos. Todos ellos conforman la distribución especial denominada distribución normal estándar (media igual a 0 y desviación estándar igual a 1).
  • Intervalo de confianza. Rango de valores de un parámetro poblacional tomando como referencia un estadístico muestral.

Una de las funcionalidades más habituales y más útiles que se pueden extraer de este tipo de distribuciones normales es el contraste de hipótesis, el cual es un tipo de estudio que permite determinar si un resultado es estadísticamente significativo. Dicho de otra manera, es la confrontación de una conjetura con datos de una muestra según un parámetro poblacional. Se basa en la comparación de dos suposiciones contrapuestas: hipótesis nula (H0) o hipótesis alternativa (H1). La terminología asociada a este tipo de estudios se puede resumir en …

  • Hipótesis nula (H0). Representa a la hipótesis de la “no variación”. Habitualmente negativiza la suposición planteada.
  • Hipótesis alternativa (H1). Lo que a priori se tomaría como cierto.

Partamos de una idea como la siguiente …

El gasto publicitario promedio por semana es de 100K €.

La hipótesis nula podría ser algo como “El gasto promedio en publicidad semanal es diferente a 100K €”. La alternativa sería el rechazo de la nula.

  • Valores p. Valor que determina la robustez del contraste y detalla qué hipótesis es la más acertada. La decisión se suele tomar en base a un nivel de significación, el cual marca el límite entre lo esperado y lo “inesperado”.

NIVEL DE SIGNIFICACIÓN
DESCRIPCIÓN
p ≤ 0,05
Estudio concluyente. Rechazo de hipótesis nula.
p > 0,05
Estudio frágil. No se puede rechazar la hipótesis nula.
p ≈ 0,05
Requiere de una valoración más exhaustiva.

Por último y como cierre a los términos que engloban la estadística esencial que debemos conocer, existe otro tipo de estudio muy común: correlación. Esta no es más que el vínculo lineal (creciente o decreciente) entre dos variables numéricas. Aunque como cabría esperar esto solo explica una relación, en ningún caso la causa-efecto (causalidad). No explica el porqué de los hechos. Para ello hay que profundizar en el estudio.

La compra de esquíes y el número de personas resfriadas tiene una correlación positiva. 

A más esquíes vendidos se observa también un aumento de personas con algún tipo de resfriado. Esto, como es lógico, no tiene un sentido práctico a priori. Aunque como en todo, hay que tener en cuenta diferentes puntos de vista. Algunas cuestiones que podríamos tener en cuenta para profundizar en el estudio podrían ser …

  • No hay relación entre ambas. Puede darse el hecho casual de que en una serie temporal de un año, según avanza el otoño y el invierno las personas compren más esquíes y cojan más resfriados debido a las bajas temperaturas.
  • Una muestra de esquiadores. Al llegar el invierno, los esquiadores renuevan su material y debido a la práctica habitual de este deporte al aire libre aumentan los contagios.

Crear estudios estadísticos básicos en R

Existen infinidad de posibilidades y librerías para realizar estudios como los explicados previamente. Quizás la mejor manera de empezar en este ámbito es, al igual que como nos enseñaban a programar en la universidad, con un lenguaje de alto nivel puro (sin ayuda de frameworks o librerías externas). Según vaya creando posts en torno a estas temáticas y aumentando el nivel, iré añadiendo nuevas opciones que en realidad son las que normalmente se utilizan en nuestro trabajo diario. Véase por ejemplo los packages dplyr, ggplot2, shiny, etc. Pero por ahora conformémonos por entender comandos y código básico.

# ------------------------------------------------------------------
# Carga y resumen de datos relativos a coches (dataset de RStudio)
# ------------------------------------------------------------------

data(mtcars) summary(mtcars)
g1 <- mtcars[1:14,] g2 <- mtcars[15:32,]
x <- mtcars$hp
# ------------------------------------------------------------------ # Distribución normal de una variable # ------------------------------------------------------------------

# Histograma

h<-hist(x, breaks=10, col="cyan", xlab="HP", main="Histograma de HP") x_fit<-seq(min(x),max(x),length=40) y_fit<-dnorm(x_fit,mean=mean(x),sd=sd(x)) y_fit <- y_fit*diff(h$mids[1:2])*length(x) lines(x_fit, y_fit, col="blue", lwd=2)

# Gráfico de densidad

d <- density(x) plot(d, xlab = "HP", main ="Gráfico de densidad de HP")

# ------------------------------------------------------------------ # Contraste de hipótesis # ------------------------------------------------------------------

# Hipótesis 1: Los coches tienen más de 125 caballos de potencia
t.test(x, mu = 125, alternative = 'greater')
# Hipótesis 2: Los grupos de coches tienen diferentes caballos de potencia
t.test(g1$hp, g2$hp)

# ------------------------------------------------------------------ # Correlación entre todas las variables del dataset # ------------------------------------------------------------------

install.packages("corrplot") library(corrplot) M<-cor(mtcars) corrplot.mixed(M,lower="circle",upper="number")

Como se puede observar en los comentarios (#) del código, he generado diferentes estudios en un mismo script. Todos ellos relacionados con lo anteriormente explicado. Lo primero que nos debe llamar la atención es el pequeño número de líneas de código usadas con respecto a la complejidad estadística que conlleva. Esta es la principal razón por la que lenguajes como Python o R se han vuelto tan famosos. Estos permiten abstraernos de complejos cálculos matemáticos en favor de una lógica estadística.

¿Es necesario realmente saber qué la formulación de la distribución normal estándar se describe de la siguiente manera?

Fórmula distribución normal estándar

Seguramente en el 99% de los casos ni nos lo plantearíamos. Por suerte, todos los cálculos están perfectamente encapsulados en distintas funciones ya previamente integradas en R o Python. Esto no quita para que debamos entender la lógica existente y cuándo/cómo aplicarla correctamente.

Volviendo sobre el código anterior, podemos distinguir cuatro implementaciones diferentes:

  • Carga y resumen de los datos
  • Distribución normal de una variable
  • Contraste de hipótesis
  • Correlación

En este caso y para no extendernos demasiado, voy a detenerme y a intentar explicar únicamente lo referido a cómo interpretar el resultado que muestran ambas hipótesis. Es decir, intentar explicar cada uno de los elementos mostrados en dichos resultados. Ya profundizaré más adelante en el resto.

H1 <
H1
H1 >

Cabe señalar que en este caso se ha utilizado un t-test ya que la muestra analizada es pequeña, a priori no conocemos su desviación típica y sigue más o menos una distribución normal. También se debe tener en cuenta que aunque el estudio t de Student es de los más utilizados existen otros muchos que detallaré en próximos posts.

  • t (valor del estadístico de contraste). La t de Student se refiere a la diferencia existente entre las medias. Cuanto mayor sea, mayor será la probabilidad de que exista una significación estadística. En realidad, este valor por sí mismo y dependiendo de cómo se hayan extraído las muestras, a veces requiere de un estudio más exhaustivo .
  • df (grados de libertad). Variabilidad a la que se puede someter la t de Student.
  • p-value. Es el valor p, el cual ya se ha detallado previamente.
  • alternative hypothesis. Enunciado de la hipótesis.
  • n percent confidence interval. Indica el nivel de significación sobre el que se valida la hipótesis. Por ejemplo, si como en este caso nos devuelve un 95%, este equivale a un nivel de significación de 0,05. O lo que es lo mismo, detalla un 5% de incertidumbre (confianza) en la resolución.
  • sample estimates. Estadísticos involucrados en el estudio. Dependerán del tipo de contraste de hipótesis que se quiera realizar.

Entendiendo esto, ya estamos en posición de obtener algunas conclusiones ...

  • Hipótesis 1.

Con un p-valor de 0,04167 y un nivel de significación de 0,05 no podemos decantarnos por alguna de las hipótesis. No podemos aseverar que los caballos de potencia están por encima de los 125. Esto nos obliga a realizar un estudio más exhaustivo poniendo a prueba otros valores.

  • Hipótesis 2.

Puesto que el p-valor es mucho mayor al nivel de significación, se acepta con rotundidad la hipótesis nula. Se puede decir que ambos grupos de coches no tienen diferencias en lo que a caballos de potencia se refiere.

Detengámonos por un momento a sopesar toda esta información, todo lo explicado a lo largo de este post. Con tan solo unas pocas líneas de código y algo de lógica podemos llegar a realizar estudios de un gran valor para nuestra empresa. Valga como ejemplo, y puesto que mi especialidad se centra en el Marketing Digital, los siguientes planteamientos iniciales ...

  • Menor precio de un producto supone un mayor número de ventas.
  • Añadir los gastos de envío a la visualización inicial del precio del producto influye en las compras.
  • Agrandando el CTA aumenta el CTR.
  • A mayor número de etapas en el proceso de checkout, menor conversión.
  • ¿Existe relación entre las personas que leen el blog de mi site y las que compran?
  • ¿Si se priorizan en el port-view los productos long tail, se generarán más pedidos?
  • ¿Hay alguna dependencia clara entre los canales que generan tráfico a mi site? ¿Omnicanalidad?
  • Menor tiempo en la carga del site supone un mejor ratio de compra.
  • etc.

Para quienes tengan experiencia o trabajen en este ámbito seguramente ya conozcan la mayoría de los elementos planteados (aunque siempre viene bien recordar elementos que tenemos olvidados), sin embargo, para quienes estén empezando o sientan curiosidad por este mundo creo que les va a ser de gran utilidad. 

En próximos posts iré profundizando y aumentando el nivel paso a paso a través de la categoría Estadística de este blog. Esto era simplemente una "pequeña" introducción a este universo tan amplio. ¡Hasta la semana que viene!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *