Можно заметить, что сумма f a,b, , c, xk yk 2 для фиксированного
k
представляет собой функцию нескольких переменных
F a,b, ,c . Цель метода – найти минимум такой функции. Но экстремум функции нескольких переменных может быть только в точке, где все её частные производные обращаются в нуль или не существуют:
F |
2 f a,b, , c, xk |
yk f 0 ; |
F |
2 f a,b, , c, xk |
yk f |
0 , |
|
a |
k |
|
a |
b |
k |
b |
|
и далее по другим параметрам. Таким образом, поиск функции |
y f a,b, ,c, x |
||||||
методом наименьших квадратов сводится к решению системы уравнений |
|
||||||
F |
0, F |
0, , F |
0 , где F F a,b, , c f a,b, , c, xk yk 2 . |
|
|||
a |
b |
c |
|
|
k |
|
|
Заметим, что МНК позволяет подобрать функцию y=f(x), если она сводится к виду f x a1 f1 x a2 f2 x am fm x , где f1 , f2 , , fm – линейно независимые базисные функции, не содержащие неизвестных параметров. Так, для квадра-
тичной зависимости y ax2 |
bx c имеем: f |
1 |
x2 , f |
2 |
x, f |
3 |
1. Базисные функ- |
|
|
|
|
|
|
|
|||
ции выбираются заранее, |
а решение сводится |
к |
поиску коэффициентов |
|||||
a1 , a2 , , am при помощи системы m уравнений. |
|
|
|
|
|
|
||
Поиск линейной зависимости |
|
|
|
|
||||
Пусть по n точкам x1 , y1 , x2 , y2 , , xn , yn определяется линейная зависи-
мость y ax b . Надо найти точку минимума функции F a,b axk |
b yk 2 . |
||||
|
|
|
|
k |
|
Поскольку |
|
|
|
|
|
F |
2 axk |
b yk |
1 axk b yk |
2 axk b yk xk , |
|
a |
k |
|
a |
k |
|
F |
2 axk |
b yk |
1 axk b yk |
2 axk b yk 1 , |
|
b |
k |
|
b |
k |
|
то после деления на 2 и раскрытия скобок получаем систему
|
|
ax2 |
bx |
k |
y |
k |
x |
k |
0, |
|
|
||||||||
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
b yk |
|
|
|
|
|
|
|
|
||||||
axk |
|
|
0, |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
которую сводим к равносильной |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
k |
|
|
k |
|
|
|
k |
|
k |
|
||||||
a |
|
|
x2 |
b |
|
|
|
x |
|
|
|
|
x |
|
y |
|
, |
||
|
|
|
k |
bn |
|
|
|
|
|
|
k |
|
|
(1.11) |
|||||
|
|
|
|
|
|
|
|
|
|||||||||||
a |
|
|
x |
|
|
|
|
|
|
y |
|
, |
|
|
|||||
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|||
где n – число пар значений, а неизвестны параметры a и b. Систему 2-го порядка можно решить любым удобным способом (например, по формулам Крамера).
Из тех же соображений при подборе квадратичной зависимости y ax2 bx c получается система
a xk4 |
b xk3 c xk2 xk2 yk , |
|
||||||||
|
3 |
|
|
2 |
c xk |
xk yk , |
(1.12) |
|||
a xk |
b xk |
|||||||||
|
k |
|
|
k |
|
|
|
k |
|
|
a x2 |
b |
x |
|
cn |
|
y |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
с неизвестными a, b, c.
Пример 1. В таблице приведены 4 пары значений:
х |
–3 |
0 |
1 |
5 |
|
|
|
|
|
у |
–2 |
–1 |
2 |
6 |
|
|
|
|
|
Подобрать методом наименьших квадратов линейную функцию y ax b . Решение. Найдём необходимые суммы:
xk 3 0 1 5 3 ;
yk 2 1 2 6 5 ;
xk2 3 2 02 12 52 35 ;
xk yk 3 2 0 1 1 2 5 6 38 .
35a 3b 38,
3a 4b 5.
Решение этой системы – числа a 1,046 и b 0,466 . Таким образом, теоретическая линейная функция y 1,046x 0,466 .
Ответ: |
y 1,046x 0,466 . |
|
Найдём |
теоретические значения |
функции y xk 1,046xk 0,466 в узловых |
точках таблицы: |
|
|
y 3 1,046 3 0,466 2,672 ; |
y 0 1,046 0 0,466 0,466 ; |
|
y 1 1,046 1 0,466 1,512 ; |
y 5 1,046 5 0,466 5,70 . |
|
Сумма квадратов отклонений теоретических значений от фактических:
y xk yk 2 2,672 3 2 0,466 1 2 1,512 2 2 5,70 6 2 2,929 ,
17
и её невозможно уменьшить ни при каких других а, b. Функция y 1,046x 0,466 даёт лучшее приближение по сравнению со всеми линейными функциями.
Например, попытавшись провести прямую по двум точкам, давшим наибольшие отклонения, то есть по точкам (–3,–2) и (0,–1), получим y 0,333x 1 . Тогда в этих точках отклонения составят 0, в точке (1,2) получим y 1 0,333 1 1 0,667 , но в точке (5,6) будет не 5,70, а y 5 0,333 5 1 0,667 и
из-за этого общее отклонение станет намного больше:
0 0 0,667 2 2 0,667 6 2 35,533.
Тем не менее можно учесть отклонение в точках (–3,–2) и (0,–1), считая например, что все точки находятся не на прямой, а на дуге параболы, что показывает следующий пример.
Пример 2. По данным примера 1 найти функцию y ax2 bx c .
Решение. Необходимые произведения и суммы удобно найти в таблице, за-
полняя столбцы до |
x 4 |
включительно. Последние три столбца заполняются, ко- |
||||||||||||||
гда a, b, c станут известны, и необязательны для решения. |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
x |
y |
x 2 |
|
x 3 |
x 4 |
xy |
x 2 y |
y xk |
y xk yk |
|
y y |
k |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
1 |
–3 |
–2 |
9 |
|
–27 |
81 |
6 |
–18 |
–2,163 |
–0,163 |
|
0,027 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2 |
0 |
–1 |
0 |
|
0 |
0 |
0 |
0 |
0,046 |
1,046 |
|
1,094 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
3 |
1 |
2 |
1 |
|
1 |
1 |
2 |
2 |
1,019 |
–0,981 |
|
0,961 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
4 |
5 |
6 |
25 |
|
125 |
625 |
30 |
150 |
6,098 |
0,098 |
|
0,010 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
3 |
5 |
35 |
|
99 |
707 |
38 |
134 |
|
0 |
|
2,092 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Подставив найденные суммы в систему (1.12), получим |
|
|
|
|
||||||||||||
|
|
|
|
|
|
707a 99b 35c 134, |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
35b 3c |
38, |
|
|
|
|
|
|
|
|
|
|
|
|
|
99a |
|
|
|
|
|
|
||||
|
|
|
|
|
|
35a |
3b 4c 5. |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решив эту систему, получаем |
a 0,059, b 0,914, c 0,046 , и |
теоретическая |
||||||||||||||
функция y 0,059x2 |
0,914x 0,046 . |
|
|
|
|
|
|
|
|
|
||||||
Подставив все xk в полученную функцию, найдём теоретические значения y xk и заполним последние три столбца. Общее отклонение 2,092 меньше, чем
18
2,929 при линейном приближении. Параболическая функция точнее учитывает данные задачи, чем линейная.
Ответ: y 0,059x2 0,914x 0,046 .
Если при поиске параболической функции уменьшение общего отклонения невелико и высокая точность в дальнейших действиях не нужна, предпочтительнее выбрать линейную функцию как более простую. Так, построив по четырём точкам примера 2 кубическую параболу, получим отклонение, равное 0, но это противоречит самой цели МНК – с меньшими затратами получить простую функцию. Более того, коэффициент при x 3 будет невысок.
Встроенная в пакет EXCEL функция ЛИНЕЙН позволяет сразу получить коэффициенты линейной зависимости по входным данным. Её действие как раз основано на изложенном алгоритме. Более того, с помощью функции ЛИНЕЙН можно найти зависимость общего вида
варительно вычислив значения всех базисных функций в точках xk .
Некоторые функции приходится преобразовывать к зависимости, допускающей применение МНК. Так, попытка найти коэффициенты а, p для функции
y ax p , непосредственно дифференцируя сумму |
|
axkp yk 2 по этим пара- |
|||||
метрам, приведёт к системе |
|
|
|
|
|
|
|
|
2 p |
|
p |
, |
|
|
|
a xk |
yk xk |
|
|
|
|||
|
x2 p ln x |
|
|
x p ln x , |
|||
a |
y |
||||||
|
k |
k |
|
k |
k |
k |
|
решить которую невозможно. Как действовать в таких случаях, покажем на нескольких примерах.
Пример 3. В таблице приведены пять пар значений:
х |
1 |
2 |
3 |
4 |
5 |
|
|
|
|
|
|
у |
1,8 |
4,75 |
8,38 |
12,54 |
17,13 |
|
|
|
|
|
|
Подобрать методом наименьших квадратов функцию y ax p . Решение. Прологарифмируем равенство:
ln y ln ax p ln a ln x p ln a p ln x , и обозначим B ln a, Y ln y, X ln x .
Задача свелась к поиску зависимости Y pX B по известному алгоритму.
19
Составим таблицу:
х |
у |
Х |
Y |
X 2 |
XY |
1 |
1,8 |
0 |
0,587 8 |
00 |
0 |
|
|
|
|
|
|
2 |
4,75 |
0,693 1 |
1,558 1 |
0,480 5 |
1,080 0 |
|
|
|
|
|
|
3 |
8,38 |
1,098 6 |
2,125 8 |
1,206 9 |
2,335 5 |
|
|
|
|
|
|
4 |
12,54 |
1,386 3 |
2,528 9 |
1,921 8 |
3,505 8 |
|
|
|
|
|
|
5 |
17,13 |
1,609 4 |
2,840 8 |
2,590 2 |
4,572 1 |
|
|
|
|
|
|
|
|
4,787 5 |
9,641 5 |
6,199 5 |
11,493 5 |
|
|
|
|
|
|
В таблице X ln x , Y ln y , а в последней строке указаны суммы каждого столбца. Подставив суммы так же, как в примере 1, и учитывая, что у нас пять пар данных, получим систему
6,199 5 p 4,787 5B 11,463 54,787 5 p 5B 9,641 5,
из которой p 1,400 0, B 0,587 8 .
Поскольку B ln a и соответственно a eB , находим a e0,5878 1,800 0 . Таким образом, если предполагается степенная зависимость, то наиболее точно она задаётся формулой y 1,8x1,4 . Проверка даёт почти нулевое отклонение.
Ответ: y 1,8x1,4 .
|
х |
–0,5 |
–0,2 |
|
0 |
|
0,5 |
|
0,8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
у |
1,5 |
1,4 |
|
1,3 |
|
1,5 |
|
1,8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
A |
|||
подобрать при помощи МНК функцию |
|
. |
|||||||||
ln cos x b |
|||||||||||
Решение. Чтобы привести функцию к виду, допускающему подбор методом наименьших квадратов, обратим исходное равенство:
1 |
|
ln cos x b |
|
1 |
ln cos x |
b |
. |
|
|
|
|
||||
y |
|
A |
|
A |
A |
||
Обозначив K 1/ A, B b / A, получаем зависимость Y KX B , где Y 1 / y
и X ln cos x .
20