Задача наименьших квадратов возникает в самых различных областях науки и техники, например, к ней приходят при статистической обработке экспериментальных данных. Пусть функция задана таблицей приближенных значений
, полученных с ошибками
Предположим, что для аппроксимации функции
используется линейная модель:
где
- заданные базисные функции,
- параметры модели, являющиеся одновременно коэффициентами обобщенного многочлена. Часто используется одна из наиболее простых моделей
- полиномиальная модель.
В случае, когда уровень неопределенности исходных данных высок, нет смысла требовать точного совпадения значений обобщенного многочлена в точках
с заданными значениями
, то есть использовать интерполяцию. Кроме того, при интерполяции происходит повторение ошибок наблюдений, в то время как при обработке экспериментальных данных желательно сглаживание ошибок. Тем не менее нужно потребовать, чтобы
(3.1.1)
Эта же система в матричной форме имеет вид (3.1.2)
Существуют разные дополнительные критерии, позволяющие решить эту систему, так как в общем случае при она, вообще говоря, несовместна. Выбор
, позволяющий наилучшим образом удовлетворить (3.1.2) в методе наименьших квадратов, состоит в том минимизируется среднее квадратическое уклонение
(3.1.3)
Итак, линейная задача метода наименьших квадратов состоит в следующем. Надо найти обобщенный многочлен , для которого среднеквадратическое уклонение
Этот многочлен называется многочленом наилучшего среднего квадратического приближения. Так как набор функций
всегда заранее определен, задача заключается в нахождении вектора
при условии
Для решения нашей задачи воспользуемся общим приемом дифференциального исчисления, а именно выпишем необходимые условия экстремума функции нескольких переменных (приравняем частные производные нулю):
(3.1.4)
Тогда получим Изменим в первом слагаемом порядок суммирования:
(3.1.5)
Уравнение (3.1.5) называется нормальной системой метода наименьших квадратов.
Если вернуться к обозначениям формулы (3.1.2), то, как нетрудно видеть, систему (3.1.5) можно записать в виде
(3.1.6)
Матрица называется матрицей Грама[†]. Если еще ввести вектор
, то система (3.1.6) перепишется в виде
- система линейных уравнений относительно вектора
. Можно показать, что если среди точек
нет совпадающих и
, то определитель системы (3.1.6) отличен от нуля, и, следовательно, эта система имеет единственное решение:
Обобщенный полином с такими коэффициентами будет обладать минимальным средним квадратическим отклонением
.
Если , то обобщенный многочлен, если система функций
степенная, совпадает с полиномом Лагранжа для системы точек
, причем
При
построение такого точного интерполяционного многочлена невозможно. Таким образом, аппроксимация функций представляет собой более общий процесс, чем интерполирование.
Если , то нормальная система (3.1.5) принимает следующий вид:
(3.1.7)
Запишем систему (3.1.7) в развернутом виде в двух наиболее простых случаях при
и
В случае, когда приближение осуществляется многочленом первой степени
, уравнения метода наименьших квадратов имеют следующий вид:
(3.1.8)
- нормальная система для в развернутом виде. Пусть теперь
Аналогично получим
(3.1.9)
- нормальная система для в развернутом виде для квадратичного сглаживания.
Метод вычисления параметров с помощью решения нормальной системы кажется весьма привлекательным. Действительно, задача сводится к стандартной системе линейных алгебраический уравнений с квадратной матрицей. Однако вычислительная практика показывает, что без специального выбора базисных функций
уже при
нормальная система обычно оказывается плохо обусловленной. Причина в том, что система базисных функций, будучи формально независимой, на практике часто близка к линейно зависимой. Особенно этим «грешит» система степенных функций
, широко применяемая при аппроксимации алгебраическими многочленами. Лучший результат получается, если использовать систему ортогональных на отрезке
функций. Пример такой системы на
дает система многочленов Чебышева
.
В настоящее время в вычислительной практике нормальная система, как правило, не используется. Применяются другие, более надежные методы, например метод сингулярного разложения матрицы .
Пример. Пусть функция задана следующей таблицей:
![]() | 0.78 | 1.56 | 2.34 | 3.12 | 3.81 |
![]() | 2.50 | 1.20 | 1.12 | 2.25 | 4.28 |
Используя метод наименьших квадратов, аппроксимируем ее многочленами первой и второй степени и найдем соответствующие средние квадратические уклонения .
Вычисления, которые нужно провести, расположим по схеме, приведенной в такой таблице:
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
0.78 | 0.608 | 0.475 | 0.370 | 2.50 | 1.950 | 1.521 | |
1.56 | 2.434 | 3.796 | 5.922 | 1.20 | 1.872 | 2.920 | |
2.34 | 5.476 | 12.813 | 29.982 | 1.12 | 2.621 | 6.133 | |
3.12 | 9.734 | 30.371 | 94.759 | 2.25 | 7.020 | 21.902 | |
3.81 | 14.516 | 55.306 | 210.717 | 4.28 | 16.307 | 62.129 | |
![]() | 11.61 | 32.768 | 102.761 | 341.750 | 11.35 | 29.770 | 94.605 |
а) Линейная модель
Таким образом, линейная модель имеет вид
б) Квадратичная модель
Отсюда - вид квадратичной модели. Обе модели значительно отличаются друг от друга. Сравним исходные данные для
с соответствующими значениями
, полученными из обеих моделей, и вычислим
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
0.78 | 2.50 | 1.364 | -1.136 | 1.290 | 2.404 | -0.096 | 0.009 |
1.56 | 1.20 | 1.822 | 0.622 | 0.387 | 1.204 | 0.004 | 0.000 |
2.34 | 1.12 | 2.281 | 1.161 | 1.350 | 1.165 | 0.045 | 0.002 |
3.12 | 2.25 | 2.740 | 0.490 | 0.240 | 2.286 | 0.036 | 0.001 |
3.81 | 4.28 | 3.145 | 1.135 | 1.290 | 4.244 | -0.036 | 0.001 |
![]() | 4.557 | ![]() | 0.013 |
Таким образом, Следовательно, данным для
в исходной таблице очень хорошо соответствует квадратичная модель. Линейная модель не адекватна исходным данным и должна быть отвергнута.