ISmCurveEstimation.BestDependenceForm

Синтаксис

BestDependenceForm: Integer;

Описание

Свойство BestDependenceForm возвращает номер лучшей формы зависимости.

Пример

Sub Main;

Var

trend: SmCurveEstimation;

d0: Double;

status, i: Integer;

ar: Array Of Double;

Forms: IDependenceForms;

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.Criterion := DependenceCriterion.R2Adj; // Критерий отбора лучшей зависимости «Исправленный коэффициент детерминации»

trend.SeasonalComponent.Mode := SeasonalityType.additive;

trend.SeasonalComponent.Cycle := 4;

status := trend.Execute;

If status <> 0 Then

Debug.WriteLine(trend.Errors);

Else

Forms := trend.DependenceForms;

Debug.WriteLine("== Значения критерия ==");

For i := 0 To Forms.Count - 1 Do

d0 := Forms.Item(i).CriterionValue;

Debug.WriteLine(Forms.Item(i).DisplayName + ": " + d0.ToString);

End For;

Debug.WriteLine("== Лучшая зависимость ==");

Debug.WriteLine(trend.BestDependenceForm);

End If;

End Sub Main;

После выполнения примера в окно консоли будут выведены следующие результаты:

Module execution started

== Значения критерия ==

Линейная: 0.97164263693538511

Квадратичная: 0.99836698644222832

Полиномиальная: 0.9984579615766549

Составная: 0.99494262347084284

Уравнение роста: 0.99494262347084272

Логарифмическая: 0.74169757794712221

Гиперболическая: 0.3991809108958152

Экспонентная: 0.99494262347084272

Обратная: 0.35031639932485525

Степенная: 0.81646562248269361

Логистическая: 0.14390845374743277

== Лучшая зависимость ==

2

Module execution finished

См. также:

ISmCurveEstimation