- NAME
- SYNOPSIS
- DESCRIPTION
- AUTHOR

# 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.