Item(Index: Integer): ISlEquation;
Index. Индекс уравнения.
Свойство Item возвращает уравнение по заданному индексу.
Sub Main;
Var
y1, y2: Array[43] Of Double;
j, status: Integer;
VarModel: ISmVectorAutoRegress;
Eqs: ISlEquations;
Eq: ISlEquation;
ARO: Array[2] Of Integer;
Sub Print(Data: Array Of Double);
Var
i: Integer;
d: Double;
Begin
Debug.WriteLine("---Begin---");
For i := 0 To Data.Length - 1 Do
If Double.IsNan(Data[i]) Then
Debug.WriteLine(i.ToString + ", ---empty---");
Else
d := Data[i];
Debug.WriteLine(i.ToString + ", " + d.ToString);
End If;
End For;
Debug.WriteLine("---End---");
End Sub Print;
Begin
//значения массивов y1 и 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;
ARO[0] := 1;
ARO[1] := 2;
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
For j := 0 To Eqs.Count-1 Do
Debug.WriteLine("=== Сглаженный ряд для уравнения " + j.ToString + " ===");
Print(Eqs.Item(j).Fitted);
Debug.WriteLine("=== End ===");
End For;
End If;
End Sub Main;
После выполнения примера в окно консоли будут выведены модельные ряды для уравнений:
Module execution started
=== Сглаженный ряд для уравнения 0 ===
---Begin---
0, 6209
1, 6385
2, 6438.6098798677122
3, 6833.3562610561194
4, 6843.6187244166795
5, 6459.2020043903203
6, 7051.8590777388745
7, 7490.7356393984892
8, 7254.3881542700765
9, 7139.4423659249032
10, 7341.6167532992895
11, 7314.5486099465361
12, 7386.5568591459578
13, 7817.8078557616745
14, 8053.357615558627
15, 8471.4669754372862
16, 8901.1559850895956
17, 9320.0347621856672
18, 9399.6911276350693
19, 9778.5414981711492
20, 10204.418012823815
21, 10369.356093006632
22, 10872.025549717
23, 11412.017256142108
24, 12290.624947903154
25, 12669.795086169415
26, 12465.051672581285
27, 13303.389834637306
28, 13320.303297503446
29, 13720.082362081825
30, 14416.289836664981
31, 14456.247032531966
32, 14896.230984025124
33, 13792.734434566577
34, 14492.593560598138
35, 15304.965460021078
36, 15762.605696978086
37, 16076.918768753088
38, 16816.863204268488
39, 17567.532940912024
40, 17830.492150010945
41, 17278.93885221587
42, 16445.532816593673
---End---
=== End ===
=== Сглаженный ряд для уравнения 1 ===
---Begin---
0, 4110
1, 4280
2, 4508.3156913663661
3, 4700.5411049524682
4, 4741.9646226811419
5, 4843.420644289743
6, 5113.854011152288
7, 5479.9880987791494
8, 5600.6959315524091
9, 5648.7996488183226
10, 5834.6520749054434
11, 6211.2659860759013
12, 6473.3910207466388
13, 6808.883612050211
14, 7060.0699522797386
15, 7543.1830699189795
16, 7767.7952099135573
17, 8130.7225426265395
18, 8424.7901757836426
19, 8752.6833770206158
20, 9409.7172659739754
21, 9809.0161679740722
22, 10176.198977442689
23, 10527.322183971994
24, 11136.713789911233
25, 10873.956052383717
26, 10611.881538972291
27, 11256.124167805554
28, 11430.982228616325
29, 11814.692640960029
30, 12144.721200946993
31, 11924.414521753275
32, 11830.639931834961
33, 12042.225388622619
34, 12080.306994218969
35, 12206.769617693328
36, 12433.086619316375
37, 13017.945591331098
38, 13228.246266594035
39, 13817.869042781742
40, 14093.311414164518
41, 14299.018630532406
42, 14216.822991284655
---End---
=== End ===
Module execution finished
См. также: