Irregula: ITimeSeries;
Свойство Irregula возвращает нерегулярную компоненту.
Приведён пользовательский метод расчёта, возвращающий сглаженный ряд для метода Census1.
Добавьте ссылку на системную сборку Ms.
Public Function Census1Result(Result: Variant): ITimeSeries;
Var
Census1Res: IMsCensus1Result;
Series: ITimeSeries;
Begin
Census1Res := Result As IMsCensus1Result;
// Выводим наименование метода
Debug.WriteLine("Наименование метода: " + Census1Res.BaseMethod.Name);
Debug.WriteLine("");
// Получаем нерегулярную компоненту и выводим её в окно консоли
Series := Census1Res.Irregula;
Debug.WriteLine("Нерегулярная компонента");
Print(Series);
// Получаем отношение/разность и выводим в окно консоли
Series := Census1Res.RatioDifferences;
Debug.WriteLine("Отношение/разность");
Print(Series);
// Получаем сезонную составляющую и выводим её в окно консоли
Series := Census1Res.Seasonal;
Debug.WriteLine("Сезонная составляющая");
Print(Series);
// Получаем сезонную корректировку и выводим её в окно консоли
Series := Census1Res.SeasonalAdjustment;
Debug.WriteLine("Сезонная корректировка");
Print(Series);
// Получаем тренд-циклическую компоненту и выводим её в окно консоли
Series := Census1Res.TrendCycle;
Debug.WriteLine("Тренд-циклическая компонента");
Print(Series);
// Возвращаем сглаженный ряд
Return Census1Res.MovingAverage;
End Function Census1Result;
// Процедура вывода значений ряда в окно консоли
Sub Print(Series: ITimeSeries);
Var
CF: ICultureInfo;
i: Integer;
d: DateTime;
Begin
CF := CultureInfo.Current;
Debug.Indent;
For i := Series.StartIndex To Series.EndIndex Do
d := Series.IndexToDate(i);
Debug.WriteLine(CF.FormatShortDate(d) + ": " + Series.Item(i));
End For;
Debug.Unindent;
Debug.WriteLine("");
End Sub Print;
В результате выполнения примера в окно консоли будут выведены результаты расчёта методом Census1.
Данный пользовательский метод может быть использован в детерминированном уравнении, в калькуляторе в анализе временных рядов и в редакторе выражения. Например, использование пользовательского метода в детерминированном уравнении:
IMSCENSUS1RESULT_IRREGULA.Census1Result(census1(X1, SetPeriod("01.01.2000", "01.01.2015"), MsOutputCensus1SeriesType.MovingAverage, SeasonalityType.Additive))
Где:
IMSCENSUS1RESULT_IRREGULA. Идентификатор модуля, в котором содержится пользовательский метод;
Census1Result. Название пользовательского метода;
Census1. Метод расчёта Census1;
X1. Фактор модели.
См. также: