4  Análisis de variables individuales

Published

October 7, 2025

Code
source("~/R/r-data/16.eda/script.R")

Si en el punto anterior hacemos referencia a los distintos niveles de medición que podemos encontrar en Investigación Comercial, en este capítulo debemos seguir manteniendo esta diferenciación asimilando los mismos al análisis univariante cualitativo (escala nominal y ordinal) y al análisis univariante cuantitativo (escala de intervalo y métrica o razón).

Al analizar los datos, y en particular una serie de datos, el analista debe hacerse una idea lo más certera posible de las características de los mismos. Aquellos que hayan recibido formación estadística, reconocerán fácilmente que con el término características de la distribución estamos haciendo referencia a los aspectos básicos de tendencia de los datos, variabilidad de los mismos y forma de la distribución, siendo este último aspecto el menos conocido, ya que medidas como la media o la mediana (tendencia central) y la varianza o la desviación típica (dispersión o variablidad) son muy conocidos y no tanto índices de simetría, kurtosis (apuntamiento) u otros términos que iremos conociendo. Dependiendo también del tipo de dato, del nivel de medición para ser más exactos, conoceremos que hay medidas estadísticas más apropiadas para cada uno. En este capítulo, por tanto, mostramos al lector qué y cómo pueden calcularse diferentes mediciones que nos ayudan a comprender y caracterizar una distribución.

4.1 Descriptivos básicos

La fórmula más básica de tratamiento de una variable sería el cálculo de su distribución de frecuencias. Una frecuencia es el resultado de contar el número de casos en los que se produce la contingencia o suceso que estamos analizando. Por ejemplo, para una variable incluida en casi todos los archivos de datos como puede ser el género de la persona entrevistada, obtener la distribución de frecuencias sería saber cuántos hombres y mujeres hay en el fichero de datos. En este epígrafe y posteriores se agrupan la opción de cálculo de frecuencias (y porcentajes) con las mediciones básicas de cálculo. Del mismo modo que utilizamos la opción frecuencias, el analista desea en otras ocasiones y sobre todo cuando trabaja con variables numéricas métricas abordar el análisis de la serie de valores a partir de los datos derivados del cálculo de medidas de tendencia central, variabilidad de los datos u otras caracterizaciones de la distribución. El analista sin embargo debe saber qué estadísticos interpreta en cada caso, porque evidentemente el nivel de medición en el que está expresada cada variable, afecta a la posibilidad o no de interpretación de los resultados.

4.1.1 Frecuencias

Una distribución de frecuencias informa sobre los valores que una variable ha recogido, indicando tanto el número de veces como ha aparecido cada uno de los valores que la conforman, como el porcentaje que supone este número de veces sobre el total de veces. Este análisis desarrollado en este epígrafe, sería válido para cualquier variable medida en cualquier nivel de medición, tanto cualitativa como cuantitativa. En nuestro ámbito de trabajo, en muchas ocasiones queremos conocer la frecuencia directa de los valores de la distribución (recuento), pero en otros casos nos gustará conocer las frecuencias de determinadas agrupaciones de valores. Este segundo caso tiene profundas implicaciones cuando de variables de repuesta múltiple se trata y es llamado tabulación marginal.

En R podemos obtener ambos análisis:

  • El recuento de frecuencias nos muestra el valor y el porcentaje, sin atender a las posibles etiquetas de respuesta que hayamos podido definir en una variable determinada.
  • La tabla de marginales, sin embargo, atiende a la propia codificación de la variable, y es por ello que si esta codificación tiene valores agregados (por intervalos) el resultado sería el mismo de forma agregada, pero se presentaría de forma distinta.

Veamos un ejemplo práctico. Imaginemos que tenemos una serie de puntuaciones recogidas en hasta 8 ciudades españolas diferentes. Deseamos conocer cuántas veces ha aparecido cada una de las ciudades definidas. La serie de valores es…

1 2 3 4 5 6 7 8 1 2 4 5 7 4 4 1 2 5 1 1 2 5 4 1 1 2 1 1 4 5 7 7 4 1 1 2 5 4 7 7 5 4 1 1 2 2 5 4 4 7

Entre los ficheros de datos que usaremos en este libro / curso online, disponemos de esta serie de números estructurada en filas (cada fila, un individuo, una puntuación). La variable se denomina CIUDAD y el fichero de datos se carga directamente desde Google Drive; es un fichero en formato SPSS (sav) por lo que está etiquetado. Mostramos la carga del archivo y sus diez primeros registros como muestra.

Table 4.1
CIUDAD  CIUDADESP   CIUDADAGR 
 A Coruña  1 1
 Madrid  2 2
 Valencia  3 3
 Barcelona  4 4
 Bilbao  5 5
 Lleida  6 6
 Jaén  7 7
 Santander  8 8
 A Coruña  1 1
 Madrid  2 2
 Barcelona  4 4
 Bilbao  5 5
 Jaén  7 7
 Barcelona  4 4
4 4
 A Coruña  1 1
 Madrid  2 2
 Bilbao  5 5
 A Coruña  1 1
1 1
 Madrid  2 2
 Bilbao  5 5
 Barcelona  4 4
 A Coruña  1 1
1 1
 Madrid  2 2
 A Coruña  1 1
1 1
 Barcelona  4 4
 Bilbao  5 5
 Jaén  7 7
7 7
 Barcelona  4 4
 A Coruña  1 1
1 1
 Madrid  2 2
 Bilbao  5 5
 Barcelona  4 4
 Jaén  7 7
7 7
 Bilbao  5 5
 Barcelona  4 4
 A Coruña  1 1
1 1
 Madrid  2 2
2 2
 Bilbao  5 5
 Barcelona  4
4
 Jaén  7

Si observamos la variable CIUDAD podemos ver que la serie de sus valores se corresponde con los indicados por nosotros. Vamos a ver como calcular la distribución de frecuencias, apoyándonos en los paquetes de referencia tidyverse (Wickham et al. 2019), expss (Demin 2023) y rstatix (Kassambara 2023). Para los gráficos usaremos el paquete ggplot (Wickham 2016) incluido en el indicado tidyverse.

Code
expss::fre(unvl(df$CIUDAD))
Table 4.2: Recuento de frecuencias
unvl(df$CIUDAD)  Count   Valid percent   Percent   Responses, %   Cumulative responses, % 
 1  13 26 26 26 26
 2  8 16 16 16 42
 3  1 2 2 2 44
 4  11 22 22 22 66
 5  8 16 16 16 82
 6  1 2 2 2 84
 7  7 14 14 14 98
 8  1 2 2 2 100
 #Total  50 100 100 100
 <NA>  0 0

Expliquemos en primer lugar la salida base, y posteriormente ampliamos su uso. Podemos observar como la primera columna muestra los diferentes valores que conforman la distribución de frecuencias, que observamos de 1 a 8 de forma ordenada y creciente. La segunda columna informa del número de veces (repeticiones) de cada uno de esos valores, es decir, la frecuencia. La tercera columna informa sobre el porcentaje de casos que representa cada valor sobre el total de los casos y la quinta columna el mismo porcentaje, pero acumulado, alcanzando dado el carácter no múltiple de esta variable (respuesta simple por cada individuo) el 100 % de los casos. Al final de la tabla, aparace el recuento de los posibles valores especiales de esta variable. Nótese que hemos usado en la nomenclatura de R una función unvl() que nos ha permitido eludir los textos de las etiquetas de cada variable, que eran estos:

 A Coruña    Madrid  Valencia Barcelona    Bilbao    Lleida      Jaén Santander 
        1         2         3         4         5         6         7         8 

Si usamos la misma sentencia pero sin esa función…

Code
fre(df$CIUDAD)
Table 4.3: Recuento de frecuencias etiquetado
df$CIUDAD  Count   Valid percent   Percent   Responses, %   Cumulative responses, % 
 A Coruña  13 26 26 26 26
 Madrid  8 16 16 16 42
 Valencia  1 2 2 2 44
 Barcelona  11 22 22 22 66
 Bilbao  8 16 16 16 82
 Lleida  1 2 2 2 84
 Jaén  7 14 14 14 98
 Santander  1 2 2 2 100
 #Total  50 100 100 100
 <NA>  0 0

Del mismo modo, hemos eludido comentar la cuarta columna, que realmente será distinta de la tercera en el caso de las variables múltiples, ya que en este caso, la frecuencia se calcularía con la base de las n respuestas (se supone que más que individuos) que pudieran haber en la distribución. este será el caso cuando cada individuo hubiera podido indicar más de una ciudad en su respuesta.

En este caso se produce una coincidencia entre el Valid percenty el Percent porque no hay valores especiales. Caso de que los hubiera, lo más habitual sería siempre consultar el Valid percent.

Vamos ahora con una revisión de otros estadísticos básicos, que por no algar y en virtud de su sencillez, los agruparemos en Otros estadísticos básicos

Cargaremos otro archivo que contiene una variable numérica sobre la que poder hacer cálculos.

Code
df <- read_spss('https://drive.google.com/uc?export=download&id=1e4LdCD_pXppt7PQqFVrwZaZ5zwFpZ064')
head(df,n=10)
   PUNTO UNIDADES
1    201       17
2    202       77
3    203       62
4    204       53
5    205       85
6    206       44
7    207       26
8    208       30
9    209       85
10   210       34

4.1.2 Suma de casos

No podemos extender mucho la explicación de este cálculo ya que este descriptivo es la agregación de los casos de la distribución. La expresión suma queda definida por la fórmula:

\[ \sum_{i = 1}^{n}{x_i} \]

Para calcular este estadístico en R podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos (funciones del paquete base) o utilizando una fórmula específica general del paquete rstatix.

4.1.3 Máximo

Aunque debería encuadrarse dentro de los tratamientos de variabilidad o dispersión, denominamos máximo al valor más elevado en tamaño de la serie analizada.

\[ max({x_i}) \]

Para calcular este estadístico en R podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos o utilizando una fórmula específica general.

4.1.4 Mínimo

Igual que el anterior, aunque debería encuadrarse dentro de los tratamientos de variabilidad o dispersión, denominamos mínimo al valor más reducido en tamaño de la serie analizada.

\[ min({x_i}) \]

Para calcular este estadístico en R podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos o utilizando una fórmula específica general.

Code
sum <- paste('Suma de casos: ', sum(df$UNIDADES,na.rm = TRUE))
max <- paste('Máximo: ',max(df$UNIDADES,na.rm = TRUE))
min <- paste('Mínimo: ', min(df$UNIDADES,na.rm = TRUE))
  • Suma de casos: 5054
  • Máximo: 87
  • Mínimo: 17
TipUso de ‘r nombre_objeto’

En esta sintaxis hemos usado una funcionalidad básica de R, guardar información en objetos y luego publicar el resultado de forma integrada con el texto. El comando ‘r nombre_objeto’ publica el objeto en el texto, aunque no se ve (ya ha sido sustituido) aquí hemos escrito r sum, r max y r min en la lista de viñetas. Cada uno de ellos antepone y acaba con el símbolo “`”.

4.2 Tendencia central

En estadística, el término tendencia central se refiere a la forma en que los datos cuantitativos tienden a agruparse alrededor de algún valor. Una medida de tendencia central es cualquier forma de valor resumido de especificar este “valor central”.

Uno de las formas más simples de expresar ese valor resumido es una media de un conjunto de valores. Esta media puede expresarse de diferentes formas ya que como sabemos la media puede ser aritmética, geométrica, armónica, ponderada o también puede ser expresada como la mediana. El término se aplica a los datos multidimensionales y nos proporciona la noción de un “lugar central” o “promedio” calculado con los datos. Las medidas de tendencia central pueden ser aplicadas tanto a poblaciones como a muestras.

Desarrollamos las más importantes en el ámbito de la investigación de mercados.

4.2.1 Media aritmética

Todos estamos familiarizados con la media aritmética como valor representativo de un conjunto de puntuaciones o también como la suma de todas las puntuaciones dividida por el número de puntuaciones; con frecuencia describimos un grupo de manera resumida diciendo cuál es su media; si estamos hablando de una clase no es lo mismo decir esta clase tiene una media de 7, que decir en esta clase la media es 5… La fórmula de la media no necesita demostración porque expresa el mismo concepto de media: cuánto correspondería a cada sujeto (u objeto) si todos tuvieran el mismo valor: sumamos todos los valores y dividimos esta suma por el número de sujetos. El símbolo habitual de la media es el mismo utilizado en las puntuaciones directas (generalmente una X mayúscula o x minúscula) con una raya horizontal encima (pero también se utilizan otros símbolos como la letra M).

\[ \overline{x}=\frac{\sum_{i=1}^{n}(x_{i})}{n} \]

de la media podemos enunciar dos propiedades que también nos podrían servir para definirla.

  • Si a cada sujeto le calculamos su diferencia con respecto a la media, la suma de estas diferencias es igual a cero: la suma de las diferencias positivas es igual a la suma de las diferencias negativas.
  • Si estas diferencias con respecto a la media las elevamos al cuadrado (y todas serán positivas) y las sumamos, esta suma será menor que la suma de las diferencias, también elevadas al cuadrado, con respecto a cualquier otro valor distinto de la media.

Esta propiedad de la media nos permite definirla como el valor central que hace que la suma de los cuadrados de las desviaciones con respecto a este valor sea el mínimo posible. El método de localizar la media buscando el valor mínimo de la suma de cuadrados (de las diferencias con respecto a la media elevadas al cuadrado) recibe el nombre de método de los cuadrados mínimos; no tiene especial importancia ahora, pero sí lo tiene en otras aplicaciones de la estadística (como en la recta de regresión) y es útil estar ya familiarizados con este término.

Para calcular este estadístico en R podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos o utilizando una fórmula específica general.

4.2.2 Mediana

La mediana es el valor que divide las frecuencias en dos mitades iguales: por encima de la mediana y por debajo de la mediana encontramos el mismo número de sujetos. La mediana es otro valor de tendencia central muy útil. La mediana podemos buscarla, al menos de manera aproximada, por simple inspección de los datos en una distribución de frecuencias; el cálculo preciso lo veremos en el contexto de los percentiles (la mediana corresponde al percentil 50: el valor que deja por debajo a la mitad de la muestra).

La mediana puede ser también expresada en función de otras expresiones utilizadas en estadística: Una mediana es la expresión del segundo cuartil, el quinto decil o el quincuagésimo percentil.

  • Los cuartiles, que dividen a la distribución en cuatro partes;
  • Los deciles, que dividen a la distribución en diez partes;
  • Los percentiles, que dividen a la distribución en cien partes.

El término que generaliza estas expresiones es el de cuantiles que constituyen una generalización del concepto de mediana. Así como la mediana divide a la serie estudiada en dos partes con el mismo número de elementos cada una, si la división se hace en cuatro partes, o en diez partes, o en cien partes, llegamos al concepto de cuantiles: respectivamente cuartiles, deciles y percentiles.

4.2.2.1 Cuartiles

Son tres valores con las siguientes características:

  • Q1: Primer cuartil, que es el valor de la variable por debajo del cual queda 1/4 de los elementos de la serie estudiada.
  • Q3: Tercer cuartil, que es el valor de la variable por debajo del cual quedan los 3/4 de los elementos que constituyen la serie. Evidentemente el segundo cuartil coincide con la mediana. Como puede comprobarse, no tendría ninguna utilidad definir el cuarto cuartil. El cálculo de los cuartiles se realiza por el mismo procedimiento que el cálculo de la mediana, pues hay únicamente una diferencia cuantitativa entre ambas medidas, pero tienen significados paralelos.

Así, el primer cuartil se hallará aplicando la siguiente fórmula:

\[ Q_1=l+\frac{I}{f}*(\frac{N}{4}*f_{i}) \]

y el tercer cuartil:

\[ Q_1=l+\frac{I}{f}*(\frac{3N}{4}*f_{i}) \]

donde …

  • l: límite inferior de la clase a la que pertenece el cuartil, que es la clase que deja por debajo de ella el 25% de las observaciones (o el 75% en el caso de Q3)
  • I: amplitud del intervalo.
  • f: frecuencia de la clase cuartílica.
  • N: total de elementos de la muestra.
  • fi: frecuencia acumulada de todos los valores inferiores a la clase que contiene el cuartil.

La mediana por tanto, sería:

\[ Q_1=l+\frac{I}{f}*(\frac{2N}{4}*f_{i}) \]

4.2.2.2 Deciles

Es la segunda clase de cuantiles. Si se divide toda la serie en diez partes iguales tendremos los deciles.

D1, el decil 1, deja el 10% de los valores de la serie por debajo de él. Análogamente ocurre con los deciles D2, D3,…….D9. El decil 8, por ejemplo, deja el 80% de la masa de datos investigada por debajo de él. Las fórmulas para calcularlos son también análogas a las de la mediana.

Por ejemplo, los deciles 1 y 9…

\[ D_1=l+\frac{I}{f}*(\frac{N}{10}*f_{i}) \]

\[ D_9=l+\frac{I}{f}*(\frac{9N}{10}*f_{i}) \]

4.2.2.3 Percentiles

Hay 99 percentiles que se denotan: P1, P2, P3,…….,P98, P99. Así P90, por ejemplo, deja por debajo de él el 90% de los elementos. La fórmula para realizar el cálculo del percentil 45, por ejemplo sería:

\[ P_{45}=l+\frac{I}{f}*(\frac{45N}{100}*f_{i}) \]

Agrupamos todos los cálculos …

Code
Media <- paste('Media de casos: ', mean(df$UNIDADES,na.rm = TRUE))
Mediana <- paste('Mediana (Q<sub>2</sub>) -forma directa-: ', median(df$UNIDADES,na.rm = TRUE))
Medianaq <- paste('Mediana (Q<sub>2</sub>): ', quantile(df$UNIDADES,na.rm = TRUE, probs=0.5))
Q1 <- paste('Cuartil (Q<sub>1</sub>): ', quantile(df$UNIDADES, na.rm=T, probs=0.25))
Q3 <- paste('Cuartil (Q<sub>3</sub>): ', quantile(df$UNIDADES, na.rm=T, probs=0.75))
D1 <- paste('Decil (Q<sub>1</sub>): ', quantile(df$UNIDADES, na.rm=T, probs=0.10))
D9 <- paste('Decil (Q<sub>9</sub>): ', quantile(df$UNIDADES, na.rm=T, probs=0.90))
P45 <- paste('Percentil (P<sub>45</sub>): ', quantile(df$UNIDADES, na.rm=T, probs=0.45))

Listamos los resultados:

  • Media: Media de casos: 50.54
  • Mediana: Mediana (Q2) -forma directa-: 47.5
  • Mediana (con quantiles): Mediana (Q2): 47.5
  • Q1: Cuartil (Q1): 31
  • Q3: Cuartil (Q3): 69.25
  • D1: Decil (Q1): 22
  • D9: Decil (Q9): 83.1
  • P45: Percentil (P45): 40.55

4.2.3 Diagrama de caja

Los diagramas de caja también llamados gráficos Box-Whisker (de caja y bigotes), nos permiten identificar la distribución y la dispersión de los datos de una variable de escala. Con este tipo de gráfico se representa la mediana, los cuartiles (1 y 3), los valores atípicos y los valores extremos. La estructura de este tipo de gráfico esta basada en una caja, donde el límite superior corresponde al valor del tercer cuartil (75% de los datos) y el límite inferior al primer cuartil (25%); a su vez dentro de la caja se incluye una línea representando el valor de la mediana. Además se incluye dos barras verticales (bigotes), los cuales determinan la distancia o rango del 95% de los casos; adicionalmente, el procedimiento anexa algunos símbolos representativos de los valores atípicos y extremos. La utilidad de este tipo de gráficos radica en la posibilidad de resumir el comportamiento y las principales medidas de una o varias variables de escala, mediante un solo diagrama.

En definitiva, este gráfico es muy útil porque proporciona una visión general de la simetría de la distribución de los datos ya que si la mediana no está en el centro del rectángulo, la distribución no es simétrica, y su consecuencia es la rápida detección de valores atípico, que aunque no existentes en esta distribución, a lo largo del documento aparecerán. Usaremos el sistema más típico de gráficos en R que es el paquete ggplot (Wickham 2016).

Code
ggplot(df, aes(y = UNIDADES)) +
   geom_boxplot() +
   theme(
      axis.text.x = element_blank(),
      axis.ticks = element_blank()
   )
Figure 4.1

4.3 Tratamientos de variabilidad o dispersión

Las medidas de dispersión, también llamadas medidas de variabilidad, muestran la variabilidad de una distribución, indicando por medio de un número, si las diferentes puntuaciones de una variable están muy alejadas de la media. Cuanto mayor sea ese valor, mayor será la variabilidad, cuanto menor sea, más homogénea será a la media. Así se sabe si todos los casos son parecidos o varían mucho entre ellos.

Para calcular la variabilidad que una distribución tiene respecto de su media, se calcula la media de las desviaciones de las puntuaciones respecto a la media aritmética. Pero la suma de las desviaciones es siempre cero, así que se adoptan dos clases de estrategias para salvar este problema. Una es tomando las desviaciones en valor absoluto (desviación media) y otra es tomando las desviaciones al cuadrado (varianza).

4.3.1 Desviación típica / Varianza

La varianza, también denominada variancia, es una medida estadística que mide la dispersión de los valores respecto a un valor central (media), es decir, la media de las diferencias cuadráticas de las puntuaciones respecto a su media aritmética. Suele ser representada con la letra griega σ o una V en mayúscula.

$$ S{2}{x} =

$$

La varianza a veces no se interpreta claramente, ya que se mide en unidades cuadráticas, debido a ello, definimos otra medida de dispersión, que es la desviación típica o standard, que se halla como la raíz cuadrada positiva de la varianza.

La desviación típica informa sobre la dispersión de los datos respecto al valor de la media; cuanto mayor sea su valor, más dispersos estarán los datos. Esta medida viene representada en la mayoría de los casos por S o por STD, dado que es su inicial de su denominación en inglés. Existen dos alternativas de cálculo la denominada desviación típica muestral que divide por n-1 y la desviación típica poblacional que divide por N siendo n el tamaño de la muestra y N el tamaño de la población. Resulta obvio al ver las fórmulas que en muestras muy grandes la diferencia es imperceptible de aplicar N como tamaño muestral.

\[ S_{x} =\sqrt{ \sum_{i=1}^{k}\frac{(x-\overline{x})^{2}}{n-1}} \] \[ \sigma_{x} =\sqrt{ \sum_{i=1}^{k}\frac{(x-\overline{x})^{2}}{n-1}} \]

Una característica fundamental de la desviación típica cuando se trabaja con muestra y con variables normales, es que:

*****dibujar normal y desviaciones típicas con porcentajes de casos.****

Para calcular este estadístico en Barbwin podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos o utilizando una fórmula específica general.

4.3.2 Coeficiente de variación

El coeficiente de variación es un indicador adimensional de la dispersión relativa que se pueda dar en una distribución de frecuencias. Al ser un cociente adimensionado, puede servir como medida de comparación de dos distribuciones con media y desviaciones diferentes. Aquellas distribuciones con diferente media y desviación para ser comparadas requerirán de la aplicación del proceso de estandarización para análisis conjunto, sin embargo este índice que varía entre 0 y 100 podrá permitir la comparación de las dispersiones de los datos en función de la media y la desviación típica.

La expresión es:

$$ VCf =

=

$$ ### Rango El rango o recorrido estadístico es la diferencia entre el valor mínimo y el valor máximo en un grupo de números aleatorios. Se le suele simbolizar con R. Para calcular el rango, debemos ordenar los números según su tamaño y posteriormente restamos el valor mínimo del valor máximo de la serie de valores. El resultado es el rango que estará medido en unidades de la serie.

Rango = Máximo - Mínimo

Para calcular este estadístico en Barbwin podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos o utilizando una fórmula específica general.

4.3.3 Rango intercuartílico

Otra medición de rango es el denominado rango intercuartílico que es la diferencia entre el tercer y el primer cuartil de una distribución. Es una medida de la variabilidad estadística de una distribución. A diferencia del rango, se trata de un estadístico robusto, aproximación alternativa a los métodos estadísticos clásicos cuyo objeto es producir estimadores que no sean afectados indebidamente por valores atípicos u otras pequeñas discrepancias respecto de las asunciones del modelo. Desafortunadamente, cuando hay valores atípicos en los datos, los resultados producidos por los métodos clásicos son a menudo de baja calidad. El rango está relacionado con los diagramas de caja, representaciones gráficas sencillas de una distribución de probabilidad.

4.3.4 Error estándar

El error estándar o típico de una medición es la desviación estándar de la muestra de la distribución asociada con el método de estimación. En el caso del error de la media muestral que es un estimador de la media poblacional, si sabemos que la media muestral es una media obtenida en una de las infinitas muestras a tomar en una población, podemos inferir que nuestro cálculo contiene un error. El error estándar o típico de la media es la desviación estándar de esa muestra como cociente con el tamaño de la muestra de la que se ha obtenido la medición. Esta sería la expresión del error de la media:

\[e=\frac{SD}{\sqrt{N-1}}\]

El término de error estándar se deriva del hecho de que, siempre que el estimador es insesgado, la desviación estándar del error (la diferencia entre la estimación y el valor real) es la misma que la desviación estándar de las estimaciones de sí mismos, lo que es cierto, ya que la desviación estándar de la diferencia entre la variable aleatoria y su valor esperado es igual a la desviación estándar de una variable aleatoria en sí misma.

Según el teorema del límite central, si de cualquier población se extraen muestras aleatorias del mismo tamaño N, al aumentar el número de muestras, sus medias se distribuyen normalmente, con media μ y una desviación típica, o error típico \[e=\frac{\sigma}{\sqrt{N}}\]

Esta distribución muestral de las medias es independiente de la distribución de la población; aunque la distribución en la población no sea normal, las medias de las muestras aleatorias extraídas de esa población sí tienden a tener una distribución normal.

Observando la fórmula del error típico de la media podemos ver que:

1º Es claro que el error típico de la media será menor que la desviación típica de cualquier muestra: el cociente siempre será menor que el numerador. Esto quiere decir que las medias de las muestras son más estables y tienden a oscilar menos que las puntuaciones individuales; dicho de otra manera, las medias de muestras de la misma población se parecen entre sí más que los sujetos (u objetos) de una muestra entre sí.

2º Observando las fórmulas vemos también que el error típico de la media será más pequeño en la medida en que N sea grande: si aumentamos el denominador, disminuirá el cociente. Es natural que al aumentar el número de sujetos (N) el error sea menor: la media de la muestra se aproximará más a la media de la población. Si N es muy grande, el error tiende a cero; y si N no comprende a una muestra sino a toda la población, el error sería cero: en este caso la media de la población coincide con la media de la muestra y no hay error muestral (o variación esperable de muestra a muestra).

3º Por otra parte si la desviación típica de la muestra es grande, el error típico estimado de la media será también mayor: si aumentamos el numerador, el cociente será mayor.

También esto es lógico: una desviación típica grande en una muestra quiere decir que las diferencias entre los sujetos son mayores, y consecuentemente las medias de las diferentes muestras también diferirán más entre sí.

4.3.4.1 Utilidad de este error

Vamos a exponer dos usos del error típico de la media. Aquí el más importante es el primero, establecer los límites probables (intervalos de confianza) entre los que se encuentra la media de la población, un planteamiento típico y frecuente en estadística inferencial. Veremos también lo mismo aplicado a una proporción, que es la media cuando se trata de datos dicotómicos (1 ó 0).

En segundo lugar el error típico de la media nos permite comprobar si una muestra con una determinada media puede considerarse como perteneciente a una población cuya media conocemos, es también de interés y es simplemente una aplicación del anterior. Igualmente podemos aplicarlo si la media es una proporción (una proporción es la media cuando los datos son unos y ceros). Es conveniente exponerlo aquí brevemente, pero lo volveremos a encontrar al tratar del contraste de medias, pues allí veremos un procedimiento más sencillo.

No sobra por último repetir una observación ya hecha: estamos tratando del error típico de la media (o desviación típica de una hipotética distribución de medias), pero de manera análoga podríamos tratar de otros errores típicos y con las mismas aplicaciones: de los coeficientes de correlación, de las proporciones, y de cualquier otro estadístico.

4.3.5 Intervalo de confianza

Como resultado del uso del error típico o estándar de la media, la media aritmética puede ser inferida en un intervalo de confianza que asegura al analista que la media poblacional con un nivel de confianza definido, se encontrará realmente en los límites marcados por éste. Habitualmente se trabaja bajo dos supuestos: muestras grandes (n > 30) o muestras pequeñas (n ≤ 30). Ante estos supuestos dos son las formulaciones propuestas:

Muestra mayor de 30, se utiliza el valor de Z (normal) \[ [L1,L2] = \overline{X}\pm z_{\sigma} * \frac{\sigma}{\sqrt{N}} \]

Muestra menor de 30, se utiliza el valor de t-Student \[ [L1,L2] = \overline{X}\pm t_{\sigma} * \frac{\sigma}{\sqrt{N}} \]

Para calcular este estadístico en R podemos optar por hacerlo, al igual que con las frecuencias de dos formas, utilizando la opción de descriptivos o utilizando.

4.4 Medidas de caracterización

Las medidas de caracterización de la distribución ayudan al analista a verificar el ajuste de la distribución de la serie de datos a analizar con mediciones nde asimetría y apuntamiento relacionadas con la curva normal. La asimetría resulta útil en muchos campos. Muchos modelos simplistas asumen una distribución normal, esto es, simétrica en torno a la media.

La distribución normal tiene una asimetría cero. Pero en realidad, los valores no son nunca perfectamente simétricos y la asimetría de la distribución proporciona una idea sobre si las desviaciones de la media son positivas o negativas. Una asimetría positiva implica que hay más valores distintos a la derecha de la media.

Las medidas de asimetría, sobre todo el coeficiente de asimetría de Fisher, junto con las medidas de apuntamiento o curtosis se utilizan para contrastar si se puede aceptar que una distribución estadística sigue la distribución normal. Esto es necesario para realizar numerosos contrastes estadísticos en la teoría de inferencia estadística.

4.4.1 Asimetría

Las medidas de asimetría son medidas características que permiten establecer el grado de simetría (o asimetría) que presenta una distribución de probabilidad de una variable aleatoria sin tener que hacer su representación gráfica (que no obstante siempre es necesaria). Si establecemos como eje de simetría una recta paralela al eje de ordenadas que pasa por la media de la distribución, diremos que una distribución será simétrica si existen el mismo número de valores a la derecha que a la izquierda de la media, por tanto, el mismo número de desviaciones con signo positivo que con signo negativo. Ante esto podemos afirmar que :

  • hay asimetría positiva (o a la derecha) si la “cola” a la derecha de la media es más larga que la de la izquierda, es decir, si hay valores más separados de la media a la derecha.
  • hay asimetría negativa (o a la izquierda) si la “cola” a la izquierda de la media es más larga que la de la derecha, es decir, si hay valores más separados de la media a la izquierda. El coeficiente de asimetría de Fisher, representado por γ1, se define como:

\[ \gamma _{l}=\frac{\mu _{3}}{\sigma _ {3}} \]

donde μ3 es el tercer momento en torno a la media y σ es la desviación estándar.

  • Si γ1 = 0, la distribución es simétrica.
  • Si γ1 > 0, la distribución es asimétrica positiva o a la derecha.
  • Si γ1 < 0, la distribución es asimétrica negativa o a la izquierda.

Tras esta explicación, la fórmula con la que se calcula (entre otras) la (a)simetría es el coeficiente de asimetría de Bowley, y está basado en la posición de los cuartiles y la mediana, y utiliza la siguiente expresión:

\[ A_{B} = \frac{Q_{3/4}+Q_{1/4}-2Me}{Q_{3/4}-Q_{1/4}} \]

En una distribución simétrica el tercer cuartil estará a la misma distancia de la mediana que el primer cuartil. Por tanto AB = 0. Si la distribución es positiva o a la derecha, AB = 0.

Para calcular este estadístico en R … .

4.4.2 Curtosis o apuntamiento

En teoría de la probabilidad y estadística, la curtosis es una medida de la forma o apuntamiento de las distribuciones. Así las medidas de curtosis (también llamadas de apuntamiento o de concentración central) tratan de estudiar la mayor o menor concentración de frecuencias alrededor de la media y en la zona central de la distribución. El coeficiente de apuntamiento de uso más extendido es el basado en el cuarto momento con respecto a la media y define como:

\[ \beta _{2}=\frac{\mu _{4}}{\sigma _ {4}} \]

dónde μ4 es el 4º momento centrado o con respecto a la media y σ es la desviación estándar, aunque en ocasiones se emplea está otra definición del coeficiente de curtosis (utilizada por Barbwin), donde se ha sustraído 3 al final para generar un coeficiente centrado en 0:

\[ \frac{\frac{\sum_{j=1}^{n}(X-\overline{X})^{4}}{N}}{\frac{\sum_{j=1}^{n}(X_j-\overline{X})^{2}}{N}} - 3 \]

Tomando la distribución normal como referencia, una distribución puede ser:

  • más apuntada que la normal o también denominada leptocúrtica.
  • menos apuntada que la normal o también denominada platicúrtica.
  • la distribución normal es plana es su cabecera o también denominada mesocúrtica.

En la distribución normal se verifica que μ4 = 3σ4, donde μ4 es el momento de orden 4 respecto a la media y σ la desviación típica. Así tendremos que:

  • Si la distribución es leptocúrtica β2 > 3 y g2 > 0
  • Si la distribución es platicúrtica β2 < 3 y g2 < 0
  • Si la distribución es mesocúrtica β2 = 3 y g2 = 0

Para calcular este estadístico en R podemos optar por hacerlo … .

4.5 Alternativa conjunta de cálculo de estadísticos descriptivos

De forma alternativa (y verás que más habitual) usaremos la siguiente función para obtener la mayor parte de los descriptivos necesarios. Hay muchas formas, desde el summary() hasta el fivenum() que se usan según la necesidad. Nosotros, como trabajamos con el paquete rstatix proponemos la siguiente solución 1:

Code
get_summary_stats(df, UNIDADES) # get_summary_stats() obtiene los resultados
Table 4.4: Descriptivos de una variable
# A tibble: 1 × 13
  variable     n   min   max median q1       q3      iqr   mad  mean    sd    se
  <fct>    <dbl> <dbl> <dbl>  <dbl> <labell> <lab> <dbl> <dbl> <dbl> <dbl> <dbl>
1 UNIDADES   100    17    87   47.5 31       69.25  38.2  30.4  50.5  22.4  2.24
# ℹ 1 more variable: ci <dbl>

Un dataframe (terminología de R para los bancos de datos, ficheros, bases de datos) que contiene las estadísticas descriptivas básicas, como:

  • n: el número de casos
  • min: mínimo
  • max: máximo
  • median: mediana
  • mean: media
  • q1, q3: el primer y el tercer cuartil, respectivamente.
  • iqr: rango intercuartil
  • mad: desviación absoluta mediana
  • sd: desviación estándar de la media
  • se: error estándar de la media
  • ci: intervalo de confianza del 95 por ciento de la media

4.6 Tareas del investigador: detección y análisis de valores atípicos

Una forma de aplicación de los conocimientos que recientemente hemos adquirido con respecto al análisis de datos sería el de la búsqueda y análisis de los llamados valores atípicos. Un valor atípico (Hawkins 1980; Aldás Manzano and Uriel Jiménez 2017; Soetewey 2020) o outlier es una observación de una variable de la cual hemos recogido una medida, cuyo grado excede por su límite superior o inferior significativamente de los valores típicos de la distribución. Una observación siempre debe ser comparada con otras observaciones realizadas sobre la misma variable, antes de catalogarlo como outlier y siempre teniendo en cuanta las condiciones en las que se ha realizado la medida de fiabilidad y veracidad.

Un valor atípico puede deberse a la dispersión o variaciones de la variable que estamos midiendo u observando. Por ejemplo, suele darse el caso de que existan valores atípicos al recopilar datos sobre cifras de ventas en las PYME. Pueden existir PYMEs cuyas cifras de ventas superen en mucho incluso a empresas más pequeñas en salarios, ya que algunas personas ganan mucho más dinero que el resto. Los valores atípicos también pueden surgir debido a un error experimental, de medición o de codificación. Por ejemplo, un ser humano que pesa 786 kg claramente un error al registrar el dato del peso del individuo. Lo más probable es que su peso sea de 78,6 kg o 7,86 kg), dependiendo de si se han medido los pesos de adultos o bebés.

Presentamos en este post diferentes formas de cálculo de los outliers (las más habituales y sencillas) que todo investigador debería aplicar en la exploración descriptiva de sus datos para decidir los mejor, si editar los mismos (errores) o eliminar su presencia en el banco de datos a analizar para no distorsionar los resultados del análisis.

La decisión de editar y mantener o de eliminar los atípicos, depende de los siguientes factores (Soetewey 2020):

  • el contexto de análisis; a menudo ocurren debido a un proceso de recogida o registro defectuoso.
  • el efecto de su presencia, los análisis se realizan dos veces, una con y otra sin valores atípicos para evaluar su impacto en las conclusiones.
  • la robustez del análisis a ejecutar con distribución manejada: una regresión lineal simple puede variar significativamente con solo un valor atípico, mientras que las pruebas no paramétricas como la prueba de Wilcoxon suelen ser robustas a los valores atípicos.
  • nunca debemos perder sin embargo nuestro poder de decisión subjetivo, comprender el entorno y el proceso en el que el dato se ha obtenido; no somos máquinas, trabajamos para analizar.

Por último, en este post sólo se estudia el caso de outliers univariantes. Dejamos para posteriores post el análisis de situaciones en las que pueda serr necesario evaluar los outliers de tipo multivariante.

4.6.1 Análisis básico de descriptivos

4.6.1.1 Mínimo y máximo

Estas dos simples medidas ya nos pueden proporcionar una aproximación muy simple a como se distribuye la variable, y nuestro conocimiento del rango de la distribución en la población ya nos puede aportar información objetiva. Con R son muchas las formas de poder calcularlo, pero siguiendo nuestra costumbre de minimizar el número de paquetes a usar, podemos hacerlo con instrucciones básicas de R y usando el archivo mpg del paquete ggplot2 y particularmente el campo que refiere al gasto de combustible (hwy).

Code
mpg
# A tibble: 234 × 11
   manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
   <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
 1 audi         a4           1.8  1999     4 auto… f        18    29 p     comp…
 2 audi         a4           1.8  1999     4 manu… f        21    29 p     comp…
 3 audi         a4           2    2008     4 manu… f        20    31 p     comp…
 4 audi         a4           2    2008     4 auto… f        21    30 p     comp…
 5 audi         a4           2.8  1999     6 auto… f        16    26 p     comp…
 6 audi         a4           2.8  1999     6 manu… f        18    26 p     comp…
 7 audi         a4           3.1  2008     6 auto… f        18    27 p     comp…
 8 audi         a4 quattro   1.8  1999     4 manu… 4        18    26 p     comp…
 9 audi         a4 quattro   1.8  1999     4 auto… 4        16    25 p     comp…
10 audi         a4 quattro   2    2008     4 manu… 4        20    28 p     comp…
# ℹ 224 more rows

Calculamos el mínimo y el máximo entre otras mediciones con la orden summary básica en R, particularizada para el campo hwy.

Code
summary(mpg$hwy)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  12.00   18.00   24.00   23.44   27.00   44.00 

Alternativamente, también se pueden calcular con las funciones min () y max (), funciones también básicas de R que no necesitan de carga de ningún paquete en especial:

Code
min(mpg$hwy)
[1] 12
Code
max(mpg$hwy)
[1] 44

Estos datos por sí solos, tampoco nos dicen mucho, sin verlo en perspectiva. por tanto, seguimos adelante nuestro proceso, sabiendo cuáles son los límites de nuestra distribución, calculando ahora el histograma de frecuencias de nuestro campo.

4.6.2 Histograma

El histograma es otra forma de apreciar los valores atipicos a partir de nuestro conocimiento de los datos. Vamos a usar en este caso el paquete highcharter del cual como sabéis somos fans absolutos para hacer gráficos interactivos y animados.

Code
hchart(mpg$hwy, name = "horse power")

Parecen existir dos observaciones que presentan diferencias respecto al resto, pero tampoco podemos afirmar gran cosa acerca de las mismas. Podemos ir más allá y presentar el gráfico de caja y aquí sí existen las primeras reglas para ver la existencia de atípicos.

4.6.3 Boxplot o diagrama de caja

El diagrama de caja o boxplot por definición sí es una buena forma de aproximarse a los datos sin contexto, pues existen unas reglas que determinan como se dibuja el mismo. highcharteren su nueva versión nos facilita mucho la labor de obtención de los datos con la función data_to_boxplot que ya prepara los datos para este tipo de gráfico.

Code
df <- data_to_boxplot(mpg, hwy, add_outliers=TRUE)
highchart() %>%
  hc_add_series_list(df)

Un diagrama de caja ayuda a visualizar una variable cuantitativa al mostrar cinco resúmenes de ubicaciones comunes (mínimo, mediana, primer y tercer cuartiles y máximo) y cualquier observación que se haya clasificado como un valor atípico sospechoso utilizando el criterio de rango intercuartílico (IQR).

I=[q0.25−1.5⋅IQR;q0.75+1.5⋅IQR]

Las observaciones consideradas como posibles valores atípicos por el criterio IQR se muestran como puntos en la gráfica de caja. Según este criterio, hay 2 posibles valores atípicos (consulte los 2 puntos sobre la línea vertical, en la parte superior de la gráfica de caja).

Recuerda que no porque el criterio IQR considere una observación como un valor atípico potencial, se debe eliminarla. Eliminar o mantener un valor atípico depende de:

  • el contexto de su análisis,
  • si las pruebas que va a realizar en el conjunto de datos son robustas a los valores atípicos o no,
  • y lo lejos que está el valor atípico de otras observaciones.

Como se puede ver en el gráfico, hay dos medidas que son consideradas outliers. Veamos cuáles son esas medidas en el banco de datos o dataframe.

Code
boxplot.stats(mpg$hwy)$out
[1] 44 44 41

Estas son las medidas (3 casos con dos medidas), pero ¿a qué observaciones refieren? Utilizando la función which, podemos saber qué observaciones son éstas.

Code
which(mpg$hwy %in% boxplot.stats(mpg$hwy)$out)
[1] 213 222 223

Estos son los casos que podríamos decidir eliminar o mantener.

4.6.4 Percentiles

Este método de detección de valores atípicos se basa en los percentiles. Con el método de percentiles, todas las observaciones que se encuentran fuera del intervalo formado por los percentiles 0.025 y 0.975 se considerarán como valores atípicos potenciales. Otros percentiles como los percentiles 0.01 y 0.99, o los percentiles 0.05 y 0.95 también se pueden considerar para construir el intervalo.

Los valores de los percentiles superior e inferior (y, por tanto, los límites superior e inferior del intervalo) se pueden calcular con la función cuantile ():

Code
quantile(mpg$hwy, 0.025) #valor inferior
2.5% 
  14 
Code
quantile(mpg$hwy, 0.975) #valor superior
 97.5% 
35.175 

De acuerdo con este método, todas las observaciones por debajo de 14 y por encima de 35.175 se considerarán valores atípìcos potenciales. Los números de fila de las observaciones fuera del intervalo se pueden extraer con la función which. En este caso, guardamos el resultado en el objeto outlier_ind para facilitar la legibilidad de la expresión en posteriores usos.

Code
outlier_ind <- which(mpg$hwy < (quantile(mpg$hwy, 0.025)) | mpg$hwy > quantile(mpg$hwy, 0.975))
outlier_ind #listamos los valores de intervalo
 [1]  55  60  66  70 106 107 127 197 213 222 223
Code
mpg[outlier_ind, "hwy"] #listamos los identificadores de casos
# A tibble: 11 × 1
     hwy
   <int>
 1    12
 2    12
 3    12
 4    12
 5    36
 6    36
 7    12
 8    37
 9    44
10    44
11    41

Hay 11 valores atípicos potenciales según el método de percentiles. Sin embargo, si establecemos los límites en 0.01 y 0.99, el resultado nos da los mismos valores atípicos potenciales que con el criterio IQR.

Code
outlier_ind <- which(mpg$hwy < (quantile(mpg$hwy, 0.01)) | mpg$hwy > quantile(mpg$hwy, 0.99))
outlier_ind
[1] 213 222 223
Code
mpg[outlier_ind, "hwy"]
# A tibble: 3 × 1
    hwy
  <int>
1    44
2    44
3    41

4.7 Hampel filter

Otro método, conocido como filtro de Hampel, consiste en considerar como valores atípicos los valores fuera del intervalo formado por [mediana−3⋅MAD ; mediana+3⋅MAD], donde MAD es la mediana de las desviaciones absolutas de la mediana de los datos. Para este método, primero establecemos los límites de intervalo gracias a las funciones median y mad:

Code
(median(mpg$hwy) - 3 * mad(mpg$hwy)) # valor menor de intervalo
[1] 1.761
Code
(median(mpg$hwy) + 3 * mad(mpg$hwy)) # valor mayor de intervalo
[1] 46.239
Code
outlier_ind <- which(mpg$hwy < (median(mpg$hwy) - 3 * mad(mpg$hwy)) | mpg$hwy > (median(mpg$hwy) + 3 * mad(mpg$hwy)))
outlier_ind
integer(0)

De acuerdo con este método, todas las observaciones por debajo de 1.761 y por encima de 46.239 se considerarán valores atípicos potenciales. Los números de fila de las observaciones fuera del intervalo se han extraído con la función which. Según el filtro Hampel, no existe un valor atípico potencial para esta variable.

4.8 Pruebas estadísticas de test para valores atípicos

En esta sección, presentamos 3 técnicas más formales para detectar valores atípicos (Aldás Manzano and Uriel Jiménez 2017):

  • Prueba de Grubbs
  • Prueba de Dixon
  • Prueba de Rosner

Estas 3 pruebas estadísticas son parte de técnicas más formales de detección de valores atípicos, ya que todas implican el cálculo de una inferencia estadística que compara con valores críticos (que se basan en el tamaño de la muestra y el nivel de confianza deseado).

Tener en cuenta que las 3 pruebas son apropiadas solo cuando los datos (sin valores atípicos) tienen una distribución aproximadamente normal. Por lo tanto, el supuesto de normalidad debe verificarse antes de aplicar estas pruebas para valores atípicos (Kolmogorov-Smirnov o Shapiro-Wilk).

4.8.1 Prueba de Grubbs

La prueba de Grubbs permite detectar si el valor más alto o más bajo en un conjunto de datos es un valor atípico. Se detecta un valor atípico a la vez (valor más alto o más bajo), por lo que las hipótesis nula y alternativa son H0: el valor más alto no es un valor atípico y H1: el valor más alto es un valor atípico, si queremos probar el valor más alto; H0: el valor más bajo no es un valor atípico, H1: el valor más bajo es un valor atípico, si queremos probar el valor más bajo.

Como para cualquier prueba estadística, si el valor p es menor que el umbral de significancia elegido (generalmente α = 0.05), entonces se rechaza la hipótesis nula y concluiremos que el valor más bajo / más alto es un valor atípico. Por el contrario, si el valor p es mayor o igual que el nivel de significancia, la hipótesis nula no se rechaza y concluiremos que, con base en los datos, no rechazamos la hipótesis de que el valor más bajo / más alto no es un valor atípico. Tenga en cuenta que la prueba de Grubbs no es apropiada para un tamaño de muestra de 6 o menos (n ≤ 6). Para realizar la prueba de Grubbs en R, usamos la función grubbs.test del paquete outliers.

Code
test <- grubbs.test(mpg$hwy)
test

    Grubbs test for one outlier

data:  mpg$hwy
G = 3.45274, U = 0.94862, p-value = 0.05555
alternative hypothesis: highest value 44 is an outlier

El valor p es 0.056. En el nivel de significancia del 5%, no rechazamos la hipótesis de que el valor más alto 44 no es un valor atípico.

Nótese que por defecto, la prueba se realiza en el valor más alto (como se muestra en la salida R: hipótesis alternativa: el valor más alto 44 es un valor atípico). Si desea hacer la prueba para el valor más bajo, simplemente agregue el argumento opposite = TRUE en la función grubbs.test.

Code
test <- grubbs.test(mpg$hwy, opposite = TRUE)
test

    Grubbs test for one outlier

data:  mpg$hwy
G = 1.92122, U = 0.98409, p-value = 1
alternative hypothesis: lowest value 12 is an outlier

El valor p es 1. Al nivel de significancia del 5%, no rechazamos la hipótesis de que el valor más bajo 12 no es un valor atípico.

Por tanto, para esta prueba no hay outliers en el banco de datos. Nótese la diferencia con las pruebas descriptivas antes presentadas.

4.8.2 Prueba de Dixon

Similar a la prueba de Grubbs, la prueba de Dixon se usa para probar si un valor alto o bajo es un valor atípico. Por lo tanto, si se sospecha más de un valor atípico, la prueba debe realizarse en estos valores atípicos sospechosos de forma individual. Para realizar la prueba de Dixon en R, usamos la función dixon.test del paquete outliers. A diferencia de la prueba de Grubbs, la prueba de Dixon es más útil para muestras de pequeño tamaño (normalmente n ≤ 25), por lo que restringimos nuestro conjunto de datos a las 20 primeras observaciones (creamos subdat), ya que la prueba de Dixon solo se puede realizar en un tamaño de muestra pequeño, produciendo error si la muestra es más grande. Al igual que antes, para probar el valor más alto, simplemente agregue el argumento opposite = TRUE a la función dixon.test.

Code
subdat <- mpg[1:20, ]
test <- dixon.test(subdat$hwy)
test

    Dixon test for outliers

data:  subdat$hwy
Q = 0.57143, p-value = 0.006508
alternative hypothesis: lowest value 15 is an outlier
Code
test <- dixon.test(subdat$hwy, opposite = TRUE)
test

    Dixon test for outliers

data:  subdat$hwy
Q = 0.25, p-value = 0.8582
alternative hypothesis: highest value 31 is an outlier

Los resultados muestran que el valor más bajo 15 es un valor atípico (valor p = 0.007) y que el valor más alto 31 no es un valor atípico (valor p = 0.858).

Recuperando la vista gráfica en este nuevo subconjunto de datos…

Code
df <- data_to_boxplot(subdat, hwy, add_outliers=TRUE)
highchart() %>%
  hc_add_series_list(df)

Nótese la existencia en el gráfico de un valor 20 que nos cataloga como outlier el diagrama de caja. ¿Como podemos testar si este valor 20 es también realmente un outlier? Deberíamos eliminar el valor 15, para que el valor 20 fuera analizado en la prueba de Dixon.

Code
# find and exclude lowest value
remove_ind <- which.min(subdat$hwy)
subsubdat <- subdat[-remove_ind, ]

# Dixon test on dataset without the minimum
test <- dixon.test(subsubdat$hwy)
test

    Dixon test for outliers

data:  subsubdat$hwy
Q = 0.44444, p-value = 0.1297
alternative hypothesis: lowest value 20 is an outlier
Code
df <- data_to_boxplot(subsubdat, hwy, add_outliers=TRUE)
highchart() %>%
  hc_add_series_list(df)

Los resultados muestran que el segundo valor más bajo 20 no es un valor atípico (valor p = 0,13), aunque el digrama de caja (menos restrictivo el criterio IQR) así lo demuestre.

4.8.3 Prueba de Rosner

La prueba de Rosner para valores atípicos tiene las ventajas de que:

  • se utiliza para detectar conjuntos de valores atípicos (a diferencia de la prueba de Grubbs y Dixon, que muestran valores individuales),
  • está diseñado para evitar el problema del enmascaramiento, donde un valor atípico que tiene un valor cercano a otro valor atípico puede pasar desapercibido y,
  • es más apropiada cuando el tamaño de la muestra es grande (n ≥ 20).

Para realizar la prueba de Rosner usamos la función rosnerTest del paquete EnvStats. Esta función requiere al menos 2 argumentos: los datos y el número de valores atípicos sospechosos k (con k = 3 como el número predeterminado de valores atípicos sospechosos). En nuestro caso usamos que el número de valores atípicos sospechosos sea igual a 3, como sugiere el número de outliers potenciales descritos en el diagrama de caja al comienzo del artículo.

Los resultados interesantes se proporcionan en la tabla final:

Code
test <- rosnerTest(mpg$hwy,k = 3)
test
$distribution
[1] "Normal"

$statistic
     R.1      R.2      R.3 
3.452739 3.552586 3.131909 

$sample.size
[1] 234

$parameters
k 
3 

$alpha
[1] 0.05

$crit.value
lambda.1 lambda.2 lambda.3 
3.652091 3.650836 3.649575 

$n.outliers
[1] 0

$alternative
[1] "Up to 3 observations are not\n                                 from the same Distribution."

$method
[1] "Rosner's Test for Outliers"

$data
  [1] 29 29 31 30 26 26 27 26 25 28 27 25 25 25 25 24 25 23 20 15 20 17 17 26 23
 [26] 26 25 24 19 14 15 17 27 30 26 29 26 24 24 22 22 24 24 17 22 21 23 23 19 18
 [51] 17 17 19 19 12 17 15 17 17 12 17 16 18 15 16 12 17 17 16 12 15 16 17 15 17
 [76] 17 18 17 19 17 19 19 17 17 17 16 16 17 15 17 26 25 26 24 21 22 23 22 20 33
[101] 32 32 29 32 34 36 36 29 26 27 30 31 26 26 28 26 29 28 27 24 24 24 22 19 20
[126] 17 12 19 18 14 15 18 18 15 17 16 18 17 19 19 17 29 27 31 32 27 26 26 25 25
[151] 17 17 20 18 26 26 27 28 25 25 24 27 25 26 23 26 26 26 26 25 27 25 27 20 20
[176] 19 17 20 17 29 27 31 31 26 26 28 27 29 31 31 26 26 27 30 33 35 37 35 15 18
[201] 20 20 22 17 19 18 20 29 26 29 29 24 44 29 26 29 29 29 29 23 24 44 41 29 26
[226] 28 29 29 29 28 29 26 26 26

$data.name
[1] "mpg$hwy"

$bad.obs
[1] 0

$all.stats
  i   Mean.i     SD.i Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 23.44017 5.954643    44     213 3.452739   3.652091   FALSE
2 1 23.35193 5.812124    44     222 3.552586   3.650836   FALSE
3 2 23.26293 5.663340    41     223 3.131909   3.649575   FALSE

attr(,"class")
[1] "gofOutlier"

Vemos que solo hay un valor atípico (ver la columna de Outlier), y que es la observación 34 (ver Obs.Num) con un valor de 212 (ver columna Value de la tabla).

Por último, avanzar que veremos más adalente que se pueden calcular los oulierrs, no tan sólo de una variable, sino de un conjunto de variables, algo que se llama detección multivariante.

4.9 Tabla resumen de pruebas

Siguiendo esta documentación y nomenclatura, las pruebas que veremos son:


  1. Algunos de los estadísticos que se muestran en esta tabla son desarrollados en el texto. Otros ni siquiera se mencionarán.↩︎