ISmExponentialSmoothing.InitialValueT

Syntax

InitialValueT: Double;

Description

The InitialValueT property determines the initial point of a trend line.

Comments

If this value is not set manually, it is calculated automatically. Calculation formula depends on the selected model parameters.

Example

Sub Main;

Var

Method: SmExponentialSmoothing;

serie: Array Of Double;

status: Integer;

Params: IExponentialSmoothingParameters;

Seasonal: ISeasonal;

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("---empty---");

Else

Debug.WriteLine(CI.FormatDoublePrec(Data[i], 4));

End If;

End For;

Debug.WriteLine("---End---");

End Sub Print;

Begin

Method := New SmExponentialSmoothing.Create;

serie := New Double[15];

serie[0] := 670.2000183;

serie[1] := 576.0680563;

serie[2] := 717.6484268;

serie[3] := 856.9105808;

serie[4] := 885.4609516;

serie[5] := 1011.846431;

serie[6] := 995.4496292;

serie[7] := 1064.74221;

serie[8] := 1033.324656;

serie[9] := 780.8584552;

serie[10] := 657.5033113;

serie[11] := 654.5472579;

serie[12] := 678.2380139;

serie[13] := 642.4128544;

serie[14] := 751.9611194;

Method.Serie.Value := serie;

Method.Forecast.LastPoint := 40;

Seasonal := Method.SeasonalComponent;

Seasonal.Mode := SeasonalityType.Additive;

Seasonal.Cycle := 4;

Method.TrendComponent := TrendType.Damped;

Params := Method.Parameters;

Params.Alpha := 0.15;

Params.Delta := 0.2;

Params.Phi := 0.15;

status := Method.Execute;

If status <> 0 Then

Debug.WriteLine(Method.Errors);

Else

Debug.WriteLine("=== Seasonal component initial value ===");

Debug.WriteLine(Method.InitialValueS);

Debug.WriteLine("=== Trend line initial value ===");

Debug.WriteLine(Method.InitialValueT);

Debug.WriteLine("=== Modeling series ===");

Print(Method.Fitted);

End If;

End Sub Main;

After executing the example the console window displays the following results:

Module execution started

=== Seasonal component initial value ===

577,9540213

=== Trend line initial value ===

63,6263746249999

=== Modeling series ===

---Begin---

0, 619,3770

1, 579,2275

2, 566,2184

3, 679,5578

4, 742,0382

5, 721,1128

6, 818,8091

7, 944,4792

8, 985,1681

9, 956,7924

10, 897,6569

11, 888,5154

12, 810,8649

13, 694,4299

14, 662,3631

---End---

Module execution finished

See also:

ISmExponentialSmoothing