Include: Boolean;
The Include property indicates whether to include dependence form into calculations.
If this property is set to True, dependence form is to be calculated. If the property is set to False, the form is not calculated.
The default value of this property is True.
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.SeasonalComponent.Mode := SeasonalityType.additive;
trend.SeasonalComponent.Cycle := 4;
Forms := trend.DependenceForms;
Forms.Item(0).Include := False; // No parameters are to be calculated for Linear form
status := trend.Execute;
If status <> 0 Then
Debug.WriteLine(trend.Errors);
Else
For i := 0 To Forms.Count - 1 Do
d0 := Forms.Item(i).CriterionValue;
Debug.WriteLine(Forms.Item(i).DisplayName + ": " + d0.ToString);
End For;
End If;
End Sub Main;
After executing the example the console window displays values of model criteria:
Module execution started
Linear: 1.#QNAN
Quadratic: 0.99853888260620427
Polynomial: 0.99862028141069126
Compound: 0.99520880118290378
Growth equation: 0.99520880118290367
Logarithmic: 0.75529244226569481
Hyperbolic: 0.43080296821708808
Exponential: 0.99520880118290367
Inverse: 0.38451027304459973
Power: 0.82612532656255189
Logistic: 0.18896590355019949
Module execution finished
See also: