Documentation/Calc Functions/FORECAST.ETS.PI.ADD

From The Document Foundation Wiki
Jump to: navigation, search


Im-jabber.svg

Under construction.
For now, see the system Help files.


Function name:

FORECAST.ETS.PI.ADD

Category:

Statistical Analysis

Summary:

Calculates the prediction interval(s) for additive forecast based on the historical data using ETS or EDS algorithms. EDS is used when argument period_length is 0, otherwise ETS is used.

Syntax:

FORECAST.ETS.PI.ADD(target, values, timeline, [confidence_level], [period_length], [data_completion], [aggregation])

Returns:

Arguments:

target (mandatory): A date, time or numeric single value or range. The data point/range for which to calculate a forecast.

values (mandatory): A numeric array or range. values are the historical values, for which you want to forecast the next points.

timeline (mandatory): A numeric array or range. The time line (x-value) range for the historical values.

The time line doesn't have to to be sorted, the functions will sort it for calculations. The time line values must have a consistent step between them. If a constant step can't be identified in the sorted time line, the functions will return the #NUM! error. If the ranges of the time line and historical values aren't of same size, the functions will return the #N/A error. If the time line contains less than 2 periods of data, the functions will return the #VALUE! Error.

confidence_level (mandatory): A numeric value between 0 and 1 (exclusive), default is 0.95. A value indicating a confidence level for the calculated prediction interval.

With values <= 0 or >= 1, the functions will return the #NUM! Error.

period_length (optional): A numeric value >= 0, the default is 1. A positive integer indicating the number of samples in a period.

A value of 1 indicates that Calc is to determine the number of samples in a period automatically. A value of 0 indicates no periodic effects, a forecast is calculated with EDS algorithms. For all other positive values, forecasts are calculated with ETS algorithms. For values that not being a positive whole number, the functions will return the #NUM! Error.

data_completion (optional): a logical value TRUE or FALSE, a numeric 1 or 0, default is 1 (TRUE). A value of 0 (FALSE) will add missing data points with zero as historical value. A value of 1 (TRUE) will add missing data points by interpolating between the neighboring data points.

Although the time line requires a constant step between data points, the function support up to 30% missing data points, and will add these data points.

aggregation (optional): A numeric value from 1 to 7, with default 1. The aggregation parameter indicates which method will be used to aggregate identical time values:

Aggregation Function
1 AVERAGE
2 COUNT
3 COUNTA
4 MAX
5 MEDIAN
6 MIN
7 SUM

Although the time line requires a constant step between data points, the functions will aggregate multiple points which have the same time stamp.

For example, with a 90% Confidence level, a 90% prediction interval will be computed (90% of future points are to fall within this radius from forecast).

Note on prediction intervals: there is no exact mathematical way to calculate this for forecasts, there are various approximations. Prediction intervals tend to be increasingly 'over-optimistic' when increasing distance of the forecast-X from the observation data set.

For ETS, Calc uses an approximation based on 1000 calculations with random variations within the standard deviation of the observation data set (the historical values).

Additional details:

Exponential Smoothing is a method to smooth real values in time series in order to forecast probable future values.

Exponential Triple Smoothing (ETS) is a set of algorithms in which both trend and periodical (seasonal) influences are processed. Exponential Double Smoothing (EDS) is an algorithm like ETS, but without the periodical influences. EDS produces linear forecasts.

See the Wikipedia on Exponential smoothing algorithms for more information.

FORECAST.ETS.PI.ADD calculates with the model

forecast = basevalue + trend * ∆x + periodical_aberration.

Examples:

The table below contains a timeline and its associated values:

A B
1 Timeline Values
2 01/2013 112
3 02/2013 118
4 03/2013 132
5 04/2013 100
6 05/2013 121
7 06/2013 135
8 07/2013 148
9 08/2013 148
10 09/2013 136
11 10/2013 119
12 11/2013 104
13 12/2013 118


=FORECAST.ETS.PI.ADD(DATE(2014;1;1);Values;Timeline;0.9;1;TRUE();1)

Returns 18.8061295551355, the prediction interval for additive forecast for January 2014 based on Values and Timeline named ranges above, 90% (=0.9) confidence level, with one sample per period, no missing data, and AVERAGE as aggregation.

=FORECAST.ETS.PI.ADD(DATE(2014;1;1);Values;Timeline;0.8;4;TRUE();7)

Returns 23.4416821953741, the prediction interval for additive forecast for January 2014 based on Values and Timeline named ranges above, with confidence level of 0.8, period length of 4, no missing data, and SUM as aggregation.

Related LibreOffice functions:

FORECAST
FORECAST.ETS.ADD
FORECAST.ETS.MULT
FORECAST.ETS.PI.MULT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT.ADD
FORECAST.ETS.STAT.MULT
FORECAST.LINEAR

ODF standard:

Equivalent Excel functions: