QStatistics: Array;
Свойство QStatistics возвращает Q-статистику Люнга-Бокса.
Sub Main;
Var
AC: SmAutoCorrelation;
d0,d3,d4: Double;
i, res: Integer;
s: Array Of Double;
Begin
s := New Double[25];
//значения s
s[00] := 4110;
s[01] := 4280;
s[02] := 4459;
s[03] := 4545;
s[04] := 4664;
s[05] := 4861;
s[06] := 5195;
s[07] := 5389;
s[08] := 5463;
s[09] := 5610;
s[10] := 5948;
s[11] := 6218;
s[12] := 6521;
s[13] := 6788;
s[14] := 7222;
s[15] := 7486;
s[16] := 7832;
s[17] := 8153;
s[18] := 8468;
s[19] := 9054;
s[20] := 9499;
s[21] := 9866;
s[22] := 10217;
s[23] := 10763;
s[24] := 10683;
AC := New SmAutoCorrelation.Create;
AC.Serie.Value := s;
AC.ModelPeriod.FirstPoint := 1;
AC.ModelPeriod.LastPoint := 25;
AC.DifferenceOrder := 3;
AC.LagOrder := 10;
res := AC.Execute;
If res <> 0 Then
Debug.WriteLine(AC.Errors);
Else
d0 := AC.StandardError;
Debug.WriteLine("Стандартная ошибка: " + d0.ToString);
Debug.WriteLine(" Q-статистика, Вероятность");
For i := 1 To AC.AutoCorrelationFunction.Length Do
d3 := AC.QStatistics[i-1];
d4 := Ac.Probability[i-1];
Debug.WriteLine(i.ToString + ", " + d3.ToString + ", " + d4.ToString);
End For;
End If;
End Sub Main;
После выполнения примера в окно консоли будут выведены результаты расчетов:
Module execution started
Стандартная ошибка: 0.42640143271122083
Q-статистика, Вероятность
1, 3.6470295169099307, 0.94383082106387772
2, 3.6588818651748092, 0.83949672515273221
3, 4.2086288668212433, 0.76020040168033942
4, 6.9656026101252406, 0.86228282629230057
5, 7.1383901615350833, 0.78945023340062126
6, 7.4618537817907802, 0.71976359307491466
7, 7.6509808306458389, 0.63562652608893222
8, 8.9513808120350618, 0.65358597879869273
9, 11.430979720146002, 0.75268033364444065
10, 11.788215843478905, 0.70051949594376661
Module execution finished
См. также: