You are on page 1of 10

TRES MTODOS (CON EJEMPLOS EN R) PARA IDENTIFICAR VALORES ATPICOS EN

CONJUNTOS DE DATOS UNIVARIANTES


Juan Felipe Muoz Fernndez
jfmunozf@unal.edu.co
1-Marzo-2015

INTRODUCCIN
El resultado de la deteccin de valores atpicos vara del mtodo usado para detectarlos o de la
distribucin de los datos [1]. Los mtodos expuestos en este documento, asumen que los datos
se distribuyen de acuerdo a la distribucin normal. Algunos de estos mtodos son sensitivos a
valores extremos y otros son robustos en trminos de la sensibilidad a este tipo de valores.
Cuando el comportamiento de los datos evidencia un alto grado de sesgo, es decir, difiere de
una distribucin normal, se hace necesario transformar dicha distribucin sesgada hacia una
distribucin normal para poder identificar los valores atpicos. Esta transformacin es til
cuando la identificacin de estos valores atpicos se hace como un proceso preliminar en el
anlisis de los datos [1]. An as, el contexto del conjunto de datos bajo anlisis es de
importante conocimiento por parte del analista, ya que es el contexto mismo el que indica si un
valor atpico puede ser considerado como un error o no. Los procesos asociados a
transformaciones de las distribuciones de conjuntos de datos quedan por fuera del alcance y
propsito de este documento.
Este documento expone brevemente tres mtodos para detectar valores atpicos en conjuntos
de datos de una sola variable. Durante el desarrollo de cada mtodo se expone un ejemplo con
un pequeo conjunto de datos en lenguaje R.
PALABRAS CLAVE
Outliers detection, valores atpicos, distribucin normal, t Student, media, desviacin estndar,
mediana, estadstica, Thompson Tau modificado, Z-Score modificado.

MTODO DE LA DESVIACIN ESTNDAR


Este mtodo se define como:
-

Mtodo 2 SD:  2
Como mnimo el 75% de los valores debe estar dentro de 2 de la media.

Mtodo 3 SD:  3
El 89% de los valores debe estar dentro de 3 de la media. El 94% dentro de 4 de la
media.

Donde  corresponde a la media aritmtica de la muestra y  corresponde a la desviacin


estndar de la muestra. Los valores por fuera de estos intervalos se consideran valores
atpicos.
La inecuacin de Chebyshev indica que en cualquier distribucin de probabilidad casi todos los
valores estn cercanos a la media. No ms de 1/
valores de la distribucin pueden estar a
ms de k desviaciones estndar de la media o tambin, al menos 1 1/
de los valores de la
distribucin estn dentro de k desviaciones estndar de la media. Aunque la inecuacin de
Chebyshev es til para cualquier dato de cualquier distribucin, sta limita las observaciones a
una pequea proporcin dentro de k desviaciones estndar de la media.
Por ejemplo, considrese el siguiente listado (ver listado 1) de comandos en R para el siguiente
conjunto de datos: 3.2, 3.4, 3.7, 3.7, 3.8, 3.9, 4, 4, 4.1, 4.2, 4.7, 4.8, 14, 15.
As entonces, se tienen los intervalos para:
-

Mtodo 2 SD:  2

(-2.24968, 13.17825)

Mtodo 3 SD:  3

(-6.106664, 17.035235)

Para el mtodo 2 SD, los valores 14 y 15 estn por fuera del intervalo, por lo que se consideran
atpicos. Para el mtodo 3 SD no hay valores por fuera del intervalo por lo que no se considera
ningn valor atpico.

Listado 1: Comandos ejecutados en R para el conjunto de datos.


> x <- c(3.2, 3.4, 3.7, 3.7, 3.8, 3.9, 4, 4, 4.1, 4.2, 4.7, 4.8, 14, 15)
> media = mean(x)
> media
[1] 5.464286
> stdev = sd(x)
> stdev
[1] 3.856983
> limiteInferior = (media - 2*stdev)
> limiteSuperior = (media + 2*stdev)
> rango2SD = c(limiteInferior, limiteSuperior)
> rango2SD
[1] -2.24968 13.17825
> limiteInferior = (media - 3*stdev)
> limiteSuperior = (media + 3*stdev)
> rango3SD = c(limiteInferior, limiteSuperior)
> rango3SD
[1] -6.106664 17.035235

Z-SCORE MODIFICADO
En el mtodo Z-Score tradicional tambin se usan como estimadores la media y la desviacin
estndar. Se asumen que el conjunto de datos evaluados mediante este mtodo Z-Score
tradicional Z-Score modificado para detectar valores atpicos, sigue una distribucin normal
(, 
). Si el conjunto de datos sigue una distribucin normal, entonces el score calculado
sigue tambin una distribucin normal (0,1). Los scores calculados para cada  del conjunto
de datos que excedan su valor absoluto en 3.5, sern considerados valores atpicos. Sin
embargo, en el mtodo Z-score tradicional, la media y la desviacin estndar pueden ser
afectados por valores extremos o incluso por un solo valor extremo, por lo tanto, en el mtodo
Z-score modificado se usan como estimadores la mediana del conjunto de datos y la mediana
de la desviacin absoluta de la mediana (MAD).
Expresin 1: Clculo MAD
 = {|  |}
Donde  es la mediana del conjunto de datos.
El Z-Score modificado ( ) se calcula de la siguiente manera para cada  del conjunto de
datos.
Expresin 2: Clculo Z-Score modificado

 =

0.6745(  )


Donde &() = 0.675 para un gran conjunto de datos que se distribuye normalmente.
El procedimiento es el siguiente:
1. En una columna indique cada valor  del conjunto de datos.
2. En una segunda columna, calcule el valor absoluto de la diferencia entre cada  y la
mediana del conjunto de datos.

3. En una celda independiente calcule la mediana de TODA la segunda columna. Este valor
ser la desviacin absoluta de la mediada (MAD ver expresin 1).
4. En una tercera columna calcule para cada  el Z-Score modificado de acuerdo a la
expresin 2 indicada por  .
5. Los valores de la columna anterior que superen el valor absoluto de 3.5 sern considerados
valores atpicos del conjunto de datos.
Para el conjunto de datos de ejemplo que se viene indicando, un algoritmo en R que detalla el
procedimiento anterior, quedara de la siguiente manera.
Listado 2: Algoritmo en R para determinar el Z-Score modificado de un conjunto de datos
# Se define el conjunto de datos Xi.
x <- c(3.2, 3.4, 3.7, 3.7, 3.8, 3.9, 4, 4, 4.1, 4.2, 4.7, 4.8, 14, 15)
# Inicializacin de la lista en donde se van
# a guardar el valor absoluto
# de la diferencia de cada Xi menos la
# mediana del conjunto de datos.
listaDiferencia <- c()
# En este ciclo se calcula la diferencia
# de cada Xi con la mediana del conjunto
# de datos almacenado en X
for (i in 1:length(x)) {
# Se crea una lista con el valor absoluto
# de la diferencia entre cada Xi y la mediana.
# Se van agregando a la lista el resultado
# de la operacin como elementos de la misma.
listaDiferencia <- append(listaDiferencia, (abs(x[i] - median(x))))
}
# Se calcula MAD
MAD = median(listaDiferencia)
# Inicializacin de la lista en donde se van
# a guardar los Z-Scores de cada Xi
zModificado <- c()

Listado 2 (continuacin): Algoritmo en R para determinar el Z-Score modificado de un


conjunto de datos
# En este ciclo se calcula el
# score modificado para cada Xi
for (i in 1:length(x)) {
# Se crea una lista con el
# score de cada Xi
zModificado <- append(zModificado, ((0.6745 * (x[i] - median(x)))/MAD))
}
# Se crea un Data Frame con todas las listas para mostrar
# toda la informacion de manera tabular
df = data.frame(Xi=x, diferencia=listaDiferencia, zScore=zModificado)
# Se muestra el Data Frame creado
df

Al final, la informacin completa se ve de la siguiente manera:


Listado 3: Resultado de la ejecucin del algoritmo del listado 2
Xi diferencia
zScore
1
3.2
0.8 -1.7986667
2
3.4
0.6 -1.3490000
3
3.7
0.3 -0.6745000
4
3.7
0.3 -0.6745000
5
3.8
0.2 -0.4496667
6
3.9
0.1 -0.2248333
7
4.0
0.0 0.0000000
8
4.0
0.0 0.0000000
9
4.1
0.1 0.2248333
10 4.2
0.2 0.4496667
11 4.7
0.7 1.5738333
12 4.8
0.8 1.7986667
13 14.0
10.0 22.4833333  Valor atpico
14 15.0
11.0 24.7316667  Valor atpico

Puede verse que los valores  = 14 y  = 15 alcanzaron un Z-Score de 22.48 y 24.73


respectivamente, por lo que estos valores se consideran atpicos.

TEST MODIFICADO DE THOMPSON (LETRA GRIEGA TAU)


Es un mtodo para determinar de manera estadstica una zona de rechazo de algn  . De esta
manera se determina objetivamente si un  es un valor atpico o no. Este mtodo detecta un
valor atpico a la vez, dicho valor atpico se retira del conjunto de datos y el mtodo debe
ejecutarse de nuevo sobre el conjunto de datos restante, calculando en cada iteracin una
nueva zona de rechazo de valores atpicos hasta que no quede ningn valor atpico en el
conjunto de datos.
El procedimiento de este mtodo es el siguiente:
1. Ordenar todos los  de menor a mayor ya que esto ayuda a detectar visualmente posibles
valores atpicos en el conjunto de datos (tpicamente los primeros o los ltimos  son
posibles valores atpicos en el conjunto de datos).
2. Calcular la media  y la desviacin estndar  para todo el conjunto de datos.

3. Para cada  se calcula el valor de la desviacin absoluta de la siguiente manera.


Expresin 3: Clculo de la desviacin absoluta de 
 = | | = |  |.
El  con el valor mximo de  es un posible valor atpico.
4. Calcular la regin de rechazo de la siguiente manera:
Expresin 4: Clculo de la regin de rechazo

'=

()/
( 1)

+ 2 + (()/
)

()/
es el valor crtico de la distribucin t de Student con - = 0.05 y  2 grados de libertad
y  corresponde al tamao de la muestra.

5. Para determinar si  se acepta o se rechaza se usan las siguientes reglas:


-

Si  > ', se rechaza  como valor atpico y se elimina del conjunto de datos.

Si  ', se acepta  y permanece en el conjunto de datos.

Nota: recordar que  corresponde a la desviacin estndar de TODO el conjunto de datos y


 corresponde a la desviacin absoluta de cada  .
6. Se repite nuevamente el proceso desde el punto nmero 1 para el conjunto de datos
restante.
La siguiente tabla define los valores de ' para los tamaos de muestra indicados.
Tabla 1: Valores de la regin de rechazo para los tamaos de muestra indicados. Fuente [4].
n
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

0
1.1511
1.4250
1.5712
1.6563
1.7110
1.7491
1.7770
1.7984
1.8153
1.8290
1.8403
1.8498
1.8579
1.8649
1.8710
1.8764
1.8811
1.8853

n
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

0
1.8891
1.8926
1.8957
1.8985
1.9011
1.9035
1.9057
1.9078
1.9096
1.9114
1.913
1.9146
1.916
1.9174
1.9186
1.9198
1.9209
1.922

n
40
42
44
46
48
50
55
60
65
70
80
90
100
200
500
1000
5000

0
1.9240
1.9257
1.9273
1.9288
1.9301
1.9314
1.9340
1.9362
1.9381
1.9397
1.9423
1.9443
1.9459
1.9530
1.9572
1.9586
1.9597
1.9600

Por ejemplo, para el conjunto de datos indicado: 3.2, 3.4, 3.7, 3.7, 3.8, 3.9, 4, 4, 4.1, 4.2, 4.7, 4.8, 14
y 15 se va a evaluar el primer elemento.

1. Ordenar el conjunto de datos de menor a mayor. El conjunto de datos se encuentra


ordenado.
2.  = 5.464286 y  = 3.856983
3.  = 3 = |3  |=|3.2 5.464286| = 2.264286
4. La regin de rechazo para  = 14 (el tamao del conjunto de datos es 14) es ' = 1.8498 de
acuerdo a lo indicado en la tabla anterior (ver tabla 1).
5. Si 3 ' 2.264286 (1.8498)(3.856983) 2.264286 7.134647, por lo tanto 3 = 3.2
se acepta. No es valor atpico.
Se evaluar ahora el penltimo elemento del conjunto de datos, es decir, 35 = 14.
1. Ordenar el conjunto de datos de menor a mayor. El conjunto de datos se encuentra
ordenado.
2.  = 5.464286 y  = 3.856983
3.  = 35 = |35  |=|14 5.464286| = 8.535714
4. La regin de rechazo para  = 14 (el tamao del conjunto de datos es 14) es ' = 1.8498 de
acuerdo a lo indicado en la tabla anterior.
5. Como 35 > ' 8.535714 > (1.8498)(3.856983) 8.535714 > 7.134647, por lo tanto
35 = 14 se rechaza por ser valor atpico.
El mismo proceso se repetira para todos los  pendientes por evaluar, eliminando del conjunto
de datos al anterior valor atpico, es decir, 35 = 14. Para la siguiente iteracin el tamao de la
muestra sera 13 y la varianza y la media del nuevo conjunto de dato habra que recalcularlas.
TODO: Algoritmo en R.

REFERENCIAS
[1] Seo, S. (2006, April 26). A Review and Comparison of Methods for Detecting Outliers in
Univariate

Data

Sets.

Retrieved

March

1,

2015,

from

http://d-

scholarship.pitt.edu/7948/1/Seo.pdf
[2] Fallon, A., & Spada, C. (1997, September 10). Detection and Accommodation of Outliers in
Normally

Distributed

Data

Sets.

Retrieved

March

1,

2015,

from

http://www.webapps.cee.vt.edu/ewr/environmental/teach/smprimer/outlier/outlier.html
[3] Dol, W., & Verhoog, D. (2010, September 1). WP2.3 Databases CAPRI database
extension and quality management. Retrieved March 1, 2015, from http://www.ilr.unibonn.de/agpo/rsrch/capri-rd/docs/d2.3.5.pdf
[4] Cimbala,

J.

(2011,

September

11).

Outliers.

https://www.mne.psu.edu/me345/Lectures/Outliers.pdf

Retrieved

March

1,

2015,

from