ForecastConfidenceLevel: Double;
Свойство ForecastConfidenceLevel определяет значимость доверительных границ прогнозного ряда, то есть вероятность того, что неизвестное значение параметра будет накрыто доверительным интервалом.
Как правило, значимость доверительных границ задается величиной 1-alpha, где в качестве alpha берут один из стандартных уровней значимости «0,1», «0,05» или «0,01». Например, для alpha=0,05 доверительный уровень равен 1-0,05=0,95, что соответствует 95%. Данное значение берется по умолчанию.
Данное свойство может принимать значения из интервала (0; 1).
Свойство задаётся сразу для всех форм зависимости.
Sub Main;
Var
trend: SmCurveEstimation;
status: Integer;
ar: Array Of Double;
Forms: IDependenceForms;
Poly: IDependenceForm;
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(i.ToString + ", " + "---empty---");
Else
Debug.WriteLine(i.ToString + ", " + CI.FormatDoublePrec(Data[i], 0));
End If;
End For;
Debug.WriteLine("---End---");
End Sub Print;
Begin
trend := New SmCurveEstimation.Create;
ar := New Double[25];
ar[00] := 4110;
ar[01] := 4280;
ar[02] := 4459;
ar[03] := 4545;
ar[04] := 4664;
ar[05] := 4861;
ar[06] := 5195;
ar[07] := 5389;
ar[08] := 5463;
ar[09] := 5610;
ar[10] := 5948;
ar[11] := 6218;
ar[12] := 6521;
ar[13] := 6788;
ar[14] := 7222;
ar[15] := 7486;
ar[16] := 7832;
ar[17] := 8153;
ar[18] := 8468;
ar[19] := 9054;
ar[20] := 9499;
ar[21] := 9866;
ar[22] := 10217;
ar[23] := 10763;
ar[24] := 10683;
trend.Explained.Value := ar;
trend.Explanatory.IsTrend := True;
trend.ModelPeriod.LastPoint := 20;
trend.ForecastLastPoint := 30;
trend.ForecastConfidenceLevel := 0.85;
trend.SeasonalComponent.Mode := SeasonalityType.additive;
trend.SeasonalComponent.Cycle := 4;
Forms := trend.DependenceForms;
Hyper := Forms.Item(2);
Debug.WriteLine("Зависимость " + Poly.DisplayName);
status := trend.Execute;
If status <> 0 Then
Debug.WriteLine(trend.Errors);
Else
Debug.WriteLine("Прогнозный ряд");
Print(Poly.Forecast.Value);
End If;
End Sub Main;
После выполнения примера в окно консоли будут выведены прогнозные значения для полиномиальной формы зависимости:
Module execution started
Зависимость Полиномиальная
Прогнозный ряд
---Begin---
0, ---empty---
1, ---empty---
2, ---empty---
3, ---empty---
4, ---empty---
5, ---empty---
6, ---empty---
7, ---empty---
8, ---empty---
9, ---empty---
10, ---empty---
11, ---empty---
12, ---empty---
13, ---empty---
14, ---empty---
15, ---empty---
16, ---empty---
17, ---empty---
18, ---empty---
19, ---empty---
20, 9 407
21, 9 860
22, 10 334
23, 10 830
24, 11 350
25, 11 893
26, 12 460
27, 13 052
28, 13 670
29, 14 312
---End---
Module execution finished
См. также: