ADFStat:IUnitRootTestStatistic;
Свойство ADFStat возвращает значение статистики расширенного теста Дики-Фуллера.
Для получения статистических характеристик используйте свойство ISmAugmentDickeyFullerTest.SummaryStatistics.
Для выполнения примера добавьте ссылку на системную сборку «Stat».
Sub UserProc;
Var
ADF: SmAugmentDickeyFullerTest;
ADFASS: IAutomaticLagSelectionSettings;
SumStat: ISummaryStatistics;
i, res: Integer;
can: Array[43] Of Double;
Begin
ADF := New SmAugmentDickeyFullerTest.Create;
// Задаем значения переменных
can[0] := 6209; can[1] := 6385; can[2] := Double.Nan; can[3] := 6837; can[4] := 6495;
can[5] := 6907; can[6] := 7349; can[7] := 7213; can[8] := 7061; can[9] := 7180;
can[10] := 7132; can[11] := 7137; can[12] := 7473; can[13] := 7722; can[14] := 8088;
can[15] := 8516; can[16] := 8941; can[17] := 9064; can[18] := 9380; can[19] := 9746;
can[20] := 9907; can[21] := 10333; can[22] := 10863; can[23] := 11693; can[24] := 12242;
can[25] := 12227; can[26] := 12910; can[27] := 13049; can[28] := 13384; can[29] := 14036;
can[30] := 14242; can[31] := 14704; can[32] := 13802; can[33] := 14197; can[34] := 15010;
can[35] := 15589; can[36] := 15932; can[37] := 16631; can[38] := 17394; can[39] := 17758;
can[40] := 17308; can[41] := 16444; can[42] := 16413;
// Тестируемый ряд данных
ADF.Serie.Value := can;
// Метод обработки пропусков
ADF.MissingData.Method := MissingDataMethod.LinTrend;
// Период идентификации
ADF.ModelPeriod.FirstPoint := 1;
ADF.ModelPeriod.LastPoint := 43;
// Спецификация модели
ADF.EquationType := ADFEquationType.ConstantTrend;
// Применяется автоподбор лага
ADF.UseAutomaticAROrderSelection := True;
// Параметры автоподбора лага
ADFASS := ADF.AutomaticAROrderSelectionSettings;
ADFASS.InformationCriterion := InformationCriterionType.Akaike;
ADFASS.MaxLagLength := 9;
// Тип проверяемого ряда
ADF.TestedSeries := ADFTestedSeriesType.Level;
res := ADF.Execute;
If res = 0 Then
Debug.WriteLine("===Статистика расширенного теста Дики-Фуллера===");
Debug.WriteLine("Значение статистики: " + ADF.ADFStat.Statistic.ToString);
Debug.WriteLine("Значение вероятности: " + ADF.ADFStat.Probability.ToString);
Debug.WriteLine("Критические значения");
Debug.Indent;
For i := 0 To ADF.ADFStat.CriticalValues.Length - 1 Do
Debug.Write(i.ToString + " ");
Debug.WriteLine(ADF.ADFStat.CriticalValues[i]);
End For;
Debug.Unindent;
Else
Debug.WriteLine(ADF.Errors);
End If;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены результаты расчета расширенного теста Дики-Фуллера.
См. также: