ISmx12arima.OutliersX11ao

Fore Syntax

Outliers11ao: ISlOutliers;

Fore.NET Syntax

Outliers11ao: Prognoz.Platform.Interop.Stat.ISlOutliers;

Description

The OutliersX11ao property returns the list of additive outliers, accounted for in the X11 stage.

Comments

To determine whether to account for the outliers in the procedure, use the ISmx12arima.OutliersDetection prooperty.

Fore Example

To execute the example, add a link to the Stat system assembly.

Sub UserProc;
Var
    cens: ISmX12ARIMA;
    y: Array[62Of Double;
    outlier: ICensus2PeriodBegin;
    i, res: Integer;
Begin
    cens := New SmX12ARIMA.Create;
    // explained series values
    y[0] :=  284; y[1] := 277;  y[2] := 338;  y[3] := 363;  y[4] := 370; y[5] := 388;
    y[6] :=  407; y[7] := 427;  y[8] := 368;  y[9] := 365;  y[10] := 353; y[11] := 375;
    y[12] := 248; y[13] := 263; y[14] := 322; y[15] := 396; y[16] := 412; y[17] := 451;
    y[18] := 457; y[19] := 457; y[20] := 463; y[21] := 443; y[22] := 411; y[23] := 398;
    y[24] := 335; y[25] := 321; y[26] := 393; y[27] := 418; y[28] := 431; y[29] := 499;
    y[30] := 583; y[31] := 578; y[32] := 497; y[33] := 519; y[34] := 528; y[35] := 508;
    y[36] := 422; y[37] := 439; y[38] := 494; y[39] := 539; y[40] := 559; y[41] := 603;
    y[42] := 627; y[43] := 612; y[44] := 548; y[45] := 480; y[46] := 385; y[47] := 428;
    y[48] := 307; y[49] := 273; y[50] := 334; y[51] := 390; y[52] := 415; y[53] := 453;
    y[54] := 450; y[55] := 479; y[56] := 420; y[57] := 387; y[58] := 381; y[59] := 414;
    y[60] := 335; y[61] := 326;
    /// General settings ///
    //Calculation period
    cens.ModelPeriod.FirstPoint := 1;
    cens.ModelPeriod.LastPoint := 62;
    // Choose explained variable
    cens.Serie.Value := y;
    //Quarters or months
    cens.SeasonalComponentCycleType := SeasonalityCycleType.Month;
    cens.StartPeriod.MonthOrQuarter := 2;
    cens.StartPeriod.Year := 2000;
    /// Seasonality settings ///
    //Seasonality type
    cens.SeasonalAdjustmentMode := SeasonalityTypeX12.Additive;
    //Seasonal filter
    cens.SeasonalFilter := SeasonalFilterType.Auto;
    /// Working day and holiday adjustments ///
    cens.AdjustmentOptions := AdjustmentOptionsX12Type.X11Step;
    // Working days adjustment
    cens.TradingDayEffects := TradingDayEffectsX12Type.Td;
    // Holiday adjustments
    cens.Easter.IsActive := True;
    cens.Easter.Day := 8;
    /// Outliers ///
    outlier := cens.OutliersX11ao.Add;
    outlier.Year := 2004;
    outlier.MonthOrQuarter := 2;
    outlier := cens.OutliersARIMArpbegin.Add;
    outlier.Year := 2002;
    outlier.MonthOrQuarter := 1;
    outlier := cens.OutliersARIMArpend.Add;
    outlier.Year := 2002;
    outlier.MonthOrQuarter := 5;
    /// Diagnostics ///
    // Analysis of seasonal components stability
    cens.StabilityAnalysisofSeasonals := StabilityAnalysisofSeasonalsX12Type.None;
    //Other
    cens.SpectralPlots := True;
    /// Calculate model ///
    res := cens.Execute;
    Debug.WriteLine(cens.Errors);
    For i := 0 To cens.WarningsCount - 1 Do
        Debug.WriteLine(cens.Warnings[i]);
    End For;
    If (res = 0Then
        Debug.WriteLine("=== Holiday adjustments ===");
        Debug.Indent;
        For i := 0 To cens.CombinedHolidayFactors.Length - 1 Do
            Debug.WriteLine(cens.CombinedHolidayFactors[i]);
        End For;
        Debug.Unindent;
        Debug.WriteLine("=== Spectral frequencies SP2 ===");
        Debug.Indent;
        For i := 0 To cens.SP2frequency.Length - 1 Do
            Debug.WriteLine(cens.SP2frequency[i]);
        End For;
        Debug.Unindent;
        Debug.WriteLine("=== Spectral densities SP2 ===");
        Debug.Indent;
        For i := 0 To cens.SP2spectr.Length - 1 Do
            Debug.WriteLine(cens.SP2spectr[i]);
        End For;
        Debug.Unindent;
    End If
End Sub UserProc;

After executing the example the X12 model is created, the console window displays:

Fore.NET Example

The requirements and result of the Fore.NET example execution match with those in the Fore example.

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    cens: ISmX12ARIMA;
    y: Array[62Of Double;
    outlier: ICensus2PeriodBegin;
    i, res: Integer;
    Warnings, CHFactors, SP2F, SP2S: System.Array;
Begin
    cens := New SmX12ARIMA.Create();
    // explained series values
    y[0] :=  284; y[1] := 277;  y[2] := 338;  y[3] := 363;  y[4] := 370; y[5] := 388;
    y[6] :=  407; y[7] := 427;  y[8] := 368;  y[9] := 365;  y[10] := 353; y[11] := 375;
    y[12] := 248; y[13] := 263; y[14] := 322; y[15] := 396; y[16] := 412; y[17] := 451;
    y[18] := 457; y[19] := 457; y[20] := 463; y[21] := 443; y[22] := 411; y[23] := 398;
    y[24] := 335; y[25] := 321; y[26] := 393; y[27] := 418; y[28] := 431; y[29] := 499;
    y[30] := 583; y[31] := 578; y[32] := 497; y[33] := 519; y[34] := 528; y[35] := 508;
    y[36] := 422; y[37] := 439; y[38] := 494; y[39] := 539; y[40] := 559; y[41] := 603;
    y[42] := 627; y[43] := 612; y[44] := 548; y[45] := 480; y[46] := 385; y[47] := 428;
    y[48] := 307; y[49] := 273; y[50] := 334; y[51] := 390; y[52] := 415; y[53] := 453;
    y[54] := 450; y[55] := 479; y[56] := 420; y[57] := 387; y[58] := 381; y[59] := 414;
    y[60] := 335; y[61] := 326;
    /// General settings ///
    //Calculation period
    cens.ModelPeriod.FirstPoint := 1;
    cens.ModelPeriod.LastPoint := 62;
    // Choose explained variable
    cens.Serie.Value := y;
    //Quarters or months
    cens.SeasonalComponentCycleType := SeasonalityCycleType.sctMonth;
    cens.StartPeriod.MonthOrQuarter := 2;
    cens.StartPeriod.Year := 2000;
    /// Seasonality settings ///
    //Seasonality type
    cens.SeasonalAdjustmentMode := SeasonalityTypeX12.stx12Additive;
    //Seasonal filter
    cens.SeasonalFilter := SeasonalFilterType.sftAuto;
    /// Working day and holiday adjustments ///
    cens.AdjustmentOptions := AdjustmentOptionsX12Type.aox12tX11Step;
    // Working days adjustment
    cens.TradingDayEffects := TradingDayEffectsX12Type.tdex12tTd;
    // Holiday adjustments
    cens.Easter.IsActive := True;
    cens.Easter.Day := 8;
    /// Outliers ///
    outlier := cens.OutliersX11ao.Add();
    outlier.Year := 2004;
    outlier.MonthOrQuarter := 2;
    outlier := cens.OutliersARIMArpbegin.Add();
    outlier.Year := 2002;
    outlier.MonthOrQuarter := 1;
    outlier := cens.OutliersARIMArpend.Add();
    outlier.Year := 2002;
    outlier.MonthOrQuarter := 5;
    /// Diagnostics ///
    // Analysis of seasonal components stability
    cens.StabilityAnalysisofSeasonals := StabilityAnalysisofSeasonalsX12Type.sasx12tNone;
    //Other
    cens.SpectralPlots := True;
    /// Calculate model ///
    res := cens.Execute();
    System.Diagnostics.Debug.WriteLine(cens.Errors);
    Warnings := cens.Warnings;
    For i := 0 To cens.WarningsCount - 1 Do
        System.Diagnostics.Debug.WriteLine(Warnings[i]);
    End For;
    If (res = 0Then
        System.Diagnostics.Debug.WriteLine("=== Holiday adjustments === ");
        System.Diagnostics.Debug.Indent();
        CHFactors := cens.CombinedHolidayFactors;
        For i := 0 To cens.CombinedHolidayFactors.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(CHFactors[i]);
        End For;
        System.Diagnostics.Debug.Unindent();
        System.Diagnostics.Debug.WriteLine("=== Spectral frequencies SP2 ===");
        System.Diagnostics.Debug.Indent();
        SP2F := cens.SP2frequency;
        For i := 0 To cens.SP2frequency.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(SP2F[i]);
        End For;
        System.Diagnostics.Debug.Unindent();
        System.Diagnostics.Debug.WriteLine("=== Spectral densities SP2 ===");
        System.Diagnostics.Debug.Indent();
        SP2S := cens.SP2spectr;
        For i := 0 To cens.SP2spectr.Length - 1 Do
            System.Diagnostics.Debug.WriteLine(SP2S[i]);
        End For;
        System.Diagnostics.Debug.Unindent();
    End If;
End Sub;

See also:

ISmx12arima