ISmVectorAutoRegress.ModelPeriod

Синтаксис

ModelPeriod: IStatPeriod;

Описание

Свойство ModelPeriod определяет период идентификации.

Пример

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

См. также:

ISmVectorAutoRegress