++ed by:

8 PAUSE users
3 non-PAUSE users.

Shlomi Fish
and 1 contributors

NAME

Statistics::Descriptive::Smoother::Exponential - Implement exponential smoothing

SYNOPSIS

``````  use Statistics::Descriptive::Smoother;
my \$smoother = Statistics::Descriptive::Smoother->instantiate({
method   => 'exponential',
coeff    => 0.5,
data     => [1, 2, 3, 4, 5],
samples  => [110, 120, 130, 140, 150],
});
my @smoothed_data = \$smoother->get_smoothed_data();``````

DESCRIPTION

This module implement the exponential smoothing algorithm to smooth the trend of a series of statistical data.

This algorithm works well for unsmoothed data build with big number of samples. If this is not the case you might consider using the `Weighted Exponential` one.

The algorithm implements the following formula:

S(0) = X(0)

S(t) = C*S(t-1) + (1-C)*X(t)

where:

• t = index in the series

• S(t) = smoothed series value at position t

• C = smoothing coefficient. Value in the [0;1] range. `0` means that the series is not smoothed at all, while `1` the series is universally equal to the initial unsmoothed value.

• X(t) = unsmoothed series value at position t

METHODS

\$stats->get_smoothed_data();

Returns a copy of the smoothed data array.

Fabio Ponciroli