JMSLTM Numerical Library 5.0.1

com.imsl.datamining.neural
Class TimeSeriesFilter

java.lang.Object
  extended by com.imsl.datamining.neural.TimeSeriesFilter
All Implemented Interfaces:
Serializable

public class TimeSeriesFilter
extends Object
implements Serializable

Converts time series data to a lagged format used as input to a neural network.

Class TimeSeriesFilter can be used to operate on a data matrix and lags every column to form a new data matrix. Using the method computeLags, each column of the input matrix, x, is transformed into (nLags+1) columns by creating a column for text{lags} = 0, 1, ldots text{nLags}.

The output data array, z, can be symbolically represented as:

z = | x(0) : x(1) : x(2) : ldots : x(text{nLags}-1) |,

where x(i) is a lagged column of the incoming data matrix, x.

Consider, an example in which x has five rows and two columns with all variables continuous input attributes. Using nObs and nVar to represent the number of rows and columns in x, let

x = left[ begin{array}{cc}
1 & 6 \
2 & 7 \
3 & 8 \
4 & 9 \
5 & 10 \
end{array}  right]

If nLags=1, then the number of columns in z[][] is nVar*(nLags+1)=2*2=4, and the number of rows is (nObs-nLags)=5-1=4:

z = left[ begin{array}{cccc}
1 & 6 & 2 & 7\
2 & 7 & 3 & 8 \
3 & 8 & 4 & 9 \
4 & 9 & 5 & 10 \
end{array}  right]

If nLags=2, then the number of rows in z will be (nObs-nLags)=(5-2)=3 and the number of columns will be nVar*(nLags+1)=2*3=6:

z = left[ begin{array}{cccccc}
1 & 6 & 2 & 7 & 3 & 8\
2 & 7 & 3 & 8 & 4 & 9 \
3 & 8 & 4 & 9 & 5 & 10 \
end{array}  right]

See Also:
Example, Serialized Form

Constructor Summary
TimeSeriesFilter()
          Constructor for TimeSeriesClassFilter.
 
Method Summary
 double[][] computeLags(int nLags, double[][] x)
          Lags time series data to a format used for input to a neural network.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeSeriesFilter

public TimeSeriesFilter()
Constructor for TimeSeriesClassFilter.

Method Detail

computeLags

public double[][] computeLags(int nLags,
                              double[][] x)
Lags time series data to a format used for input to a neural network.

Parameters:
nLags - An int containing the requested number of lags. nLags must be greater than 0.
x - A double matrix, nObs by nVar, containing the time series data to be lagged. It is assumed that x is sorted in descending chronological order.
Returns:
A double matrix with (nObs-nLags) rows and (nVar(nLags+1)) columns. The columns 0 through (nVar-1) contain the columns of x. The next nVar columns contain the first lag of the columns in x, etc.

JMSLTM Numerical Library 5.0.1

Copyright © 1970-2008 Visual Numerics, Inc.
Built July 8 2008.