SmoothingParameterMode: HPSmoothingParameterModeType;
The SmoothingParameterMode property determines the method of setting the smoothing parameter.
The following values are available for SmoothingParameterMode:
HPSmoothingParameterModeType.SetByFrequencyRule. Smoothing parameter is determined by power value: ISmHodrickPrescottFilter.Power.
HPSmoothingParameterModeType.EditDirectly. Default value. Smoothing parameter depends on lambda value: ISmHodrickPrescottFilter.SmoothingParameter.
Add a link to the Stat system assembly.
Sub Print(Data: Array Of Double);
Var
i: Integer;
Begin
For i := 0 To Data.Length - 1 Do
If Double.IsNan(Data[i]) Then
Debug.WriteLine("----empty---");
Else
Debug.WriteLine(i.ToString + " " + Data[i].ToString);
End If;
End For;
End Sub Print;
Sub UserProc;
Var
HP: SmHodrickPrescottFilter;
s: Array Of Double;
res: Integer;
Begin
s := New Double[15];
// Set variable values
s[00] := 670.2; s[08] := 1033.3;
s[01] := 576.06; s[09] := 780.8;
s[02] := 717.64; s[10] := 657.5;
s[03] := 856.9; s[11] := 654.5;
s[04] := 885.4; s[12] := 678.23;
s[05] := 1011; s[13] := 642.41;
s[06] := 995.44; s[14] := 751.9;
s[07] := 1064.74;
HP := New SmHodrickPrescottFilter.Create;
HP.Serie.Value := s;
// Set sample period
HP.ModelPeriod.FirstPoint := 1;
HP.ModelPeriod.LastPoint := 15;
// Specify missing data treatment method
HP.MissingData.Method := MissingDataMethod.SampleAverage;
// Set number of periods in the year
HP.Frequency := 12;
// Determine method of setting smoothing parameter
HP.SmoothingParameterMode := HPSmoothingParameterModeType.SetByFrequencyRule;
// Set power value
HP.Power := 5;
// Calculate the method and output the results
res := HP.Execute;
If res <> 0 Then
Debug.WriteLine(HP.Errors);
Else
Debug.WriteLine("Modeling series");
Print(HP.Fitted);
End If;
End Sub UserProc;
After executing the example the console window displays a modeling series. Calculations are based on monthly data, smoothing parameter is determined by power value.
See also: