Estadística| SEPI ESE IPN | Curso Propedéutico MCE
Para este ejemplo estaremos usando el conjunto de datos happy. Se trata de un conjunto de datos disponible en Kaggle, que contiene datos de variables recopiladas a través del World Happiness Report para el año 2015.
Este conjunto de datos refleja cómo distintas variables (como corrupción, libertad, PIB per Capita, Esperanza de vida, etc.) influyen en la felicidad de su población, la cual es medida a través del “Happiness Score”. Este conjunto de datos se empleará para ilustrar el uso y aplicación de algunas medidas de estadística descriptiva en R.
glimpse(happy)
## Rows: 133
## Columns: 9
## $ country <chr> "Finland", "Denmark", "Norway", "Iceland", "Nether~
## $ social_support <int> 2, 4, 3, 1, 15, 13, 25, 5, 20, 31, 7, 42, 38, 27, ~
## $ freedom <int> 5, 6, 3, 7, 19, 11, 10, 8, 9, 26, 17, 16, 93, 28, ~
## $ corruption <int> 4, 3, 8, 45, 12, 7, 6, 5, 11, 19, 13, 58, 74, 9, 1~
## $ generosity <int> 47, 22, 11, 3, 7, 16, 17, 8, 14, 25, 6, 75, 24, 30~
## $ gdp_per_cap <int> 42400, 48300, 66300, 47900, 50500, 59000, 47200, 3~
## $ life_exp <dbl> 81.8, 81.0, 82.6, 83.0, 81.8, 84.3, 82.8, 81.9, 82~
## $ happiness_score <dbl> 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, ~
## $ grams_sugar_per_day <dbl> 86.8, 152.0, 120.0, 132.0, 122.0, 166.0, 115.0, 16~
La estadística descriptiva sirve para entender los datos y transformarlos en información. Para “Describir” un conjunto de datos,hacemos uso de las medidas de tendencia central.
Las medidas de tendencia central son cálculos estadísticos que nos permiten hallar un solo número que describa dónde está el centro de una distribución de datos.
Para ello, debemos entender que “centro” es un concepto que tomará una forma distinta para cada uno de los métodos o cálculos que apliquemos, y que cada uno tendrá una forma distinta de resumir el conjunto de datos.
Veamos algunos de los más empleados.
Se trata de una medida que toma el dato más pequeño y el más grande de un conjunto de observaciones de una variable y lo divide entre dos para intentar hallar un valor que refleje el “centro” de la distribución. El rango medio de una distribución es el número que está a la mitad entre el valor mínimo y el máximo de una distribución, y se expresa como:
Para calcularla, podemos hacer uso de la función statip::midrange de la librería statip.
Por ejemplo, podemos calcular el rango medio del PIB per capita para los paises de nuestro conjunto de datos con:
MidrangeGDPpercap <- format(round(statip::midrange(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
MidrangeGDPpercap
## [1] "47,547"
Ahora podemos saber que el rango medio del PIB per capita en el 2015, de acuerdo con el World Happiness Report es de 47,547 USD.
El rango medio no es la medida de tendencia central con mayor popularidad, sin embargo, su aplicación es especialmente útil en ciertos contextos en los que cobra una especial relevancia el enfocarse en los valores mínimos y máximos de una variable.
Por ejemplo, en al analizar la cotización de mercado (precio) de una acción o activo financiero, hallar el rango medio nos puede servir para tomar en cuenta los cambios que ocurren entre el precio máximo que alcanza una acción, y el mínimo con el paso del tiempo, o para comparar el riesgo que existe entre dos activos distintos considerando su rango (valor mínimo a máximo), ya que se trata de conjuntos de datos que están en constante cambio.
La media es otra medida de tendencia central que nos ayuda a describir un conjunto de datos; sin embargo, existen distintas formas a través de las cuales se puede calcular. Cada uno de esos métodos de cálculo de la media refleja un valor distinto, aunque cercanos entre sí. Su uso depende del tipo de datos con el que estemos trabajando, pues algunas pueden ser más adecuadas que otras en cierto contexto. Especialmente dentro del campo de las finanzas, puede llegar a ser frecuente el aplicar distintos tipos de medias para describir los datos que tenemos. Veamos cuáles son.
La medida estadística por excelencia; también llamado “promedio”, es la manera más coloquial de resumir un conjunto de datos para hallar su centro. Su cálculo es sencillo y bien conocido por todos, y consiste en sumar todos los elementos de un conjunto de datos, y posteriormente dividirlo entre el número de datos (observaciones). Esto se puede expresar como:
mean() del paquete base de R. También podemos usar las funciones format() y round() para darle un formato distinto al número que se arroja por la función.MeanGDPpercap <- format(round(mean(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
MeanGDPpercap
## [1] "19,546"
Con ello, ahora sabemos que que el PIB per Capita promedio en el 2015, de acuerdo con el World Happiness Report es de $19,546 USD.
¿Cuándo usarla?
La media aritmética es apropiada cuando los valores que queremos describir están en las mismas unidades y admite valores positivos y negativos. No es lo más adecuado usar la media aritmética cuando trabajamos con porcentajes, y es muy sensible (su valor tiene grandes cambios) cuando algún dato del conjunto se dispara o reduce significativamente.
geometric.mean() del paquete psych de R.MeanGDPpercap_geom <- format(round(psych::geometric.mean(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
MeanGDPpercap_geom
## [1] "11,382"
Aplicando ese procedimiento, hallamos que La media geométrica del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $11,382 USD.
Al comparar los valores de la media aritmética y la geométrica podemos notar que son muy distintos entre sí. Por ese motivo, es importante tener presentes dichas diferenccias al momento de emplear uno u otro procedimiento o tipo de media para describir nuestros datos.
¿Cuándo usarla?
Es más adecuado usar este tipo de media cuando, a diferencia de la media aritmética, no estamos trabajando con datos en las mismas unidades; particularmente, es más adecuada cuando usamos proporciones (porcentajes). Es importante señalar que este tipo de media está limitada debido a que solo admite valores positivos, ya que no existen las raíces para números negativos.
También es muy común usar este tipo de media cuando estamos trabajando con series de datos que son sumamente cambiantes con el tiempo.
La media geométrica es sumamente popular en el campo de la economía y las finanzas, para evaluar el crecimiento de una variable a través del tiempo. Un caso de uso muy concreto es la llamada Tasa de Crecimiento Compuesto Anual (Compound Annual Growth Rate, CAGR), que se usa para hallar el rendimiento o ganancia anualizada de una inversión.
rms() del paquete seewave de R.
MeanGDPpercap_quad <- format(round(seewave::rms(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
MeanGDPpercap_quad
## [1] "26,729"
Aplicando ese procedimiento, hallamos que La media cuadrática del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $26,729 USD.
Nuevamente el valor que obtenemos difiere significativamente de los anteriores.
¿Cuándo usarla?
La media cuadrática es ampliamente usada en el campo de la economía; de hecho, el el nombre de la función que empleamos, rms() alude a sus siglas en inglés: Root Mean Square. Esta es una medida que se aplica con mucha frecuencia para hallar el valor medio de los residuos (o error) de un modelo econométrico, regresión lineal, algorítmo de Machine Learning, etc. con respecto al valor observado.
Esta medida (RMSE) se usa con frecuencia para comparar entre sí el desempeño de los diferentes instrumentos o técnicas que se utilicen para modelar el comportamiento de una variable, donde generalmente se busca que sea lo más bajo posible.
Ahora bien, esto es debido a que, como un modelo puede quedarse por debajo o por encima del valor de una observación al tratar de pronosticarlo, los residuos o el error puede ser tanto positivo como negativo. En ese sentido, esta medida es adecuada, pues no se ve limitada a la positividad como la media geométrica.
De entre todas las medias, esta es la que arrojará el valor más alto; esto lo hace un criterio más conservador y riguroso que la media aritmética, por lo cual se ha vuelto una de las medidas más empleadas en el modelaje económico.
harmonic.mean() de la librería psych.
MeanGDPpercap_arm <- format(round(psych::harmonic.mean(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
MeanGDPpercap_arm
## [1] "5,652"
Con esa función, hallamos que La media armónica del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $5,652 USD.
¿Cuándo usarla? La media armónica es empleada con frecuencia en el campo de las finanzas. Al hacer uso de los recíprocos y fracciones, se vuelve particularmente útil cuando se trabaja con conjuntos de datos de ratios, fracciones o proporciones. En finanzas esto es algo sumamente cotidiano, pues al querer comparar el desempeño de una compañía transversalmente con otras, se aplican ratios o “medidas de estandarización”.
Por ejemplo, una de esas medidas es el precio de una acción entre las ganancias por acción (Price to Earnings, P/E ratio). Cuando queremos hallar la media de este ratio entre diversas compañías, por ejemplo, lo más adecuado es emplear entonces una media armónica.
Como observamos, los cuatro métodos reflejan valores distintos entre sí y unos resultan más adecuados que otros para cierto tipo de datos. A continuación se muestra un cuadro resumen de esto:
| Tipo | Media PIB per Capita | Uso | Ejemplo de uso común |
|---|---|---|---|
| Armónica | $5,652 | - Con ratios, razones y cocientes - Con valores tanto positivos como negativos | Conjuntos de ratios financieros como P/E. |
| Geométrica | $11,382 | - Con proporciones o valores en porcentaje (%) - Con valores estrictamente positivos | Tasa de Crecimiento Compuesto Anual (CAGR) |
| Aritmética | $19,546 | - Con valores en las mismas unidades - Con valores tanto positivos y negativos | Versátil, con muchas aplicaciones coloquiales. |
| Cuadrática | $26,729 | - Con valores que requieren mayor rigor - Con valores tanto positivos como negativos | RMSE para modelaje económico. |
La mediana es otra medida de tendencia central muy común. Se trata del número que se encuentra a la mitad de una distribución ordenada (ascendente o descendentemente). Para hallarla podemos usar los siguientes criterios:
Para calcularla en R podemos usar la función median()del paquete stats.
MedianGDPpercap <- format(round(median(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
MedianGDPpercap
## [1] "13,600"
Con esa función, hallamos que La mediana del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $13,600 USD.
¿Cuándo usarla?
La media tiene ciertas características por las cuales suele ser más adecuado usarla en ciertos contextos por encima que la media. El más importante de ellos es que, al dividir al conjunto de datos exactamente por la mitad (50% y 50% de las obsevaciones) no se ve afectada por los valores extremos (observaciones con valor sumamente alto o sumamente bajo dentro del conjunto).
El caso que estamos analizando, de PIB per capita, es uno de los mejores ejemplos de uso para esta medida de tendencia central: hay paises con PIB per capita sumamente alto, mientras que hay otros con un PIB per capita sumamente bajo. Dichos valores extremos pueden afectar mucho a la media, pudiendo volverla una medida sesgada por dichos valores.
Muchas de las variables y conjuntos de datos en economía y finanzas se ven afectados por esta “asimetría”, por lo cual, para describirlos y hallar un punto central entre ellos, es más adecuado emplear la mediana.
Los cuartiles son similares a la mediana, en el sentido de que sirven para dividir una distribución o conjunto de datos en distintos segmentos. Lo más común es dividir hallar 3 medidas para describir una distribución de datos a partir de los cuartiles: el valor que se encuentra al 25% de los datos, a la mitad, 50% (mediana) y al 75%. Estos tres valores en conjunto nos brindan una idea clara del conjunto de datos que tenemos. En R podemos hallarlos usando la función quantile() del paquete stats.
QuantileGDPpercap <- format(round(quantile(happy$gdp_per_cap,type=1),digits = 0), scientific = FALSE, big.mark = ',')
QuantileGDPpercap
## 0% 25% 50% 75% 100%
## " 794" " 4,620" "13,600" "29,600" "94,300"
Con ello, podemos entender que el 50% de las observaciones (desde el Q1 hasta el Q3) caen entre el rango de 4,620 USD y 29,600 USD y tener una visión más completa de cómo está distribuida la variable del PIB per capita.
La última de las medidas de tendencia central es la moda. Se trata del dato que se repite más veces o con mayor frecuencia en una distribución o conjunto.
Para hallar la moda de un conjunto de datos en R, es necesario escribir una función. A continuación se muestra la función que se empleará.
find_mode <- function(x) {
u <- unique(x)
tab <- tabulate(match(x, u))
u[tab == max(tab)]
}
ModeGDPpercap <- format(round(find_mode(happy$gdp_per_cap),digits = 0), scientific = FALSE, big.mark = ',')
ModeGDPpercap
## [1] "34,100" "18,000" "12,000" "25,700" "16,200" "12,100"
Con esa función, hallamos que La moda del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $34,100, 18,000, 12,000, 25,700, 16,200, 12,100. Es decir, es una distribición multimodal, con 5 modas.
¿Cuándo usarla?
La moda es particularmente útil cuando un conjunto de datos es discreto con números enteros. Es decir, cuando estamos trabajando con una variable que solo puede tomar un número entero. Por ejemplo, en el caso de nuestra variable que mide el índice de felicidad, la moda sería más adecuada que la media o la mediana, ya que estas últimas darían como resultado una variable con decimales, lo cual no corresponde a la forma en la que se construye el índice.
Esta medida también nos ayuda para poder hallar el punto en torno al cual se concentra la mayor cantidad de valores (frecuencias) en una distribución.
Las medidas de tendencia central que revisamos son: Rango Medio, Media Aritmética, Media Armónica, Media Geométrica, Media Cuadrática, Mediana y Moda. Para expandir el cuadro de síntesis de las medidas, incorporamos la información faltante al resumen:
| Medida | Valor Central PIB per Capita | Uso | Ejemplo de uso común |
|---|---|---|---|
| Media Armónica | $5,652 | - Con ratios, razones y cocientes - Con valores tanto positivos como negativos | Conjuntos de ratios financieros como P/E. |
| Media Geométrica | $11,382 | - Con proporciones o valores en porcentaje (%) - Con valores estrictamente positivos | Tasa de Crecimiento Compuesto Anual (CAGR) |
| Mediana | $ 13,600 | - Con distribuciones o conjuntos con valores extremos muy altos o muy bajos | Variables económicas (asimétricas) como el PIB per capita. |
| Media Aritmética | $19,546 | - Con valores en las mismas unidades - Con valores tanto positivos y negativos | Versátil, con muchas aplicaciones coloquiales. |
| Media Cuadrática | $26,729 | - Con valores que requieren mayor rigor - Con valores tanto positivos como negativos | RMSE para modelaje económico. |
| Rango Medio | $47,547 | - Con distribuciones en las que es excepcionalmente importante considerar los valores extremos (más altos y más bajos) | Al analizar el comportamiento del precio de una acción, conforme a su volatilidad de valores mínimos y máximos de cotización |
| Moda | Multimodal | - Con variables discretas con valores enteros, cuando las frecuencias se acumulan en torno a observaciones particulares del conjunto de datos. | Para verificar la forma que tiene una distribución (unimodal, bimodal, multimodal). |
Tras hallar el centro de una distribución, una forma que complementa para poder comprender y describir mejor un conjunto de datos son las medidas de dispersión.
Las medidas de dispersión arrojan valores que ayudan a comprender de mejor manera qué tan alejadas o cernanas están las observaciones unas de otras.
La desviación absoluta media es una de las medidas de dispersión que se usan para describir un conjunto de datos. Es muy similar a la desviación estándar, sin embargo, difieren en la forma en la que se calculan. Para poder encontrarla, usamos la siguiente expresión:
Y en R es posible calcularla a partir de la función mad()del paquete stats.
MADGDPpercap <- format(round(mad(happy$gdp_per_cap),digits = 1), scientific = FALSE, big.mark = ',')
MADGDPpercap
## [1] "15,834.2"
Con esa función, hallamos que La Desviación Absoluta Media del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $15,834.2 USD.
La varianza es una medida de dispersión que se emplea para conocer qué tan cercanos o distantes están las observaciones de un conjunto de datos entre sí. Podemos hallarla a partir de aplicar la siguiente expresión:
Y en R a partir de usar la función var del paquete stats
VarGDPpercap <- format(round(var(happy$gdp_per_cap),digits = 1), scientific = FALSE, big.mark = ',')
VarGDPpercap
## [1] "334,875,685"
Con esa función, hallamos que La Varianza del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $334,875,685 USD.
Por último, una de las medidas más empleadas para describir la dispersión de un conjunto de datos es la desviación estándar, la cual se encuentra a partir de aplicar una raíz cuadrada a la varianza, o con la expresión:
Y en R aplicando la función sd del paquete stats
SdGDPpercap <- format(round(sd(happy$gdp_per_cap),digits = 1), scientific = FALSE, big.mark = ',')
SdGDPpercap
## [1] "18,299.6"
Con esa función, hallamos que La desviación estándar del PIB per Capita en el 2015, de acuerdo con el World Happiness Report es de $18,299.6 USD.
Una de las principales bondades de la desviación estándar es que permite analizar de manera muy clara y directa la dispersión de un conjunto de datos; esto debido a que el valor que refleja está en las mismas unidades que la variable original, y por ende de manera sencilla podemos mencionar qué tan alejados están los datos de una variable de su media. Nuevamente, los datos de una variable están más cercanos entre sí cuando la desviación estándar es más baja, y están más dispersos - o hay una mayor distancia - entre sí cuando su desviación estándar es más alta.
Antes de conducir cualquier tipo de análisis o emplear alguna variable o conjunto de datos para algún fin, es importante hacer un análisis exploratorio de la misma, fin para el cual la estadística descriptiva es fundamental, a partir de la aplicación tanto de las medidas de tendencia central y de dispersión.
Por último, hay diversas funciones últiles que se pueden emplear dentro de R para obtener un vistazo veloz a la descripción de las principales medidas de un conjunto de datos. Una de ellas es summary() de la librería stats
summary(happy)
## country social_support freedom corruption
## Length:133 Min. : 1.00 Min. : 1.0 Min. : 2.00
## Class :character 1st Qu.: 35.00 1st Qu.: 39.0 1st Qu.: 41.50
## Mode :character Median : 75.00 Median : 75.0 Median : 77.00
## Mean : 75.23 Mean : 76.3 Mean : 75.69
## 3rd Qu.:114.00 3rd Qu.:115.0 3rd Qu.:111.50
## Max. :155.00 Max. :155.0 Max. :148.00
## NA's :6
## generosity gdp_per_cap life_exp happiness_score
## Min. : 1.00 Min. : 794 Min. :52.90 Min. : 1.00
## 1st Qu.: 42.00 1st Qu.: 4620 1st Qu.:69.10 1st Qu.: 38.00
## Median : 81.00 Median :13600 Median :75.00 Median : 81.00
## Mean : 79.56 Mean :19546 Mean :73.97 Mean : 79.05
## 3rd Qu.:118.00 3rd Qu.:29600 3rd Qu.:79.60 3rd Qu.:117.00
## Max. :155.00 Max. :94300 Max. :84.50 Max. :155.00
##
## grams_sugar_per_day
## Min. : 13.00
## 1st Qu.: 46.20
## Median : 85.60
## Mean : 83.88
## 3rd Qu.:118.00
## Max. :175.00
##