Explained: IEmSerie;
Explained: Prognoz.Platform.Interop.Modeller.IEmSerie;
Свойство Explained определяет объясняемую переменную.
Если не задана объясняемая переменная, то корректный расчёт метода «ARIMA» невозможен.
Для выполнения примера добавьте ссылки на системные сборки «Modeller», «Stat».
Sub ARIMACalc;
Var
ExprMod: IExpressModeller;
Serie: IEmSerie;
Ar: Array[14] Of Double;
Sett: IEmARIMASettings;
MisData: IEmMissingDataSettings;
Period: IEmPeriodSettings;
Begin
ExprMod := New ExpressModeller.Create;
Ar[0] := 56; Ar[1] := 45; Ar[2] := 23; Ar[3] := 45;
Ar[4] := 65; Ar[5] := 23; Ar[6] := 54; Ar[7] := 87;
Ar[8] := 67; Ar[9] := 98; Ar[10] := 89; Ar[13] := 79;
Ar[11] :=Double.Nan; Ar[12] :=Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X1", "Ряд данных 1");
Sett := ExprMod.CreateARIMASettings;
// Задаем объясняемый ряд
Sett.Explained := Serie;
// Задаем константу
Sett.ConstantEstimate := 2.7;
// Задаем несезонные параметры
Sett.AutoRegressOrder := 2;
Sett.DifferenceOrder := 1;
Sett.MovingAverageOrder := 1;
// Задаем сезонные параметры
Sett.SeasonalAutoRegressOrder := 1;
Sett.SeasonalCycle := 4;
Sett.SeasonalDifferenceOrder := 1;
Sett.SeasonalMovingAverageOrder := 1;
// Задаем максимальное число итераций
Sett.MaximumIterations := 60;
// Задаем метод обработки пропусков
MisData := Sett.MissingData;
MisData.Method := MissingDataMethod.NPointsAverage;
MisData.Parameter := 3;
// Задаем периоды расчёта
Period := Sett.Period;
Period.BeginPeriod := 0;
Period.EndPeriod := 13;
Period.EndFore := 4;
// Выполняем расчёт
ExprMod.EvaluateMethod("C:\ARIMA.html", Sett, True);
End Sub ARIMACalc;
Результат выполнения примера: будет выполнен расчёт метода «ARIMA» по заданным параметрам, отчёт о расчёте будет сохранен в файл «C:\ARIMA.html».
Imports Prognoz.Platform.Interop.Modeller;
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub Main(Params: StartParams);
Var
ExprMod: IExpressModeller;
Serie: IEmSerie;
Ar: Array[14] Of Double;
Sett: IEmARIMASettings;
MisData: IEmMissingDataSettings;
Period: IEmPeriodSettings;
Begin
ExprMod := New ExpressModeller.Create();
Ar[0] := 56; Ar[1] := 45; Ar[2] := 23; Ar[3] := 45;
Ar[4] := 65; Ar[5] := 23; Ar[6] := 54; Ar[7] := 87;
Ar[8] := 67; Ar[9] := 98; Ar[10] := 89; Ar[13] := 79;
Ar[11] :=Double.Nan; Ar[12] :=Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X1", "Ряд данных 1");
Sett := ExprMod.CreateARIMASettings();
// Задаем объясняемый ряд
Sett.Explained := Serie;
// Задаем константу
Sett.ConstantEstimate := 2.7;
// Задаем несезонные параметры
Sett.AutoRegressOrder := 2;
Sett.DifferenceOrder := 1;
Sett.MovingAverageOrder := 1;
// Задаем сезонные параметры
Sett.SeasonalAutoRegressOrder := 1;
Sett.SeasonalCycle := 4;
Sett.SeasonalDifferenceOrder := 1;
Sett.SeasonalMovingAverageOrder := 1;
// Задаем максимальное число итераций
Sett.MaximumIterations := 60;
// Задаем метод обработки пропусков
MisData := Sett.MissingData;
MisData.Method := MissingDataMethod.mdmNPointsAverage;
MisData.Parameter := 3;
// Задаем периоды расчёта
Period := Sett.Period;
Period.BeginPeriod := 0;
Period.EndPeriod := 13;
Period.EndFore := 4;
// Выполняем расчёт
ExprMod.EvaluateMethod("C:\ARIMA.html", Sett, True);
End Sub;
Результат выполнения примера: будет выполнен расчёт метода «ARIMA» по заданным параметрам, отчёт о расчёте будет сохранен в файл «C:\ARIMA.html».
См. также: