IEmCurveEstimationSettings.Explained

Синтаксис Fore

Explained: IEmSerie;

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

Explained: Prognoz.Platform.Interop.Modeller.IEmSerie;

Описание

Свойство Explained определяет объясняемый ряд.

Комментарии

Если не задан объясняемый ряд, то корректный расчёт метода «Подбор зависимости» невозможен.

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компонент CheckBox с идентификатором «CheckBox1». Добавьте ссылки на системные сборки «Modeller», «Stat».

Sub CurveEstimation;
Var
    ExprMod: IExpressModeller;
    Ar: Array[14Of Double;
    Serie: IEmSerie;
    Sett: IEmCurveEstimationSettings;
Begin
    ExprMod := New ExpressModeller.Create;
    Sett := ExprMod.CreateCurveEstimationSettings;
    // Задаем объясняемый ряд
    Ar[0] := 56; Ar[1] := 45; Ar[2] := 23; Ar[3] := 45;
    Ar[4] := 65; Ar[5] := 23; Ar[6] := 54; Ar[7] := 87;
    Ar[8] := 67; Ar[9] := 98; Ar[10] := 89; Ar[13] := 79;
    Ar[11] := Double.Nan; Ar[12] := Double.Nan;
    Serie := ExprMod.Series.Add(Ar, "X1""Ряд данных 1");
    Sett.Explained := Serie;
    If CheckBox1.Checked Then
        // Задаем объясняющий ряд
        Ar[0] := 58; Ar[1] := 50; Ar[2] := 26; Ar[4] := 72;
        Ar[5] := 28; Ar[6] := 62; Ar[7] := 95; Ar[8] := 74;
        Ar[10] := 94; Ar[11] := 100; Ar[12] := 54; Ar[13] := 81;
        Ar[3] := Double.Nan; Ar[9] := Double.Nan;
        Serie := ExprMod.Series.Add(Ar, "X2""Ряд данных 2");
        Sett.ExplanatoryIsTrend := False;
        Sett.Explanatory := Serie;
    Else
        Sett.ExplanatoryIsTrend := True;
        // Задаем первую точку объясняющего ряда времени
        Sett.ReferencePoint := 2;
    End If;
    // Задаем исследуемые формы зависимостей
    Sett.DependenceForm(DependenceType.Linear) := False;
    Sett.DependenceForm(DependenceType.Logistic) := False;
    // Задаем критерий выбора лучшей модели
    Sett.Criterion := DependenceCriterion.R2Adj;
    // Задаем степень полинома
    Sett.PolynomOrder := 4;
    // Задаем тип сезонности
    Sett.Seasonality := SeasonalityType.Additive;
    // Задаем период сезонности
    Sett.SeasonalityCycle := 4;
    //Задаем период расчёта
    Sett.Period.BeginPeriod := 0;
    Sett.Period.EndPeriod := 13;
    // Выполняем расчёт
    ExprMod.EvaluateMethod("C:\CurveEstimation.html", Sett, True);
End Sub CurveEstimation;

Результат выполнения примера: будет выполнен расчёт метода «Подбор зависимости» по заданным параметрам. Если флажок «CheckBox1» снят, то в качестве объясняющего ряда будет использован тренд; если флажок установлен - то будут использованы указанные значения объясняющего ряда. Отчёт о расчёте будет сохранен в файл «C:\CurveEstimation.html».

Пример Fore.NET

Для выполнения примера предполагается наличие формы, содержащей компонент CheckBox с идентификатором «checkBox1».

Imports Prognoz.Platform.Interop.Modeller;
Imports Prognoz.Platform.Interop.Stat;

Public Sub CurveEstimation();
Var
    ExprMod: IExpressModeller;
    Ar: Array[14Of Double;
    Serie: IEmSerie;
    Sett: IEmCurveEstimationSettings;
Begin
    ExprMod := New ExpressModeller.Create();
    Sett := ExprMod.CreateCurveEstimationSettings();
    // Задаем объясняемый ряд
    Ar[0] := 56; Ar[1] := 45; Ar[2] := 23; Ar[3] := 45;
    Ar[4] := 65; Ar[5] := 23; Ar[6] := 54; Ar[7] := 87;
    Ar[8] := 67; Ar[9] := 98; Ar[10] := 89; Ar[13] := 79;
    Ar[11] := Double.Nan; Ar[12] := Double.Nan;
    Serie := ExprMod.Series.Add(Ar, "X1""Ряд данных 1");
    Sett.Explained := Serie;
    If checkBox1.Checked Then
        // Задаем объясняющий ряд
        Ar[0] := 58; Ar[1] := 50; Ar[2] := 26; Ar[4] := 72;
        Ar[5] := 28; Ar[6] := 62; Ar[7] := 95; Ar[8] := 74;
        Ar[10] := 94; Ar[11] := 100; Ar[12] := 54; Ar[13] := 81;
        Ar[3] := Double.Nan; Ar[9] := Double.Nan;
        Serie := ExprMod.Series.Add(Ar, "X2""Ряд данных 2");
        Sett.ExplanatoryIsTrend := False;
        Sett.Explanatory := Serie;
    Else
        Sett.ExplanatoryIsTrend := True;
        // Задаем первую точку объясняющего ряда времени
        Sett.ReferencePoint := 2;
    End If;
    // Задаем исследуемые формы зависимостей
    Sett.DependenceForm[DependenceType.dtLinear] := False;
    Sett.DependenceForm[DependenceType.dtLogistic] := False;
    // Задаем критерий выбора лучшей модели
    Sett.Criterion := DependenceCriterion.dctR2Adj;
    // Задаем степень полинома
    Sett.PolynomOrder := 4;
    // Задаем тип сезонности
    Sett.Seasonality := SeasonalityType.sstAdditive;
    // Задаем период сезонности
    Sett.SeasonalityCycle := 4;
    //Задаем период расчёта
    Sett.Period.BeginPeriod := 0;
    Sett.Period.EndPeriod := 13;
    // Выполняем расчёт
    ExprMod.EvaluateMethod("C:\CurveEstimation.html", Sett, True);
End Sub CurveEstimation;

Результат выполнения примера: будет выполнен расчёт метода «Подбор зависимости» по заданным параметрам. Если флажок «checkBox1» снят, то в качестве объясняющего ряда будет использован тренд; если флажок установлен - то будут использованы указанные значения объясняющего ряда. Отчёт о расчёте будет сохранен в файл «C:\CurveEstimation.html».

См. также:

IEmCurveEstimationSettings