ISmCurveEstimation.ForecastConfidenceLevel

Синтаксис

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

См. также:

ISmCurveEstimation