IMsMethod.CalculateSeries

Синтаксис

CalculateSeries(

Calculation: IMsMethodCalculation;

Coord: IMsFormulaTransformCoord): IMsTransformSeries;

Параметры

Calculation. Параметры расчета модели;

Coord. Разрез моделируемой переменной, для которого осуществляется расчет.

Описание

Свойство CalculateSeries возвращает данные, полученные в результате расчета модели.

Комментарии

Данный метод позволяет получить результаты расчета модели без расчета всей задачи. Метод позволяет получить результаты расчета следующих видов моделей:

Пример

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «MODEL_SPACE». В контейнере присутствует модель с идентификатором «MODEL_LINREG». Модель использует для расчета метод линейной регрессии (оценка МНК).

Sub Main;
Var MB: IMetabase;
    Model: IMsModel;
    Transform: IMsFormulaTransform;
    VarTrans: IMsFormulaTransformVariable;
    Tree: IMsFormulaTransformSlicesTree;
    Slice: IMsFormulaTransformSlice;
    Selector: IMsFormulaTransformSelector;
    Formula: IMsFormula;
    LinReg: IMsLinearRegressionTransform;
    Coord: IMsFormulaTransformCoord;
    Calc: IMsModelCalculation;
    CalcRes: IMsTransformSeries;
    d: Double;
Begin
    MB := MetabaseClass.Active;
    Model := MB.ItemByIdNamespace("MODEL_LINREG", MB.ItemById("MODEL_SPACE").Key).Bind As IMsModel;
    Transform := Model.Transform;
    VarTrans := Transform.Outputs.Item(0);
    Tree := VarTrans.SlicesTree(VarTrans);
    Slice := Tree.CreateSlice(1);
    Selector := Transform.CreateSelector;
    Selector.Slice := Slice;
    Formula := Transform.Transform(Selector);
    LinReg := Formula.Method As IMsLinearRegressionTransform;
    Coord := Transform.CreateCoord(VarTrans);
    Calc := Model.CreateCalculation;
    Calc.Period.IdentificationStartDate := DateTime.ComposeDay(20000101);
    Calc.Period.IdentificationEndDate := DateTime.ComposeDay(20051231);
    Calc.Period.ForecastStartDate := DateTime.ComposeDay(20060101);
    Calc.Period.ForecastEndDate := DateTime.ComposeDay(20101231);
    CalcRes := LinReg.CalculateSeries(Calc As IMsMethodCalculation, Coord);

    Debug.WriteLine("Исходный ряд");
    For Each d In CalcRes.Fact Do
        Debug.Write(d.ToString + " ");
    End For;
    Debug.WriteLine("");

    Debug.WriteLine("Моделируемый ряд");
    For Each d In CalcRes.Modelling Do
        Debug.Write(d.ToString + " ");
    End For;
    Debug.WriteLine("");

    Debug.WriteLine("Прогноз");
    For Each d In CalcRes.Forecast Do
        Debug.Write(d.ToString + " ");
    End For;
    Debug.WriteLine("");

    Debug.WriteLine("Остатки");
    For Each d In CalcRes.Residuals Do
        Debug.Write(d.ToString + " ");
    End For;
End Sub Main;

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

См. также:

IMsMethod