ISmArima.Exogenous

Синтаксис

Exogenous: ISlSeries;

Описание

Свойство Exogenous определяет регрессоры метода ARIMA.

Пример

Sub Main;
Var
    ARIMA: SmArima;
    serie: Array Of Double;
    status, i: Integer;
    d0: Double;
Begin
    ARIMA := New SmArima.Create;
    serie := New Double[10];
    serie[0] := 1;
    serie[1] := 3;
    serie[2] := -4;
    serie[3] := -2;
    serie[4] := 0;
    serie[5] := 2;
    serie[6] := 1.5;
    serie[7] := 2;
    serie[8] := 6;
    serie[9] := 3;
    ARIMA.Serie.Value := serie;
    serie[0] := 10;
    serie[1] := 20;
    serie[2] := 12;
    serie[3] := 0;
    serie[4] := 0.5;
    serie[5] := 5;
    serie[6] := -1;
    serie[7] := -3;
    serie[8] := 15;
    serie[9] := 3;
    ARIMA.Exogenous.Add.Value := serie;
    serie[0] := 0.1;
    serie[1] := 1;
    serie[2] := 1.2;
    serie[3] := 4;
    serie[4] := 0.4;
    serie[5] := -0.25;
    serie[6] := -0.9;
    serie[7] := 0.5;
    serie[8] := 1.4;
    serie[9] := 2;
    ARIMA.Exogenous.Add.Value := serie;
    ARIMA.Forecast.LastPoint := 12;
    ARIMA.ArimaSpecification.AutoRegressionOrder := 0;
    ARIMA.ArimaSpecification.MovingAverageOrder := 1;
    ARIMA.ModelCoefficients.Intercept.Mode := InterceptMode.AutoEstimate;
    status := arima.Execute;
    Debug.WriteLine("===Статус===");
    Debug.WriteLine(status);
    Debug.WriteLine("=== Модельный ряд ===");
    For i := 0 To ARIMA.ModelPeriod.LastPoint - 1 Do
        d0 := ARIMA.Fitted[i];
        Debug.WriteLine(i.ToString + ", " + d0.ToString );
    End For;
End Sub Main;

После выполнения примера в окно консоли будет выведен следующий результат:

Module execution started
===Статус===
0
=== Модельный ряд ===
03.0756321286637736
17.3512600735230951
2, -4.0540062270203752
3, -2.293957275420059
4, -1.7010040885965296
50.58128919353766628
6, -0.012507362248614262
70.65629304795708876
85.6838335237773778
93
Module execution finished

См. также:

ISmArima