Pers.narod.ru. Обучение. МНК - одной формулой или "матричный" МНК в Excel |
Хорошо известный и широко применяемый метод наименьших квадратов описан, например, здесь. Другое дело, что строить в табличном редакторе систему нормальных уравнений "в лоб", непосредственно формируя её матрицу, элементы которой содержат кучу сумм и степеней - не очень удобно. Да и громоздкий получается расчёт, как на этом скрине (большую часть столбцов пришлось заузить, иначе просто не помещается):
Через матрицы - компактней и проще, расчёт коэффициентов МНК в Excel можно, фактически, свести к одной формуле, как показано на скрине ниже:
Конечно, сначала всё равно нужно построить первые M столбцов матрицы Вандермонда
для МНК порядка M
(M≤N
, N
- количество пар значений {xi,yi}
) - но они строятся простым умножением двух ячеек.
Всё остальное на скрине нужно для проверки и иллюстрации.
Разумеется, вычислительные затраты на транспонирование и умножение матриц могут и превысить затраты на накопление сумм, особенно если организовать последнее грамотно (использовать то, что в элементах матрицы много дублей) - но не думаю, что для небольших размерностей данных это имеет значение при расчёте в Excel, с его встроенными методами ТРАНСП
, МОБР
и МУМНОЖ
.
Исходный файл примера в Excel XP/2003 (18 Кб)
"Матричный" алгоритм построения МНК порядка m
(1≤m≤n
) можно описать так: сформировать матрицу размерностью (n+1)*(n+1)
с элементами вида
выделить в матрицу A
и транспонировать m+1
её первых столбцов (получается матрица AT
размерностью (m+1)*n
); вычислить AT*A
(получается матрица Z
размерностью (m+1)*(m+1)
); вычислить вектор b= ATf
(размерность m+1
); решить систему уравнений Zc=b
, т.е., найти c=Z-1b
; использовать найденный вектор c
и значения x
для вычисления значений полинома МНК по формуле
Ещё один пример - компактный подсчёт МНК 1 и 2 порядка по 4 точкам в Excel XP/2003 (20 Кб)
В документе, прикреплённом ниже, по одним и тем же данным выполняется расчёт МНК 1 и 2 порядка с помощью подсчёта сумм (лист 1) и с помощью матриц (лист 2).
МНК 1 и 2 порядка по 8 точкам в Excel XP/2003 (45 Кб)
гостевая; E-mail |