void ARARForecast(TVec Data, TVec Phi, TVec Filter, Int32 tau, Int32 l1, Int32 l2, Int32 l3, Double SMean, Int32 N, TVec aResult, TVec StdErrs, ref Double RMSE)
Forecast time series by ARAR.
| # | Name | Description |
|---|---|---|
| 1 | Data | Defines original time series. |
| 2 | Phi | Defines ARAR model Phi coefficients (phi[0],phi[1],phi[2],phi[3]). |
| 3 | Filter | Defines memory shortening filter, obtained from memory-shortening operation. In case no memory-shortening is performed, set filter to 1.0 by using Filter.SetIt([1.0]). |
| 4 | tau | Defines memory-shortening optimal lag, obtained from memory-shortening operation. In case no memory-shortening is performed, set it to 1. |
| 5 | l1 | Defines optimal lag for phi[l1] (see equation above). |
| 6 | l2 | Defines optimal lag for phi[l2] (see equation above). |
| 7 | l3 | Defines optimal lag for phi[l3] (see equation above). |
| 8 | SMean | Defines memory-shortened series mean. |
| 9 | N | Defines number of forecasts. |
| 10 | aResult | Returns forecasts. Size and complex properties of Result are adjusted automatically. |
| 11 | StdErrs | Returns forecasts standard errors. Size and complex properties of StdErrs are adjusted automatically. |
| 12 | RMSE | Returns fit root mean square error (RMSE). |
Result: stored in self (calling object)
Remarks:
Forecast time series values by using ARAR model, defined by the following relation:
Examples
using Dew.Math;
using Dew.Stats;
using Dew.Stats.Units;
namespace Dew.Examples
{
private void Example()
{
Vector timeseries = new Vector(0);
Vector s = new Vector(0);
Vector filter = new Vector(0);
Vector phi = new Vector(0);
Vector forecasts = new Vector(0);
Vector stderrs = new Vector(0);
int l1, l2, l3, tau;
double s2, rmse;
timeseries.LoadFromFile("deaths.vec");
// #1: shorten series
StatTimeSerAnalysis.ShortenFilter(timeseries, s, out tau, filter, 15);
// #2 : fit ARAR model on shortened series
StatTimeSerAnalysis.ARARFit(s, phi, out l1, out l2, out l3, out s2, 13);
// #3: forecast 100 values by using ARAR fit parameters
StatTimeSerAnalysis.ARARForecast(timeseries, phi, filter, tau, l1, l2, l3, s.Mean(), 100, forecasts, stderrs, out rmse);
}
}