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.
| # | Name | Description |
|---|---|---|
| 1 | S | Memory-shortened time series. If no memory-shortening was performed, then S defines the original unshortened time series. |
| 2 | Phi | Returns ARAR model phi coefficients (phi[1],phi[l1],phi[l2],phi[l3]). Size of Phi vector is adjusted automatically (4). |
| 3 | l1 | Returns ARAR model phil1 lag. |
| 4 | l2 | Returns ARAR model phil2 lag. |
| 5 | l3 | Returns ARAR model phil3 lag. |
| 6 | Sigma2 | Returns ARAR model estimated WN variance. |
| 7 | MaxLag | Defines 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:
The fitted model then has the form:
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;