Tratamiento de Puntos Atípicos en Series de Tiempo con R Software

Los puntos atípicos (también denominados puntos aberrantes o outliers) siempre son un problema al momento de querer ajustar una serie de tiempo, o querer hacer predicciones para valores futuros. Recordamos al lector que una serie de tiempo se define como un conjunto de valores observados en un horizonte de tiempo y cumplen con ser equidistantes (por lo tanto, pueden ser observaciones tomadas por días, meses, trimestres, años, etc.).

Además, otra observación importante es que la decisión a tomar con respecto a qué se debe hacer con dichos valores es una elección que considera aspectos cuantitativos como cualitativos, ya que si bien se pueden utilizar test para decidir qué hacer con el punto, la decisión final siempre dependerá del modelador: pueden haber aspectos importantes en los datos que un test estadístico no es capaz de evaluar, y si el modelador cree que el punto debe estar por que representa un aspecto de la realidad, entonces se deberán asumir las consecuencias que implica dejar un punto que cuantitativamente puede ser considerado atípico.

En este artículo presentamos una forma de tratar puntos atípicos en una serie de tiempo. Los datos presentados se ordenan mensualmente en un horizonte de 8 años, y se utilizará R software (un programa freeware) para identificar y eliminar dichos puntos.

Siempre lo primero que debemos realizar al tener un conjunto de datos, es graficarlos para ver a priori su comportamiento. Este ejemplo utiliza una librería llamada “tseries”. Para descargarla, se debe seguir la siguiente instrucción: En el menú superior ir a la pestaña Paquetes:

Paquetes ==> Instalar Paquete(s)… ==> Seleccionar servidor ==> tseries

La siguiente porción de código permite cargar los datos, transformarlos en una serie y luego graficarlos.

#R Code
library(tseries) #Cargamos la librería
#Los datos están guardados en la variable data
data <- read.table("EjemploGEO.txt",header=T) 
#La serie de tiempo está guardada en la varaible fit
fit <- ts(data,frequency=12,start=2000)
#Dividimos la pantalla de gráfico en dos
par(mfrow=c(1,2))
#Graficamos la serie de tiempo y una caja con bigotes
plot(fit)
boxplot(fit)

El resultado se puede apreciar en la siguiente imagen:

datos atípicos series de tiempo

Como se puede ver, gráficamente podemos identificar dos puntos aberrantes, cerca del año 2002 y 2006. Además, un análisis mediante la caja con bigotes nos muestra cuatro puntos aberrantes. Este diagrama puede ser un poco más estricto, por lo tanto acá es importante destacar que es decisión del modelador sacar los cuatro, sólo dos (los de mayor impacto que se ven en el gráfico de la izquierda) o ninguno.

Para este ejemplo, consideraremos que vamos a sacar sólo los puntos que generan un mayor impacto en la serie, y son los que se pueden ver en el gráfico de la izquierda.

El análisis gráfico nos ayuda pero nunca es concluyente. Por lo anterior debemos utilizar siempre métodos cuantitativos para identificar los puntos (recordando nuevamente que la decisión sobre qué hacer con ellos depende tanto de factores cuantitativos como cualitativos).

Para poder identificar puntos outliers en la serie de tiempo, ocuparemos la librería “tsoutliers” la cual se puede descargar de la misma forma enseñada anteriormente.

#R Code
library(tsoutliers) #Cargamos la librería
#El comando tso identifica los puntos atípicos de la serie
outliers <- tso(fit) 
#Graficamos la nueva serie
plot(outliers)

El resultado se muestra a continuación:

dato atípico r software

Podemos ver que esta función logra identificar (y pone en rojo) los puntos que considera aberrantes en la serie, y no sólo hace eso, sino que gráfica una serie “ajustada” (en azul), calculando un nuevo valor para dichos puntos en base a la información de los otros puntos pertenecientes a los datos.

¿Qué hacer con los puntos aberrantes?: Podemos sacarlos, modificarlos o dejarlos como están. Si los sacamos perdemos información; pero si los dejamos como están afectarán en la predicción de los valores futuros.

Una primera aproximación en estos casos siempre es calcular un promedio de los valores que están cerca del punto donde se produce el dato atípico, además, los estadísticos han desarrollado métodos más sofisticados para tratar con ellos, y dejamos este estudio al lector.

Como mencionamos anteriormente, esta función genera un valor que se ajusta de acuerdo al comportamiento de los datos (como se puede ver en el gráfico azul), por lo que utilizaremos dichos valores para ajustar una nueva serie, la cual tendrá los puntos aberrantes corregidos (dejamos también al estudio del lector la forma en que esta función modifica los datos, lo cual se puede encontrar en la documentación de la función disponible vía web).

#R Code
#Obtenemos los valores modificados
newserie <- outliers$yadj 
#Dividimos la pantalla de gráficos en 2
par(mfrow=c(1,2))
#Graficamos la serie antigua y la nueva
plot(fit)
plot(newserie) 

serie de tiempo r software

Podemos ver la nueva forma que tiene la serie, al tener valores modificados para los puntos atípicos (cuidado: la serie ha cambiado su forma drásticamente debido a los puntos aberrantes, pero el efecto se incrementa ya que ha cambiado la escala a la que se muestran ambos gráficos, notar que en el de la izquierda llega hasta 2.500 y ahora sólo hasta 1.400).

Como hemos podido ver, este simple método nos ha permitido hacer un tratamiento sobre los puntos atípicos identificados en la serie de datos. Como hemos mencionado reiteradamente, existen varios métodos para poder hacer esto, y la decisión final siempre tendrá una parte subjetiva que depende del modelador, ya que los criterios pueden variar, y puede ser que el origen de los datos justifique (y permita) la existencia de los puntos aberrantes. Para concluir, con la modificación realizada ahora si podemos pensar en predecir los valores futuros de la serie.

Propiedad de Falta de Memoria o Amnesia de la Distribución Exponencial

En el análisis del comportamiento de las Líneas de Espera, se reconoce que el proceso de llegada de los clientes al sistema ocurre de forma totalmente aleatoria. Se entiende por aleatorio que la ocurrencia de un evento no se ve afectado por el tiempo transcurrido desde la ocurrencia de un evento anterior. Por ejemplo, si en estos momentos son las 10:30 y la última llegada de un cliente fue a las 10:15, la probabilidad de que la siguiente llegada sea a las 10:35 es función sólo de las 10:30 a las 10:35 y en consecuencia es totalmente independiente del tiempo transcurrido desde la ocurrencia del último evento, es decir, de las 10:15 a las 10:30. Este resultado se conoce como falta de memoria o amnesia de la Distribución Exponencial.

linea-de-espera-llegada

Consideremos el siguiente ejemplo que permite ilustrar esta situación: Una máquina en operación tiene una unidad de reserva para sustituirla de inmediato cuando falla. El tiempo medio entre fallas (conocido también como MTBF o Mean Time Between Failures) se distribuye exponencial y sucede cada 50 minutos (en promedio). El operario de la máquina comenta que ésta suele descomponerse cada tarde a eso de las 17:00. Se requiere analizar la validez de lo que señala el operario.

El tasa promedio de fallas de la máquina es \lambda =60/50=1,2[fallas/hora]. Luego la distribución exponencial del tiempo entre fallas se representa por f(t)=1,2e^{-1,2t}, t>0.

Se concluye que lo que señala el operario no es correcto dado que contradice a que el tiempo entre fallas se distribuye exponencial y que por consiguiente es totalmente aleatorio. Dicho de otro modo la probabilidad de que la máquina falle a las 17:00 dependerá de la hora del día (en relación a las 17:00) con la que se calcule. Por ejemplo, si ahora son las 16:30, la probabilidad de que lo que afirma el operador sea cierto es:

probabilidad-tiempo-entre-f

El resultado anterior se puede corroborar haciendo uso de la herramienta de cálculos de probabilidad del software Geogebra:

geogebra-probabilidad-tiemp

A continuación presentamos un breve tutorial de nuestro canal de Youtube con la implementación en Geogebra del ejemplo anterior:

Cómo se relaciona el Coeficiente de Correlación de Pearson (r) y el Coeficiente de Determinación r Cuadrado (r²)

El coeficiente de correlación de Pearson o r es una prueba estadística que permite analizar la relación entre dos variables medidas en un nivel por intervalos o de razón, donde r mide el grado de asociación lineal entre dos variables X e Y. La prueba en sí no considera a una como independiente y a otra como dependiente, ya que no se trata de una prueba que evalúa causalidad. El coeficiente r de Pearson se estima de acuerdo a la siguiente fórmula:

r pearson

El coeficiente r de puede variar de -1 a 1, donde el signo indica la dirección de la correlación y el valor numérico, la magnitud de la correlación. En este contexto se resumen algunos criterios de interpretación:

  • -1,00 = Correlación negativa perfecta
  • -0,90 = Correlación negativa muy fuerte
  • -0,75 = Correlación negativa considerable
  • -0,50 = Correlación negativa media
  • -0,10 = Correlación negativa débil
  • 0,00  = No existe correlación lineal alguna entre las variables
  • 0,10  = Correlación positiva débil
  • 0,50  = Correlación positiva media
  •  0,75 = Correlación positiva considerable
  •  0,90  = Correlación positiva muy fuerte
  • 1,00  = Correlación positiva perfecta

A continuación se presentan algunos ejemplos de diagramas de dispersión con diferentes valores del coeficiente de correlación de Pearson (poblacional).

diagramas-correlacion-de-pe

Cuando el coeficiente r de Pearson se eleva al cuadrado, el resultado indica el porcentaje de la variación de una variable debido a la variación de la otra y viceversa. Es decir, el coeficiente de determinación, r al cuadrado o r², es la proporción de la variación en Y explicada por X. Puede adoptar cualquier valor entre 0 y 1, inclusive.

Ejemplo: Una empresa comercial tiene establecimientos en varias ciudades de Chile. El gerente comercial planea lanzar al aire un anuncio comercial por radio en las estaciones locales, al menos dos veces antes de una promoción (liquidación) que empezará el Sábado y terminará el Domingo. Planea tener las cifras de las ventas de grabadoras de vídeos (Blu-Ray) del Sábado y Domingo en sus diferentes locales y compararlas con el número de veces que apareció el comercial en la radio. El objetivo fundamental de la investigación es determinar si existe relación entre el número de veces que se transmitió el anuncio y las ventas de sus productos. Los datos son:

correlacion-anuncios-y-vent

Con la información de la tabla anterior se desea responder las siguientes interrogantes:

1. ¿Cuál es la variable dependiente?. La variable dependiente son las Ventas.

2. Trace el diagrama o gráfico de dispersión.

grafico-de-dispersion
3. ¿Parece haber alguna relación entre X e Y?. Si existe una fuerte correlación positiva.
4. Determine el coeficiente de correlación. Para ello utilizaremos la herramienta de Análisis de Datos la cual se encuentra disponible en el menú de Datos de Excel. Luego seleccionamos Regresión según se observa a continuación:

herramienta-analisis-de-dat

En las opciones de regresión seleccionamos los datos de Ventas de Sábado y Domingo como Rango Y de entrada (variable dependiente) y los datos del N° de Anuncios corresponderá al Rango X de entrada (variable independiente).

analisis-de-datos-excel

Al seleccionar Aceptar se obtienen las estadísticas de la regresión donde el coeficiente de correlación de Pearson o r es de 0,93 (aproximado) y en consecuencia el coeficiente de determinación r² es de r²=(0,929516)²=0,864.

estadisticas-de-la-regresio

Notar que un procedimiento alternativo para obtener el coeficiente de determinación r² es mediante la incorporación de una línea de tendencia lineal en el diagrama de dispersión tal cual abordamos en el artículo Cómo utilizar una Regresión Lineal para realizar un Pronóstico de Demanda.

grafico-lineal-r-cuadrado

5. Evalúe la intensidad de la relación entre X e Y. 0,93 indica una correlación positiva fuerte entre el número de veces que sale publicado el anuncio, y las ventas.

Cómo ajustar una Función de Probabilidad Teórica a una serie de datos Empíricos

En el análisis del comportamiento de una línea de espera se suele considerar  la premisa de que el tiempo entre llegada de los clientes se distribuye exponencial con parámetro lambda (λ). Si bien esta presunción es válida en muchas situaciones es conveniente realizar un diagnóstico de dicha situación a través de test estadísticos ad hoc. En este contexto el siguiente artículo aborda el problema de ajuste de una función de probabilidad teórica a una serie de datos empíricos que como se menciono anteriormente es un asunto de interés en el análisis de los sistemas de espera como así también en un sin número de aplicaciones estadísticas clásicas.

La data que utilizaremos en este tutorial fue obtenida del Libro Matching Supply with Demand: An Introduction to Operations Management. Esta corresponde a las 686 llamadas que ha recibido un Call Center en un período de 4 horas según se muestra a continuación:

tabla-data-call-center

La pregunta que queremos responder es: ¿El tiempo entre llamada de los clientes se distribuye exponencial?. Análogamente ¿Qué función de probabilidad teórica ajusta de mejor forma los datos empíricos?. Para enfrentar dichas interrogantes utilizaremos el software Easyfit que hemos abordado en artículos anteriores para la confección de histogramas y análisis de estadísticas descriptivas.

Preliminarmente ordenaremos los datos recolectados en una columna y procedemos a calcular el tiempo transcurrido entre cada llamada (Iai), por ejemplo, entre la primera y segunda llamada pasan 23 segundos, entre la segunda y tercera llamada pasan 1 minuto y 24 segundos (equivalente a 84 segundos) y así sucesivamente. A continuación se muestra un extracto de dicho procedimiento:

calculo-del-tiempo-entre-ll

Con los tiempos entre llamadas en segundos (o su equivalencia en minutos si así se desea) se hace uso de Easyfit. Copiamos dichos tiempos en la columna A tal se muestra en la siguiente imagen y luego la opción «Ajustar distribuciones»:

ajustar-distribuciones-easy

Luego seleccionamos «OK»:

datos-de-entrada-easyfit

El programa se ejecuta y proporciona los resultados de los ajustes de los datos empíricos a un importante número de distribuciones teóricas, proporcionando una estimación de los parámetros respectivos.

ajuste-easyfit-datos-empiri

La distribución Wakeby es la que muestra el mejor ajuste, considerando los siguientes parámetros:

parametros-wakeby

Adicionalmente podemos obtener los test de bondad de ajuste (en la pestaña «Bondad de ajuste»). Probablemente el más conocido de ellos es el test Chi-cuadrado (notar que las distribuciones han sido ordenadas en base a este criterio). También se puede obtener el detalle de las pruebas de hipótesis para distintos niveles de significancia estadística (valores de alfa).

bondad-de-ajuste-easyfit
valores-p-easyfit

Una interpretación exhaustiva de los test de bondad de ajuste requiere de una discusión más detallada que escapa a los propósitos de este artículo. No obstante queda de manifiesto que existen herramientas computacionales que permite simplificar este tipo de análisis que es recurrente en el ámbito de la estadística y por cierto en el de la gestión de operaciones.

Cómo utilizar una Regresión Lineal para realizar un Pronóstico de Demanda

El Método de Mínimos Cuadrados o Regresión Lineal se utiliza tanto para pronósticos de series de tiempo como para pronósticos de relaciones causales. En particular cuando la variable dependiente cambia como resultado del tiempo se trata de un análisis de serie temporal.

En el siguiente artículo desarrollaremos un Pronóstico de Demanda haciendo uso de la información histórica de venta de un producto determinado durante los últimos 12 trimestres (3 años) cuyos datos se observan en la siguiente tabla resumen:

tabla-datos-regresion-linea

La ecuación de mínimos cuadrados para la regresión lineal es la que se muestra a continuación donde β0β1 son los parámetros de intercepto y pendiente, respectivamente:

ecuacion-regresion-lineal

Estimar los valores de dichos parámetros es sencillo haciendo uso de una planilla Excel tal como muestra la tabla a continuación:

calculo-regresion-lineal-co

Luego evaluamos en las ecuaciones presentadas anteriormente para obtener los valores de β0 y β1:

resultados-parametros-regre

Una vez obtenido los parámetros de la regresión lineal se puede desarrollar un pronóstico de demanda (columna color naranja) evaluando en la ecuación de la regresión para los distintos valores de la variable independiente (x).

Por ejemplo, para el primer trimestre el pronóstico es: Y(1)=441,71+359,61*1=801,3.

Observación: los valores de los pronósticos han sido redondeados arbitrariamente a un decimal para mayor comodidad.

regresion-lineal-tabulada-e

Notar que con la información que hemos obtenido podemos calcular el MAD y la Señal de Rastreo y utilizar estos indicadores para validar la conveniencia de utilizar este procedimiento como dispositivo de pronóstico.

Adicionalmente puede resultar de interés consultar el artículo Ejemplo de una Regresión Lineal Múltiple para un Pronóstico con Excel y Minitab que muestra cómo abordar el caso de realizar una regresión lineal con más de una variable independiente (explicativa).

Siguiendo con nuestro análisis a continuación podemos desarrollar un pronóstico de demanda para los próximos 4 trimestres (un año) que corresponden a los trimestres 13, 14, 15 y 16:

  • Y(13)=441,71+359,61*13=5.116,64
  • Y(14)=441,71+359,61*14=5.476,25
  • Y(15)=441,71+359,61*15=5.835,86
  • Y(16)=441,71+359,61*16=6.195,47

Si bien el procedimiento anterior es válido puede ser resumido haciendo uso de las herramientas de análisis de datos de Excel o simplemente realizando un ajuste de una regresión lineal en un gráfico de dispersión de la misma forma que abordamos en el articulo sobre el Método de Descomposición. Para ello luego de realizar el gráfico nos posicionamos en una de las observaciones y luego botón derecho del mouse para seleccionar «Agregar línea de tendencia…».

regresion-lineal-grafico-di

Luego en la interfaz de Excel activamos las opciones «Presentar ecuación en el gráfico» y «Presentar el valor R cuadrado en el gráfico» (este último indicador según se aborda en los cursos de estadística consiste en una medida de la bondad de ajuste de la regresión).

Notar que los valores obtenidos para los parámetros de la regresión son similares salvo menores diferencias por efecto de aproximación.

regresion-lineal-ajustada-e

Otra opción disponible para ajustar una Regresión Lineal haciendo uso de Excel es a través del Complemento llamado Herramientas para análisis.

Su activación es simple: en el menú Archivo (esquina superior izquierda en Excel) ir a Opciones, luego Complementos, a continuación a la derecha de donde dice Complementos de Excel presionar Ir… y luego activar la Herramientas para análisis.

herramienta para análisis excel

Una vez activada las Herramientas para análisis, se puede encontrar ésta abajo del complemento Solver en el menú de Datos.

análisis de datos excel

Luego de las opciones disponibles que nos ofrece este complemento seleccionamos Regresión.

regresión análisis de datos

A continuación seleccionamos el Rango Y de entrada las celdas correspondientes a la variable dependiente (Ventas) y en Rango X de entrada las celdas correspondientes a la variable independiente (Trimestre).

Debemos activar adicionalmente la casilla Residuos si deseamos obtener un pronóstico para las ventas del Trimestre 1 al Trimestre 12 (junto al cálculo del error o residuo de la estimación).

interfaz regresión análisis de datos

Finalmente presionamos Aceptar lo que generará una nueva hoja en nuestra planilla de cálculo.

Un extracto de los resultados es el que se presenta a continuación, donde en color celeste se destaca los coeficientes asociados a los parámetros de la regresión lineal β0 y β1, respectivamente, y en color naranjo el pronóstico obtenido para cada uno de los doce trimestres al utilizar la ecuación de la regresión.

Por ejemplo: Y(1)=441,67+359,61*1=801,28. El residuo o error correspondiente para dicho período (Trimestre 1) es: e_{1}=A_{t}-F_{t}=600-801,28=-201,28.

resultados análisis regresión

¿Quieres tener el archivo Excel con el ajuste de la Regresión Lineal de este problema?.

[sociallocker]MUCHAS GRACIAS!. DESCARGA AQUÍ EL ARCHIVO[/sociallocker]