Linest(
KnownYs: Array;
KnownXs: Array;
HasConstant: Boolean;
ReturnStatistics: Boolean): Array;
KnownYs. Множество известных значений y. Значения должны быть больше нуля;
KnownXs. Множество известных значений x;
HasConstant. Определяет, равна ли константа b нулю. Допустимые значения:
True. Константа вычисляется;
False. Считается, что b = 0.
ReturnStatistics. Определяет, возвращать ли дополнительные регрессионные статистики. Допустимые значения:
True. Метод возвращает регрессионные статистики;
False. Регрессионные статистики не вычисляется.
Метод Linest рассчитывает статистику для ряда с применением метода наименьших квадратов.
Метод вычисляет прямую линию, которая наилучшим образом аппроксимирует имеющиеся данные и возвращает массив, который описывает полученную прямую.
Уравнение прямой: y = mx + b, где:
y. Зависимое значение. Функция независимого значения x;
m. Коэффициенты, соответствующие каждой независимой переменной x;
b. Константа.
Если имеется несколько диапазонов значений x, то уравнение прямой имеет вид: y = m1x1 + m2x2 + … + b.
y, x и m могут быть векторами.
Метод Linest возвращает массив: {mn;mn-1;…;m1;b}. Если вычисляются дополнительные регрессионные статистики, то Linest возвращает массив: {mn;mn-1;…;m1;b;sen;sen-1;…;se1;seb;r2;sey;F;df;ssreg;ssresid}.
Дополнительные регрессионные статистики:
Величина | Описание |
se1,se2,…,sen | Стандартные значения ошибок для коэффициентов m1,m2,…,mn. |
seb | Стандартное значение ошибки для постоянной b (seb не рассчитывается, если HasConstant имеет значение False). |
r2 | Коэффициент детерминированности. Сравниваются фактические значения y и значения, получаемые из уравнения прямой. По результатам сравнения вычисляется коэффициент детерминированности, нормированный от 0 до 1:
|
sey | Стандартная ошибка для оценки y. |
F | F-статистика или F-наблюдаемое значение. F-статистика используется для определения того, является ли наблюдаемая взаимосвязь между зависимой и независимой переменными случайной или нет. |
df | Степени свободы. Степени свободы полезны для нахождения F-критических значений. Для определения уровня надежности модели нужно сравнить значения с F-статистикой, возвращаемой методом Linest. |
ssreg | Регрессионная сумма квадратов. |
ssresid | Остаточная сумма квадратов. |
Особенности работы с параметрами:
если массив KnownYs имеет один столбец, то каждый столбец массива KnownXs интерпретируется как отдельная переменная;
если массив KnownYs имеет одну строку, то каждая строка массива KnownXs интерпретируется как отдельная переменная;
массив KnownXs может содержать одно или несколько множеств переменных. Если используется только одна переменная, то KnownYs и KnownXs могут иметь любую форму, при условии, что они имеют одинаковую размерность. Если используется более одной переменной, то KnownYs должен быть вектором (то есть интервалом высотой в одну строку или шириной в один столбец).
Для выполнения примера добавьте ссылку на системную сборку Stat.
Sub UserProcLinest;
Var
st: Statistics;
d0: double;
i: Integer;
y, x, res: Array Of Double;
Begin
// Задаём множество известных значений y
y := New Double[4];
y[0] := 1; y[2] := 5;
y[1] := 9; y[3] := 7;
// Задаём множество известных значений x
x := New Double[4, 1];
x[0, 0] := 10; x[2, 0] := -5;
x[1, 0] := 0.9; x[3, 0] := 7.7;
// Вызываем метод
st := New Statistics.Create;
res := st.Linest(y, x, True, False);
// Выводим результаты в окно консоли
If st.Status <> 0 Then
Debug.WriteLine(st.Errors);
Else
For i := 0 To res.Length - 1 Do
d0 := res[i];
Debug.WriteLine(d0.ToString);
End For;
End If;
End Sub UserProcLinest;
После выполнения примера в окно консоли будет выведен результат расчета метода.
См. также: