IDependenceForm.Failed

Синтаксис

Failed: Boolean;

Описание

Свойство Failed возвращает True, если при расчетах для формы зависимости произошли ошибки, и False, если ошибок не было.

Пример

Sub Main;

Var

trend: SmCurveEstimation;

d0: Double;

status, i: Integer;

ar, factor: Array Of Double;

Forms: IDependenceForms;

Dep: IDependenceForm;

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;

factor := New Double[20];

For i := 0 To factor.Length - 1 Do

factor[i] := i*i + i*21;

End For;

trend.Explanatory.Serie.Value := factor;

trend.ModelPeriod.LastPoint := 20;

trend.ForecastLastPoint := 30;

trend.SeasonalComponent.Mode := SeasonalityType.additive;

trend.SeasonalComponent.Cycle := 4;

status := trend.Execute;

If status <> 0 Then

Debug.WriteLine(trend.Errors);

Else

Forms := trend.DependenceForms;

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

Dep := Forms.Item(i);

If Dep.Failed Then

Debug.WriteLine(Dep.DisplayName + ": " + "Ошибка. " + Dep.Errors);

Else

d0 := Dep.CriterionValue;

Debug.WriteLine(Dep.DisplayName + ": " + d0.ToString);

End If;

End For;

End If;

End Sub Main;

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

Module execution started

Линейная: 0.99748885329458303

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

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

Составная: 0.99310170950128884

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

Логарифмическая: Ошибка. Объясняющий ряд не может содержать отрицательных или равных нулю значений

Гиперболическая: Ошибка. Объясняющий ряд не может содержать равных нулю значений

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

Обратная: Ошибка. Объясняющий ряд не может содержать равных нулю значений

Степенная: Ошибка. Объясняемый ряд не может содержать отрицательных или равных нулю значений

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

Module execution finished

См. также:

IDependenceForm