ISmHodrickPrescottFilter.SummaryStatistics

Синтаксис Fore

SummaryStatistics: ISummaryStatistics;

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

SummaryStatistics: Prognoz.Platform.Interop.Stat.ISummaryStatistics;

Описание

Свойство SummaryStatistics возвращает статистические характеристики.

Пример Fore

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

Sub UserProc;
Var
    HP: SmHodrickPrescottFilter;
    s: Array Of Double;
    res: Integer;
    d: Double;
    Sub Print(Data: Array Of Double);
    Var
        i: Integer;
        CI: ICultureInfo;
    Begin
        CI := CultureInfo.Current;
        Debug.WriteLine("---Begin---");
        For i := 0 To Data.Length - 1 Do
            If Double.IsNan(Data[i]) Then
                Debug.WriteLine("---empty---");
            Else
                Debug.WriteLine(i.ToString + ". " + CI.FormatDoublePrec(Data[i], 4));
            End If;
        End For;
        Debug.WriteLine("---End---");
    End Sub Print;
Begin
    s := New Double[15];
    //значения s
    s[00] := 670.2; s[01] := 576.06; s[02] := 717.64;
    s[03] := 856.9; s[04] := 885.4; s[05] := 1011;
    s[06] := 995.44; s[07] := 1064.74; s[08] := 1033.3;
    s[09] := 780.8; s[10] := 657.5; s[11] := 654.5;
    s[12] := 678.23; s[13] := 642.41; s[14] := 751.9;
    HP := New SmHodrickPrescottFilter.Create;
    HP.Serie.Value := s;
    HP.ModelPeriod.FirstPoint := 1;
    HP.ModelPeriod.LastPoint := 15;
    HP.MissingData.Method := MissingDataMethod.SampleAverage;
    HP.SmoothingParameter := 10;
    res := HP.Execute;
    If res <> 0 Then
        Debug.WriteLine(HP.Errors);
    Else
        Debug.WriteLine("Статистические характеристики");
        d := HP.SummaryStatistics.SEE;
        Debug.WriteLine("  - стандартное отклонение остатков: " + d.ToString);
        d := HP.SummaryStatistics.ME;
        Debug.WriteLine("  - среднее остатков: " + d.ToString);
        Debug.WriteLine("Остатки");
        Print(HP.Residuals);
    End If;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Print(Data: System.Array);
Var
    i: Integer;
Begin
    System.Diagnostics.Debug.WriteLine("---Begin---");
    For i := 0 To Data.Length - 1 Do
        If Double.IsNan(Data.GetValue(i) As Double) Then
            System.Diagnostics.Debug.WriteLine("---empty---");
        Else
            System.Diagnostics.Debug.WriteLine(i.ToString() + ". " + Data.GetValue(i).ToString());
        End If;
    End For;
    System.Diagnostics.Debug.WriteLine("---End---");
End Sub Print;
    
Public Shared Sub Main(Params: StartParams);
Var
    HP: SmHodrickPrescottFilter;
    s: Array Of Double;
    res: Integer;
    d: Double;
Begin
    s := New Double[15];
    // Задаём значения переменной
    s[00] := 670.2; s[01] := 576.06; s[02] := 717.64;
    s[03] := 856.9; s[04] := 885.4; s[05] := 1011;
    s[06] := 995.44; s[07] := 1064.74; s[08] := 1033.3;
    s[09] := 780.8; s[10] := 657.5; s[11] := 654.5;
    s[12] := 678.23; s[13] := 642.41; s[14] := 751.9;
    HP := New SmHodrickPrescottFilter.Create();
    HP.Serie.Value := s;
    // Задаём период идентификации
    HP.ModelPeriod.FirstPoint := 1;
    HP.ModelPeriod.LastPoint := 15;
    // Задаём метод обработки пропусков
    HP.MissingData.Method := MissingDataMethod.mdmSampleAverage;
    // Задаём параметр сглаживания
    HP.SmoothingParameter := 10;
    // Выполняем расчёт метода и выводим результаты
    res := HP.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.WriteLine(HP.Errors);
    Else
        System.Diagnostics.Debug.WriteLine("Статистические характеристики");
        d := HP.SummaryStatistics.SEE;
        System.Diagnostics.Debug.WriteLine("  - стандартное отклонение остатков: " + d.ToString());
        d := HP.SummaryStatistics.ME;
        System.Diagnostics.Debug.WriteLine("  - среднее остатков: " + d.ToString());
        System.Diagnostics.Debug.WriteLine("Остатки");
        Print(HP.Residuals);
    End If;
End Sub;

См. также:

ISmHodrickPrescottFilter