Growth(
KnownYs: Array;
KnownXs: Array;
NewXs: Array;
HasConstant: Boolean): Array;
Growth(
KnownYs: System.Array;
KnownXs: System.Array;
NewXs: System.Array;
HasConstant: boolean): System.Array;
KnownYs. Множество известных значений y. Значения должны быть больше нуля;
KnownXs. Множество известных значений x;
NewXs. Новые значения x, для которых Growth возвращает соответствующие значения y;
HasConstant. Определяет, равна ли константа b единице. Допустимые значения:
True. Константа вычисляется;
False. Считается, что b = 1.
Метод Growth рассчитывает прогнозируемый экспоненциальный рост на основании имеющихся данных.
Рассматривается соотношение: y = b * mx.
Метод возвращает значения y, рассчитанные на основе известных значений KnownYs и KnownXs, для последовательности заданных значений NewXs. Для того, чтобы узнать оцененные коэффициенты соотношения, используйте IStatistics.Logest.
Особенности работы с параметрами:
если массив KnownYs имеет один столбец, то каждый столбец массива KnownXs интерпретируется как отдельная переменная;
если массив KnownYs имеет одну строку, то каждая строка массива KnownXs интерпретируется как отдельная переменная;
массив KnownXs может содержать одно или несколько множеств переменных. Если используется только одна переменная, то KnownYs и KnownXs могут иметь любую форму, при условии, что они имеют одинаковую размерность. Если используется более одной переменной, то KnownYs должен быть вектором (то есть интервалом высотой в одну строку или шириной в один столбец);
Если используется одна переменная, массив NewXs может иметь любую форму. Если используется более одной переменной, массив NewXs должен содержать столбец (или строку) для каждой независимой переменной, как и KnownXs. Таким образом, если KnownYs - это один столбец, то KnownXs и NewXs должны иметь такое же количество столбцов. Если KnownYs - это одна строка, то KnownXs и NewXs должны иметь такое же количество строк.
Для выполнения примера добавьте ссылку на системную сборку Stat.
Sub UsesProcGrowth;
Var
st: Statistics;
i: Integer;
y, x, res: Array Of Double;
nx: Array Of Double;
Begin
// Задаём множество значений y
y := New Double[4];
y[0] := 0.2; y[2] := 5;
y[1] := 9; y[3] := 7;
// Задаём множество значений x
x := New Double[4];
x[0] := 1; x[2] := 3;
x[1] := 2; x[3] := 4;
// Задаём новые значения x
nx := New Double[2];
nx[0] := 5; nx[1] := 6;
// Вызываем метод
st := New Statistics.Create;
res := St.Growth(y, x, nx, True);
// Выводим результаты в окно консоли
Debug.WriteLine(st.Errors);
If st.Status = 0 Then
For i := 0 To 1 Do
Debug.WriteLine(i.ToString + ":" + res[i].ToString);
End For;
End If;
End Sub UsesProcGrowth;
После выполнения примера в окно консоли будут значения экспоненциального роста, спрогнозированные для массива nx.
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub UsesProcGrowth();
Var
st: Statistics;
i: integer;
y, x, res: System.Array;
nx: System.Array;
Begin
// Задаём множество значений y
y := New double[4];
y[0] := 0.2; y[2] := 5;
y[1] := 9; y[3] := 7;
// Задаём множество значений x
x := New double[4];
x[0] := 1; x[2] := 3;
x[1] := 2; x[3] := 4;
// Задаём новые значения x
nx := New double[2];
nx[0] := 5; nx[1] := 6;
// Вызываем метод
st := New Statistics.Create();
res := St.Growth(y, x, nx, True);
// Выводим результаты в окно консоли
System.Diagnostics.Debug.WriteLine(st.Errors);
If st.Status = 0 Then
For i := 0 To 1 Do
System.Diagnostics.Debug.WriteLine(i.ToString() + ":" + res[i].ToString());
End For;
End If;
End Sub;
После выполнения примера в окно консоли будут значения экспоненциального роста, спрогнозированные для массива nx.
См. также: