Nickolay.info. Обучение. Метод наименьших квадратов порядка m по n точкам (MathCAD)

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

При анализе данных распространена следующая ситуация:

•   нам известен набор значений {xi,yi}, i=1,2,…,N, отражающий общий характер исследуемой зависимости, но эти значения получены с погрешностями. Погрешности могут быть связаны с неточными измерениями, случайными или систематическими ошибками измерительных приборов, неверной интерпретацией данных человеком и т.п.;

•   из физических или математических соображений нам известен также общий характер (порядок) зависимости, например, первый (линейная зависимость, все точки yi должны лежать на одной прямой), второй (квадратичная зависимость, через точки следует провести параболу) и т.д. Обозначим порядок зависимости как M, при M=1 получается прямая, при M=2 – парабола, а в общем случае M может принимать значения 1≤M<N.

Чтобы устранить действие погрешностей, нам требуется построить зависимость ϕ(x) порядка M, которая наилучшим образом приближает имеющиеся данные. Под наилучшим будем понимать такое приближение, при котором сумма отклонений ϕ(xi) от известных значений f(xi) минимальна:

Чтобы не зависеть от знаков отклонений, будем учитывать их квадраты. Таким образом, искомая зависимость строится из условия минимума функционала Так как ищется минимум суммы квадратов отклонений, данный расчёт называют методом наименьших квадратов (МНК). Существует несколько способов построения функционала МНК, например, такой:

•   Определить порядок МНК m и исходные данные {xi, yi }, i=1,2,…, n;

•    Построить матрицу A размерностью n*(m+1) с элементами вида ;

•    Транспонировать матрицу A, получив матрицу AT размерностью (m+1)*n;

•    Вычислить произведение матриц Z=AT*A, размер матрицы Z равен (m+1)*(m+1);

•    Вычислить вектор b из m+1 элементов по формуле b=AT*y, где вектор y содержит значения yi;

•    Найти решение системы уравнений Z*c=b в виде c=Z-1*b, вектор c содержит m+1 элементов;

•    В произвольной точке x функционал МНК может быть вычислен по формуле ϕ(x)=c0+c1*x+…+cm*xm

Задание: построить МНК 1 порядка по следующим значениям {xi,yi}:

i

1

2

3

4

5

xi

1.5

2.5

4

5.5

7

yi

-1

3

7

11

0

Вывести на графике полученную зависимость f(x) и исходные данные {xi,yi}, границы графика по оси Ox принять от 0 до 7.

Скриншот:

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

Просто задав другое значение m, получим МНК другого порядка.

 Скачать этот пример в формате XMCD (43 Кб)

Заметим, что этот расчёт следует понимать скорее как полезное упражнение по расчётам в MathCAD. Того же результата можно было добиться и применением пары стандартных функций... правда, считать будет помедленнее :)

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

Рейтинг@Mail.ru

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