
4. Мнк при нелинейных моделях
Предположим, что уравнение, связывающее вход и выход исследуемого объекта, нелинейно по параметрам, т.е. имеет вид:
у = F(x, b) (3.4)
Принцип наименьших квадратов легко обобщается и на нелинейный случай. Решением (вектором коэффициентов) задачи среднеквадратичной аппроксимации при нелинейной модели (3.4) будем понимать то значение вектора bЕk, для которого сумма квадратов отклонений
(b) = (F(xi, b) – yi)2
принимает минимальное значение. В отличии от линейного случая, в котором минимум находится сравнительно просто – как решение системы линейных уравнений, поиск минимума (b) в общем случае достаточно сложен. В нелинейной модели может существовать несколько локальных минимумов функции (b). По определению МНК-решение соответствует глобальному минимуму.
Линеаризация. В некоторых случаях уравнение (3.4) можно преобразовать к линейному виду:
g(у) = g(F(x, b)) = b1f1(x) + … + bkfkx). (3.5)
Введя новую переменную z = g(y), получаем обычный МНК. Такая процедура называется линеаризацией. К ней прибегают, когда непосредственная минимизация (b) по каким-либо причинам затруднена. Решить линейную систему намного проще, чем минимизировать сложную функцию.
Пример
3.5.
1)
.
Положим g(y)
= 1/y,
получим ax
+ b
= 1/y.
Отсюда получим линейный случай:
( axi
+ b
– 1/yi
) 2
min.
2)
.
Положим g(y)
= ln(y),
получим ax
+ b
= ln(y).
Отсюда получим линейный случай:
( axi
+ b
– ln(yi)
) 2
min.
При наличии ошибок в исходных данных преобразование (3.5) обычно приводит к потере точности, т.к. минимизация проводится уже преобразованной суммы квадратов, чье оптимальное значение не соответствует минимуму (b).
Пример
3.6. Истинная
зависимость y
от х имеет вид:
.
Имеем данные эксперимента при наличии
случайных ошибок :
xi
= 0.8, 1,…, 3; у = (1.496, 1.039, 0.57, 0.5141, 0.5428, 0.3272,
0.2415, 0.2065, 0.374, 0.1348, 0.091, 0.2631) (см. рис. 3.4). В
результате линеаризации получили модель
.
Рис. 3.4. –
истинная зависимость;
– экспериментальные
данные примера 3.6
Результаты аппроксимации приведены на рис. 3.5 и 3.6. Из рис. 3.6 видно, что при начальных значениях х погрешность аппроксимации особенно велика.
Рис. 3.5. Результат
линеаризации примера 3.6
– обратная
истинная зависимость;
– МНК-аппроксимация
ах + b;
– экспериментальные
данные (обратные величины)
Рис. 3.6. Линеаризованный
МНК – истинная
зависимость примера 3.6
– экспериментальные
данные – результат
МНК-аппроксимации
Взвешенный МНК. Расхождение между истинным значением функции и ее аппроксимацией, полученной в результате линеаризации, можно значительно уменьшить с помощью введения соответствующих весов i для экспериментальных точек, т.е. минимизировать сумму:
1(b) = i2 (g(F(xi, b)) – g(yi)) 2 .
Опишем соответствующую процедуру, предложенную С. А. Айвазяном.
Предположим, что экспериментальные значение у представляют собой сумму у = F(x, b) + . Разложим функцию g(y) по формуле Тейлора до линейных членов в окрестности F(x, b), положив
g(y) = g(F(x, b) + ) g(F(x, b)) + g’y = b1f1(x) + … + bkfk(х) + g’y .
Отсюда
.
Так как в МНК минимизируют сумму i 2, то получаем
1
(b) =
[b1f1(xi)
+ … + bkfk(хi)
– g(yi)
]2
,
т.е.
.
В матричной записи МНК это означает
умножение каждой строки линеаризованной
матрицы Ф и вектора g(y)
на i,
или умножение матрицы Ф и g(y)
слева на диагональную матрицу R,
в которой Ri
i
= i.
Рис. 3.7. Результат
применения процедуры Айвазяна к примеру
3.6.
– истинная
зависимость;
– взвешенная
МНК-аппроксимация
Результат
применения процедуры Айвазяна к примеру
3.6 изображен на рис. 3.7 (сравните с рис.
3.6). Получена аппроксимация
.