MissingData: IMissingData;
MissingData: Prognoz.Platform.Interop.Stat.SlMissingData;
Свойство MissingData определяет параметры обработки пропусков.
По умолчанию обработка пропусков не выполняется.
Добавьте ссылку на системную сборку Stat.
Sub UserProc;
Var
GExtra: SmGeometricExtrapolation;
s: Array[15] Of Double;
res, i: Integer;
Begin
GExtra := New SmGeometricExtrapolation.Create;
//значения s
s[00] := 6209; s[01] := 6385; s[02] := 6752;
s[03] := 6837; s[04] := 6495; s[05] := Double.Nan;
s[06] := 7349; s[07] := 7213; s[08] := 7061;
s[09] := 7180; s[10] := 7132; s[11] := Double.Nan;
s[12] := 7473; s[13] := 7722; s[14] := 8088;
GExtra.Serie.Value := s;
GExtra.MissingData.Method := MissingDataMethod.LinTrend;
GExtra.ModelPeriod.FirstPoint := 1;
GExtra.ModelPeriod.LastPoint := 14;
GExtra.Forecast.LastPoint := 20;
res := GExtra.Execute;
If res <> 0 Then
Debug.WriteLine(GExtra.Errors);
Else
Debug.WriteLine("Сглаженный ряд");
Debug.Indent;
For i := 0 To GExtra.Fitted.Length - 1 Do
Debug.WriteLine(GExtra.Fitted[i]);
End For;
Debug.Unindent;
End If;
End Sub UserProc;
После выполнения примера в окно консоли будет выведен сглаженный ряд.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub Main(Params: StartParams);
Var
GExtra: SmGeometricExtrapolation;
s: Array[15] Of Double;
res, i: Integer;
Fitted: System.Array;
Begin
GExtra := New SmGeometricExtrapolation.Create();
//значения s
s[00] := 6209; s[01] := 6385; s[02] := 6752;
s[03] := 6837; s[04] := 6495; s[05] := Double.Nan;
s[06] := 7349; s[07] := 7213; s[08] := 7061;
s[09] := 7180; s[10] := 7132; s[11] := Double.Nan;
s[12] := 7473; s[13] := 7722; s[14] := 8088;
GExtra.Serie.Value := s;
GExtra.MissingData.Method := MissingDataMethod.mdmLinTrend;
GExtra.ModelPeriod.FirstPoint := 1;
GExtra.ModelPeriod.LastPoint := 14;
GExtra.Forecast.LastPoint := 20;
res := GExtra.Execute();
If res <> 0 Then
System.Diagnostics.Debug.WriteLine(GExtra.Errors);
Else
System.Diagnostics.Debug.WriteLine("Сглаженный ряд");
System.Diagnostics.Debug.Indent();
Fitted := GExtra.Fitted;
For i := 0 To GExtra.Fitted.Length - 1 Do
System.Diagnostics.Debug.WriteLine(Fitted[i]);
End For;
System.Diagnostics.Debug.Unindent();
End If;
End Sub;
См. также: