StatTimeSerAnalysis.ARARFit Method

procedure ARARFit(const S: TVec; const Phi: TVec; out l1: Integer; out l2: Integer; out l3: Integer; out Sigma2: Double; const MaxLag: Integer);

Fit ARAR algorithm.

#NameDescription
1SMemory-shortened time series. If no memory-shortening was performed, then S defines the original unshortened time series.
2PhiReturns ARAR model phi coefficients (phi[1],phi[l1],phi[l2],phi[l3]). Size of Phi vector is adjusted automatically (4).
3l1Returns ARAR model phil1 lag.
4l2Returns ARAR model phil2 lag.
5l3Returns ARAR model phil3 lag.
6Sigma2Returns ARAR model estimated WN variance.
7MaxLagDefines upper limit for l3, where 1 < l1 < l2 < l3 <= MaxLag.

Result: stored in self (calling object)

Remarks:

Fit ARAR algorithm to (optionaly) memory-shortened series. Let S[t] denote memory-shortened series, derived from Y[t] and let avg(S) denote sample mean of S[t]. The ARAR algorithm tries to fit an autoregressive (AR) process to the mean-corrected series:

X[t]=S[t]SX[t] =S[t]-\langle S \rangle

The fitted model then has the form:

X[t]=ϕ1X[t1]+ϕl1X[tl1]+ϕl2X[tl2]+ϕl3X[tl3]+Z[t]X[t] =\phi _1 X[t-1] + \phi _{l1} X[t-l1] + \phi _{l2} X[t-l2] + \phi _{l3} X[t-l3] + Z[t]

where Z[t] is WN(0,sigma2).

Examples
Uses MtxExpr, StatTimeSerAnalysis, Math387;
procedure Example;
var timeseries,s,filter,phi: Vector;
forecasts,stderrs: Vector;
l1,l2,l3,tau: Integer;
s2,rmse: double;
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;
See Also: StatTimeSerAnalysis.ARARForecast, StatTimeSerAnalysis.ShortenFilter