Entorno de desarrollo Xfuzzy 3 | |
Herramienta de predicción de series temporales - Xftsp |
La herramienta xftsp genera sistemas de inferencia difusos que implementan modelos autoregresivos para la predicción a corto y largo plazo de series temporales. Para ello aplica una metodología basada en el uso de estimaciones no paramétricas del ruido o varianza residual (para seleccionar el número óptimo de variables de entrada) en combinación con las herramientas de identificación y aprendizaje supervisado de Xfuzzy (para determinar la estructura de los sistemas). Esta metodología responde a una estrategia de predicción directa, lo que implica la construcción de un autorregresor por cada uno de los términos del horizonte de predicción deseado. En cada caso, el subconjunto óptimo de entradas es seleccionado a priori mediante una estimación de ruido no paramétrica (por ejemplo, el Delta Test). La especificación del sistema difuso correspondiente a cada horizonte de predicción se obtiene entonces mediante un proceso iterativo en el que se realizan sucesivas fases de identificación y ajuste, incrementando el número de etiquetas lingüísticas de las entradas, hasta que el error del sistema entra en el rango estimado previamente. xftsp se puede ejecutar en modo gráfico, utilizando la opción "Time Series Prediction" del menú Tuning o el icono correspondiente en la ventana principal del entorno, o desde la línea de comandos empleando un archivo de configuración. La interfaz gráfica de xftsp permite recopilar la información necesaria para ejecutar la herramienta. Dicha información incluye los siguientes items:
(*) En Xfuzzy, los errores suelen normalizarse frente al rango de la serie al cuadrado, por lo que las estimaciones deben normalizarse de acuerdo con esta circunstancia. La zona central de la interfaz gráfica de xftsp contiene cuatro botones separados por una barra de progreso de ejecución. Los dos botones superiores permiten cargar (Load Configuration) o guardar (Save configuration) un fichero de configuración. La sintaxis de las distintas directivas que pueden aparecer en el fichero de configuración se muestra a continuación:
El número de filas del fichero NRVE determina el horizonte temporal que se desea predecir y, por tanto, el número de sistemas difusos que serán creados. Por otra parte, el número de columnas del fichero de selección de entradas fija el tamaño máximo de los autoregresores, esto es, el máximo número de variables de entrada de los sistemas difusos. Una vez completada la configuración, el botón Generate models permite lanzar el proceso de generación de los sistemas difusos que modelan la serie temporal. La mayoría de los mensajes generados durante la ejecución de la herramienta son mostrados por la salida estándar, es decir, la ventana de comandos desde la que se lanzó Xfuzzy o se ejecutó el comando xfstp. Estos mensajes son también escritos en un fichero de log, denominado 'xftsp-run-results.log', que acumula numerosos comentarios asociados a los distintos pasos de ejecución de la herramienta. Cuando se ejecuta xftsp desde la interfaz gráfica, los mensajes relacionados con la carga y almacenamiento de ficheros de configuración, así como el aviso de fin de ejecución se muestran en la zona inferior de dicha interfaz. Las primeras líneas del fichero de log resultante de una ejecución de xftsp presentan el siguiente aspecto:
La ejecución de xftsp genera asimismo una serie de directorios denominados 'xftsp-step-*' que contienen los modelos (y ficheros auxiliares) correspondientes a cada horizonte de predicción. También se generan en estos directorios, así como en el directorio principal, otros ficheros con información sobre los sistemas generados. Algoritmos de identificación En general, los algoritmos de identificación soportados por la herramienta xfdm pueden ser utilizados por xftsp. Algunos ejemplos son:
Opciones de optimización Conseguir una configuración adecuada de un algoritmo de optimización puede ser una tarea lenta y tediosa. A continuación se muestran algunas configuraciones que suelen funcionar bien:
Ejemplo En el directorio de ejemplos de la distribución de Xfuzzy se puede encontrar el fichero de configuración y los ficheros de datos necesarios para analizar una serie temporal que contiene 875 muestras semanales de temperaturas correspondientes al fenómeno “El Niño”, un patrón climático que consiste en la oscilación de los parámetros meteorológicos del Pacífico ecuatorial cada cierto número de años. Los datos se han dividido en dos subconjuntos: uno de 475 muestras, utilizado como fichero de entrenamiento, y otro con las 400 muestras restantes, empleado como fichero de test. Se ha considerado un tamaño máximo de regresor de 10 y un horizonte de predicción de 50, es decir, los 10 últimos valores conocidos serán utilizados para predecir los 50 valores siguientes.
Para realizar el estudio, lanzar la herramienta desde Xfuzzy cargando el fichero de configuración suministrado o ejecutar el comando:
------------------------------------------------------------------------ F. Montesino, A. Lendasse, A. Barriga Autoregressive time series prediction by means of fuzzy inference systems using nonparametric residual variance estimation Fuzzy Sets and Systems 2010 DOI: 10.1016/j.fss.2009.10.018 |
Para comentarios, sugerencias, notificación de bugs, etc. contacte con nosotros en:
xfuzzy-team@imse-cnm.csic.es
©IMSE-CNM 2018