ISmLinearEquations.Explained

Синтаксис Fore

Explained: ISlSerie;

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

Explained: Prognoz.Platform.Interop.Stat.ISlSerie;

Описание

Свойство Explained возвращает объясняемый ряд.

Комментарии

Для получения объясняющих рядов используйте свойство ISmLinearEquations.Explanatories.

Пример Fore

Добавьте ссылку на системную сборку Stat.

Sub UserProc;
Var
    Method: ISmLinearEquations;
    ExplainedVal, Exp1, Exp2, Exp3, Exp4, Exp5: Array[10Of Double;
    ExplanatoriesVal: ISlSeries;
    Status, i: Integer;
    Estimate: Array Of Double;
Begin
    Method := New SmLinearEquations.Create;
    // Значения объясняемого ряда
    ExplainedVal[00] := -3;
    ExplainedVal[01] := 12;
    ExplainedVal[02] := Double.Nan;
    ExplainedVal[03] := Double.Nan;
    ExplainedVal[04] := 276;
    ExplainedVal[05] := -15;
    ExplainedVal[06] := 82;
    ExplainedVal[07] := 86;
    ExplainedVal[08] := 8;
    ExplainedVal[09] := 72;
    // Значения объясняющих рядов
    Exp1[00] := 1;  Exp2[00] := -1;  Exp3[00] := 3;  Exp4[00] := 1;  Exp5[00] := -3;
    Exp1[01] := 2;  Exp2[01] := -9;  Exp3[01] := 2;  Exp4[01] := 3;  Exp5[01] := 2;
    Exp1[02] := 3;  Exp2[02] := -8;  Exp3[02] := 3;  Exp4[02] := 3;  Exp5[02] := 4;
    Exp1[03] := 4;  Exp2[03] := 11;  Exp3[03] := 7;  Exp4[03] := 11; Exp5[03] := -1;
    Exp1[04] := 5;  Exp2[04] := 99;  Exp3[04] := 4;  Exp4[04] := 9;  Exp5[04] := 5;
    Exp1[05] := 6;  Exp2[05] := -12; Exp3[05] := 3;  Exp4[05] := 6;  Exp5[05] := -6;
    Exp1[06] := 7;  Exp2[06] := -4;  Exp3[06] := 7;  Exp4[06] := 8;  Exp5[06] := 6;
    Exp1[07] := 8;  Exp2[07] := -3;  Exp3[07] := 2;  Exp4[07] := 12; Exp5[07] := 6;
    Exp1[08] := 9;  Exp2[08] := -2;  Exp3[08] := -1; Exp4[08] := 4;  Exp5[08] := -2;
    Exp1[09] := 10; Exp2[09] := -1;  Exp3[09] := 2;  Exp4[09] := 7;  Exp5[09] := 6;
    Method.Explained.Value := ExplainedVal;
    ExplanatoriesVal := Method.Explanatories;
    ExplanatoriesVal.Add.Value := Exp1;
    ExplanatoriesVal.Add.Value := Exp2;
    ExplanatoriesVal.Add.Value := Exp3;
    ExplanatoriesVal.Add.Value := Exp4;
    ExplanatoriesVal.Add.Value := Exp5;
    Method.ModelPeriod.FirstPoint := 1;
    Method.ModelPeriod.LastPoint := 6;
    Method.ModelCoefficients.Intercept.Mode := InterceptMode.AutoEstimate;
    Method.MissingData.Method := MissingDataMethod.SampleAverage;
    Status := Method.Execute;
    Debug.WriteLine(Method.Errors);
    Debug.WriteLine("=== Оцененные значения коэффициентов ===");
    Estimate := Method.ModelCoefficients.Coefficients.Estimate;
    For i := 0 To Estimate.Length - 1 Do
        Debug.WriteLine((i+1).ToString + ". " + Estimate[i].ToString);
    End For;
End Sub UserProc;

После выполнения примера, в окно консоли будут выведены оцененные значения коэффициентов.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    Method: ISmLinearEquations;
    ExplainedVal, Exp1, Exp2, Exp3, Exp4, Exp5: Array[10Of Double;
    ExplanatoriesVal: ISlSeries;
    Status, i: Integer;
    Estimate: System.Array;
Begin
    Method := New SmLinearEquations.Create();
    // Значения объясняемого ряда
    ExplainedVal[00] := -3;
    ExplainedVal[01] := 12;
    ExplainedVal[02] := Double.Nan;
    ExplainedVal[03] := Double.Nan;
    ExplainedVal[04] := 276;
    ExplainedVal[05] := -15;
    ExplainedVal[06] := 82;
    ExplainedVal[07] := 86;
    ExplainedVal[08] := 8;
    ExplainedVal[09] := 72;
    // Значения объясняющих рядов
    Exp1[00] := 1;  Exp2[00] := -1;  Exp3[00] := 3;  Exp4[00] := 1;  Exp5[00] := -3;
    Exp1[01] := 2;  Exp2[01] := -9;  Exp3[01] := 2;  Exp4[01] := 3;  Exp5[01] := 2;
    Exp1[02] := 3;  Exp2[02] := -8;  Exp3[02] := 3;  Exp4[02] := 3;  Exp5[02] := 4;
    Exp1[03] := 4;  Exp2[03] := 11;  Exp3[03] := 7;  Exp4[03] := 11; Exp5[03] := -1;
    Exp1[04] := 5;  Exp2[04] := 99;  Exp3[04] := 4;  Exp4[04] := 9;  Exp5[04] := 5;
    Exp1[05] := 6;  Exp2[05] := -12; Exp3[05] := 3;  Exp4[05] := 6;  Exp5[05] := -6;
    Exp1[06] := 7;  Exp2[06] := -4;  Exp3[06] := 7;  Exp4[06] := 8;  Exp5[06] := 6;
    Exp1[07] := 8;  Exp2[07] := -3;  Exp3[07] := 2;  Exp4[07] := 12; Exp5[07] := 6;
    Exp1[08] := 9;  Exp2[08] := -2;  Exp3[08] := -1; Exp4[08] := 4;  Exp5[08] := -2;
    Exp1[09] := 10; Exp2[09] := -1;  Exp3[09] := 2;  Exp4[09] := 7;  Exp5[09] := 6;
    Method.Explained.Value := ExplainedVal;
    ExplanatoriesVal := Method.Explanatories;
    ExplanatoriesVal.Add().Value := Exp1;
    ExplanatoriesVal.Add().Value := Exp2;
    ExplanatoriesVal.Add().Value := Exp3;
    ExplanatoriesVal.Add().Value := Exp4;
    ExplanatoriesVal.Add().Value := Exp5;
    Method.ModelPeriod.FirstPoint := 1;
    Method.ModelPeriod.LastPoint := 6;
    Method.ModelCoefficients.Intercept.Mode := InterceptMode.imAutoEstimate;
    Method.MissingData.Method := MissingDataMethod.mdmSampleAverage;
    Status := Method.Execute();
    System.Diagnostics.Debug.WriteLine(Method.Errors);
    System.Diagnostics.Debug.WriteLine("=== Оцененные значения коэффициентов ===");
    Estimate := Method.ModelCoefficients.Coefficients.Estimate;
    For i := 0 To Estimate.Length - 1 Do
        System.Diagnostics.Debug.WriteLine((i+1).ToString() + ". " + Estimate[i].ToString());
    End For;
End Sub;

См. также:

ISmLinearEquations