IMsExponentialSmoothingTransform.AsForecasting

Синтаксис Fore

AsForecasting: Boolean;

Синтаксис Fore.NET

AsForecasting: boolean;

Описание

Свойство AsForecasting определяет, рассчитывать ли прогнозные значения.

Комментарии

Возможные значения:

Пример Fore

Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором «MS», содержащего модель с идентификатором «MODEL_EXPLSM». Данная модель должна рассчитываться методом «Экспоненциальное сглаживание».

Добавьте ссылки на системные сборки: Metabase, Ms, Stat.

Sub UserProc;
Var
    MB: IMetabase;
    Model: IMsModel;
    Formula: IMsFormula;
    ExpSmooph: IMsExponentialSmoothingTransform;
    SeasonalComp: ISeasonal;
    Parameters: IExponentialSmoothingParameters;
Begin
    // Получаем репозиторий
    MB := MetabaseClass.Active;
    // Получаем модель
    Model := (Mb.ItemByIdNamespace("MODEL_EXPLSM", MB.GetObjectKeyById("MS"))).Edit As IMsModel;
    // Получаем параметры расчета
    Formula := Model.Transform.FormulaItem(0);
    ExpSmooph := Formula.Method As IMsExponentialSmoothingTransform;
    // Задаем значимость доверительных границ
    ExpSmooph.ConfidenceLevel := 0.99;
    // Задаем метод обработки пропусков
    ExpSmooph.MissingData.Method := MissingDataMethod.LinTrend;
    // Указываем, что метод будет рассчитывать прогнозные значения
    ExpSmooph.AsForecasting := True;
    // Задаем тип тренда модели
    ExpSmooph.TrendComponent := TrendType.Exponential;
    // Задаем параметры сезонной составляющей
    SeasonalComp := ExpSmooph.SeasonalComponent;
    SeasonalComp.Cycle := 5;
    SeasonalComp.Mode := SeasonalityType.Multiplicative;
    // Задаем значения параметров метода
    Parameters := ExpSmooph.Parameters;
    Parameters.Alpha := 0.06;
    Parameters.Delta := 0.06;
    Parameters.Gamma := 0.01;
    // Сохраняем изменения
    (Model As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера для модели будут заданы: значимость доверительных границ, метод обработки пропусков, тип тренда, сезонная составляющая и значения параметров. При расчете модель будет вычислять прогнозные значения.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Model: IMsModel;
    Formula: IMsFormula;
    ExpSmooph: IMsExponentialSmoothingTransform;
    SeasonalComp: ISeasonal;
    Parameters: IExponentialSmoothingParameters;
Begin
    // Получаем репозиторий
    MB := Params.Metabase;
    // Получаем модель
    Model := (Mb.ItemByIdNamespace["MODEL_EXPLSM", MB.GetObjectKeyById("MS")]).Edit() As IMsModel;
    // Получаем параметры расчета
    Formula := Model.Transform.FormulaItem[0];
    ExpSmooph := Formula.Method As IMsExponentialSmoothingTransform;
    // Задаем значимость доверительных границ
    ExpSmooph.ConfidenceLevel := 0.99;
    // Задаем метод обработки пропусков
    ExpSmooph.MissingData.Method := MissingDataMethod.mdmLinTrend;
    // Указываем, что метод будет рассчитывать прогнозные значения
    ExpSmooph.AsForecasting := True;
    // Задаем тип тренда модели
    ExpSmooph.TrendComponent := TrendType.tdtExponential;
    // Задаем параметры сезонной составляющей
    SeasonalComp := ExpSmooph.SeasonalComponent;
    SeasonalComp.Cycle := 5;
    SeasonalComp.Mode := SeasonalityType.sstMultiplicative;
    // Задаем значения параметров метода
    Parameters := ExpSmooph.Parameters;
    Parameters.Alpha := 0.06;
    Parameters.Delta := 0.06;
    Parameters.Gamma := 0.01;
    // Сохраняем изменения
    (Model As IMetabaseObject).Save();
End Sub;

См. также:

IMsExponentialSmoothingTransform