VARStatistics: IVARStatistics;
The VARStatistics property returns VAR statistics.
Sub Main;
Var
y1, y2: Array[43] Of Double;
status: Integer;
VarModel: ISmVectorAutoRegress;
Eqs: ISlEquations;
Eq: ISlEquation;
ARO: Array[2] Of Integer;
VARStat: IVARStatistics;
Begin
//values of arrays y1 and y2
y1[00] := 6209; y2[00] := 4110;
y1[01] := 6385; y2[01] := 4280;
y1[02] := 6752; y2[02] := 4459;
y1[03] := 6837; y2[03] := 4545;
y1[04] := 6495; y2[04] := 4664;
y1[05] := 6907; y2[05] := 4861;
y1[06] := 7349; y2[06] := 5195;
y1[07] := 7213; y2[07] := 5389;
y1[08] := 7061; y2[08] := 5463;
y1[09] := 7180; y2[09] := 5610;
y1[10] := 7132; y2[10] := 5948;
y1[11] := 7137; y2[11] := 6218;
y1[12] := 7473; y2[12] := 6521;
y1[13] := 7722; y2[13] := 6788;
y1[14] := 8088; y2[14] := 7222;
y1[15] := 8516; y2[15] := 7486;
y1[16] := 8941; y2[16] := 7832;
y1[17] := 9064; y2[17] := 8153;
y1[18] := 9380; y2[18] := 8468;
y1[19] := 9746; y2[19] := 9054;
y1[20] := 9907; y2[20] := 9499;
y1[21] := 10333; y2[21] := 9866;
y1[22] := 10863; y2[22] := 10217;
y1[23] := 11693; y2[23] := 10763;
y1[24] := 12242; y2[24] := 10683;
y1[25] := 12227; y2[25] := 10494;
y1[26] := 12910; y2[26] := 10938;
y1[27] := 13049; y2[27] := 11198;
y1[28] := 13384; y2[28] := 11546;
y1[29] := 14036; y2[29] := 11865;
y1[30] := 14242; y2[30] := 11781;
y1[31] := 14704; y2[31] := 11681;
y1[32] := 13802; y2[32] := 11903;
y1[33] := 14197; y2[33] := 11900;
y1[34] := 15010; y2[34] := 11986;
y1[35] := 15589; y2[35] := 12206;
y1[36] := 15932; y2[36] := 12734;
y1[37] := 16631; y2[37] := 12990;
y1[38] := 17394; y2[38] := 13516;
y1[39] := 17758; y2[39] := 13866;
y1[40] := 17308; y2[40] := 14141;
y1[41] := 16444; y2[41] := 14141;
y1[42] := 16413; y2[42] := 14237;
VarModel := New SmVectorAutoRegress.Create;
Eqs := VarModel.Equations;
Eq := Eqs.Add;
Eq.Serie.Value := y1;
Eq.AutoRegressionOrder := ARO;
Eq.Forecast.LastPoint := 43;
Eq.Intercept.Mode := InterceptMode.AutoEstimate;
Eq := Eqs.Add;
Eq.Serie.Value := y2;
Eq.AutoRegressionOrder := ARO;
Eq.Forecast.LastPoint := 43;
Eq.Intercept.Mode := InterceptMode.AutoEstimate;
VarModel.ModelPeriod.FirstPoint := 1;
VarModel.ModelPeriod.LastPoint := 43;
status := VarModel.Execute;
If status <> 0 Then
Debug.WriteLine(VarModel.Errors);
Else
VARStat := VarModel.VARStatistics;
Debug.WriteLine("AIC = " + VARStat.AIC.ToString);
Debug.WriteLine("LLV = " + VARStat.LLV.ToString);
Debug.WriteLine("RC = " + VARStat.RC.ToString);
Debug.WriteLine("SC = " + VARStat.SC.ToString);
End If;
End Sub Main;
After executing the example the console window displays values of Var statistics:
Module execution started
AIC = -102.38255495298498
LLV = 2201.2249314891769
RC = 8.9848838037998159E-049
SC = -102.03267587245534
Module execution finished
See also: