Закрыть

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

Автор: Васин Алексей
Опубликовано 08.03.2009 в 10:14
Раздел: Численные методы
Теги:

Пусть на вход некоторого устройстваподается сигнал x, а на выходе измеряется сигнал $y$. Известно, что величину $x$ и $y$ связаны функциональной зависимостью, но какой именно - неизвестно. Требуется приближенно определить эту функциональную зависимость $y = \varphi (x)$ по опытным данным.

Пусть в результате $n$ измерений измерений получен ряд экспериментальных точек $(x_i,y_i)$. Известно, что через $n$ точек всегда можено провести кривую, аналитически выражаемую многочленом (n-1)-й степени. Этот многочлен называют интерполяционным. Замену функции $\varphi (x)$ на функцию $\psi(x)$ так, что их значения совпадают в заданных точках $\varphi(x_i)=\psi(x_i), i=1,2,...,n$, называют интерполяцией.

Однако такое решение проблеммы не является удовлетворительным, поскольку $y_i \ne \varphi(x_i),$ из-за случайных ошибок измерения и влияния на измерения значений $y_i$ помех и шумов в устройстве.

Таким образом,

$y_i = \varphi(x_i)+\delta_i,$

где $\delta_i$ - некоторая ошибка. Поэтому требуется провети кривую так, чтобы она в наименьшей степени зависела от случайных ошибок. Эта задача называется сглаживанием (аппроксимацией) экспериментальной зависимости и часто решается методом наименьших квадратов. Сглаживающую прямую называют аппроксимирующей.

Задача аппроксимации решается следующим образом. В декартовой прямоугольной системе координат наносят точки $(x_i,y_i)$. По координатам этих точек высказывается предположение принадлежности искомой функции к определенному классу функций. Например, линейная функция $\varphi(x) = a_0 + a_1 x$, квадратичная $\varphi(x) = a_0 + a_1 x + a_2 x^2$ и т.д. В общем случае $\varphi(x) = \varphi(x,a_0,a_1,...,a_r)$. Неизвестные параметры функции $a_0,a_1,...,a_r$ определяются из требования минимума суммы квадратов случайных ошибок, т.е. минимума вуличины

$\displaystyle{\delta = \sum_{i=1}^n \delta_i^2 = \sum_{i=1}^n (y_i - \varphi(x_i,a_0,a_1,...,a_r))^2}. (1)$

Величина $\delta$ также называется суммарной невязкой. Необходимым условием минимума функции нескольких переменных является обращание в нуль частных производных невязки:

$\displaystyle{\sum_{i=1}^n (y_i - \varphi(x_i,a_0,a_1,...,a_r)) \frac{\partial \varphi}{\partial a_i} = 0,j=0,1,...,r.$

Решая последнюю систему уравнений, находим неизвестные параметры $a_j$ и тем самым полностью определяем функцию, которая наилучшим образом (в смысле наименьших квадратов отклонений от исходных точек или наименьшей суммарной невязки) аппроксимирует (приближает) искомую функцию $\varphi(x)$.

Остановимся подробнее на линейной зависимости $\varphi(x) = a_0 + a_1 x$.

Дифференцируя систему (1), получим следующую систему уравнений:

$\displaystyle{\left\{ \begin{array}{c} \sum_{i=1}^n (y_i - a_0 - a_1 x_i ), \\ \sum_{i=1}^n (y_i - a_0 - a_1 x_i )x_i\end{array}}$

Из первого уравнения находим $a_0 = M(Y) - a_1 M(X)$,

где

$\displaystyle{M(X)=\frac{1}{n} \sum_{i=1}{n} x_i, M(Y)=\frac{1}{n} \sum_{i=1}{n} y_i}$

Подставляя выражение дря $a_0$ во второе уравнение найдем:

$a_1=\frac{K_{xy}}{S^2}$,

где

$\displaystyle{K_{xy} = \frac{1}{n} \sum_{i=1}^n (x_i-M(X))(y_i-M(Y)), S^2=\frac{1}{n} \sum_{i=1}^n (x_i-M(X))^2 }$

Таким образом,

$\varphi(x) = (M(Y)-\frac{K_{xy}}{S^2} M(X))+\frac{K_{xy}}{S^2} x$

есть искомая линейная функция.

Ввиду простоты расчетов аппроксимация линейной зависимости используется довольно часто. Кроме того, многие функции, зависящие от двух параметров, можно линеаризовать путем замены переменных.

Для этого необходимо подобрать такое преобразование исходной зависимости $y(x) = \varphi(x,a_0,a_1)$, в результате которого она приобретает линейный вид $v = b_0 + b_1 u$. Далее решается задача линейной аппроксимации для новой зависимости и вычисленые коэффициенты $b_0,b_1$ пересчитываются в $a_0,a_1$.

Для ряда часто встречающихся двухпараметрических зависимостей возможные замены переменных приведены ниже:

1. Гиперболическая $y=a_0+a_1/x$

Замена переменных: v=y,u=1/x,

Ограничения: $x \ne 0$,

Обратная замена: $a_0=b_0, a_1=b_1$;

2. Логарифмическия $y=a_0+a_1 \ln x$

Замена переменных: v=y,u=\ln x,

Ограничения: $x > 0$,

Обратная замена: $a_0=b_0, a_1=b_1$;

3. Показательная $y=a_0 e^{a_1 x}$

Замена переменных: v=\ln y,u= x,

Ограничения: $y > 0, a_0>0$,

Обратная замена: $a_0=e^{b_0}, a_1=b_1$;

4. Степенная $y=a_0 x^{a_1}$

Замена переменных: v=\ln y,u=\ln x,

Ограничения: $y > 0, y>0, a_0>0$,

Обратная замена: $a_0=e^{b_0}, a_1=b_1$;

5. Комбинированная $y=\frac{1}{a_0 + a_1 e^{-x}}$

Замена переменных: v=\frac{1}{y},u=e^-x,

Ограничения: $y \ne 0$,

Обратная замена: $a_0=b_0, a_1=b_1$;

Комментарии (0)

Комментировать могут только зарегистрированные пользователи

Подразделы
Новые статьи
Aрхив статей