Forecast time series by ARAR.
Forecast time series values by using ARAR model, defined by the following relation:
Example 1
Fit and then forecast time series values by using ARAR algorithm. Before applying the ARAR algorithm, use the shortening filter on original series. Uses MtxExpr, StatTimeSerAnalysis, Math387;
procedure Example;
var timeseries,s,filter,phi: Vector;
forecasts,stderrs: Vector;
l1,l2,l3,tau: Integer;
s2,rmse: TSample;
begin
timeseries.LoadFromFile('deaths.vec');
// #1: shorten series
ShortenFilter(timeSeries,s,tau,Filter);
// #2 : fit ARAR model on shortened series
ARARFit(s,Phi,l1,l2,l3,s2,13);
// #3: forecast 100 values by using ARAR fit parameters
ARARForecast(timeseries,Phi,Filter,tau,l1,l2,l3,s.mean,100,forecasts,stderrs,rmse);
end;
#include "MtxVecCpp.h"
#include "StatTimeSerAnalysis.hpp"
void __fastcall Example();
{
Vector timeseries,s,filter,phi,forecasts,stderrs;
int l1,l2,l3,tau;
double s2;
timeseries->LoadFromFile("deaths.vec");
// #1: shorten series
ShortenFilter(timeSeries,s,tau,Filter);
// #2 : fit ARAR model on shortened series
ARARFit(s,Phi,l1,l2,l3,s2,13);
// #3: forecast 100 values by using ARAR fit parameters
ARARForecast(timeseries,Phi,Filter,tau,l1,l2,l3,s->Mean(),s2,100,forecasts,stderrs,rmse);
}
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,tau,Filter);
// #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(),s2,100,forecasts,stderrs,out rmse);
}
}