ISmArima.MissingData

Синтаксис

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

См. также:

ISmArima