• No results found

El proceso de discretizaci´on de series de tiempo puede ser visto como la b´usqueda en el espacio de todos los posibles esquemas de discretizaci´on. El problema de la discretizaci´on en series de tiempo puede dividirse en dos subproblemas, el primero es la discretizaci´on de los datos para cada intervalo de tiempo (tama˜no de alfabeto) y el segundo es encontrar el n´umero y rango de los intervalos de tiempo que mantengan la informaci´on relevante (tama˜no de palabra). EBLA3 esta dise˜nado para resolver ambos problemas.

Para encontrar el n´umero de intervalos y sus rangos de valores del cual se har´a la trans- formaci´on discreta, se tomar´a la que tiene una baja entrop´ıa con respecto a la etiqueta de clase. Un esquema de discretizaci´on est´a formado por un conjunto de intervalos delimitados por los puntos de corte respectivos. Para seleccionar cada intervalo que ser´a incluido en el esquema de discretizaci´on, un conjunto de puntos de corte ser´an creados y evaluados. Algunos algoritmos de discretizaci´on de datos est´aticos, como CAIM [26], utilizan para crear el grupo de puntos de corte candidatos, los puntos medios de los diferentes valores contenidos en el total de valores continuos (ver figura 3.8).

Para encontrar el alfabeto, en la primera iteraci´on el algoritmo busca un punto de corte (entre el m´ınimo valor y el m´aximo valor contenido en todo el rango continuo de los valores

de las series de tiempo) con m´axima utilidad en t´erminos de la f´ormula (3.5). Una vez que el primer punto de corte es encontrado(P CS1), el primer esquema de discretizaci´on es cons-

truido como D = {[V alorM in, P CS1], (P CS1, V alorM ax]}. En la segunda iteraci´on, un

nuevo punto de corte es buscado en el rango entre el valor m´ınimo y el punto de corte previo encontrado (P CS1), y tambi´en entre el punto de corte encontrado previamente y el m´aximo

valor. Solamente si es encontrado un nuevo punto de corte que tiene un valor de utilidad m´as alto que el alcanzado en la iteraci´on previa, entonces el punto de corte es insertado (ordena- dos ascendentemente) dentro del esquema de discretizaci´on previo, form´andose as´ı un nuevo esquema de discretizaci´onD={[V alorM ax, P CS1),(P CS1, P CS2],(P CS2, V alorM ax]}.

Es importante se˜nalar, que sobre cada iteraci´on un nuevo conjunto de valores de utilidad es obtenido. El proceso continua iterativamente hasta que el nuevo punto de corte no produce una mejora de la utilidad del esquema previo.

Figura 3.8: Selecci´on de puntos de corte. (a) Esquema de discretizaci´on obtenido en la primera iteraci´onD={[V alorM in, P CS1], (P CS1, V alorM ax]}

(b) Esquema de discretizaci´on obtenido en la segunda iteraci´on D =

{[V alorM in, P CS1], (P CS1, P CS2], (P CS2, V alorM ax]}

computacionalmente, considerando que un atributo continuo puede tener un gran n´umero de diferentes valores, y que algunos de ellos pueden ser muy similares. Un enfoque m´as eficiente es utilizado en esta tesis, en lugar de utilizar todos los valores diferentes, se utilizan valores representativos calculados como percentiles. En el algoritmo se eval´ua como puntos de corte candidatos los que se localizan en los percentiles definidos entre 0.0 % y 100 % con incrementos de 0.1 %, con esto definimos que es preferible tama˜nos de alfabeto mucho menores a 1000[16].

En la segunda fase (v´ease figura 3.9) del proceso de discretizaci´on (c´alculo del tama˜no de palabra) los puntos de corte representan los intervalos de tiempo a ser propuestos, con la finalidad de reducir la longitud de las series de tiempo. El proceso consiste en unir intervalos de tiempo adyacentes que mantengan la ganancia de informaci´on. La utilidad es calculada de la misma manera que en la b´usqueda del alfabeto, pero en lugar de insertar puntos de corte, el objetivo es eliminarlo para formar un intervalo m´as grande. Al inicio cada punto de la serie de tiempo es considerado como un punto de corte y el trabajo consiste en eliminar tantos puntos de corte que no son relevantes para mantener la ganancia de informaci´on lograda en la fase anterior (c´alculo del alfabeto), un punto de corte es considerado como una simple observaci´on de la serie de tiempo. Iterativamente la utilidad es calculada para el esquema formado al eliminar el punto de corte de esa iteraci´on, al final del ciclo es eliminado el punto de corte cuyo valor no proporcione una mejora de la utilidad. En este caso la selecci´on del punto de corte es encontrando cual de los propuestos ser´a eliminado. Este proceso puede ser visto como la eliminaci´on de aquellos puntos de observaci´on que no afecte el desempe˜no de la clasificaci´on.

Es importante observar que la segunda fase es realizada despu´es de que se ha encontrado el mejor alfabeto, considerando reducir la longitud de las series de tiempo preservando la informaci´on relevante de los datos.

El pseudoc´odigo del algoritmo EBLA3 se muestra en las figura: 3.9 y 3.10.

donde S = {si|si ∈ R, i = 1..n} son los valores n´umericos de la serie de tiempo S de

con r intervalos de tiempo en que es dividido. C = {Ck ∈ R, k = 1..m} son el conjunto

de m los puntos de corte candidatos. B = {Ca|Ca ∈ C} es un punto de corte en C. E =

{(Bb, Bb+1]|Bb+1 > Bbb = 1..q}es el esquema de discretizaci´on de longitudq.Ges una fun-

ci´on para generar un esquema de discretizaci´onE dado un conjunto de limitesB.D es una funci´on de discretizaci´on para transformar un conjuntoSpa una representaci´on discreta da-

da un esquema de discretizaci´on.F U tilidades el valor de utilidadDcalculada como es des- crito en la f´ormula 3.5. La funci´on InsertarAleatoriamente(B, ci) inserta aleatoriamente

un punto de corte cualquiera tomado deC. La funci´onEliminarElementoM asAntiguo(B) elimina el punto de corte m´as antiguo en B que ha sido insertado en iteraciones previas. La antiguedad (ActualizarAntiguedad(B)) es calculada con el n´umero de iteraciones que ha permanecido el punto de corte dentro deB. La funci´onGeneraAleatoriogenera un n´umero aleatorio entre 0 y 1. La funci´on GuardarP untoRetorno(B, U tilidad) permite almacenar el valor de B y la Utilidad calculada como la mejor encontrada hasta ese momento para despu´es poder regresar a ese estado(RestaurarP untoRetorno(B, U tilidad)).

En la primera fase (v´ease figura 3.9) del proceso comienza con un esquema de discreti- zaci´on: El valor deT contiene todos los intervalos de la serie de tiempo completa.

En la primera fase, el algoritmo comienza utilizando un esquema de discretizaci´on con un ´

unico intervalo. Iterativamente, el algoritmo incrementa el n´umero de intervalos usando el procedimiento de selecci´on de puntos de corte descritos arriba. El criterio de paro es definido cuando la inserci´on de un nuevo punto de corte no proporciona una mejora en t´erminos de una medida de ganancia de informaci´on y la Temperatura de los saltos aleatorios es menor o igual a cero: U tilidaditeracion < U tilidaditeracion−1 y T emperatura <0, la Utilidad

es evaluada en cada iteraci´on. Espec´ıficamente, en la implementaci´on se usa la medida calculada con la f´ormula 3.5. La Temperatura es calculada mediante la f´ormula 3.7.

En la segunda fase, el algoritmo une segmentos de la serie de tiempo de la siguiente manera: Sea H(P, p) una funci´on que une dos intervalos adyacentes(con el intervalo izquier- do de p) de p en P. Es importante recordar que el valor de B (c´alculo del alfabeto) fue calculado en la fase previa.

Related documents