Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы / Gl_2_Approximatsia_1.docx
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
3.45 Mб
Скачать

Метод наименьших квадратов

Напомним постановку задачу аппроксимации. Дана таблица 2.1 исходных данных. Требуется получить функцию j(x, a0, a1, …am) близкую к табличным значениям. Здесь подчеркнуто, что функция j(x) зависит от набора параметров и задача сводится к подбору оптимальных значений этих параметров в соответствии с критерием близости функции j(x, a0, a1, …am) к табличным данным.

В качестве критерия близости в методе наименьших квадратов (МНК) используется сумма квадратов разницы значений функции j(x) на сетке x0 , x1, …,xn и соответствующих значений y0, y1, …, yn. Задача состоит в поиске минимума этой величины путем подбора самой функции j(x) и её параметров а0, a1, …am.

S = 2 min (2.22)

Классический пример аппроксимирующей функции – полином, то есть функция вида

jm(x) = a0 + a1 x + a2 x2 + … + am xm (2.23)

В этом случае говорят о параболической или полиномиальной аппроксимации.

Логарифмическая функция применяется для таблиц, значения которых вначале быстро меняются, а затем постепенно стабилизируются. Строится в соответствии с уравнением:j(x)=a*ln(x) + b.

Степенная функция используется, если значения таблицы характеризуются постоянным изменением скорости роста: :j(x)=a*xb .

Экспоненциальная функция используется в том случае, если скорость изменения данных непрерывно возрастает: j(x)=a*exp(b*x).

Рассмотрим решение задачи (2.22) для полиномиальной аппроксимации (2.23).

Эту задачу следует интерпретировать как задачу многомерной оптимизации, и её решение (набор оптимальных значений a0, a1, …am) находится как решение системы уравнений

= 0, = 0, = 0, …, = 0 (2.24)

Как пример получим решение задачи для линейной аппроксимирующей функции

j1(x) = a0 + a1 x.

Но прежде чем заниматься формальными математическими операциями, проиллюстрируем её решение графически.

Рис.2.10. Графическая иллюстрация МНК для полинома первого порядка.

На рис.2.10 показаны исходные данные ( , ), ( , ) …, ( , ) и полином первой степени = в виде прямой линии. Разницы значений полинома и исходных данных выделены жирными отрезками. Вертикальная стрелка с и дуга с демонстрируют то, что передвигая прямую вверх-вниз, и меняя угол наклона, следует сделать так, чтобы сумма квадратов разницы была наименьшей.

Сумма квадратов отклонения запишется следующим образом:

S = S(a0, a1) = 2 = 2 min

Для нахождения коэффициентов a0 , a1 необходимо найти минимум функции S(a0, a1) из условия

или

После упрощения получим линейную систему уравнений относительно неизвестных a0 , a1 :

В МНК такая система носит название системы нормальных уравнений и её решение дает оптимальный набор коэффициентов аппроксимирующего полинома первой степени в смысле МНК.

Для того, чтобы понять структуру системы нормальных уравнений в общем виде, получим решение для полинома второго порядка.

S = S( , , ) = 2 = 2 min

или

Или после упрощений

(2.26)

Сравнивая (2.25) и (2.26), можно увидеть закономерности при неизвестных в левых частях системы уравнений - на побочным ко-диагоналям стоят одинаковые коэффициенты (

У правых частей системы уравнений также видна закономерность: , , .

Ну а дальше предстоит неблагодарная с вычислительной точки зрения задача решения системы нормальных уравнений с целью нахождения наилучших с точки зрения МНК коэффициентов аппроксимирующего полинома.

Для оценки погрешности в МНК используется величина, называемая среднеквадратичным отклонением (СКО), которая определяется так:

= (2.27)

где k – степень аппроксимирующего по МНК полинома.

Возникает вопрос: как изменяется СКО с увеличением степени полинома k?

И до каких пор можно увеличивать эту степень?

Ответ на первый вопрос очевидный – СКО не может увеличиваться, так как полином степени k есть и полином степени (k+1) со старшим коэффициентом = 0.

Ответ на второй вопрос звучит так: максимальная степень аппроксимирующего по МНК полинома k = n , то есть на единицу меньше количества узлов таблицы исходных данных. Полином МНК превратиться в интерполяционный полином, будет проходить через все узлы таблицы и для него = 0. Таким образом получается, что задача интерполяции является частным случаем задачи МНК.

Нужен пример построения нескольких полиномов для cos(x) на всем периоде.

Соседние файлы в папке лабы