NAME¶
PDL::Filter::LinPred - Linear predictive filtering
SYNOPSIS¶
$a = new PDL::Filter::LinPred(
{NLags => 10,
LagInterval => 2,
LagsBehind => 2,
Data => $dat});
($pd,$corrslic) = $a->predict($dat);
DESCRIPTION¶
A filter by doing linear prediction: tries to predict the next value in a data
stream as accurately as possible. The filtered data is the predicted value.
The parameters are
- NLags
- Number of time lags used for prediction
- LagInterval
- How many points each lag should be
- LagsBehind
- If, for some strange reason, you wish to predict not the
next but the one after that (i.e. usually f(t) is predicted from f(t-1)
and f(t-2) etc., but with LagsBehind => 2, f(t) is predicted from
f(t-2) and f(t-3)).
- Data
- The input data, which may contain other dimensions past the
first (time). The extraneous dimensions are assumed to represent epochs so
the data is just concatenated.
- AutoCovar
- As an alternative to Data, you can just give the
temporal autocorrelation function.
- Smooth
- Don't do prediction or filtering but smoothing.
The method
predict gives a prediction for some data plus a corresponding
slice of the data, if evaluated in list context. This slice is given so that
you may, if you wish, easily plot them atop each other.
The rest of the documentation is under lazy evaluation.
AUTHOR¶
Copyright (C) Tuomas J. Lukka 1997. All rights reserved. There is no warranty.
You are allowed to redistribute this software / documentation under certain
conditions. For details, see the file COPYING in the PDL distribution. If this
file is separated from the PDL distribution, the copyright notice should be
included in the file.