SummaryStatistics: ISummaryStatistics;
Свойство SummaryStatistics возвращает статистические характеристики.
Sub Main;
Var
ar1, ar2, ar3: Array[0..15] Of Double;
i,j,status: Integer;
d: Double;
var1: ISmVectorAutoRegress;
Eqs: ISlEquations;
Eq: ISlEquation;
ARO: Array[0..0] Of Integer;
Begin
//Эндогенная1
ar1[0] := 3;
ar1[1] := 8;
ar1[2] := 12;
ar1[3] := 10;
ar1[4] := 26;
ar1[5] := 21;
ar1[6] := 35;
ar1[7] := 29;
ar1[8] := 40;
ar1[9] := 39;
ar1[10] := 51;
ar1[11] := 50;
ar1[12] := 59;
ar1[13] := 58;
ar1[14] := 65;
ar1[15] := 72;
//Эндогенная2
ar2[0] := 5;
ar2[1] := 3;
ar2[2] := 9;
ar2[3] := 13;
ar2[4] := 25;
ar2[5] := 21;
ar2[6] := 30;
ar2[7] := 33;
ar2[8] := 43;
ar2[9] := 37;
ar2[10] := 49;
ar2[11] := 47;
ar2[12] := 60;
ar2[13] := 59;
ar2[14] := 69;
ar2[15] := 68;
//Эндогенная3
ar3[0] := 7;
ar3[1] := 2;
ar3[2] := 11;
ar3[3] := 14;
ar3[4] := 18;
ar3[5] := 22;
ar3[6] := 32;
ar3[7] := 28;
ar3[8] := 39;
ar3[9] := 44;
ar3[10] := 50;
ar3[11] := 54;
ar3[12] := 58;
ar3[13] := 57;
ar3[14] := 71;
ar3[15] := 72;
ARO[0] := 1;
var1 := New SmVectorAutoRegress.Create;
Eqs := var1.Equations;
Eq := Eqs.Add;
Eq.Serie.Value := ar1;
Eq.AutoRegressionOrder := ARO;
Eq := Eqs.Add;
Eq.Serie.Value := ar2;
Eq := Eqs.Add;
Eq.Serie.Value := ar3;
var1.ModelPeriod.FirstPoint := 1;
var1.ModelPeriod.LastPoint := 16;
status := var1.Execute;
If status <> 0 Then
Debug.Writeline(var1.Errors);
Else
Debug.WriteLine("=== среднее остатков ===");
For i := 0 To Eqs.Count-1 Do
d := Eqs.Item(i).SummaryStatistics.ME;
Debug.WriteLine(i.ToString + ", " + d.ToString);
End For;
End If;
End Sub Main;
После выполнения примера для всех уравнений векторной авторегрессии в окно консоли будет выведено среднее остатков:
Module execution started
=== среднее остатков ===
0, 1.8711652381141215
1, 1.3625373689391551
2, 0.89456525239026097
Module execution finished
См. также: