MissingData: IMissingData;
Свойство MissingData определяет параметры обработки пропусков.
Подробное описание методов обработки пропусков приведено в соответствующем разделе библиотеки методов и моделей.
Sub Main;
Var
Arima: SmArima;
serie: Array Of Double;
status: Integer;
Specification: IArimaSpecification;
Intercept: IIntercept;
Sub Print(Data: Array Of Double);
Var
i: Integer;
CI: ICultureInfo;
Begin
CI := CultureInfo.Current;
Debug.WriteLine("---Begin---");
For i := 0 To Data.Length - 1 Do
If Double.IsNan(Data[i]) Then
Debug.WriteLine("---empty---");
Else Debug.WriteLine(CI.FormatDoublePrec(Data[i], 4));
End If;
End For;
Debug.WriteLine("---End---");
End Sub Print;
Begin
Arima := New SmArima.Create;
serie := New Double[14];
serie[0] := 0;
serie[1] := 0;
serie[2] := 0.878471616;
serie[3] := 0.85401205;
serie[4] := 3.785177462;
serie[5] := 1.28083579;
serie[6] := 5.345764494;
serie[7] := 4.237308214;
serie[8] := 4.864879297;
serie[9] := 7.765499027;
serie[10] := Double.Nan;
serie[11] := Double.Nan;
serie[12] := 2.512417383;
serie[13] := 3.382746302;
arima.Serie.Value := serie;
arima.Forecast.LastPoint := 40;
arima.MissingData.Method := MissingDataMethod.LinInterpolation; //метода обработки пропусков - Линейная интерполяция по соседним точкам
Specification := arima.ArimaSpecification;
Specification.AutoRegressionOrder := 2;
Specification.MovingAverageOrder := 1;
Intercept := arima.ModelCoefficients.Intercept;
Intercept.Mode := InterceptMode.ManualEstimate;
Intercept.Estimate := 10;
status := arima.Execute;
Debug.WriteLine("Полученный ряд");
Print(Arima.Serie.Value);
Debug.WriteLine("Исходный ряд");
Print(Arima.Serie.OriginalValue);
End Sub Main;
После выполнения примера в окно консоли будут выведены ряд-оригинал и ряд, преобразованный с помощью метода обработки пропусков:
Module execution started
Полученный ряд
---Begin---
0,0000
0,0000
0,8785
0,8540
3,7852
1,2808
5,3458
4,2373
4,8649
7,7655
6,0145
4,2634
2,5124
3,3827
---End---
Исходный ряд
---Begin---
0,0000
0,0000
0,8785
0,8540
3,7852
1,2808
5,3458
4,2373
4,8649
7,7655
---empty---
---empty---
2,5124
3,3827
---End---
Module execution finished
См. также: