Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Indice
1 Introducci
on
1.1 La electricidad y el mercado electrico . . . . . . . . . . . . . . . .
1.2 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
3
4
2 Minera de datos
2.1 Definiciones y conceptos. . . . . . . . . . . . . . . . .
2.2 Pasos necesarios para la extraccion de conocimiento
2.3 Obtenci
on de un modelo de conocimiento . . . . . .
2.4 Entrenamiento y validacion de datos . . . . . . . . .
2.5 Extensi
on de la minera de datos . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
10
10
12
13
3 Series temporales
3.1 Introducci
on . . . . . . . . . . . . . . . . . . . . . .
3.2 Modelado de las series temporales . . . . . . . . .
3.3 Preprocesado de series temporales . . . . . . . . .
3.3.1 Outliers . . . . . . . . . . . . . . . . . . . .
3.3.2 Tecnicas de seleccion de atributos . . . . .
3.3.3 Discretizaci
on de los atributos. . . . . . . .
3.4 Predicci
on de series temporales: tecnicas y modelos
3.4.1 Predicci
on basada en reglas de decision . .
3.4.2 Predicci
on basada en metodos lineales . . .
3.4.3 Predicci
on basada en metodos no lineales .
3.4.4 Predicci
on basada en metodos locales . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
17
18
19
20
22
23
24
25
32
43
.
.
.
.
.
.
.
.
.
.
.
4 An
alisis de las t
ecnicas de clustering. Aplicaci
on a series
porales
4.1 Introducci
on . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Componentes de una tarea de clustering . . . . . . . . . . .
4.3 Medidas de la distancia . . . . . . . . . . . . . . . . . . . .
4.4 Similitudes y disimilitudes: medida de la calidad del cluster
4.5 Tipos de datos en el analisis de clusters . . . . . . . . . . .
4.5.1 Variables escaladas a intervalos . . . . . . . . . . . .
4.5.2 Variables binarias . . . . . . . . . . . . . . . . . . .
tem.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
50
51
53
54
55
56
4.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
59
60
63
64
64
5 Resultados
5.1 Elecci
on del n
umero de clusters . . . . . .
5.2 Evaluaci
on de los resultados obtenidos . .
5.2.1 Metodo K-means . . . . . . . . . .
5.2.2 Metodo Fuzzy C-means . . . . . .
5.2.3 Metodo Expectation Maximization
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
66
67
69
69
73
76
6 Conclusiones
6.1 Condiciones meteorologicas
6.2 Calendario . . . . . . . . . .
6.2.1 Hora del da . . . . .
6.2.2 Da de la semana . .
6.2.3 Mes del a
no . . . . .
6.3 Informaci
on econ
omica . . .
6.4 Factores no predecibles . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
81
81
81
81
82
82
84
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A Curriculum vitae
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
ii
Indice de figuras
1.1
2.1
12
3.1
3.2
3.3
3.4
3.5
3.6
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
6.1
6.2
6.3
iii
17
33
36
41
42
44
68
69
71
73
74
76
77
79
82
83
83
Indice de tablas
4.1
5.1
Distribuci
on de los das de la semana en los diferentes clustes
generados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Das laborables te
oricamente mal clasificados con K-means. . . .
Fines de semana mal clasificados con K-means. . . . . . . . . . .
Grado de pertenencia de los das a los diferentes clusters generados va Fuzzy C-means. . . . . . . . . . . . . . . . . . . . . . . .
Das laborables te
oricamente mal clasificados con Fuzzy C-means.
Fines de semana te
oricamente mal clasificados con Fuzzy C-means.
Grado de pertenencia de los das a los diferentes clusters generados va EM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
5.3
5.4
5.5
5.6
5.7
iv
56
69
70
72
75
75
75
78
Agradecimientos
La realizaci
on de este trabajo no hubiera sido posible sin la inestimable ayuda
del Prof. Dr. Jose C. Riquelme, cuya tutela me ha resultado tan enriquecedora
como provechosa.
A la Prof. Dra. Alicia Troncoso quiero agradecerle sus innumerables consejos
que han resultado siempre muy certeros y de gran utilidad.
Por u
ltimo, quiero agredecer tambien a la Prof. Beatriz Pontes toda su
ayuda desinteresada a lo largo del periodo docente y del periodo investigador.
Resumen
El desarrollo de tecnicas de prediccion esta adquiriendo un protagonismo notable en el mercado electrico. Este hecho se debe al proceso de desregulacion
que se est
a produciendo actualmente en los mercados electricos. As, resulta de
vital importancia para las compa
nas productoras de electricidad poder contar
con herramientas capaces de optimizar las ofertas realizadas. Este trabajo se
centra en la extracci
on de informacion u
til de las series temporales de los precios
del mercado electrico, haciendo especial hincapie en las tecnicas de clustering.
Dichas tecnicas son la base de muchos algoritmos de clasificacion y de modelado de sistemas, siendo su principal tarea generar grupos de datos homogeneos
a partir de grandes conjuntos de datos con la intencion de obtener una representaci
on del comportamiento del sistema de la manera mas precisa posible. La
principal y m
as novedosa aportacion de este trabajo radica, precisamente, en
la utilizaci
on de las tecnicas de clustering para hacer una agrupacion inicial del
comportamiento de los elementos pertenecientes a la serie temporal del precio de
la electricidad para, posteriormente, ser capaces de predecir como evolucionara
la curva de los precios en das posteriores. Otras tecnicas ya han sido usadas
para este fin (redes neuronales artificiales, programacion genetica, maquinas de
vector soporte o transformadas de wavelet) pero los resultados no fueron tan
prometedores como los obtenidos al aplicar clustering.
Captulo 1
Introducci
on
1.1
La electricidad y el mercado el
ectrico
1.2
Clustering
El an
alisis de datos se ha convertido en una tarea indispensable para la comprensi
on del comportamiento de multitud de fenomenos en la actualidad. As, la
gesti
on y mantenimiento de grandes cantidades de informacion supone una actividad cotidiana en muchas empresas y, de hecho, poseer grandes bases de datos
es sntoma inequvoco de tener grandes aspiraciones comerciales y economicas.
La pregunta es inmediata: que hacer con tanta informacion? La clave de este
proceso es disponer de herramientas potentes capaces de extraer informacion
u
til de estas bases de datos: modelar conductas o predecir comportamientos
son las tareas m
as habituales.
La clasificaci
on ha jugado un papel importante e indispensable a lo largo
de la historia del desarrollo humano. Siempre que se ha encontrado un nuevo
objeto se ha tratado de buscar las caractersticas que lo describan para poder
realizar, de este modo, comparaciones con otros objetos ya conocidos de acuerdo
con ciertas reglas de similitud. Basicamente, los sistemas de clasificacion pueden
ser supervisados o no supervisados. En la clasificacion supervisada el mapeado
3
1.3
Objetivos
Captulo 2
Minera de datos
2.1
Definiciones y conceptos.
los 90, son capaces de trabajar con distintos datos, con diferentes conocimientos
y aplicaci
on a distintas
areas. Pero la diversidad de disciplinas que contribuyen
a la minera de datos da lugar a gran variedad de sistemas especficos para
analizar los tipos de datos que se desean. Teniendo en cuenta el modelo de
datos que generan, los que minan, y la tecnica o el tipo de aplicacion al que se
puede destinar, distinguimos siguiendo a Hernandez Orallo [81] los siguientes
tipos:
1. Tipo de base de dato minada. Partiendo de diferentes modelos de
datos, existen sistemas de mineras de datos relacionados y multidimensionales, entre otros. As mismo, teniendo en cuenta los tipos de datos
usados se producen sistemas textuales, multimedia, espaciales o web.
2. Tipo de conocimiento minado. Teniendo en cuenta los niveles de
abstracci
on del conocimiento minado se distinguen:
Conocimiento generalizado con alto nivel de abstraccion.
Conocimiento a nivel primitivo, con de filas de datos.
Conocimiento a m
ultiples niveles, de abstraccion.
Adem
as, se debe hacer la distincion entre los sistemas que buscan patrones,
es decir, regularidades, y los que buscan excepciones, irregularidades.
3. Tipo de funcionalidad (clasificacion, agrupamiento) y de tecnica, es
decir, metodos de an
alisis de los datos empleados.
4. Tipo de aplicaci
on. En el que distinguimos dos tipos: los de proposito
general y los especficos. Sin pretender ser exhaustivos, se exponen seguidamente algunos ejemplos de aplicaciones.
Medicina, b
asicamente para encontrar la probabilidad de una respuesta satisfactoria a un tratamiento medico o la deteccion de pacientes con riesgo de sufrir alguna patologa (deteccion de carcinomas,
p
olipos...).
Mercadotecnia. Analisis de mercado, identificacion de clientes asociados a determinados productos, evaluaciones de campa
nas publicitarias, estimaciones de costes o seleccion de empleados.
Manufacturas e industria: deteccion de fallas.
Telecomunicaciones. Determinacion de niveles de audiencia, deteccion
de fraudes, etc.
Finanzas. An
alisis de riesgos bancarios, determinacion de gasto por
parte de los clientes, inversiones en bolsa y banca etc.
Climatologa. Prediccion de tormentas o de incendios forestales.
Comunicaci
on. Analisis de niveles de audiencia y programacion en
los mass media
Hacienda. Deteccion de fraude fiscal
7
Poltica. Dise
no de campa
nas electorales, de la propaganda poltica,
de intenci
on de voto, etc.
Como se puede apreciar, son muchos los campos y muy variados en los que
la minera de datos puede resultar muy u
til y eficaz. En sntesis, se pueden
establecer como objetivos prioritarios de la minera de datos los siguientes:
1. Identificaci
on de patrones significativos o relevantes.
2. Procesamiento autom
atico de grandes cantidades de datos.
3. Presentaci
on de los patrones como conocimiento adecuado para satisfacer
los objetivos de los usuarios.
Como siempre que surge una nueva tecnica, la definicion del concepto no
resulta f
acil. Para ilustrarlo, se presentan aqu algunas de las definiciones de
minera de datos m
as conocidas:
Definici
on 1. Es el proceso no trivial de descubrir patrones validos, nuevos,
potencialmente u
tiles y comprensibles dentro de un conjunto de datos [82].
Definici
on 2. Es la aplicacion de algoritmos especficos para extraer patrones
de datos [27], entendiendo por datos un conjunto de hechos y por patrones
una expresi
on en alg
un lenguaje que describe un subconjunto de datos,
siempre que sea m
as sencilla que la simple enumeracion de todos los hechos
que componen.
Definici
on 3. Es la integracion de un conjunto de areas que tienen como
prop
osito la identificacion de un conocimiento obtenido a partir de las
bases de datos que aporten un sesgo hacia la toma de decision [38].
Definici
on 4. Es el proceso de descubrimiento de conocimiento sobre repositorios de datos complejos mediante la extraccion oculta y potencialmente
u
til en forma de patrones globales y relaciones estructurales implcitas
entre datos [59].
Definici
on 5. El proceso de extraer conocimiento u
til y comprensible, previamente desconocido, desde grandes cantidades de datos almacenados en
distintos formatos [116].
Definici
on 6. La tarea fundamental de la minera de datos es encontrar modelos inteligibles a partir de los datos [81].
Algunos autores distinguen dos tipos de minera de datos [27]:
1. Mdp o minera de datos predictiva, es decir, prediccion de datos, basicamente
tecnicas estadsticas. Las tareas de datos que producen modelos predictivos son la clasificaci
on y la regresion.
Es la tarea m
as usada. Cada registro de la base de datos pertenece a
una determinada clase (etiqueta discreta) que se indica mediante el
valor de un atributo o clase de la instancia. El objetivo es predecir
una clase, dados los valores de los atributos. Se usan, por ejemplo,
arboles de decisi
2.2
Como se se
nal
o al comienzo del captulo, la minera de datos es solo una fase
de un proceso m
as amplio cuya finalidad es el descubrimiento de conocimiento
en bases de datos (KDD). Independientemente de la tecnica que se use en el
proceso de extracci
on de datos, los pasos que deben ser seguidos son siempre
los mismos:
1. Definici
on del problema. En el proceso de minera de datos el primer
paso consiste en definir claramente el problema que se intenta abordar.
Esta
sera casi una fase 0.
2. Integraci
on y recopilaci
on de datos. En un primer momento, hay que
localizar las fuentes de informacion, y los datos obtenidos se llevan a un
formato com
un para que resulten mas operativos. Lo mas frecuente es que
los datos necesarios para llevar a cabo un proceso de KDD pertenezcan a
distintos departamentos, a diferentes organizaciones o incluso nunca hayan
sido recopilados por no considerarlos interesantes. Es posible tambien que
haya que buscar datos complementarios de informaciones oficiales. Por
tanto, resulta conveniente utilizar alg
un metodo de automatizacion para
la exploraci
on de esos datos y encontrar posibles incoherencias.
3. Filtrado: selecci
on de datos, limpieza y transformaci
on. Una
vez homogeneizados los datos, se filtran y se rechazan los no validos o
los incorrectos, seg
un las necesidades, o bien se corrigen o se reduce el
n
umero de variables posibles mediante clustering, redondeo, etc. Este
proceso previo es necesario porque se tardara mucho tiempo en llegar a
conclusiones si se trabajara con todos los datos. Al subconjunto de datos
que se va a minar se denomina vista minable. Aunque se haya procesado,
la mayora de las veces se tiene una gran cantidad de datos. Un buen
sistema es utilizar una muestra (sample) a partir de algunos datos (filas).
4. Fase de minera de datos. Algoritmos de extraccion de conocimiento
Esta fase es la m
as caracterstica y por ese motivo se suele denominar
minera de datos a todo el proceso en KDD.
2.3
Obtenci
on de un modelo de conocimiento
Arboles
de decision y reglas de clasificacion que realizan cortes
sobre una variable.
An
alisis preliminar de datos usando herramientas de consultas.
Este
puede ser el caso de realizar una consulta SQL sobre un
conjunto de datos con el fin de rescatar algunos aspectos relevantes.
Redes neuronales artificiales. Son modelos predecibles, no lineales, que aprenden a traves del entrenamiento.
Metodos de clasificacion y regresiones no-lineales.
Metodos basados en ejemplos prototpicos que hacen aproximaciones sobre la base de ejemplos mas conocidos.
Metodos gr
aficos de dependencias probabilsticas en donde se
usan sobre todo redes bayesianas.
Modelos relacionales: programacion logica inductiva o ILP en
donde la b
usqueda del modelo se basa en logica y heurstica.
Reglas de asociacion que relacionan un conjunto de pares que
relacionan atributo-valor con otros pares atriburo-valor.
Clustering: agrupan datos cuya distancia multidimensional dentro de la clase es peque
na y entre clases es grande.
5. Fase de interpretaci
on y evaluaci
on del modelo.Una vez que ya
hemos obtenido el modelo hay que proceder a su validacion, comprobando
que las conclusiones son validas y satisfactorias, es decir, verificando si
los resultados obtenidos son coherentes. Si se hubieran obtenido varios
modelos por utilizar diferentes tecnicas habra que buscar el que mejor
se ajustase al tema. As, habra que comparar esos resultados con los
obtenidos por metodos estadsticos y de visualizacion grafica.
11
2.4
Entrenamiento y validaci
on de datos
Estimar la precisi
on de un clasificador inducido por algoritmos de aprendizaje
supervisados es importante tanto para evaluar su futura precision de clasificacion
como para elegir un clasificador de un conjunto dado.
Para entrenar y probar un modelo se parten los datos en dos conjuntos.
Por un lado, se tiene el conjunto de entrenamiento o training set. Este grupo
de instancias servir
a para ense
nar al modelo cual es el comportamiento tipo
del sistema, haciendose una clasificacion por el analista de dichas instancias.
Por otro, se tiene el conjunto de prueba o test set, que sera el conjunto sobre
el que se aplicar
an los metodos una vez adquirido el conocimiento previo a
traves del training set. Si no se usan estos modelos la precision del modelo sera
sobrestimada, es decir, tendremos estimaciones muy optimistas y, por ello, son
mayoritariamente utilizados por los investigadores.
Los resultados de los metodos de seleccion de atributos influyen en gran medida en el exito de un proceso de minera de datos. Para asegurar el resultado
optimo en un metodo de seleccion se debe realizar una b
usqueda exhaustiva, lo
que conlleva un alto coste computacional que en ocasiones hace que sea inabordable. Se pueden establecer dos tipos fundamentales de metodos de evaluacion:
1. Validaci
on cruzada (cross-validation). La validacion cruzada consiste en
el empleo de k subconjuntos del conjunto de datos de los cuales k/2 se emplean para entrenamiento y k/2 para la validacion del esquema de aprendizaje. Existe tambien la n-fold cross validation, o validacion cruzada de
n particiones. En ella se divide a los datos en tantas particiones como
indique el par
ametro n y se entrena n veces promediando el error de cada
prueba. Presenta un inconviente y es que no se consigue una representatividad equitativa de todas las clases. Para solventar el problema aparecido en el metodo anterior se utiliza una extension de este. Cuando la
validaci
on se realiza con subconjuntos mezclados aleatoriamente se denomina validaci
on cruzada estratificada. De este modo se consigue una
12
clase determinada aparezca con la misma probabilidad en todos los subconjuntos de validaci
on. Solo es valido para conjuntos de datos nominales.
Dentro de las distintas medidas que se ofrecen se prestara mayor atencion
al coeficiente de correlacion que mide la correlacion estadstica entre los
datos predecidos y los datos reales.
2. Muestreo con reemplazamiento o bootstrapping. El bootstrapping descansa en la analoga entre la muestra y la poblacion de la cual la muestra
es extrada. De acuerdo a Efron y Tibshirani [23], dada una muestra con
n observaciones el estimador no parametrico de maxima verosimilitud de
la distribuci
on poblacional es la funcion de densidad de probabilidad que
asigna una masa de probabilidad de 1/n a cada una de las observaciones.
La idea central es que muchas veces puede ser mejor extraer conclusiones
sobre las caractersticas de la poblacion estrictamente a partir de la muestra que se maneja, que haciendo asunciones quizas poco realistas sobre la
poblaci
on. El bootstrapping implica remuestreo (resampling) de los datos
obtenidos en una muestra, con reemplazamiento, muchas muchas veces
para generar una estimacion emprica de la distribucion muestral completa de un estadstico. El bootstrap puede considerarse como un tipo
especial de simulaci
on denominada simulacion basada en los datos. Esto
es, simulamos a partir de una estimacion de la poblacion basada en los
datos [24]. En [1] se propone un metodo de seleccion de atributos basado
en las tecnicas de bootstrapping que reduce el coste de la b
usqueda exhaustiva, sin reducir la precision en la clasificacion. Lunneborg [65] fija la
utilidad del metodo bootstrap a tres niveles:
Valorar el sesgo y el error muestral de un estadstico calculado a
partir de una muestra.
Establecer un intervalo de confianza para un parametro estimado.
Realizar una prueba de hipotesis respecto a uno o mas parametros
poblacionales.
Cuando ya se ha validado el modelo por uno de estos metodos se puede usar
con dos finalidades b
asicas. Por un lado se puede aplicar el modelo a diferentes
conjuntos de datos y por otro sirve para que el analista recomiende actuaciones
bas
andose en el modelo y los resultados. Logicamente, habra tambien que evaluar la evoluci
on del modelo y comprobar sus utilidades y beneficios.
2.5
Extensi
on de la minera de datos
14
Captulo 3
Series temporales
3.1
Introducci
on
En este captulo se presentan las series temporales, haciendo un especial hincapie en las tecnicas de an
alisis y prediccion existentes en la actualidad. En
concreto, ser
an objeto de estudio las series temporales asociadas a los precios
de la demanda electrica ya que es sobre estas sobre las que se pretende aplicar
tecnicas de agrupamiento (clustering) para extraer conocimiento y predecir posibles conductas de sus elementos.
Una serie temporal es una secuencia de valores observados a lo largo del
tiempo, y, por tanto, ordenados cronologicamente. Aunque el tiempo es una
variable continua, en la pr
actica se usan mediciones en periodos equidistantes.
Dada esta definici
on, resulta difcil imaginar alg
un area cientfica en la que no
aparezcan datos que puedan ser considerados como series temporales.
Hoy en da el an
alisis de colecciones de datos ordenados en el tiempo es
fundamental en muchos campos como la ingeniera, la medicina o el mundo de
los negocios. Estudiar c
omo se ha comportado una variable hasta el momento
puede ser de gran valor a la hora de predecir su comportamiento futuro. Del
mismo modo, determinar que otros valores han tenido un comportamiento similar puede ayudar a decidir las acciones que se deberan llevar a cabo, bien sea
para conservar la evoluci
on actual o bien para modificarla radicalmente.
Se puede pensar que con una comparacion secuencial de dos series temporales
dadas bastara para saber si son similares o no. Sin embargo, no se trata de
realizar un rastreo secuencial de dos secuencias temporales sino que se trata
de encontrar metodos o tecnicas que ayuden a disminuir ese rastreo. Esto es
muy importante si se tiene en cuenta la cantidad ingente de informacion que
se puede encontrar en determinadas bases de datos, sobre todo si se tiene que
extraer informaci
on especfica de un dominio concreto. Las tecnicas que facilitan
la extracci
on de informaci
on de estas bases de datos forman parte del campo de
la minera de datos.
Lo primero que se necesita para poder hacer minera de datos con series
15
temporales es una medida de la distancia ([26], [47], [95], [69], [13]) entre dos
secuencias temporales. Lo que se pretende es buscar secuencias temporales que
se parecen entre s, buscar aquellas secuencias que se parecen a una dada o buscar
patrones de comportamiento dentro de una secuencia temporal. En definitiva,
se necesita estudiar cu
ando dos secuencias temporales son similares o no y por lo
tanto una primera cuesti
on importante es establecer una medida de la distancia.
Sin embargo, en muchos casos, esto no es suficiente dado que es necesario un
paso previo de limpieza y transformacion de las secuencias temporales antes de
proceder a la comparaci
on propiamente dicha. Estas transformaciones forman
parte del an
alisis de las series temporales, tanto lineales [74], como no lineales
[51]. Los trabajos desarrollados hasta la fecha buscan series o secciones de
series temporales que se parecen entre s. Sin embargo, en algunos ambitos
puede ser necesario buscar una seccion de la serie caracterstica, normalmente
denominada patr
on. Existen varios trabajos relacionados con la b
usqueda de
patrones, campos como la estadstica [63], [64], el procesamiento de la se
nal [44],
algoritmos geneticos [37], y el reconocimiento de voz [62], los cuales ofrecen una
variedad de tecnicas que se pueden elegir para formalizar una algoritmo de
comparaci
on.
Encontrar patrones ha sido una de las tareas basicas de la Ciencia. En ocasiones se encuentran simetras que sirven para la prediccion del comportamiento
de ciertos fen
omenos, incluso antes de que se entienda la razon o causa que justifica esa conducta. Tal fue el caso de la ordenacion de los elementos qumicos
por Mendeleiev, que los organizo de forma precisa en funcion de las simetras
encontradas prediciendo la existencia de otros elementos desconocidos por aquel
entonces.
Si dados los valores pasados de una serie no es posible predecir con total
fiabilidad el siguiente valor esperado de la variable objeto de estudio, se dice
que la serie es no determinista o aleatoria. Este comportamiento es el que, en
principio, parecen tener las series temporales de la demanda energetica. En
este contexto se engloba este estudio: se pretende demostrar la existencia de un
comportamiento l
ogico y ordenado de las curvas de precios utilizando procedimientos propios de minera de datos. Evidentemente, aunque el valor futuro de
una serie temporal no sea predecible con total exactitud, para que tenga interes
su estudio, el resultado tampoco puede ser completamente aleatorio, existiendo
alguna regularidad en cuanto a su comportamiento en el tiempo haciendo posible
su modelado y, por ende, su prediccion.
Por tanto, el objetivo final es el de realizar una estimacion de valores futuros
de la demanda en funci
on del comportamiento pasado de la serie, ya que este
hecho servir
a para hacer una buena planificacion de recursos en funcion de la
demanda esperada en el futuro prevista por el modelo.
Se pueden describir las series temporales mediante modelos basados en distribuciones de probabilidad si se encuentran patrones de regularidad en sus
diferentes secciones. La secuencia ordenada de variables aleatorias, X(t), y su
distribuci
on de probabilidad asociada, se denomina proceso estocastico. Un
proceso estoc
astico es, por tanto, el modelo matematico asociado a una serie
temporal.
16
3.2
17
variaci
on estacional o peri
odica y otras fluctuaciones irregulares.
1. Tendencia. Es la direccion general de la variable en el periodo de observaci
on, es decir el cambio a largo plazo de la media de la serie. Para
determinar claramente si una serie responde a una determinada ley (crecimiento, decrecimiento o estabilidad) se requiere que esta posea un n
umero
bastante elevado de muestras. Dicha tendencia puede corresponder a diversos perfiles, tales como lineal, exponencial o parabolico. Cuando se
analiza este factor, se prescinde de las variaciones a corto y medio plazo.
Este par
ametro resulta de vital importancia al aplicar tecnicas de clustering, ya que ser
a precisamente este parametro el que se utilizara para
modelar los diferentes grupos generados y sobre el que se realizaran las
medidas de distancia para ver si un elemento pertenece a un grupo o a
otro.
2. Estacionalidad. Corresponde a fluctuaciones periodicas de la variable,
en periodos relativamente cortos de tiempo. Esta componente tiene un
marcado car
acter economico, hecho que queda tambien reflejado al aplicarlo al caso de la demanda de electricidad: podra corresponderse con un
patr
on de estacionalidad bien definido, en el que se aprecia que durante
las horas de noche esta disminuye mientras que en las horas de trabajo
alcanza su m
aximo.
3. Otras fluctuaciones irregulares. Despues de extraer de la serie la tendencia y variaciones cclicas, nos quedara una serie de valores residuales,
que pueden ser, o no, totalmente aleatorios. Se trata de una circunstancia
similar a la del punto de partida, pues ahora tambien interesa determinar
si esa secuencia temporal de valores residuales puede o no ser considerada como aleatoria pura. Los factores que causan estas variaciones son de
diferente ndole y son muy difciles de aislar y predecir. No obstante, si por
alguna causa se es capaz de determinar que factores son los que afectan
a una serie temporal y se asume una influencia determinista una vez
ocurridos, se podra pensar en estos valores como precursores de cambios
en la tendencia de la serie. Para el caso concreto de las series asociadas
a demanda electrica los das festivos podran ser los que introdujeran este
tipo de fluctuaciones.
3.3
3.3.1
Outliers
Una de las limitaciones del estudio de series temporales es la dificultad de identificar correctamente el modelo y, en su caso, seleccionar el mas adecuado.
Adem
as, el an
alisis de series temporales requiere, en algunos casos, una correcci
on previa de la serie dado que, de otro modo, se podran producir graves
distorsiones en los resultados obtenidos de su procesamiento.
Cuando se analizan los datos de series temporales, es frecuente encontrar
valores atpicos que tienen su origen en intervenciones incontroladas o inesperadas, como errores en la transcripcion de datos: son los denominados outliers.
En otras palabras, los outliers son valores de la serie temporal que se alejan
de los patrones de comportamiento del resto de la serie. La importancia de
estos valores estriba en que los outliers y los cambios estructurales influyen en
la eficiencia y la bondad del ajuste de los modelos.
Desde el punto de vista estadstico, hay que distinguir entre outliers e intervenci
on. De este modo, cuando existe informacion a priori sobre eventos
especiales que pueden haber causado observaciones anormales (la fecha de su
incidencia y quiz
as alguna idea de su probable efecto, como, por ejemplo, si es
permanente o transitorio), el efecto del evento especial debera ser capturado
a traves del an
alisis de variables de intervencion. Por el contrario, un outlier
representa una anomala en las observaciones para las que no son usadas datos
de su incidencia o sobre el patron dinamico de su efecto, sino que son revelados
por el an
alisis de los datos.
Siguiendo el trabajo Fox [30] y los posteriores Gomez y Maravall [35], [36] y
Kaiser [50], existen cuatro tipos diferentes de outliers y un considerable n
umero
de procedimientos para detectarlos. Los cuatro tipos de outliers que se consideran en la literatura son:
1. Outlier aditivo (AO). Es aquel que afecta solo a una observacion de la
serie temporal.
(t0 )
AOt
=
1 t = t0
0 t 6= t0
(3.1)
LSt
1 t < t0
0 t t0
(3.2)
T Ct
=
0 t < t0
tt0 t t0
19
(3.3)
RPtt0 ,t1
1 t t0
(t t0 )/(t1 t0 ) t0 < t < t1
=
0 t t0
(3.4)
3.3.2
T
ecnicas de selecci
on de atributos
20
X X
(1),i
(2),i
(1),i
(2),i
R2 (i) =
zk
j zj xj , xj , xk , xk
(3.6)
k
21
3.3.3
Discretizaci
on de los atributos.
Un gran n
umero de algoritmos de aprendizaje operan exclusivamente con espacios discretos y, por tanto, cuando se tienen atributos numericos se deben
discretizar en un rango peque
no de valores. Esta trasformacion de atributos continuos en discretos se denomina discretizaci
on. Existe, sin embargo, un asunto
muy delicado que se debe solucionar y es elegir el mejor metodo para conseguir
esa transformaci
on, antes de que la etapa de aprendizaje tenga lugar, sin que se
pierda informaci
on relevante.
Se presentan en esta seccion, en primera instancia, los metodos de discretizaci
on cl
asicos seguidos por la amplia mayora de investigadores. En general, se puede distinguir entre discretizacion local y discretizacion global. La
discretizaci
on local considera a los atributos de forma local para tomar la decisi
on de d
onde hacer la ramificacion. Ya que se considera localmente el proceso, cada vez las decisiones se realizan con menos datos. Por el contrario, la
discretizaci
on global considera los atributos de forma global.
Adem
as de discretizaciones locales y globales, estas se pueden diferenciar
seg
un sean tecnicas supervisadas o no supervisadas.
1. T
ecnicas no supervisadas. Cuantizar o asignar un valor a cada atributo considerando que no se conocen las clases que hay en el conjunto de
entrenamiento. Aqu, se dividiran los datos en un n
umero predeterminado
de:
(a) Intervalos iguales. Consiste en distribuir los atributos en depositos.
Se corre el riesgo de que un intervalo tenga mas datos que otro,
pudiendose dar el caso de que alguno quede vaco.
(b) Frecuencias iguales. Consiste en dividir los atributos en un n
umero
predeterminado de rangos para evitar que un rango tenga mas datos
que otros. Esta tecnica tambien se conoce como ecualizacion por
histograma.
2. T
ecnicas supervisadas. En este caso se considera que s se conocen las
clases. Se pueden distinguir diversos metodos.
(a) Intervalo k proporcional. El n
umero lugares donde poner los datos se
selecciona de acuerdo con estos ya que se conocen las clases, siendo
dicho n
umero la raz cuadrada del n
umero de instancias.
(b) Basado en entropa. Consiste en utilizar el intervalo que proporcione
mayor ganancia. El proceso consiste en ordenar todos los valores de
las clases de acuerdo con los valores de los atributos continuos. A
continuaci
on, se identifican los ejemplos contiguos donde cambian las
clases para, seguidamente, generar los valores tomando el valor que
22
3.4
Predicci
on de series temporales: t
ecnicas y
modelos
23
3.4.1
Predicci
on basada en reglas de decisi
on
1
P|P |
1
j=1 j
(3.7)
donde |P | es el n
umero de predictores difusos y i es la desviacion estandar
del error de predicci
on obtenido a partir del predictor difuso i. Este metodo se
ha aplicado a la serie temporal caotica de Mackey-Glass y a la prediccion del
cambio del franco suizo frente al dolar.
3.4.2
Predicci
on basada en m
etodos lineales
(3.8)
(3.9)
La estructura del proceso M A(1), en el que solo aparece el primer rezago del
choque a la derecha, le hace tener poca memoria y en consecuencia, una dinamica
25
debil, independientemente del valor del parametro . La media y varianza incondicionales son:
E(yt ) = 0
V ar(yt ) = 2 (1 + 2 )
(3.10)
(3.11)
(3.12)
(3.13)
Podemos ver que las condiciones de estacionariedad en covarianza se satisfacen para cualquier proceso M A(1), independientemente de los valores de sus
par
ametros. Si, adem
as, || < 1, se dice que el proceso M A(1) es invertible. En
este caso, se puede invertir y expresar el valor actual de la serie no en terminos
de una innovaci
on actual y una rezagada, sino de una innovacion actual y valores
rezagados de la serie, a esto se le llama representacion autorregresiva. Bajo la
notaci
on de operador rezago, la representaci
on autorregresiva infinita se escribe:
yt
= t
1 + L
(3.14)
(3.15)
(3.16)
en donde:
(L) = 1 + 1 L + ... + q Lq
(3.17)
(3.18)
(3.19)
(3.20)
(3.21)
(3.22)
(3.23)
(3.24)
(3.26)
(3.27)
(3.28)
(3.29)
(3.30)
28
(3.31)
donde se requiere que || < 1 para que haya estacionariedad y que || < 1
para que haya invertibilidad. El proceso ARM A(p, q) es una generalizacion
natural del proceso ARM A(1, 1) que permite tener rezagos m
ultiples de los dos
componentes, medias m
oviles y autorregresivos , y se representa as:
yt = yt1 + ... + p ytp + t + 1 t1 + ... + p tq
t W N (0, 2 )
(3.32)
(3.33)
o bien,
(L)yt = (L)t
(3.34)
(3.35)
con m
aximo una raz autorregresiva sobre el crculo unitario y todas las races
de medias m
oviles fuera de ese crculo. Se dice que y tiene una raz unitaria
autorregresiva o simplemente una raz unitaria, si una de las p races del polinomio en el operador asociado al proceso autorregresivo es 1, en cuyo caso se
puede sacar como factor com
un un polinomio en el operador rezago asociado al
proceso autorregresivo, como sigue:
(L) = 0 (L)(1 L)
(3.36)
29
(3.37)
es tan solo
0 (L)4yt = (L)t
(3.38)
(3.39)
donde todas las races de ambos polinomios en el operador rezago estan fuera
del crculo unitario. El proceso ARIM A(p, 1, q) es solo un proceso ARM A(p, q)
estacionario e invertible en primeras diferencias. Con mas generalidad podemos
trabajar con el modelo ARIM A(p, d, q),
(L)(1 L)d yt = c + (L)t
(3.40)
El proceso ARIM A(p, d, q) es uno ARM A(p, q), estacionario e invertible, diferenciado d veces. Cuando d = 0, y es estacionario en covarianza o I(0) y cuando
d = 1,y es I(1) con tendencia lineal estocastica. Los procesos ARIM A(p, 1, q)
tienen tres aspectos resaltantes. En primer lugar, si diferenciamos los procesos
ARIM A(p, 1, q) se hacen adecuadamente estacionarios. En segundo lugar, las
innovaciones a los procesos ARIM A(p, 1, q) tienen efectos permanente, sin embargo, a diferencia de las caminatas aleatorias, el efecto a largo plazo de una
innovaci
on unitaria puede ser mayor o menor que la unidad, dependiendo de los
par
ametros del proceso. En tercer lugar, la varianza de esos procesos crece con
el tiempo.
En [3] se presenta una modificacion al modelo ARIMA consistente en a
nadir
un u
nico termino al modelo que representa una primera aproximacion de la
predicci
on de la demanda. El objetivo que se plantea es predecir la demanda
horaria y la demanda en las horas punta del sistema Iran y los errores medios
cometidos son 1.7% y 4.65% respectivamente. La serie temporal que se uso para
realizar los experimentos es la del a
no 1998.
En [34] se presenta una variacion del ARIMA tradicional. En concreto, se
utiliza ARIMA Multiplicativo Estacional (MS-ARIMA, Multiplicative Seasonal
Autorregresive Integrated Moving Average) para predecir el maximo de la demanda mensual de la electricidad en la ciudad india de Maharashtra. Para ello,
utilizan una base de datos compuesta por los datos correspondientes desde abril
30
de 1980 hasta junio de 1999 y hacen una prediccion de los 18 meses posteriores. Concluyen que las series no revelan ning
un cambio drastico en el periodo
predicho y que se mantiene la misma tendencia a lo largo de las variaciones
estacionales.
Finalmente, en 2005 Conejo [11] presento un estudio en el que se comparaban
las tecnicas de ARIMA y de las transformadas wavelet para la prediccion del
precio del dia siguiente, consiguiendo resultados notablemente mejores a los que
habia obtenido en sus estudios previos [49, 80, 12]
Vectores autorregresivos
En un vector autorregresivo de orden p con N variables, o V AR(p), se estiman
N ecuaciones diferentes. En cada ecuacion se hace la regresion de la variable
relevante del lado izquierdo sobre p rezagos de s misma, y p rezagos de cada
una de las dem
as variables. A diferencia del caso univariado, los vectores autorregresivos permiten una din
amica entre las variables, abriendo la posibilidad de
que cada variable no s
olo se relacione con su propio pasado, sino tambien con el
pasado del resto de las variables del sistema. Por ejemplo, en el V AR(1) de dos
variables se tienen dos ecuaciones, una para cada variable del sistema. O en el
V AR(1) de dos variables, se tienen dos ecuaciones, una para cada variable (y1
e y2 ), y se expresa as:
y1,t = 1 1y1,t1 + 1 2y2,t1 + 1,t
y2,t = 2 1y1,t1 + 2 2y2,t1 + 2,t
1,t W N (0, 2 )
2,t W N (0, 2 )
1 2 = cov(1,t , 2,t )
(3.41)
(3.42)
(3.43)
(3.44)
(3.45)
31
(3.46)
(3.47)
Los modelos GARCH tienen una varianza infinita y constante, dado que se hace
el supuesto de que las sumas de i y i son menores a 1. La identificacion
de un modelo GARCH apropiado no es facil, usualmente se utiliza el modelo estandar o GARCH(1, 1). Los modelos GARCH han sido utilizados para
pronosticar el precio de los derivados financieros como opciones, en los cuales
una estimaci
on correcta de la varianza es importante.
En [68] se condiera una variedad de especificaciones para modelos GARCH
multievaluados usadas para evaluar los mercados electricos nordicos.
Por el contrario, en [40] se hace un analisis de estas series temporales en
Nueva York, haciendose una prediccion para el da siguiente. Se obtienen unos
errores del 2.46%.
Tambien se puede encontrar en [32] una aplicacion directa de GARCH para
los mercados de Espa
na y California.
3.4.3
Predicci
on basada en m
etodos no lineales
33
el n
umero de neuronas por capa, el grado de conectividad y el tipo de
conexiones entre neuronas.
(a) Redes monocapa. Se establecen conexiones laterales, cruzadas o autorrecurrentes entre las neuronas que pertenecen a la u
nica capa que
constituye la red. Se utilizan en tareas relacionadas con lo que se
conoce como autoasociacion; por ejemplo, para generar informaciones
de entrada que se presentan a la red incompletas o distorsionadas.
(b) Redes multicapa [90]. Son aquellas que disponen de conjuntos de neuronas agrupadas en varios niveles o capas. Una forma de distinguir la
capa a la que pertenece la neurona, consiste en fijarse en el origen de
las se
nales que recibe a la entrada y el destino de la se
nal de salida.
Seg
un el tipo de conexion, como se vio previamente, se distinguen las
redes feedforward, y las redes feedforward/feedback [92].
2. Mecanismo de aprendizaje. El aprendizaje es el proceso por el cual
una red neuronal modifica sus pesos en respuesta a una informacion de
entrada. Los cambios que se producen durante el proceso de aprendizaje
se reducen a la destruccion, modificacion y creacion de conexiones entre
las neuronas, la creaci
on de una nueva conexion implica que el peso de la
misma pasa a tener un valor distinto de cero, una conexion se destruye
cuando su peso pasa a ser cero. Se puede afirmar que el proceso de aprendizaje ha finalizado (la red ha aprendido) cuando los valores de los pesos
permanecen estables.
(a) Redes con aprendizaje supervisado. El proceso de aprendizaje se
realiza mediante un entrenamiento controlado por un agente externo
(supervisor, maestro) que determina la respuesta que debera generar
la red a partir de una entrada determinada. El supervisor comprueba
la salida de la red y en el caso de que esta no coincida con la deseada,
se proceder
a a modificar los pesos de las conexiones, con el fin de
conseguir que la salida se aproxime a la deseada.
(b) Redes con aprendizaje no supervisado. Estas redes no requieren influencia externa para ajustar los pesos de las conexiones entre neuronas.
La red no recibe ninguna informacion por parte del entorno que le
indique si la salida generada es o no correcta, asi que existen varias
posibilidades en cuanto a la interpretacion de la salida de estas redes.
En algunos casos, la salida representa el grado de familiaridad o similitud entre la informacion que se le esta presentando en la entrada y
las informaciones que se le han mostrado en el pasado. En otro caso
podra realizar una codificacion de los datos de entrada, generando a
la salida una version codificada de la entrada, con menos bits, pero
manteniendo la informacion relevante de los datos, o algunas redes
con aprendizaje no supervisado lo que realizan es un mapeo de caractersticas, obteniendose en las neuronas de salida una disposicion
geometrica que representa un ,apa topografico de las caractersticas
34
36
En [99] se usa una red neuronal para la prediccion del precio de la energa en
el mercado electrico de Australia. Pero, a diferencia de los anteriores metodos,
realiza una predicci
on s
olo de la hora siguiente. Las variables que utiliza para
hacer su predicci
on son los valores pasados de la demanda, los precios y variables
temporales que pueden afectar a la demanda. Presenta un error del 1.37%.
Programaci
on gen
etica
Un algoritmo genetico (AG) [37] es un tipo de algoritmo de b
usqueda estocastica,
fundamentado en procedimientos de seleccion natural. Estos tipos de algoritmos tratan de imitar los procesos de evolucion biologica ya que combinan la
supervivencia de los mejores individuos (los mas aptos) dentro de un conjunto
con un intercambio de informacion estructurado y aleatorio.
En cada iteraci
on se crea un nuevo conjunto de estructuras de datos que
s
olo usan las partes m
as aptas de las generaciones anteriores. Los AG son algoritmos evolutivos debido a su capacidad para explotar de manera eficiente
la informaci
on relativa a las generaciones anteriores, permitiendo as especular
sobre nuevos puntos de b
usqueda dentro del espacio de soluciones, con el objetivo de obtener un mejor comportamiento gracias a su evolucion. Su ambito
de actuaci
on frecuente es el de las cadenas de caracteres de longitud fija, generalmente binarias. La aptitud se determina ejecutando algoritmos y rutinas
especficos, usando una interpretacion de las cadenas de caracteres como el conjunto de par
ametros. El cruce es el principal operador genetico empleado, siendo
la mutaci
on un operador de importancia secundaria.
La programaci
on genetica, PG [61], es un hijo de los AG, en el que las
estructuras de datos que sufren la adaptacion, son en s mismas programas de
ordenador. Se usan operadores geneticos especializados que generalizan el cruce
y la mutaci
on, para los programas de computador estructurados en arbol que
est
an bajo adaptaci
on. La PG tiene las siguientes caractersticas:
1. Material gen
etico no lineal y generalmente estructurado en
arbol.
Aunque algunos AG tienen material genetico que no es lineal, el material genetico lineal sigue siendo la regla en los AG. Sin embargo, la
PG casi siempre opera sobre material genetico no lineal, y generalmente
explcitamente en estructura de arbol.
2. Material gen
etico de longitud variable. La PG casi siempre opera sobre material genetico que puede variar de tama
no. Por razones practicas,
generalmente se implementan limitaciones en el crecimiento, pero normalmente permite crecimientos considerables a partir de la generacion original
que se produce aleatoriamente.
3. Material gen
etico ejecutable. La PG es la evolucion directa de programas de computador. As, en casi todos los casos el material genetico
que esta evolucionando es en cierto sentido ejecutable. Aunque ejecutable
no es el termino m
as preciso, y sobre esto hay una serie de areas grises.
Generalmente las estructuras son interpretadas por alg
un interpretador,
37
38
39
a. Separaci
on de puntos con hiperplanos en espacios D-dimensionales.
Las SVM se engloban en la familia de clasificadores lineales ya que inducen
separadores lineales (hiperplanos) en espacios de caractersticas de muy alta
dimensionalidad (introducidas por las funciones n
ucleo, kernel ) con un sesgo
inductivo muy particular (maximizacion del margen) [81]. La definicion formal
de un hiperplano en un espacio D-dimensional viene expresada por:
h(x) =< w, x > +b
(3.48)
(3.49)
(3.50)
Se definen a continuaci
on las variables aparecidas en las ecuaciones anteriores. Las x<D son las representaciones en forma vectorial de las instancias
teniendose una componente real por cada atributo. Por el contrario, el vector
w recibe el nombre de vector de pesos y contiene un peso para cada atributo
indicando, as, su importancia o contribucion en la regla de clasificacion. Para
concluir, b suele denominarse sesgo o bias y define el umbral de decision. Este
ser
a el par
ametro que m
as hay que refinar y tiene un mayor peso especfico que
los dem
as.
Dado un conjunto binario de datos linealmente separables (datos que pueden
ser agrupados con independencia del valor de los demas) existen m
ultiples algoritmos enfocados a la creaci
on de hiperplanos (w, b) y que los separen correctamente. En todos los algoritmos se asegura la convergencia hacia un hiperplano
soluci
on, pero las particularidades de cada uno de ellos hacen que se obtengan
soluciones ligeramente distintas, puesto que puede haber varios, infinitos de hecho, hiperplanos que separen correctamente el conjunto de ejemplos. Dada esta
circunstancia y asumiendo que el conjunto de ejemplos es linealmente separable,
la pregunta es inmediata: cual es el mejor hiperplano separador si se quiere
generalizar una soluci
on? La clave teorica de las SVM consiste en escoger un
hiperplano separador que este a la misma distancia de los ejemplos mas cercanos
de cada clase. De manera equivalente, es el hiperplano que maximiza la distancia mnima (o margen geometrico) entre los ejemplos del conjunto de datos y
el hiperplano. Equivalentemente, este hiperplano se sit
ua en la posicion mas
neutra posible con respecto a las clases representadas por el conjunto de datos,
sin estar sesgado hacia la clase mas numerosa, por ejemplo. Otra peculiaridad
es que s
olo toma en consideracion aquellos puntos que esten en las fronteras de
la regi
on de decisi
on (zona donde puede haber dudas sobre a que clase pertenece
un ejemplo): son los denominados vectores soporte. En la figura que se muestra
a continuaci
on se presenta geometricamente este hiperplano equidistante para
el caso bidimensional.
40
3.4.4
Predicci
on basada en m
etodos locales
43
Figura 3.6: B
usqueda progresiva de los vecinos mas cercanos.
al mismo procedimiento. Un solo caso muy similar en el que la ciruga fallo
puede influir de manera excesiva sobros otros muchos casos ligeramente menos
similares en los que la ciruga fue un exito. Por esta razon, el metodo del vecino
m
as cercano se generaliza al uso de los k vecinos mas cercanos. De esta manera,
una simple elecci
on de los k vecino mas cercanas genera la prediccion para cada
caso. M
as a
un, se puede extender la regla de decision a una eleccion ponderada,
en la cual los vecinos m
as cercanos al caso tendran mas peso. Por tanto, se
puede definir el probrema de la b
usqueda del vecino mas cercano de la siguiente
manera:
Definici
on. Dado un conjunto de puntos P = p1 , ..., pn en un espacio metrico
X de distancia d, permitiendo alg
un preprocesamiento en P de manera
eficiente, se desea responder a dos tipos de solicitudes:
Vecino m
as cercano: localizar el punto en P mas cercano a qX
Rango: dado un punto qX y r > 0, devolver todos los puntos pP
que satisfagan d(p, q) r
Este hecho queda reflejado en la Figura 3.6, en la que el punto 0 sera la instancia que se desee clasificar. Los demas puntos iran numerados correlativamente
seg
un la distancia a la que esten del punto sometido a estudio. Se buscan algoritmos de discriminaci
on no parametrica. Es decir, se buscan enfoques no
parametricos caracterizados por la ausencia de hipotesis a priori sobre la distribuci
on condicional del espacio de definicion. Puesto que la base esta en el
c
alculo de distancias, esta puede ser, tal vez, su mayor inconveniente. El algoritmo m
as sencillo para la b
usqueda del vecino mas cercano es el conocido como
fuerza bruta, o exhaustivo, que calcula todas las distancias de un individuo a
los individuos de la muestra de entrenamiento y asigna al conjunto de vecinos
44
m
as cercanos aquel cuya distancia sea mnima. En la practica resulta poco
aconsejable y, por ello, se han ido desarrollando algoritmos eficientes que evitan
recorrer exhaustivamente todo el conjunto de entrenamiento. Formalmente, se
enuncia la regla de clasificacion N N como sigue:
Definici
on. Sea D = {e1 , . . . , eN } un conjunto de datos con N ejemplos etiquetados, donde cada ejemplo ei contiene m atributos (ei1 , . . . , eim ), pertenecientes al espacio metrico E m , y una clase Ci {C1 , . . . , Cd }. La clasificaci
on de un nuevo ejemplo e0 cumple que
e0 a Ci j 6= i d(e0 , ei ) < d(e0 , ej )
(3.51)
46
Captulo 4
An
alisis de las t
ecnicas de
clustering. Aplicaci
on a
series temporales
4.1
Introducci
on
47
49
4.2
Los pasos de una tarea de clustering tpica se pueden resumir en cinco pasos siguientes [48], de los cuales los tres primeros son los que realizan el agrupamiento
de los datos en clusters, mientras que los dos u
ltimos se refieren a la utilizacion
de la salida.
1. Representaci
on del patron (opcionalmente incluyendo caractersticas de la
extracci
on y/o selecci
on).
2. Definici
on de una medida de la proximidad de patrones apropiada para el
dominio de los datos.
3. Clustering propiamente dicho (agrupamiento de los patrones).
4. Abstracci
on de los datos (si es necesario).
5. Evaluaci
on de la salida (si es necesario).
La representaci
on del patr
on se refiere al n
umero de clases, el n
umero de
patrones disponible, y el n
umero, tipo, y escala de las caractersticas disponibles
para el algoritmo de clustering. Es posible que parte de esta informacion no
sea controlada. La selecci
on de caractersticas es el proceso de identificar el
subconjunto m
as apropiado de caractersticas dentro del conjunto original para
utilizarlo en el proceso de agrupamiento. La extracci
on de caractersticas es
el uso de una o m
as transformaciones de las caractersticas de la entrada para
producir nuevas caractersticas de salida. Cualquiera de estas dos tecnicas puede
50
4.3
Medidas de la distancia
51
(4.3)
52
1
X
(xj , xi )T
(4.4)
P
donde xi y xj son vectores fila y
es la matriz de covarianza de los patrones. La
distancia asigna diferentes pesos a cada caracterstica basandose en la varianza
y en la correlaci
on lineal de los pares. Si a cada variable se le asigna un peso
de acuerdo con su importancia, la nueva distancia eucldea ponderada se
puede calcular de la siguiente manera:
q
d(i, j) = w1 | xi1 xj1 |2 +w2 | xi2 xj2 |2 + + wp | xip xjp |2 (4.5)
Este escalado es tambien aplicable a las distancias Manhattan y Minkowski.
Algunos algoritmos de clustering trabajan sobre los valores de una matriz
de proximidad en vez de hacerlo directamente con el conjunto de datos original.
4.4
1 R(f, g)
2
(4.7)
(4.8)
Igualmente, hay quien puede querer usar coeficientes de similitud s(i, j) en vez
del coeficiente de disimilitud. La formula (4.8) puede usarse para relacionar
ambos coeficientes.
s(i, j) = 1 d(i, j)
(4.9)
N
otese que no todas las variables deberan estar incluidas en el analisis de clustering. Incluir una variable que no aporte significado a un clustering dado puede
hacer que la informaci
on u
til proporcionada por otras variables quede enmascarada. Por ejemplo, en el caso de que se quisiera hacer clustering de un grupo
de personas de acuerdo con sus caractersticas fsicas, incluir el atributo n
umero
de telefono resultara altamente ineficiente y, por tanto, este tipo de variables
basura deben se excluidas del proceso de clustering
4.5
Tipos de datos en el an
alisis de clusters
Esta secci
on se dedica al estudio de los tipos de datos que aparecen con frecuencia en el clustering y en como preprocesar los mismos. Supongase que el
conjunto de los datos objetivo contiene n objetos que pueden representar personas, casas, o cualquier otra variable que pueda imaginar. Los principales
algoritmos de clustering basados en memoria operan normalmente en una de las
dos siguientes estructuras de datos.
x11
x21
xn1
x12
x22
xn2
x1p
x2p
xnp
..
.
(4.10)
0
0
0
d(2, 1)
0
0
(4.11)
.
.
.
d(n, 1) d(n, 2)
4.5.1
Esta secci
on presenta las variables escaladas a intervalos y su estandarizacion.
Describe tambien las medidas de distancia comunes usadas para el computo de
disimilitudes de objetos descritas por estas variables. Estas medidas son las
distancias eucldeas, de Manhattan y Minkowski.
Las variables escaladas a intervalos son medidas continuas de una escala
lineal. La unidad de medida usada puede afectar al analisis de clustering. Por
ejemplo, cambiar las unidades de medida (metros por pulgadas o kilogramos
por libras), puede afectar dr
asticamente a la estructura del cluster. En general,
expresar una variable en unidades mas peque
nas hace que haya un rango mayor
para esa variable y, as, provocar un efecto mayor en la estructura del clustering
resultante. Para ayudar a evitar la dependencia existente con la eleccion de
las unidades de medida, los datos deben ser estandarizados. Las medidas de
estandarizaci
on tratan de dar a todas las variables un mismo peso. Esto resulta
de especial utilidad cuando no se dispone de conocimiento previo de los datos.
No obstante, en ciertas aplicaciones, se puede querer dar un peso mayor a un
cierto conjunto de variables de manera intencionada.
Para estandarizar las medidas se pueden convertir las medidas originales en
variables adimensionales. Dada la variable f , el proceso es el que sigue.
1. Calcular la desviaci
on absoluta media, sf .
sf =
1
(| x1f mf | + | x2f mf | + + | xnf mf |)
n
(4.12)
x1f mf
sf
55
(4.13)
1
0
sum
1
a
c
a+b
0
b
d
b+d
sum
sum
c+d
p
4.5.2
Variables binarias
b+c
a+b+c+d
(4.14)
b+c
a+b+c
(4.15)
donde el n
umero de ocurrencias negativas, d, se ignora.
4.5.3
Variables nominales.
Una variable nominal es una generalizacion de una variable binaria ya que puede
tener m
as de dos estados. Por ejemplo, los colores del crculo cromatico es una
variable nominal con seis estados: rojo, azul, amarillo, verde, naranja y violeta.
Sea M el n
umero de estados de una variable nominal. Estos estados pueden
ser denotados por letras, smbolos o un conjunto de enteros. Notese que dichos
enteros se usan solamente para manejar datos y no representan ning
un orden
especfico.
La disimilitud entre dos objetos i y j se puede computar mediante el procedimiento simple matching que viene representado por la siguiente expresion:
d(i, j) =
pm
p
(4.16)
donde m es el n
umero de matches (uniones) (es decir, el n
umero de variables
para las cuales i y j est
an en el mismo estado) y p es el n
umero total de
variables. Se pueden asignar pesos para aumentar el efecto de m o bien asignar
pesos mayores a los matches en aquellas variables que poseen un mayor n
umero
de estados.
Las variables nominales se pueden codificar mediante un gran n
umero de
variables binarias asimetricas creando una nueva variable binaria para cada uno
de los M estados nominales. Para un objeto con un valor del estado dado, la
variable binaria que representa al estado se pone a 1 mientras que las restantes
variables se ponen a 0.
Variables ordinales.
Una variable ordinal discreta se parece una variable nominal salvo que los M
estados del valor ordinal se ordenan de manera logica. Las variables ordinales
57
son muy u
tiles para registrar afirmaciones subjetivas de ciertas caractersticas
que no pueden ser medidas objetivamente. Por ejemplo, los rangos profesionales
se suelen enumerar en orden secuencial (ayudante, titular, catedratico).
Una variable ordinal continua se parece a un conjunto de datos continuos con
una escala desconocida, esto es, el orden relativo de los valores es importante
pero no su magnitud. Por ejemplo, el orden de llegada en una carrera es m
nas
importante que los tiempos en los que se realizaron salvo que estos conlleven
alg
un tipo de record, claro esta.
Las variables ordinales se pueden obtener tambien de la discretizacion de
cantidades escaladas a intervalos si se divide el rango de valores en un n
umero
finito de clases. El trato que se da a las variables ordinales es muy similar al que
reciben las variables escaladas a intervalos cuando se computan las disimilitudes
entre objetos. Sup
ongase que f es una variable ordinal perteneciente a un
conjunto de variables que describe a n objetos. La evaluacion de la disimilitud
con respecto a f conlleva realizar los siguientes pasos:
1. El valor de f para el iesimo objeto es xif y f tiene Mf estados ordenados 1, , Mf . Remplazar cada xif por su correspondiente orden,
rif 1, , Mf .
2. Dado que cada variable ordinal puede tener diferente n
umero de estados,
suele ser necesario mapear el rango de cada variable a [0 1] para que
cada variable tenga el mismo peso. Esto se puede conseguir remplazando
el orden rif del objeto iesimo en la variable f esima por:
zif =
rif 1
Mf 1
(4.17)
3. As, la disimilitud puede ser computada usando cualquiera de las distancias comentadas en apartados anteriores usando zif para representar el
valor f del objeto iesimo.
Variables ponderadas
Una variable ponderada hace medidas positivas sobre una escala no lineal tal
como la escala exponencial, siguiendo aproximadamente la siguiente formula:
AeBt o AeBt
(4.18)
donde A y B son constantes positivas. Existen tres metodos para manejar este
tipo de variables a la hora de computar la disimilitud existente entre los distintos
tipos de objetos:
1. Tratar a las variables como si fueran variables escaladas a intervalos. Esto,
sin embargo, no suele ser una buena eleccion ya que la escala puede estar
distorsionada.
2. Aplicar transformaciones logartmicas a la variable f que tiene un valor
xif para el objeto i por medio de la formula yif = log(xif ). Los valores
yif pueden ser ya tratados como variables escaladas a intervalos.
58
4.6
T
ecnicas de clustering
Existen un gran n
umero de algoritmos de clustering en la actualidad. La eleccion
de una tecnica u otra dependera tanto del tipo de datos disponibles como del
prop
osito de la aplicaci
on. Si se utiliza el analisis de clustering como una herramienta descriptiva o exploratoria, es posible que se prueben distintos algoritmos sobre los mismos datos con el fin de ver cual es el metodo que mejor se
ajusta al problema.
En general, los metodos de clusters se pueden agrupar en las siguientes
categoras:
1. M
etodos particionales. Dada una base de datos con n objetos, un
metodo particional construye k grupos de los datos, donde cada particion
representa a un cluster y k n. Esto es, clasifica a los datos en k grupos
que satisfacen los siguientes requisitos:
Cada grupo debe contener, al menos, un elemento.
Cada elemento debe pertenecer u
nicamente a un grupo.
N
otese que el segundo requerimiento se relaja en ciertas tecnicas particionales difusas.
Dado k, el n
umero de particiones que se deben construir, los metodos
particionales realizan una particion inicial. A continuacion, utilizan una
tecnica iterativa de recolocaci
on que intenta mejorar la particion moviendo
los objetos de un grupo a otro. El criterio general para decidir si una
partici
on es buena es que los objetos pertenecientes al mismo cluster esten
cerca mientras que los objetos pertenecientes a los clusters restantes esten
lejos de ellos.
Conseguir una optimizacion global de un clustering basado en particiones
requerira una enumeracion exhaustiva de todas las posibles particiones.
Por el contrario, la mayora de las aplicaciones adoptan una de las dos
heursticas m
as populares:
Algoritmo K-means, donde cada cluster se representa por medio de
los objetos en el cluster. Existen algunas variaciones de este metodo
como el Expectation Maximization.
Algoritmo K-medianas, donde cada cluster se representa por uno de
los objetos situados cerca del centro del cluster.
Estas heursticas funcionan bien para bases de datos peque
nas o medianas
que tengan una forma esferica. Para encontrar clusters con formas mas
59
4.6.1
M
etodos particionales
60
con
NC
X
j = 1
(4.20)
j=1
donde j son las probabilidades a priori de cada cluster cuya suma debe ser
1, que tambien forman parte de la solucion buscada, P (x) denota la FDP arbitraria y p(x; j ) la funci
on de densidad del componente j. Cada cluster se
corresponde con las respectivas muestras de datos que pertenecen a cada una de
las densidades que se mezclan. Se pueden estimar FDP de formas arbitrarias,
utiliz
andose FDP normales n-dimensionales, t-Student, Bernoulli, Poisson, y
log-normales. El ajuste de los parametros del modelo requiere alguna medida
de su bondad, es decir, c
omo de bien encajan los datos sobre la distribucion que
los representa. Este valor de bondad se conoce como el likelihood de los datos. Se
tratara entonces de estimar los parametros buscados , maximizando este likelihood (este criterio se conoce como ML-Maximun Likelihood ). Normalmente,
61
(4.21)
donde N I es el n
umero de instancias, que suponemos independientes entre s.
El algoritmo EM, procede en dos pasos que se repiten de forma iterativa:
1. Expectation. Utiliza los valores de los parametros iniciales o proporcionados por el paso Maximization de la iteracion anterior, obteniendo
diferentes formas de la FDP buscada.
2. Maximization. Obtiene nuevos valores de los parametros a partir de los
datos proporcionados por el paso anterior.
Despues de una serie de iteraciones, el algoritmo EM tiende a un maximo
local de la funci
on L. Finalmente se obtendra un conjunto de clusters que
agrupan el conjunto de proyectos original. Cada uno de estos cluster estara
definido por los par
ametros de una distribucion normal.
Algoritmo K-mediods (K-medianas)
Como se coment
o anteriormente, el algoritmo K-means es sensible a los outliers
ya que un objeto con un valor extremadamente elevado puede distorsionar la
distribuci
on de los datos. En lugar de coger el valor medio de los objetos de un
cluster como punto de referencia, se podra tomar un objeto representativo del
cluster, llamado mediod, [52] que sera el punto situado mas al centro del cluster.
As, el metodo particional puede ser aplicado bajo el principio de minimizar la
suma de las disimilitudes entre cada objeto y con su correspondiente punto de
referencia.
El algoritmo trata, pues, de determinar k particiones para n objetos. Tras
una selecci
on inicial de los kmediods, el algoritmo trata de hacer una eleccion
mejor de los mediods repetidamente. Para ello analiza todos los posibles pares
de objetos tales que un objeto sea el mediod y el otro no. La medida de calidad
del clustering se calcula para cada una de estas combinaciones. La mejor opcion
de puntos en una iteraci
on se escoge como los mediods para la siguiente iteracion.
El coste computacional de cada iteracion es de O(k(n k)2 ), por lo que para
valores altos de k y n el coste se podra disparar.
El algoritmo K mediods es mas robusto que el K means frente a la
presencia del ruido y de los outliers ya que la mediana es menos influenciable
por un outlier, u otro valor extremo, que la media. Sin embargo, su procesado
es mucho m
as costoso y ademas necesita tambien que el usuario le proporcione
el valor de k.
62
4.6.2
Clustering jer
arquico
COBWEB
COBWEB [29] se caracteriza porque utiliza aprendizaje incremental, esto es,
realiza las agrupaciones instancia a instancia. Durante la ejecucion del algoritmo se forma un
arbol (
arbol de clasificacion) donde las hojas representan
los segmentos y el nodo raz engloba por completo el conjunto de datos de entrada. Al principio, el
arbol consiste en un u
nico nodo raz. Las instancias se van
a
nadiendo una a una y el
arbol se va actualizando en cada paso. La actualizacion
consiste en encontrar el mejor sitio donde incluir la nueva instancia, operacion
que puede necesitar de la reestructuracion de todo el arbol, incluyendo la generaci
on de un nuevo nodo anfitrion para la instancia y/o la fusion/particion de
nodos existentes, o simplemente la inclusion de la instancia en un nodo que ya
exista. La clave para saber como y donde se debe actualizar el arbol la proporciona una medida denominada utilidad de categora, que mide la calidad general
de una partici
on de instancias en un segmento. La reestructuracion que mayor
utilidad de categora proporcione es la que se adopta en ese paso. El algoritmo
es muy sensible a otros dos parametros:
1. Acuity. Este par
ametro es muy necesario, ya que la utilidad de categora
se basa en una estimacion de la media y la desviacion estandar del valor
de los atributos. Pero cuando se estima la desviacion estandar del valor de
un atributo para un nodo en particular, el resultado es cero si dicho nodo
s
olo contiene una instancia. As pues, el parametro acuity representa la
medida de error de un nodo con una sola instancia, es decir, establece la
varianza mnima de un atributo.
2. Cut-off. Este valor se utiliza para evitar el crecimiento desmesurado del
n
umero de segmentos. Indica el grado de mejora que se debe producir en
la utilidad de categora para que la instancia sea tenida en cuenta de manera individual. En otras palabras: cuando no es suficiente el incremento
de la utilidad de categora en el momento en el que se a
nade un nuevo
nodo, ese nodo se corta, conteniendo la instancia otro nodo ya existente.
En COBWEB cada cluster se considera como un modelo que puede describirse
intrinsicamente, m
as que un ente formado por una coleccion de puntos. Al
algoritmo COBWEB no hay que proporcionarle el n
umero exacto de clusters
que queremos, sino que en base a los parametros anteriormente mencionados
encuentra el n
umero
optimo.
Otros m
etodos
El metodo m
as representativo dentro del clustering jerarquico aglomerativo es
AGNES [52] y fue data del a
no 1990. En este metodo cada cluster esta representado por todos los datos del cluster y la similitud entre dos clusters se mide
mediante la similitud del par mas cercano de datos perteneciente a otro cluster.
63
AGNES fusiona los nodos, objetos individuales o clusters, que tienen la menor
disimilitud.
En cuanto a los metodos jerarquicos divisivos, su representante mas famoso
es DIANA [52]. Act
ua de manera inversa que las demas tecnicas, ya que
comienza con todos los objetos en un mismo cluster haciendo divisiones en porciones cada vez m
as peque
nas hasta que cada objeto pertenezca a un cluster y
4.6.3
M
etodos basados en densidad
4.6.4
Fuzzy clustering
64
(clustering borroso o difuso) extiende este concepto para asociar cada patron a
todos los clusters usando una funcion de la calidad del miembro [119]. La salida
de tales algoritmos es un agrupamiento, pero no una particion. A continuacion
de detalla el funcionamiento de uno de estos algoritmos de fuzzy clustering.
1. Paso 1. Selecciona una particion difusa inicial de N objetos en K clusters
para construir la matriz de calidad de miembro U , la cual tendra una
dimensi
on N K. Un elemento uij de esta matriz representa el grado
de la calidad de miembro del objeto xi en el cluster cj . Normalmente,
uij [0, 1]
2. Paso 2. Con la matriz U , encuentra el valor de una funcion de criterio
difuso (por ejemplo, funcion del error cuadratico ponderada) asociada con
la partici
on correspondiente. Una posible funcion de criterio difuso es:
E 2 (X, U ) =
N X
K
X
uij kxi ck k2
(4.22)
i=1 k=1
ck =
N
X
uik xi
(4.23)
i=1
65
Captulo 5
Resultados
A lo largo del periodo de investigacion se han ido realizando diversas pruebas.
En concreto, se ha trabajado con las series temporales del precio de la energa
electrica del mercado espa
nol, cuyos datos son p
ublicos y estan disponibles online [20]. En la mayora de los casos, se han obtenido buenos resultados, dando
lugar a diversas publicaciones que se iran comentando a lo largo de esta seccion.
En [73] se presentan dos tecnicas de clustering ampliamente conocidas como
son K-means y Fuzzy C-means (FCM) [117] para el analisis de la serie temporal
de los precios de la electricidad. Ademas, en la actualidad se esta a la espera
de recibir respuesta de un trabajo ya enviado, en el que se realiza la misma
tarea pero utilizando la tecnica de EM. Por tanto, se hara un desarrollo com
un
de los tres metodos a lo largo de esta seccion. Los tres algoritmos en cuestion,
K-means, FCM y EM, se centran en extraer informacion u
til de los datos con
la intenci
on de modelar el comportamiento de la serie temporal y de encontrar
patrones que sirvan para mejorar la prediccion de los precios. El principal objetivo, as, es encontrar una representacion que conserve la informacion original
y que describa la forma de la serie temporal de la manera mas precisa posible.
En este estudio se demuestra que la aplicacion de tecnicas de clusters es efectiva
para distinguir diferentes tipos de das, a pesar de que algunos autores duden
de este hecho [53].
Resulta de vital importancia obtener una tecnica que optimice las ofertas
llevadas a cabo por las compa
nas productoras de electricidad [83]. Consecuentemente, el desarrollo de tecnicas de prediccion esta adquiriendo mucho
protagonismo en el actual mercado electrico espa
nol. A pesar de que otros investigadores han desarrollado tecnicas para predecir precios en series temporales
[103, 11, 32, 2, 121], no se encuentran en la literatura actualmente tecnicas de
clustering dirigidas a realizar estas labores. Por tanto, se hace necesario descubrir patrones en estas series para mejorar los modelos de prediccion, siendo
el objetivo final el de proporcionar predicciones para la evolucion de la curva de
precios del da siguiente al analisis.
66
5.1
Elecci
on del n
umero de clusters
Como ya se describi
o en apartados anteriores, tanto el K-means como el FCM
como el EM presentan un grave inconveniente y es que el n
umero de clusters (K y
C, respectivamente) debe ser escogido previamente. Esto es, se debe seleccionar
el n
umero de particiones que se quieren realizar sin tener conocimiento previo del
conjunto de datos que se van a analizar. A pesar de que existen m
ultiples ndices
y algoritmos para escoger automaticamente K y C [98, 87], se ha optado por
utilizar dos funciones que vienen implementadas en el Matlab para determinar
dichos valores para el caso de K-means y FCM y por realizar validacion cruzada
para el EM.
1. N
umero de clusters para K-means. La funcion silhouette de Matlab
da una medida de la separacion existente en los clusters. Su valor vara
entre 1 y +1, donde +1 denota una separacion clara de los clusters y 1
marca los puntos cuya asignacion es mas que cuestionable. Para concluir
que un clustering ha sido realizado con exito, esta funcion debe presentar
un valor medio mayor que 0.6 para todos sus clusters. Sin embargo, para
las series temporales reales es casi imposible alcanzar este valor y el hecho
de no tener valores negativos en la grafica suele ser suficiente para decidir
cu
antos clusters escoger. En la Figura 5.1 se muestran los valores de la
funci
on silhouette para 4, 5 y 6 clusters respectivamente aplicadosal precio
de la electricidad en el a
no 2005. La metrica usada fue la eucldea y el
n
umero de clusters escogido fue 4, ya que solo un cluster presentaba valores
negativos.
2. N
umero de clusters para FCM. El algoritmo FCM es bastante sensible
a la inicializaci
on y cae con mucha facilidad en mnimos locales al iterar.
Para resolver este problema se han desarrollado otras tecnicas basadas en
metodos de optimizaci
on global [114]. Sin embargo, en multitud de aplicaciones pr
acticas el metodo de clustering utilizado es el FCM con reinicios
m
ultiples que tratan de escapar de la sensibilidad del valor inicial de C. La
funci
on subclust de Matlab encuentra los centros de los clusters y se usa
frecuentemente para obtener el n
umero optimo de clusters en clustering
basados en optimizaci
on por iteracion. En particular, esta funcion estima
los centros de los clusters de un conjunto de datos usando clustering substractivo. Para ello asume que cada dato es un centro potencial y calcula
la medida de simlitud de cada punto a dicho centro basandose en la densidad de los puntos que se encuentran a su alrededor. Tras la ejecucion de
este algoritmo, se encontro que 6 era el n
umero optimo de clusters.
3. N
umero de clusters para EM. Para este metodo el n
umero optimo se
ha calculado utilizando cross-validation (validacion cruzada). La Figura 5.2
muestra la evoluci
on del logaritmo de la funcion de similitud (log-ML).
As, el n
umero de clusters escogido es 11, ya que el log-ML presenta valor
m
aximo para este n
umero.
67
68
Cluster 1
36,54%
31,48%
30,77%
32,69%
28,85%
11,32%
0,00%
Cluster 2
51,92%
57,41%
63,46%
59,62%
59,62%
0,00%
0,00%
Cluster 3
3,85%
3,70%
3,85%
5,77%
3,85%
39,62%
44,23%
Cluster 4
7,69%
7,41%
1,92%
1,92%
7,69%
49,06%
55,77%
5.2
Evaluaci
on de los resultados obtenidos
5.2.1
M
etodo K-means
69
No de da
6
70
75
77
82
83
84
87
98
122
123
125
126
227
231
235
285
304
305
340
342
360
Fecha
06-01
11-03
16-03
18-03
23-03
24-03
25-03
28-03
08-04
02-05
03-05
05-05
06-05
15-08
19-08
23-08
12-10
31-10
01-11
06-12
08-12
26-12
Festividad
Epifana
Ninguna
Ninguna
Viernes antes de Semana Santa
Semana Santa
Semana Santa
Semana Santa
Lunes despues de Semana Santa
Ninguna
Da del trabajo
Da de la Comunidad de Madrid
Puente del 1 de mayo
Puente del 1 de mayo
Da de la Asuncion
Ninguno
Ninguno
Da de la Hispanidad
Puente de Todos los Santos
Da de Todos los Santos
Da de la Constitucion
Da de la Inmaculada
Lunes despues de Navidad
71
No de da
169
176
183
197
204
211
Fecha
18 Junio
25 Junio
2 Julio
16 Julio
23 Julio
30 Julio
72
Figura 5.4: Curvas caractersticas de los clusters obtenidos con el metodo Kmeans para el a
no 2005.
5.2.2
M
etodo Fuzzy C-means
La Figura 5.5 presenta los 6 patrones encontrados por el algoritmo FCM para
los precios de la energa electrica durante el a
no 2005. Se puede apreciar que
dichos patrones no difieren en exceso de los obtenidos por el metodo K-means.
Para la representaci
on de las curvas se siguio la siguiente metodologa:
1. El cluster con mayor grado de pertenencia es asignado a cada da.
2. La representaci
on se hace como si hubiera sido calculado con K-means.
De la Figura 5.5 se pueden diferenciar claramente dos tipos de clusters:
Clusters 2, 3, 4 y 5 agrupan todos los das laborables.
Clusters 1 y 6 agrupan los das festivos y fines de semana.
Sin embargo, hay cierto das que presentan un comportamiento aparentemente
discordante. La Tabla 5.4 muestra la distribucion de los das en los diferentes
clusters obtenidos.
Existen, no obstante, 19 das laborables que se agruparon en los clusters 1 o
6. La Tabla 5.5 resume este hecho. En relacion con los fines de semana, existen
6 s
abados que fueron clasificados como si fueran das laborables, concretamente
en el cluster 3. Dichos das se pueden apreciar en la Tabla 5.6 Notese que la
mayoria de los s
abados son consecutivos y pertenecen al verano, excepto el 16
de julio que fue clasificado en el cluster 1.
El a
no completo se divide en 261 das laborables y 104 fines de semana y
festividades. De la Tabla 5.5 se desprende que 4 das laborables fueron clasificados incorrectamente (11 de marzo, 16 de marzo, 8 de abril y 16 de mayo) lo
que supone un error del 1.53% (4 das de 261).
73
74
Da
Lunes
Martes
Miercoles
Jueves
Viernes
S
abado
Domingo
Cluster 1
7,69%
0,00%
0,00%
3,85%
5,77%
66,04%
53,85%
Cluster 2
15,38%
23,08%
28,85%
25,00%
25,00%
3,77%
0,00%
Cluster 3
32,69%
28,85%
26,92%
26,92%
26,92%
5,66%
0,00%
Cluster 4
38,46%
44,23%
40,38%
40,38%
36,54%
3,77%
0,00%
Cluster 5
1,92%
0,00%
0,00%
0,00%
1,92%
0,00%
0,00%
Cluster 6
3,85%
3,85%
3,85%
3,85%
3,85%
20,75%
46,15%
Tabla 5.4: Grado de pertenencia de los das a los diferentes clusters generados
va Fuzzy C-means.
No de da
6
70
75
77
82
83
84
87
98
122
125
126
136
227
304
305
340
342
360
Fecha
06-01
11-03
16-03
18-03
23-03
24-03
25-03
28-03
08-04
02-05
05-05
06-05
16-05
15-08
31-10
01-11
06-12
08-12
26-12
Festividad
Epifana
Ninguna
Ninguna
Viernes antes de Semana Santa
Semana Santa
Semana Santa
Semana Santa
Lunes despues de Semana Santa
Ninguna
Da del trabajo
Puente del 1 de mayo
Puente del 1 de mayo
Ninguna
Da de la Asuncion
Puente de Todos los Santos
Da de Todos los Santos
Da de la Constitucion
Da de la Inmaculada
Lunes despues de Navidad
Tabla 5.5: Das laborables teoricamente mal clasificados con Fuzzy C-means.
No de da
176
183
190
204
211
330
Fecha
25 Junio
2 Julio
9 Julio
23 Julio
30 Julio
26 Noviembre
Tabla 5.6: Fines de semana teoricamente mal clasificados con Fuzzy C-means.
75
Figura 5.6: Curvas caractersticas de los clusters obtenidos con el metodo Fuzzy
C-means para el a
no 2005.
En cuanto a los das no laborables, hay 6 sabados que fueron clasificados de
manera inadecuada (25 de junio, 2 de julio, 9 de julio, 23 de julio, 30 de julio y
26 de noviembre). Existe tambien un da festivo, el Da de la Hispanidad, que
fue agrupado en el cluster 2. Dada esta situacion, el error cometido para estos
das es del 6.73% (6 das de 261).
Por tanto, el error total cometido es de 3.01% (11 das de 365), lo que supone
una tasa identica a la obtenida con K-means.
En contraste con lo que suceda con K-means, aqu no resulta obvio determinar periodos del a
no en para los que se puedan asegurar que los das pertenecen
a un determinado clusters.
Las curvas caractersticas de cada clusters se muestran en la Figura 5.6.
Especialmente rese
nable es que las curvas asociadas a los fines de semana y
festividades (clusters 1 y 6) poseen unos precios al comienzo y termino del da
mayores que los de los das laborables. Las primeras presentan sus valores mas
altos a u
ltimas horas de la tarde, hecho que es debido a que la poblacion consume
m
as electricidad por la noche durante los fines de semana. Por otro lado, las
curvas de los das laborables tienen sus picos a medioda, cuando las industrias,
comercios y empresas est
an a pleno rendimiento.
5.2.3
M
etodo Expectation Maximization
77
Cluster
Cluster 1
Cluster 2
Cluster 3
Cluster 4
Cluster 5
Cluster 6
Cluster 7
Cluster 8
Cluster 9
Cluster 10
Cluster 11
Lunes
7.69%
17.31%
25.00%
0,00%
30.77%
5.77%
1.92%
5.77%
1.92%
3.85%
0.00%
Martes
9.62%
25.00%
28.85%
1.92%
17.31%
11.54%
3.85%
1.92%
0.00%
0.00%
0.00%
Miercoles
15.38%
23.08%
30.77%
0.00%
21.15%
3.85%
0.00%
3.85%
1.92%
0.00%
0.00%
Jueves
15.38%
17.31%
34.62%
0.00%
17.31%
7.69%
1.92%
3.85%
0.00%
0.00%
1.92%
Viernes
26.92%
11.54%
25.00%
1.92%
17.31%
9.62%
1.92%
1.92%
3.85%
0.00%
0.00%
Sabado
0.00%
0.00%
0.00%
3.77%
1.89%
11.32%
0.00%
39.62%
39.62%
1.89%
1.89%
Domingo
0.00%
0.00%
0.00%
19.23%
0.00%
0.00%
0.00%
9.62%
7.69%
44.23%
19.23%
Tabla 5.7: Grado de pertenencia de los das a los diferentes clusters generados
va EM.
Clusters 4, 10 y 11 son fundamentalmente domingos.
Clusters 8 y 9 son fundamentalmente sabados.
Cluster 6 comprende determinados sabados y la primera semana de
agosto.
La asociaci
on de los das a los clusters con el algoritmo EM no resulta tan
sencilla como lo es con s
olo 4 clusters. As, la dispersion a traves de los clusters
es mucho m
as elevada, hecho que se manifiesta por medio de un error mas
elevado ya que un s
abado y 16 das laborables fueron clasificados erroneamente.
Equivalentemente, se cometio un error del 4.38%.
En contraste con lo que suceda con K-means o FCM, estos 16 das no se
corresponde con das festivos o fines de semana. Por el contrario, este fenomeno
aparece aleatoriamente y sin causas aparentes. No obstante, el sabado mal
clasificado es, una vez m
as, el 2 de julio: el comienzo de las vacaciones para
muchas personas.
Las curvas caractersticas de los 11 clusters se muestran en la Figura 5.8.
78
Figura 5.8: Curvas caractersticas de los clusters obtenidos con el metodo Expectation Maximization para el a
no 2005.
79
Captulo 6
Conclusiones
En este trabajo se ha tratado de dar una vision global de las tecnicas de minera
de datos existentes en la actualidad y su aplicacion directa a la prediccion de
los precios de la electricidad. Tras hacer un analisis exhaustivo de las tecnicas
ya utilizadas con este fin, se descubrio que no se haban aplicado tecnicas de
clustering y, por tanto, esta fue la va que se escogio para comenzar la investigaci
on.
Los estudios realizados hasta el momento han dado como resultado la publicaci
on de un artculo [73] en el que se analiza la viabilidad de utilizar dos
tecnicas de clustering (K-means y Fuzzy C-means) para la prediccion de series
temporales del precio. Se ha analizado igualmente otro algoritmo particional,
como es el Expectation Maximization y se esta a la espera de que sea publicado.
Por otro lado, antes de decidir que este sera el camino final de la investigaci
on, se realizaron diversos estudios que dieron como frutos dos publicaciones
m
as. En [21] se utilizan tecnicas de biclustering para extraer informacion significativa de dos conjuntos de datos ampliamente conocidos en bioinformatica,
como son el de la leucemia y el de los tumores embrionales. Ademas, se aplico
una m
aquina vector soporte para la deteccion de microcalcificaciones en mamografas digitales [72], adquiriendose as una destreza a la hora de utilizar clasificadores no lineales.
Pero, retomando el estudio problema central, quizas la parte mas difcil en la
construcci
on de un buen modelo es la relacionada con la seleccion y recogida de
la informaci
on que alimentara al mismo. Una serie de investigaciones realizadas
sobre la demanda electrica y sus determinantes [77, 5] en diferentes pases, han
permitido identificar un conjunto de variables basicas que explica la evolucion
de la demanda electrica a lo largo del tiempo, siendo este conjunto com
un para
la mayor parte de los pases desarrollados. De este modo para modelizar la curva
de carga de pases tan distintos como Espa
na y Suecia se utilizara el mismo
conjunto de variables, dado que si bien pueden existir diferencias culturales entre
ambos pases, el patr
on que determina la demanda electrica es muy similar.
Se comentan, a continuacion, las variables que se han seleccionado como
posibles factores explicativos de la curva de carga, desde la experiencia adquirida
80
6.1
Condiciones meteorol
ogicas
6.2
Calendario
6.2.1
Hora del da
Todas las variables que afectan a la curva de carga menos la hora, resulta evidente que la demanda electrica realizada a las tres de la madrugada no sera
igual a la realizada a las tres de la tarde.
En la Figura 6.1 se puede apreciar como el grueso de la demanda electrica se
acumula en el perodo comprendido entre las nueve de la ma
nana y las cinco de
la tarde, algo l
ogico si tenemos en cuenta que dicho perodo que se corresponde
con la jornada laboral est
andar.
6.2.2
Da de la semana
Repitiendo el mismo planteamiento, se puede intuir que la demanda de electricidad realizada a la misma hora de das diferentes sera tambien diferente. As
81
6.2.3
Mes del a
no
En funci
on del mes que se estudie la demanda diaria media de energa vara
significativamente. Esto se debe principalmente al efecto de las estaciones. Si
se piensa que en los meses de invierno se dispone de un menor n
umero de
horas solares, la personas tienden a pasar mas tiempo en casa. En lo referente
al verano el consumo de energa tambien puede experimentar un considerable
aumento como resultado del uso de sistemas de aire acondicionado. Atendiendo
a la Figura ??, se puede comprobar que, efectivamente, la curva de carga anual
alcanza sus valores m
aximos en los meses de verano e invierno.
6.3
Informaci
on econ
omica
82
83
6.4
Factores no predecibles
84
Ap
endice A
Curriculum vitae
Formaci
on acad
emica
Ingeniero de Telecomunicacion. Especialidad de Se
nales. Opcion
Radiocomunicaci
on. Escuela Superior de Ingenieros de Telecomunicaci
on. Universidad de Sevilla. A
no 2005.
Ingeniera Informatica. Actualmente cursando 3er curso. Universidad Nacional de Educacion a Distancia (UNED). Desde 2005.
Actividad investigadora
1. F. Divina, F. Martnez-Alvarez
y J. S. Aguilar-Ruiz. Metodo basado
en algoritmos geneticos para encontrar biclusters significativos. V
Congreso Espa
nol sobre Metaheursticas, Algoritmos Evolutivos y
Bioinspirados. Santa Cruz de Tenerife, 2007.
2. F. Martnez-Alvarez,
A. Troncoso, J. C. Riquelme y J. M. Riquelme.
Discovering Patterns in Electricity Price Using Clustering Techniques.
International Conference on Renewable Energy and Power Quality.
Sevilla, 2007.
3. F. Martnez-Alvarez,
A. Troncoso, J. C. Riquelme y J. S. AguilarRuiz. Detection of Microcalcifications in Mammographies Based on
Linear Pixel Prediction and Support-Vector Machines. IEEE International Conference on Computer-Based Medical Systems. Maribor,
2007.
4. F. Martnez-Alvarez,
A. Troncoso, J. C. Riquelme y J. M. Riquelme.
Partitioning-Clustering Techniques Applied to the Electricity Price
Time Series. Conference on Data Warehousing and Knowledge Discovery. Regensburg, 2007 (pendiente de aceptacion).
Experiencia profesional
EGMASA. Consejera de Medio Ambiente, Junta de Andaluca. Anal
ista programador. Sistemas de informacion geografica. Area
de
teledetecci
on. Desde diciembre de 2006. Sevilla.
85
86
Bibliografa
[1] J. S. Aguilar-Ruiz and N. Daz-Daz. A retrieval technique for similar
shapes. Actas del III Taller Nacional de Minera de Datos y Aprendizaje,
pages 2130.
[2] N. Amjady. Day-ahead price forecasting of electricity markets by a new
fuzzy neural network. IEEE Transactions on Power Systems, 21(2).
[3] N. Amjady. Short-term hourly load forecasting using time-series modeling with peak load estimation capability. IEEE Transactions on Power
System, 16(3):498505, 2001.
[4] P. Angelov and R. Buswell. Identification of evolving fuzzy rule-based
models. IEEE Transactions on Fuzzy Systems, 10(5):667677, 2002.
[5] J. Bao. Short-term Load Forecasting based on Neural Networks and Moving
Average. Department of Computer Science. Iowa., 2000.
[6] J. C. Bezdek. Pattern recognition with fuzzy objective function algorithms. Plenum Press, 1981.
[7] M. Bhattacharya, A. Abraham, and B. Nath. A linear genetic programming approach for modelling electricity demand prediction in victoria.
International Workshop on Hybrid Intelligent Systems, pages 379394.
[8] B. Boser, I. Guyon, and V. Vapnik. A training algorithm for optimal margin classifiers. Proceedings of the 5th Annual Workshop on Computational
Learning Theory, COLT, 1992.
[9] G. E. P. Box and G. M. Jenkins. Time Series Analysis Forecasting and
Control. Second Edition. Holden-Day, San Francisco, 1976.
[10] F. Collopy and J. S. Armstrong. Rule-based forecasting: Development
and validation of an expert systems approach to combining time series
extrapolations. Mangement Science, 38:1392.
[11] A. J. Conejo, M. A. Plazas, R. Espnola, and B. Molina. Day-ahead
electricity price forecasting using the wavelet transform and arima models.
IEEE Transactions on Power Systems, 20(2):10351042.
87
[12] J. Contreras, R. Espnola, F. J. Nogales, and A. J. Conejo. Arima models to predict next-day electricity prices. IEEE Transactions on Power
System, 18(3):10141020, 2003.
[13] T. H. Cormen and C. E. Leiserson. Introduction to algorithms. The MIT
Press, 2003.
[14] C. Cortes and V. Vapnik. Support-vector networks. Machine Learning,
20(3):273297, 1995.
[15] S. Cost and S. Salzberg. A weigted nearest neighbor algorithm for learning
with symbolic features. Machine Learning, 10:5778, 1993.
[16] T. M. Cover. Estimation by nearest neighbor rule. IEEE Transactions on
Information Theory, 14:5055, 1968.
[17] T. M. Cover and P. E. Hart. Nearest neighbor pattern classification. IEEE
Transactions on Information Theory, 13(1):2127, 1967.
[18] B. V. Dasarathy. Nearest neighbour (nn) norms: Nn pattern classification
techniques. IEEE Computer Society Press, 1991.
[19] S. Degroeve, B. D. Baets, Y. V. de Peer, and P. Rouze. Feature subset
selection for splice site prediction. Bioinformatics, 18:7583, 2002.
[20] Operador del Mercado Electrico Espa
nol. On-line. http://www.omel.es.
88
89
[41] Y. Guo, D. Niu, and Y. Chen. Support-vector machine model in electricity load forecasting. International Conference on Machine Learning and
Cybernetics, pages 28922896, 2006.
[42] M. Harries and K. Horn. A nearest trajectory strategy for time series
prediction. In Proceedings of the International Workshop on Advanced
Black-Box Techniques for Nonlinear Modeling, pages 112128, 1998.
[43] M. A. Hearst. Untangling text data mining. Proceedings of Association
for Computational Linguistics - Invited paper, 1999.
[44] R. Hippenstiel, H. El-Kishky, and P. Radev. On time-series analysis and
signal classification. IEEE Conference Record of the 38th Asilomar Conference on Signals, Systems and Computers, 2(7):21212125, 2004.
[45] G. Holmes, M. Hall, and E. Frank. Generating rule sets from model
trees. In Proceedings of the 12th Australian Joint Conference on Artificial
Intelligence, pages 112, 1999.
[46] W. C. Hong. Electricity load forecasting by using svm with simulated
annealing algorithm. 17th World Congress of Scientific Computation, Applied Mathematics and Simulation, pages 113120, 2005.
[47] H. V. Jagadish. A retrieval technique for similar shapes. ACM SIGMO
Symp. on the Management of Data, pages 208217, 1991.
[48] A. K. Jain and R. C. Dubes. Algorithms for Clustering Data. PrenticeHall, 1988.
[49] N. Jimenez and A. J. Conejo. Short-term hydro-thermal coordination by
lagrangian relaxation: Solution of the dual problem. IEEE Transactions
on Power System, 14(1):8995, 1999.
[50] R. Kaiser. Detection and estimation of structural changes and outliers in
unobserved components. Computational Statistics, 14:533558, 1999.
[51] H. Kantz and T. Schreiber. Nonlinear time series analysis. Cambridge
University Press, 2003.
[52] L. Kaufman and P. J. Rousseeuw. Finding groups in Data: an Introduction
to Cluster Analysis. Wiley, 1990.
[53] E. Keogh, J. Lin, and W. Truppel. Clustering of time series subsequences
is meaningless: Implications for previous and future research. 3rd IEEE
International Conference on Data Mining, pages 342353, 2003.
[54] E. J. Keogh and S. Kasetty. On the need for time series data mining
benchmarks: A survey and empirical demonstration. Lecture Notes in
Computer Science, pages 122133, 2000.
90
91
[70] J. Mao and A. Jain. A self-organizing network for hyperellipsoidal clustering (hec). IEEE Transactions on Neural Networks, 7:381389, 1996.
[71] F. J. Marn, F. Garca-Lagos, and F. Sandoval. Global model for short
term load forecasting neural networks. IEE Proceedings-Generation Transmission Disribution, 149(2):121125, 2002.
[72] F. Martnez-Alvarez,
A. Troncoso, J. C. Riquelme, and J. S. Aguilar-Ruiz.
Discovering patterns in electricity prices using clustering techniques. 20th
IEEE International Symposium on Computer-Based Medical Systems, In
press, 2007.
[73] F. Martnez-Alvarez,
A. Troncoso, J. C. Riquelme, and J. M. Riquelme.
Discovering patterns in electricity prices using clustering techniques. International Conference on Renewable Energies and Power Quality, 2007.
[74] A. Matus-Castillejos and R. Jentzsch. A time series data management
framework. IEEE Proceedings of the International Conference on Information Technology: Coding and Computing, 2005.
[75] L. Mora-L
opez, I. Fortes Ruz, R. Morales-Bueno, and F. Triguero Ruz.
Dynamic discretization of continous values from time series. Lecture Notes
in Artificial Intelligence, 1810:280291, 2000.
[76] L. Mora-L
opez, R. Ruz, and R. Morales-Bueno. Modelo para la seleccion
autom
atica de componentes significativas en el analisis de series temporales. In Actas de la CAEPIA2003 Conferencia de la Asociaci
on Espa
nola
sobre Inteligencia Artificial, 2003.
[77] P. Murto. Neural Networks Models for short-term load forecasting.
Helsinki University of Technology, 2003.
[78] T. Nasukawa and T. Nagano. Text analysis and knowledge mining system.
IBM Systems Journal, knowledge management, 40(4), 2001.
[79] S. Nicholson and J. Stanton. Gaining strategic advantage through bibliomining: Data mining for management decisions in corporate, special,
digital and traditional libraries. Hershey, PA: Idea Group Publishing, 2003.
[80] F. J. Nogales, J. Contreras, A. J. Conejo, and R. Espnola. Forecasting
next-day electricity prices by time series models. IEEE Transactions on
Power System, 17(2):342348, 2002.
[81] J. Hern
andez Orallo. Introducci
on a la minera de datos. Prentice-Hall,
2004.
[82] G. Piatetski-Shapiro, W. J. Frawley, and C. J. Matheus. Knowledge discovery in databases: an overview. AAAI-MIT Press, 1991.
[83] M. A. Plazas, A. J. Conejo, and F. J. Multimarket optimal bidding for a
power producer. IEEE Transactions on Power Systems, 20(4), 2005.
92
[84] P. J. Perez-V
azquez. Fuentes de variabilidad en las principales economas
occidentales. Investigaciones econ
omicas, 27(3):565591.
[85] A. Rakotomamonjy. Variable selection using svm-based criteria. Journal
of Machine Learning Research, 3:13571370, 2003.
[86] V. Ramasubramanian and K. K. Paliwal. Fast nearest-neighbor search algorithm based on approximation-elimination search. Pattern Recognition,
33:14971510, 2000.
[87] H. R. Rezaee, B. P. F. Lelieveldt, and J. H. C. Reiber. A new cluster
validity index for the fuzzy c-mean. Pattern Recognition, 19:237246,
1998.
[88] J. C. Riquelme, F. J. Ferrer, and J. S. Aguilar. B
usqueda de un patron
para el valor de k en k-nn. In Actas de la CAEPIA2001 Conferencia de
la Asociaci
on Espa
nola sobre Inteligencia Artificial, 2001.
[89] C. P. Rodrguez and G. J. Anders. Energy price forecasting in the ontario
competitive power system market. IEEE Transactions on Power Systems,
19(1):366374.
[90] F. Rosenblatt. The perceptron: a probabilistic model for information
storage and organization in the brain. Psychological Review, 65:386408,
1958.
[91] R. Ruiz, J. C. Riquelme, and J. S. Aguilar-Ruiz. Projection-based measure
for efficient feature selection. Journal of Intelligent and Fuzzy System,
12:175183, 2002.
[92] D. E. Rumelhart, G. E. Hinton, and R. J. Willians. Learning internal representations by error propagation. In Prooceedings of the 3th International
Joint Conference on Artificial Intelligence, pages 162172, 1973.
[93] E. H. Ruspini. A new approach to clustering. Informatics Control, 15:22
32, 1969.
[94] L. M. Saini and M. K. Soni. Artificial neural network-based peak load forecasting using conjugate gradient methods. IEEE Transactions on Power
System, 18(1):99105, 2003.
[95] D. Sankoff and J. Kruskal. Editors, Time Warps, String Edits and Macromolecules: The Theory and Practice of Sequence Comparison. CSLI Publications, 1991.
[96] D. C. Sansom, T.Downs, and T.K. Saha. Support-vector machine based
electricity price forecasting for electricity markets utilising pasa. 6th International Power Engineering Conference, 2003.
93
94
95
96