NAME

Algorithm::Burg - extrapolate time series using Burg's method

VERSION

version 0.001

SYNOPSIS

DESCRIPTION

The Algorithm::Burg module uses the Burg method to fit an autoregressive (AR) model to the input data by minimizing (least squares) the forward and backward prediction errors while constraining the AR parameters to satisfy the Levinson-Durbin recursion.

DISCLAIMER: This is work in progress! The code is buggy and the interface is subject to change.

ATTRIBUTES

coefficients

AR model polynomial coefficients computed by the train method.

order

AR model order

series_tail

Store the last "order" terms of the time series for "predict($n)".

METHODS

train($time_series)

Computes vector of coefficients using Burg algorithm applied to the input source data $time_series.

predict($n)

Predict $n next values for the time series. If $n is 0 or bigger than "order", assume $n = "order".

#!/usr/bin/env perl;
use strict;
use warnings qw(all);
use Algorithm::Burg;
...;
my $burg = Algorithm::Burg->new(order => 150);
$burg->train(\@time_series);
my $result = $burg->predict();

REFERENCES

AUTHOR

Stanislaw Pusep <stas@sysd.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Stanislaw Pusep.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.