Nickolay.info. Обучение. МНК - одной формулой или "матричный" МНК в Excel

Хорошо известный и широко применяемый метод наименьших квадратов описан, например, здесь. Другое дело, что строить в табличном редакторе систему нормальных уравнений "в лоб", непосредственно формируя её матрицу, элементы которой содержат кучу сумм и степеней - не очень удобно. Да и громоздкий получается расчёт, как на этом скрине (большую часть столбцов пришлось заузить, иначе просто не помещается):

МНК в Excel -  расчет непосредственным формированием нормальной системы уравнений

Через матрицы - компактней и проще, расчёт коэффициентов МНК в Excel можно, фактически, свести к одной формуле, как показано на скрине ниже:

МНК в Excel -  расчет через первые m столбцов матрицы Вандермонда

Конечно, сначала всё равно нужно построить первые 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 для вычисления значений полинома МНК по формуле

Формула МНК порядка m со степенным базисом

 Ещё один пример - компактный подсчёт МНК 1 и 2 порядка по 4 точкам в Excel XP/2003 (20 Кб)

МНК 1 и 2 порядка по 4 точкам

В документе, прикреплённом ниже, по одним и тем же данным выполняется расчёт МНК 1 и 2 порядка с помощью подсчёта сумм (лист 1) и с помощью матриц (лист 2).

 МНК 1 и 2 порядка по 8 точкам в Excel XP/2003 (45 Кб)

МНК 1 и 2 порядка по 8 точкам (2 способа)

Рейтинг@Mail.ru

вверх гостевая; E-mail