Ms > Интерфейсы сборки Ms > IMsBpfResult > IMsBpfResult.CycleSeries
CycleSeries: ITimeSeries;
CycleSeries: Prognoz.Platform.Interop.Ms.ITimeSeries;
Свойство CycleSeries возвращает циклическую составляющую исходного ряда.
С помощью данного интерфейса также можно получить:
IMsBpfResult.NonCyclicalSeries. Нециклическая составляющая исходного ряда;
IMsBpfResult.Weights. Веса.
Приведен пользовательский метод расчета, возвращающий прогнозные значения для какого-либо прогнозного метода расчета.
Добавьте ссылки на системные сборки: Ms, Stat.
Public Function BpfResult(Result: Variant): ITimeSeries;
Var
BpfRes: IMsBpfResult;
Series: ITimeSeries;
Begin
BpfRes := Result As IMsBpfResult;
// Выводим наименование метода
Debug.WriteLine("Наименование метода: " + BpfRes.BaseMethod.Name);
Debug.WriteLine("");
// Получаем модельный
ряд и выводим его в окно консоли
Series := BpfRes.Fitted;
Debug.WriteLine("Модельный ряд");
Print(Series);
// Получаем ряд остатков и выводим его в окно консоли
Series := BpfRes.Residuals;
Debug.WriteLine("Ряд остатков");
Print(Series);
// Получаем моделируемый ряд и выводим его в окно консоли
Series := BpfRes.TimeSeries;
Debug.WriteLine("Моделируемый ряд");
Print(Series);
// Возвращаем прогнозный ряд
Return BpfRes.NonCyclicalSeries;
End Function BpfResult;
В результате выполнения примера в окно консоли будут выведены результаты расчета фильтра Бакстера-Кинга.
Данный пользовательский метод может быть использован в детерминированном уравнении, в калькуляторе в анализе временных рядов и в редакторе выражения. Например, использование пользовательского метода в детерминированном уравнении:
IMSBPFRESULT_CYCLESERIES.BpfResult(Bpf(X1, Null, 1, 2, 5))
Где:
IMSBPFRESULT_CYCLESERIES. Идентификатор модуля, в котором содержится пользовательский метод;
BpfResult. Название пользовательского метода;
Bpf. Метод расчета «Фильтр Бакстера-кинга»;
X1. Фактор модели.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Function BpfResult(Result: object): ITimeSeries;
Var
BpfRes: IMsBpfResult;
Series: ITimeSeries;
Begin
BpfRes := Result As IMsBpfResult;
// Выводим наименование метода
System.Diagnostics.Debug.WriteLine("Наименование метода: " + BpfRes.BaseMethod.Name);
System.Diagnostics.Debug.WriteLine("");
// Получаем модельный
ряд и выводим его в окно консоли
Series := BpfRes.Fitted;
System.Diagnostics.Debug.WriteLine("Модельный ряд");
Print(Series);
// Получаем ряд остатков и выводим его в окно консоли
Series := BpfRes.Residuals;
System.Diagnostics.Debug.WriteLine("Ряд остатков");
Print(Series);
// Получаем моделируемый ряд и выводим его в окно консоли
Series := BpfRes.TimeSeries;
System.Diagnostics.Debug.WriteLine("Моделируемый ряд");
Print(Series);
// Возвращаем прогнозный ряд
Return BpfRes.NonCyclicalSeries;
End Function;
// Процедура вывода значений ряда в окно консоли
Public Shared Sub Print(Series: ITimeSeries);
Var
CultureInfo: CultureInfoClassClass = New CultureInfoClassClass();
i: Integer;
d: DateTime;
Begin
System.Diagnostics.Debug.Indent();
For i := Series.StartIndex To Series.EndIndex Do
d := Series.IndexToDate(i);
System.Diagnostics.Debug.WriteLine(CultureInfo.Current.FormatShortDate(d) + ": " + Series.Item[i]);
End For;
System.Diagnostics.Debug.Unindent();
System.Diagnostics.Debug.WriteLine("");
End Sub Print;
См. также: