Period: IStatPeriod;
Свойство Period возвращает параметры периода идентификации модели.
Sub Main;
Var
y: Array[11] Of Double;
x1: Array[21] Of Double;
AR_Y: Array[1] Of Integer;
AR_X: Array[1] Of Integer;
i, Res: Integer;
ArrRes: Array Of Double;
d: Double;
CointegrEq: ISmCointegrationEq;
Eq: ISlEquation;
Begin
//Эндогенная
y[00] := 95;
y[01] := 45;
y[02] := 22;
y[03] := -36;
y[04] := 10;
y[05] := -15;
y[06] := 36;
y[07] := -10;
y[08] := -36;
y[09] := -44;
y[10] := -7;
//Экзогенная
x1[00] := 6;
x1[01] := 8;
x1[02] := 10;
x1[03] := 5;
x1[04] := 3;
x1[05] := 6;
x1[06] := 3;
x1[07] := 7;
x1[08] := 8;
x1[09] := 10;
x1[10] := 5;
x1[11] := 2;
x1[12] := 1;
x1[13] := 1;
x1[14] := 3;
x1[15] := 4;
x1[16] := 7;
x1[17] := 4;
x1[18] := 7;
x1[19] := 4;
x1[20] := 3;
CointegrEq := New SmCointegrationEq.Create;
Eq := CointegrEq.Equation;
//Эндогенная переменная
Eq.Serie.Value := y;
//Экзогенная переменная
Eq.ExogenousVariables.Add.Value := x1;
AR_Y[0] := 1;
AR_X[0] := 0;
//Порядок авторегрессии эндогенной переменных
CointegrEq.SerieAROrder := AR_Y;
//Порядок авторегрессии экзогенных переменных
Eq.AutoRegressionOrder := AR_X;
//Период идентификации
CointegrEq.Period.FirstPoint := 0;
CointegrEq.Period.LastPoint := 11;
//Прогноз
Eq.Forecast.LastPoint := 21;
Res := CointegrEq.Execute;
If Res = 0 Then
Debug.WriteLine("Прогноз:");
ArrRes := Eq.Forecast.Value;
For i := CointegrEq.Period.LastPoint To ArrRes.Length - 1 Do
d := ArrRes[i];
Debug.WriteLine(i.ToString + ": " + d.ToString);
End For;
Else
Debug.WriteLine("Статус выполнения: " + Res.ToString);
Debug.WriteLine("Ошибка: " + CointegrEq.Errors);
End If;
End Sub Main;
После выполнения примера будут настроены параметры метода коррекции ошибок. Будут добавлены эндогенная и экзогенная переменные. Настроены порядки авторегрессии и установлен период идентификации и прогнозирования. После расчета в консоль будет выведен прогнозный ряд:
Module execution started
Прогноз:
11: 3.8109154749118828
12: 5.8915796145109756
13: 2.9193075844921248
14: -2.0927950952500094
15: -1.9411479676981187
16: -5.2947133930186716
17: 4.6203573190162439
18: -2.9101587425041835
19: 6.4280050833324109
20: 4.1617782332854025
Module execution finished
См. также: