ISmCensus2.Holday

Синтаксис

Holday: Census2HolidayAdjType;

Описание

Свойство Holiday определяет, делать ли поправку на праздничные дни при расчете.

Комментарии

По умолчанию поправка на праздничные дни не производится, т.е. Holday = Census2HolidayAdjType.C2hatNone.

Пример

В примере описано задание параметров и расчет метода «X11» для ряда данных, заданного вещественным массивом «s». Для выполнения примера необходимо добавить ссылку на системную сборку «Stat».

Sub UserProc;
Var
    Census2: SmCensus2;
    res: Integer;
    s, w: Array Of 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[36];    s[12] := Double.Nan;     s[25] := 762.3903317;
    s[0] := 670.2000183;    s[13] := 642.4128544;    s[26] := 931.5707266;
    s[1] := 576.0680563;    s[14] := Double.Nan;     s[27] := 1026.666524;
    s[2] := 717.6484268;    s[15] := Double.Nan;     s[28] := 1114.124119;
    s[3] := 856.9105808;    s[16] := 884.5042879;    s[29] := 1099.626392;
    s[4] := 885.4609516;    s[17] := 1008.308908;    s[30] := 1189.16892;
    s[5] := 1011.846431;    s[18] := 1108.363628;    s[31] := 1092.343791;
    s[6] := 995.4496292;    s[19] := 1072.737175;    s[32] := 1087.503861;
    s[7] := 1064.74221;     s[20] := 1019.183752;    s[33] := 971.6522721;
    s[8] := 1033.324656;    s[21] := 895.5601672;    s[34] := 826.2502823;
    s[9] := 780.8584552;    s[22] := 811.0306101;    s[35] := 789.6322825;
    s[10] := 657.5033113;   s[23] := 756.601764;
    s[11] := 654.5472579;   s[24] := 826.6160466;
    Census2 := New SmCensus2.Create;
    Census2.Serie.Value := s;
    Census2.ModelPeriod.FirstPoint := 1;
    Census2.ModelPeriod.LastPoint := 36;
    Census2.MissingData.Method := MissingDataMethod.LinTrend;
    Census2.SeasonalComponent.Mode := SeasonalityType.Multiplicative;
    Census2.SeasonalComponentCycleType := SeasonalityCycleType.Month;
    W := New Double[7];    W[3] := 1.10;
    W[0] := 1.00;          W[4] := 0.90;
    W[1] := 1.00;          W[5] := 0.98;
    W[2] := 1.02;          W[6] := 1.00;
    Census2.DailyWeights := W;
    Census2.TraidingDaysAdjustment := TraidingDaysAdj.Auto;
    Census2.StartPeriod.Year := 1;
    Census2.StartPeriod.MonthOrQuarter := 1;
    Census2.Holday := Census2HolidayAdjType.C2hatEaster;
    Census2.SSAnalysis := True;
    res := Census2.Execute;
    If res<>0 Then
        Debug.WriteLine(census2.Errors);
    Else
        Debug.WriteLine("=== Ряд после априорной корректировки ===");
        Print(Census2.Results.B1);
        Debug.WriteLine("Сезонная составляющая");
        Print(Census2.Results.D10);
    End If;
End Sub UserProc;

После выполнения примера в окно консоли будут выведены результаты. При расчете будет сделана поправка на праздничный день (Пасха) и применены скользящие интервалы.

См. также:

ISmCensus2