Series: IEmSeriesList;
Series: Prognoz.Platform.Interop.Modeller.IEmSeriesList;
Свойство Series возвращает набор исходных рядов.
Для корректного расчёта частных коэффициентов корреляции должно быть задано не менее двух исходных рядов.
Для выполнения примера добавьте ссылку на системную сборку «Modeller».
Sub PartialCorrelation;
Var
ExprMod: IExpressModeller;
Ar: Array[14] Of Double;
Serie: IEmSerie;
Sett: IEmPartialCorrelationSettings;
SList: IEmSeriesList;
Begin
ExprMod := New ExpressModeller.Create;
Sett := ExprMod.CreatePartialCorrelationSettings;
// Задаем набор исходных рядов
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, "X1", "Ряд данных 1");
SList := Sett.Series;
SList.Add(Serie);
Ar[0] := 4; Ar[1] := 5; Ar[2] := 2; Ar[4] := 7;
Ar[5] := 2; Ar[6] := 6; Ar[7] := 15; Ar[8] := 14;
Ar[10] := 24; Ar[11] := 10; Ar[12] := 24; Ar[13] := 31;
Ar[3] := Double.Nan; Ar[9] := Double.Nan;
Serie := ExprMod.Series.Add(Ar, "X2", "Ряд данных 2");
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", "Ряд данных 3");
SList := Sett.OuterSeries;
SList.Add(Serie);
// Задаем ряд весов
Ar[0] := 13; Ar[1] := 27; Ar[2] := 45; Ar[3] := 13;
Ar[4] := 67; Ar[5] := 85; Ar[6] := 33; Ar[7] := 57;
Ar[8] := 15; Ar[9] := 83; Ar[10] := 37; Ar[11] := 45;
Ar[12] := 53; Ar[13] := 07;
Serie := ExprMod.Series.Add(Ar, "X4", "Ряд весов");
Sett.Weights := Serie;
// Выполняем расчёт
ExprMod.EvaluateMethod("C:\PartialCorrelation.html", Sett, True);
End Sub PartialCorrelation;
Результат выполнения примера: будет выполнен расчёт частных коэффициентов корреляции по заданным параметрам, отчёт о расчёте будет сохранен в файл «C:\PartialCorrelation.html».
Imports Prognoz.Platform.Interop.Modeller;
…
Public Shared Sub PartialCorrelation();
Var
ExprMod: IExpressModeller;
Ar: Array[14] Of Double;
Serie: IEmSerie;
Sett: IEmPartialCorrelationSettings;
SList: IEmSeriesList;
Begin
ExprMod := New ExpressModeller.Create();
Sett := ExprMod.CreatePartialCorrelationSettings();
// Задаем набор исходных рядов
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, "X1", "Ряд данных 1");
SList := Sett.Series;
SList.Add(Serie);
Ar[0] := 4; Ar[1] := 5; Ar[2] := 2; Ar[4] := 7;
Ar[5] := 2; Ar[6] := 6; Ar[7] := 15; Ar[8] := 14;
Ar[10] := 24; Ar[11] := 10; Ar[12] := 24; Ar[13] := 31;
Ar[3] := Double.Nan; Ar[9] := Double.Nan;
SList.Add(Serie);
// Задаем внешние ряды
Serie := ExprMod.Series.Add(Ar, "X2", "Ряд данных 2");
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", "Ряд данных 3");
SList := Sett.OuterSeries;
SList.Add(Serie);
// Задаем ряд весов
Ar[0] := 13; Ar[1] := 27; Ar[2] := 45; Ar[3] := 13;
Ar[4] := 67; Ar[5] := 85; Ar[6] := 33; Ar[7] := 57;
Ar[8] := 15; Ar[9] := 83; Ar[10] := 37; Ar[11] := 45;
Ar[12] := 53; Ar[13] := 07;
Serie := ExprMod.Series.Add(Ar, "X4", "Ряд весов");
Sett.Weights := Serie;
// Выполняем расчёт
ExprMod.EvaluateMethod("C:\PartialCorrelation.html", Sett, True);
End Sub PartialCorrelation;
Результат выполнения примера: будет выполнен расчёт частных коэффициентов корреляции по заданным параметрам, отчёт о расчёте будет сохранен в файл «C:\PartialCorrelation.html».
См. также: