ISmCensus1.TrendCycle

Синтаксис

TrendCycle: Array;

Описание

Свойство TrendCycle возвращает тренд-циклическую составляющую.

Пример

Sub Main;

Var

s: Array Of Double;

census1: SmCensus1;

res: Integer;

Sub Print(Data: Array Of Double);

Var

i: Integer;

CI: ICultureInfo;

Begin

CI := CultureInfo.Current;

Debug.WriteLine("---Begin---");

For i := 0 To Data.Length - 1 Do

If Double.IsNan(Data[i]) Then

Debug.WriteLine("---empty---");

Else

Debug.WriteLine(i.ToString + ", " + CI.FormatDoublePrec(Data[i], 4));

End If;

End For;

Debug.WriteLine("---End---");

End Sub Print;

Begin

//значения s

s := New Double[45];

s[0] := 670.2000183;

s[1] := 576.0680563;

s[2] := 717.6484268;

s[3] := 856.9105808;

s[4] := 885.4609516;

s[5] := 1011.846431;

s[6] := 995.4496292;

s[7] := 1064.74221;

s[8] := 1033.324656;

s[9] := 780.8584552;

s[10] := 657.5033113;

s[11] := 654.5472579;

s[12] := 678.2380139;

s[13] := 642.4128544;

s[14] := 751.9611194;

s[15] := 786.7090365;

s[16] := 884.5042879;

s[17] := 1008.308908;

s[18] := 1108.363628;

s[19] := 1072.737175;

s[20] := 1019.183752;

s[21] := 895.5601672;

s[22] := 811.0306101;

s[23] := 756.601764;

s[24] := 826.6160466;

s[25] := 762.3903317;

s[26] := 931.5707266;

s[27] := 1026.666524;

s[28] := 1114.124119;

s[29] := 1099.626392;

s[30] := 1189.16892;

s[31] := 1092.343791;

s[32] := 1087.503861;

s[33] := 971.6522721;

s[34] := 826.2502823;

s[35] := 789.6322825;

s[36] := 797.0210578;

s[37] := 770.0206;

s[38] := 832.1481674;

s[39] := 1014.565844;

s[40] := 980.4343089;

s[41] := 1195.843135;

s[42] := 1117.405835;

s[43] := 1142.834834;

s[44] := 1239.704489;

census1 := New SmCensus1.Create;

census1.Serie.Value := s;

census1.ModelPeriod.FirstPoint := 1;

census1.ModelPeriod.LastPoint := 45;

census1.SeasonalComponent.Mode := SeasonalityType.Multiplicative;

census1.CenterMovingAverage := True;

census1.SeasonalComponent.Cycle := 12;

res := census1.Execute;

If res<>0 Then

Debug.WriteLine(census1.Errors);

Else

Debug.WriteLine("=== Сглаженный ряд ===");

Print(census1.MovingAverage);

Debug.WriteLine("=== Тренд-циклическая составляющая ===");

Print(census1.TrendCycle);

End If;

End Sub Main;

После выполнения примера в окно консоли будут выведены сглаженный ряд и его тренд-циклическая составляющая:

Module execution started

=== Сглаженный ряд ===

---Begin---

---empty---

---empty---

---empty---

---empty---

---empty---

---empty---

6, 825,7149

7, 828,8142

8, 833,0083

9, 831,5129

10, 828,5480

11, 828,3607

12, 832,9181

13, 837,9559

14, 837,6999

15, 841,8899

16, 853,0661

17, 863,7153

18, 874,1500

19, 885,3315

20, 897,8143

21, 915,2963

22, 934,8620

23, 948,2344

24, 955,4062

25, 959,5900

26, 963,2536

27, 969,2708

28, 973,0754

29, 975,0859

30, 975,2290

31, 974,3138

32, 970,4891

33, 965,8423

34, 959,7677

35, 958,2063

36, 959,2252

37, 958,3389

38, 966,7844

---empty---

---empty---

---empty---

---empty---

---empty---

---empty---

---End---

=== Тренд-циклическая составляющая ===

---Begin---

0, 763,9048

1, 774,5750

2, 795,9154

3, 820,4923

4, 834,4026

5, 846,1478

6, 851,9431

7, 860,5047

8, 848,9042

9, 824,1815

10, 803,5009

11, 800,5202

12, 809,4248

13, 813,3161

14, 812,4885

15, 814,2728

16, 832,3182

17, 858,3723

18, 882,0135

19, 893,0926

20, 902,2031

21, 914,7754

22, 935,4565

23, 951,7898

24, 972,4574

25, 988,2003

26, 1 008,8381

27, 1 010,7449

28, 1 002,7079

29, 974,5718

30, 955,2228

31, 943,9073

32, 952,3098

33, 964,2410

34, 970,4487

35, 971,2482

36, 961,6106

37, 962,2072

38, 953,9561

39, 965,3801

40, 959,0861

41, 965,5184

42, 964,7477

43, 980,7473

44, 988,7471

---End---

Module execution finished

См. также:

ISmCensus1