The Xfuzzy 3 development environment
The Time Series Prediction Tool - Xftsp
The tool xftsp generates fuzzy inference systems that implement autoregressive models for the short- and long-term prediction of time series. To do this, it applies a methodology based on the use of nonparametric noise or residual variance estimates (to select the optimal number of input variables) in combination with Xfuzzy supervised learning and identification tools (to determine the structure of the systems).
This methodology responds to a direct prediction strategy, which implies the construction of an autoregressive model for each of the terms of the desired prediction horizon. In each case, the optimal subset of inputs is selected a priori by a non-parametric noise estimate (for example, the Delta Test). The specification of the fuzzy system corresponding to each prediction horizon is then obtained through an iterative process in which successive identification and adjustment phases are carried out, increasing the number of linguistic labels of the inputs, until the system error enters the previously estimated range.
xftsp can be executed in graphic mode, using the option "Time Series Prediction" of the Tuning menu or the corresponding icon in the main window of the environment, or from the command line using a configuration file.
The graphical user interface of xftsp allows to collect the necessary information to execute the tool. This information includes the following items:
(*) In Xfuzzy, errors are usually normalized against the squared range of the series, so the estimations should be normalized accordingly.
The central area of the xftsp graphical user interface contains four buttons separated by a progression bar. The two upper buttons allow loading (Load Configuration) or saving (Save configuration) a configuration file.
The syntax of the different directives that can appear in the configuration file is shown below:
The number of rows in the NRVE file determines the time horizon to be predicted and, therefore, the number of fuzzy systems that will be created. On the other hand, the number of columns of the input selection file sets the maximum size of the autoregressors, that is, the maximum number of input variables of the fuzzy systems.
Once the configuration is complete, the Generate models button allows launching the generation process of the fuzzy systems that model the time series. Most of the messages generated during the execution of the tool are shown in the standard output, that is, the command window from which Xfuzzy was launched or the xfstp command was executed. These messages are also written in a log file, called 'xftsp-run-results.log', which accumulates numerous comments associated with the different steps of execution of the tool. When executing xftsp from the graphical user interface, the messages related to the loading and storage of configuration files, as well as the notification of end of execution are shown in the lower area of the interface. The first lines of the log file resulting from an execution of xftsp have the following appearance:
The execution of xftsp also generates a series of directories called 'xftsp-step-*' that contain the models (and auxiliary files) corresponding to each prediction horizon. Other files with information about the generated systems are also saved in these directories, as well as in the main directory.
In general, the identification algorithms supported by the tool xfdm can be used by xftsp. Some examples are:
Getting a proper configuration of an optimization algorithm can be a slow and tedious task. Below are some configurations that tend to work well:
In the examples directory of the Xfuzzy distribution, you can find the configuration and data files needed to analyze a time series containing 875 weekly samples of temperatures corresponding to the "El Niņo-Southern Oscillation" phenomenon, a weather pattern consisting of the oscillation of the equatorial Pacific meteorological parameters every certain number of years. The data have been divided into two subsets: one of 475 samples, used as a training file, and another with the remaining 400 samples, used as a test file. A maximum regressor size of 10 and a prediction horizon of 50 has been considered, that is, the last 10 known values will be used to predict the next 50 values.
To carry out the study, launch the tool from Xfuzzy loading the supplied configuration file or execute the command:
------------------------------------------------------------------------ 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
For comments, patches, bug reports, etc contact us at: