Time Series Prediction Using a Finite Impulse Response Neural Network

Abstract

FIRNet is a neural network-based program that can learn how to predict future values in a time-ordered series of data points. It is written in platform-independent C++ code and employs the Finite Impulse Response neural network architecture. Assuming a basic knowledge of neural networks, FIRNet is easy to use, and can be applied to almost any data set.

This work was done as part of a final project for CS 152: Neural Networks. The primary goal of the project was to create a robust, command line-driven program that could take in any ASCII time series and use FIR network technology to perform time series prediction.

The FIR Architecture

In a standard feed-forward network, inputs to a single node are multiplied by scalar weights that represent the synaptic connectivity between neurons. The FIR network is a generalization of this architecture, where scalar weights are replaced with moving average filters. These filters compute a weighted average of past values presented to the network, as opposed to the feed-forward network, which only computes a weighted "average" of the current value. FIR networks are trained using a variation on the backpropagation algorithm.

Acknowledgements

The prediction engine in FIRNet is based on a MATLAB demo written by Eric Wan of the Oregon Graduate Institute. My primary resource for theory was the article Time Series Prediction Using a Neural Network with Embedded Tapped Delay-Lines, Eric Wan, in Time Series Prediction: Forecasting the Future and Understanding the Past, editors A. Weigend and N. Gershenfeld, Addison-Wesley, 1994.

Source Code

Demos

Documentation

Last modified January 28, 1998 by Jeff Miller