# FreeBSD Manual Pages

```Forecast(3)	      User Contributed Perl Documentation	   Forecast(3)

NAME
Statistics::Forecast - calculates a future value

DESCRIPTION
This is a dummy Oriented	Object module that calculates a	future value
by using	existing values. The new value is calculated by	using linear
regression.

SYNOPSIS
use Statistics::Forecast;

Create forecast object

my \$FCAST = Statistics::Forecast->new("My Forecast Name");

\$FCAST->{DataX} = \@Array_X;
\$FCAST->{DataY} = \@Array_Y;
\$FCAST->{NextX} = \$NextX;

Calculate the result

\$FCAST->calc;

Get the result

my \$Result_Forecast =	\$FCAST->{ForecastY);

INTERNALS
The equation for	Forecast is:

a+bx,	where 'x' is the predicted value and
_	   _
a = y	+ bx

b = sum((x+x)(y-y))/sum(x-x)**2

METHODS
new Receives a forecast name, only to remember and returns the blessed
data	structure as a Statistics::Forecast object.

my \$FCAST =	Statistics::Forecast->new("My Forecast");

calc
Calculate and return	the forecast value.

\$FCAST->calc;

dump
Prints data for debuging propose.

\$FCAST->dump;

SumX
Returns the sum of X	values.

my \$SumOfX = \$FCAST->{SumX};

SumY
Returns the sum of Y	values.

my \$SumOfY = \$FCAST->{SumY};

SumXX
Returns the sum of X**2 values.

my \$SumOfXX	= \$FCAST->{SumXX};

SumXY
Returns the sum of X	* Y values.

my \$SumOfXY	= \$FCAST->{SumXY};

AvgX
Returns the average of X values.

my \$AvgX = \$FCAST->{AvgX};

AvgY
Returns the average of Y values.

my \$AvgY = \$FCAST->{AvgY};

N   Return the number of	X values.

my \$N = \$FCAST->{N};

EXAMPLE
use Statistics::Forecast;

my @Y	= (1,3,7,12);
my @X	= (1,2,3,4);

my \$FCAST = Statistics::Forecast->new("My Forecast");

\$FCAST->{DataX} = \@X;
\$FCAST->{DataY} = \@Y;
\$FCAST->{NextX} = 8;
\$FCAST->calc;

print	"The Forecast ", \$FCAST->{ForecastName};
print	" has the forecast value: ", \$FCAST->{ForecastY}, "\n";

AUTHOR
This module was developed by Alex Falcao	(alexjfalcao@hotmail.com)

STATUS OF THE MODULE
This is the first version and calculates	forecast value.

VERSION
0.3