# VoseTSEmpiricalFit

VoseTSEmpiricalFit({data}, Multiply, Last Value, Uncertainty)

Array function that returns random values from an empirical time series directly constructed from data. You can choose between assuming an additive or a multiplicative random walk with the Multiply parameter.

{data}  - array with historical data to construct the time series from.

Multiply - optional boolean parameter (TRUE/FALSE). Set TRUE to assume a multiplicative random walk and FALSE (default) for an additive random walk.

Last Value - (optional) last known historical value. The generated random values will continue from this value onwards. If no LastValue parameter is specified, the last element of the {data} array is taken as last known historical value.

Uncertainty  - optional boolean parameter (TRUE/FALSE). Set to TRUE to incorporate the uncertainty that always exists about the constructed time series, and to FALSE (default) to use a fixed "best guess" empirical time series.

The time series is constructed by looking at the increments between each historic data value and its immediate past value. When Multiplicative=TRUE the increments are ratios, when FALSE they are differences.

A non-parametric continuous distribution is then constructed on the observed increments: first-order (Ogive) if Uncertainty=FALSE and second-order (OgiveU) if Uncertainty=TRUE.

We then use randomly sampled values from this increment distribution to generate the output , starting onwards from LastValue.

Example

When Multiply is set to TRUE, the first value of the output array is:

LastValue*Increment

where Increment is a random sample from the constructed increments distribution.

When Multiply is set to FALSE, the first value of the output array is

LastValue+Increment

where Increment is a random sample from the constructed increments distribution.