ISmAutoRegress.MissingData

Синтаксис Fore

MissingData: IMissingData;

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

MissingData: Prognoz.Platform.Interop.Stat.SlMissingData;

Описание

Свойство MissingData определяет параметры обработки пропусков.

Комментарии

По умолчанию обработка пропусков не выполняется.

Пример Fore

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

Sub UserProc;
Var
    ar: SmAutoRegress;
    res, i: Integer;
    y1: Array[24Of Double;
    AROrder: Array[3Of Integer;
Begin
    ar := New SmAutoRegress.Create;
    // значения y1
    y1[00] := 6209;  y1[01] := 6385;  y1[02] := 6752;
    y1[03] := 6837;  y1[04] := 6495;  y1[05] := Double.Nan;
    y1[06] := 7349;  y1[07] := 7213;  y1[08] := 7061;
    y1[09] := 7180;  y1[10] := 7528;  y1[11] := Double.Nan;
    y1[12] := 7228;  y1[13] := 7722;  y1[14] := 8088;
    y1[15] := 8516;  y1[16] := 8941;  y1[17] := Double.Nan;
    y1[18] := 9380;  y1[19] := 9746;  y1[20] := 9907;
    y1[21] := 10333; y1[22] := 10863; y1[23] := 11693;
    ar.Serie.Value := y1;
    ar.ModelPeriod.FirstPoint := 1;
    ar.ModelPeriod.LastPoint := 24;
    ar.Forecast.LastPoint := 35;
    AROrder[0] := 1;
    AROrder[1] := 3;
    AROrder[2] := 5;
    ar.AutoRegressionOrder := AROrder;
    ar.MissingData.Method := MissingDataMethod.SampleAverage;
    res := ar.Execute;
    If res <> 0 Then
        Debug.WriteLine(ar.Errors);
        Else
            Debug.WriteLine("=== Сглаженный ряд ===");
            Debug.Indent;
            For i := 0 To ar.Fitted.Length - 1 Do
                Debug.WriteLine(ar.Fitted[i]);
            End For;
            Debug.Unindent;
            Debug.WriteLine("=== Прогнозный ряд ===");
            Debug.Indent;
            For i := 0 To ar.Forecast.Value.Length - 1 Do
                Debug.WriteLine(ar.Forecast.Value[i]);
            End For;
            Debug.Unindent;
    End If
End Sub UserProc;

После выполнения примера в окно консоли будет выведен сглаженный и прогнозный ряд.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    ar: SmAutoRegress;
    res, i: Integer;
    y1: Array[24Of Double;
    AROrder: Array[3Of Integer;
    Fitted, Forecast: System.Array;
Begin
    ar := New SmAutoRegress.Create();
    // значения y1
    y1[00] := 6209;  y1[01] := 6385;  y1[02] := 6752;
    y1[03] := 6837;  y1[04] := 6495;  y1[05] := Double.Nan;
    y1[06] := 7349;  y1[07] := 7213;  y1[08] := 7061;
    y1[09] := 7180;  y1[10] := 7528;  y1[11] := Double.Nan;
    y1[12] := 7228;  y1[13] := 7722;  y1[14] := 8088;
    y1[15] := 8516;  y1[16] := 8941;  y1[17] := Double.Nan;
    y1[18] := 9380;  y1[19] := 9746;  y1[20] := 9907;
    y1[21] := 10333; y1[22] := 10863; y1[23] := 11693;
    ar.Serie.Value := y1;
    ar.ModelPeriod.FirstPoint := 1;
    ar.ModelPeriod.LastPoint := 24;
    ar.Forecast.LastPoint := 35;
    AROrder[0] := 1;
    AROrder[1] := 3;
    AROrder[2] := 5;
    ar.AutoRegressionOrder := AROrder;
    ar.MissingData.Method := MissingDataMethod.mdmSampleAverage;
    res := ar.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.WriteLine(ar.Errors);
        Else
            System.Diagnostics.Debug.WriteLine("=== Сглаженный ряд ===");
            System.Diagnostics.Debug.Indent();
            Fitted := ar.Fitted;
            For i := 0 To ar.Fitted.Length - 1 Do
                System.Diagnostics.Debug.WriteLine(Fitted[i]);
            End For;
            System.Diagnostics.Debug.Unindent();
            System.Diagnostics.Debug.WriteLine("=== Прогнозный ряд ===");
            System.Diagnostics.Debug.Indent();
            Forecast := ar.Forecast.Value;
            For i := 0 To ar.Forecast.Value.Length - 1 Do
                System.Diagnostics.Debug.WriteLine(Forecast[i]);
            End For;
            System.Diagnostics.Debug.Unindent();
    End If;
End Sub;

См. также:

ISmAutoRegress