Quick Navigator

 Search Site Miscellaneous Server Agreement Year 2038 Credits

Manual Reference Pages  -  STATISTICS::FORECAST (3)

.ds Aq ’

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.

0.3