ISmSlideSmoothing.ModelPeriod

Синтаксис Fore

ModelPeriod: IStatPeriod;

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

ModelPeriod: Prognoz.Platform.Interop.Stat.IStatPeriod;

Описание

Свойство ModelPeriod определяет параметры периода идентификации.

Комментарии

Для определения параметров исходного ряда используйте свойство ISmSlideSmoothing.Serie.

Пример Fore

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

Sub UserProc;
Var
    Slide: SmSlideSmoothing;
    s, ar: Array Of Double;
    d: Double;
    res, i: Integer;
Begin
    Slide := New SmSlideSmoothing.Create;
    s := New Double[10];
    s[0] := 670.2;
    s[1] := 576.06;
    s[2] := 717.6;
    s[3] := 856.9;
    s[4] := 885.4;
    s[5] := 1011.8;
    s[6] := 995.44;
    s[7] := 1064.74;
    s[8] := 1033.3;
    s[9] := 780.8584552;
    Slide.Serie.Value := s;
    Slide.ModelPeriod.FirstPoint := 1;
    Slide.ModelPeriod.LastPoint := 10;
    Slide.Width := 3;
    Slide.CenterMovingAverage := True;
    res := Slide.Execute;
    If res <> 0 Then
        Debug.WriteLine(Slide.Errors);
        Else
            Debug.WriteLine("== Сглаженный ряд ==");
            ar := Slide.Fitted;
            For i := 0 To Slide.ModelPeriod.LastPoint - 1 Do
                d := ar[i];
                Debug.WriteLine(i.ToString + ". " + d.ToString);
            End For;
    End If;
End Sub UserProc;

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

== Сглаженный ряд ==

0, 1.#QNAN

1, 654.62

2, 716.85333333333335

3, 819.9666666666667

4, 918.0333333333333

5, 964.21333333333325

6, 1023.9933333333333

7, 1031.1600000000001

8, 959.63281840000002

9, 1.#QNAN

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    Slide: SmSlideSmoothing;
    s: Array[10Of Double;
    ar: System.Array;
    d: Double;
    res, i: Integer;
Begin
    Slide := New SmSlideSmoothing.Create();
    //s := New Double[10];
    s[0] := 670.2;
    s[1] := 576.06;
    s[2] := 717.6;
    s[3] := 856.9;
    s[4] := 885.4;
    s[5] := 1011.8;
    s[6] := 995.44;
    s[7] := 1064.74;
    s[8] := 1033.3;
    s[9] := 780.8584552;
    Slide.Serie.Value := s;
    Slide.ModelPeriod.FirstPoint := 1;
    Slide.ModelPeriod.LastPoint := 10;
    Slide.Width := 3;
    Slide.CenterMovingAverage := True;
    res := Slide.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.WriteLine(Slide.Errors);
        Else
            System.Diagnostics.Debug.WriteLine("== Сглаженный ряд ==");
            ar := Slide.Fitted;
            For i := 0 To Slide.ModelPeriod.LastPoint - 1 Do
                d := ar[i] As double;
                System.Diagnostics.Debug.WriteLine(i.ToString() + ". " + d.ToString());
            End For;
    End If;
End Sub;

См. также:

ISmSlideSmoothing