La media o promedio

Se entiende por tendencia central a algún punto o cantidad que describa lo que podemos considerar como “el centro” de los datos, que podría coincidir con el espacio donde se concentra “la mayoría” de los datos.

Uno de estos puntos es la media que es lo mismo que el promedio de los datos. Es también equivalente a lo que conociste en distribuciones de probabilidad como el valor esperado, determinado por una suma o una integral. En el caso de variables discretas:

\[ \mu = \sum_{\forall i} x_i P(x_i) \]

Esa probabilidad es una ponderación o “peso” para cada resultado \(x_i\), que si la hacemos la misma para una cantidad definida de datos \(n\), entonces \(P(x_i) = 1/n\), o sea que todos los datos tienen el mismo peso. Nuestros datasets siempre son finitos, así que la cantidad teórica que para una distribución es el valor esperado \(\mu\) se convierte en la cantidad práctica \(\bar{x}\), que es el promedio de un conjunto de datos numéricos: \[ \bar{x} = \frac{{\displaystyle\sum_{i=1}^n x_i}}{n} \]

Cantidad que se lee como “x barra” o “x testada”.

Utilizaremos un nuevo dataset del mismo repositorio llamado Credit. Una vez que lo cargues a RStudio, así se ven las primeras 5 líneas:

Income Limit Rating Cards Age Education Gender Married Ethnicity Balance
14.891 3606 283 2 34 11 Male Yes Caucasian 333
106.025 6645 483 3 82 15 Female Yes Asian 903
104.593 7075 514 4 71 11 Male No Asian 580
148.924 9504 681 3 36 11 Female No Asian 964
55.882 4897 357 2 68 16 Male Yes Caucasian 331

Esta es una muestra de 400 clientes con tarjeta de crédito de un banco, con algunas de sus características, donde cada variable significa:

  • Income: ingreso, en miles de dólares
  • Limit: límite de crédito, en dólares
  • Rating: calificación crediticia
  • Cards: cantidad de tarjetas de crédito que maneja
  • Age: edad
  • Education: años cursados de educación
  • Gender: sexo, masculino o femenino
  • Married: si es casado(a)
  • Ethnicity: grupo étnico (caucásico, afroamericano, asiático)
  • Balance: saldo promedio (deuda) en su tarjeta de crédito, en dólares

La función en R que calcula la suma de los datos en una variable dividida entre la cantidad de datos, que llamamos \(\bar{x}\) es mean:

with(Credit, mean(Age))
## [1] 55.6675

Esta es la edad promedio de los clientes. También habrá ocasiones en que algún registro se pierda, porque no se capturó o por alguna otra buena razón. En tu dataset lo verías como una celda en blanco y R lo interpreta como NA. Inventemos que hay 5 nuevos datos de otros clientes y que sus edades se guardan en la variable x pero no aparece la edad de uno de ellos:

x <- c(20, 25, 28, NA, 32)
mean(x)
## [1] NA

En estos casos algunas funciones que calculan características numéricas no darán resultados, como mean que no puede calcular el promedio con el dato perdido, pero se podrá hacer al incluir la opción na.rm = TRUE que significa “que ignore los datos perdidos” (na.rm: NA remove) para que calcule con los datos disponibles:

mean(x, na.rm = TRUE)
## [1] 26.25

La mediana

Esta es otra medida de tendencia central que no tiene que coincidir con la media, aunque a veces resultan valores cercanos entre sí. La mediana es el dato que queda justo a la mitad de una secuencia de datos numéricos, acomodados en orden. Digamos que si tienes \(n\) datos, la mediana \(\tilde{x}\) es el dato en la posición: \[ \tilde{x} = x_\frac{n+1}{2} \]

La cual, en el caso de \(n\) impar, hay un dato en el centro. Si lo tuvieras que calcular a mano, en el caso de \(n\) par, no hay dato en el centro, así que se obtiene del promedio de los dos datos alrededor del centro. En R la función median lo calcula sin importar el caso:

with(Credit, median(Limit))
## [1] 4622.5

Este es el límite de crédito mediano de los clientes de esta muestra. La mitad de ellos tiene un límite por debajo de $4,622.5 y la otra mitad arriba de $4,622.5. En caso de haber datos perdidos, aplica la misma opción que se mencionó para la media.

Histogramas

También debes saber ya que un histograma se genera con la función hist y que sirve para saber si una distribución de datos se aproxima a alguna distribución de probabilidad. Parecen las mismas barras que usamos para las variables de categoría pero no es así. barplot sólo aplica para variables categóricas e hist sólo para variables numéricas.

La función de R tiene un algoritmo que decide cuál es la división más adecuada de tus datos (revisa la regla de Sturges). Por ejemplo, para los saldos en tarjeta de los clientes:

with(Credit, hist(Balance))

La partición de la variable se hizo para mostrar grupos de 200 en 200 dólares, lo cual se nota en el eje horizontal. Si no era esto lo que querías se puede cambiar con la opción breaks, que se refiere a la cantidad de divisiones (o una secuencia con los puntos de división); si en la gráfica anterior fueron 9 divisiones, entonces:

with(Credit, hist(Balance, breaks = 18))

Tiene el doble de “barritas”, por lo que ahora la partición se muestra de 100 en 100 dólares. A estas gráficas también se le puede dar color y cambiar las indicaciones de texto y dar formato a los ejes si se desea, pero eso ya lo iremos viendo en el camino.

Datos atípicos

En algunos conjuntos de datos notarás que hay algunos pocos valores que quedaron muy extremos, lejos de la mayoría; a estos les llamamos datos atípicos o outliers. Que dichos datos queden “lejos” del resto es muy relativo y en otras gráficas se establece mejor cuándo se pueden considerar atípicos, pero al menos con los histogramas sí nos podemos dar una idea de esto.

Considera el siguiente histograma con la distribución de los rendimientos en el dataset de Autos:

with(Autos, hist(mpg, main = "Distribución de rendimientos de autos", xlab = "Millas por galón"))

Las frecuencias son más bajas en los extremos, lo cual es normal (típico), pero después de un “hueco” sin datos hay intervalos arriba de 35 millas/galón con pocos datos que quedaron separados de la distribución del resto. Son los autos con rendimientos anormalmente altos (en este caso, por ser autos híbridos), los cuales bien podemos considerar como atípicos. Igualmente, los datos atípicos pueden aparecer en el extremo inferior.

En las variables que cuentan con datos atípicos la media se carga un poco hacia esos datos, lo que la hace menos representativa de la tendencia central. La mediana será una mejor medida en estos casos, pues no se ve afectada por los datos atípicos.

Gráfica interactiva

Sección opcional. Activamos el paquete con:

library(plotly)

Para esta gráfica se tiene otra forma de calcular las divisiones. Se incluye también la opción bargap si quieres que se note la división de las columnas:

plot_ly(Credit, x = ~Limit, type = "histogram") %>% 
  layout(title = "Distribución de los límites de crédito", 
         xaxis = list(title = "Dólares"),
         yaxis = list(title = "Frecuencia"),
         bargap = 0.1)

Desde aquí puedes regresar al índice.

Este documento fue hecho con RMarkdown.