Explained: IEmSerie;
Explained: Prognoz.Platform.Interop.Modeller.IEmSerie;
The Explained property determines an explained series.
If the explained series is not specified, correct calculation of the Redundant Variables Criterion method is not possible.
To execute the example, add a link to the Modeller system assembly.
Sub RedundantVariables;
Var
ExprMod: IExpressModeller;
Ar: Array[14] Of Double;
Serie: IEmSerie;
Sett: IEmRedundantVariablesTestSettings;
SList: IEmSeriesList;
Period: IEmPeriodSettings;
Redundant: Array[1] Of Integer;
Begin
ExprMod := New ExpressModeller.Create;
Sett := ExprMod.CreateRedundantVariablesTestSettings;
// Setting explained series
Ar[0] := 5.8; Ar[1] := 5.0; Ar[2] := 2.6; Ar[4] := 7.2;
Ar[5] := 2.8; Ar[6] := 6.2; Ar[7] := 9.5; Ar[8] := 7.4;
Ar[10] := 9.4; Ar[11] := 10; Ar[12] := 5.4; Ar[13] := 8.1;
Ar[3] := Double.Nan; Ar[9] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X1", "Data series 1");
Sett.Explained := Serie;
// Setting explanatory series
Ar[0] := 56; Ar[1] := 45; Ar[2] := 23; Ar[3] := 45;
Ar[4] := 65; Ar[5] := 23; Ar[6] := 54; Ar[7] := 87;
Ar[8] := 67; Ar[9] := 98; Ar[10] := 89; Ar[13] := 79;
Ar[11] := Double.Nan; Ar[12] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X2", "Data series 2");
SList := Sett.Explanatories;
SList.Add(Serie);
Ar[0] := 2.7; Ar[1] := 6.1; Ar[2] := 9.6; Ar[3] := 9.5;
Ar[4] := 7.7; Ar[5] := 5.9; Ar[6] := 5.1; Ar[7] := 2.5;
Ar[8] := 7.1; Ar[9] := 9.9; Ar[12] := 8.2; Ar[13] := 5.1;
Ar[10] := Double.Nan; Ar[11] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X3", "Data series 3");
SList.Add(Serie);
// Setting redundant series
Redundant[0] := ExprMod.Series.ItemIndexByName("X3");
Sett.RedundantExplanatories := Redundant;
// Removing constant from the calculations
Sett.HasConstant := False;
// Setting calculation periods
Period := Sett.Period;
Period.BeginPeriod := 0;
Period.EndPeriod := 13;
// Performing calculation
ExprMod.EvaluateMethod("C:\RedundantVariables.html", Sett, True);
End Sub RedundantVariables;
Example execution result: the Redundant Variables Criterion method is to be calculated with set parameters, calculation report is to be saved to the file C:\RedundantVariables.html.
Imports Prognoz.Platform.Interop.Modeller;
…
Public Shared Sub RedundantVariables();
Var
ExprMod: IExpressModeller;
Ar: Array[14] Of Double;
Serie: IEmSerie;
Sett: IEmRedundantVariablesTestSettings;
SList: IEmSeriesList;
Period: IEmPeriodSettings;
Redundant: Array[1] Of Integer;
Begin
ExprMod := New ExpressModeller.Create();
Sett := ExprMod.CreateRedundantVariablesTestSettings();
// Setting explained series
Ar[0] := 5.8; Ar[1] := 5.0; Ar[2] := 2.6; Ar[4] := 7.2;
Ar[5] := 2.8; Ar[6] := 6.2; Ar[7] := 9.5; Ar[8] := 7.4;
Ar[10] := 9.4; Ar[11] := 10; Ar[12] := 5.4; Ar[13] := 8.1;
Ar[3] := Double.Nan; Ar[9] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X1", "Data series 1");
Sett.Explained := Serie;
// Setting explanatory series
Ar[0] := 56; Ar[1] := 45; Ar[2] := 23; Ar[3] := 45;
Ar[4] := 65; Ar[5] := 23; Ar[6] := 54; Ar[7] := 87;
Ar[8] := 67; Ar[9] := 98; Ar[10] := 89; Ar[13] := 79;
Ar[11] := Double.Nan; Ar[12] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X2", "Data series 2");
SList := Sett.Explanatories;
SList.Add(Serie);
Ar[0] := 2.7; Ar[1] := 6.1; Ar[2] := 9.6; Ar[3] := 9.5;
Ar[4] := 7.7; Ar[5] := 5.9; Ar[6] := 5.1; Ar[7] := 2.5;
Ar[8] := 7.1; Ar[9] := 9.9; Ar[12] := 8.2; Ar[13] := 5.1;
Ar[10] := Double.Nan; Ar[11] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X3", "Data series 3");
SList.Add(Serie);
// Setting redundant series
Redundant[0] := ExprMod.Series.ItemIndexByName["X3"];
Sett.RedundantExplanatories := Redundant;
// Removing constant from the calculations
Sett.HasConstant := False;
// Setting calculation periods
Period := Sett.Period;
Period.BeginPeriod := 0;
Period.EndPeriod := 13;
// Performing calculation
ExprMod.EvaluateMethod("C:\RedundantVariables.html", Sett, True);
End Sub RedundantVariables;
Example execution result: the Redundant Variables Criterion method is to be calculated with set parameters, calculation report is to be saved to the file C:\RedundantVariables.html.
See also: