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

реклама
Сегодня: _________________ 2009 г.
Лекция № 7
Тема: Численное моделирование
Содержание лекции:
1. Метод наименьших квадратов
Аппроксимация экспериментальных данных
Метод наименьших квадратов (МНК), идея которого принадлежит
А.Лежандру, а теоретическое обоснование К.Гауссу. В соответствии с этим
методом, оценки параметров ai определяют из условия минимума суммы
квадратов отклонений измеренных значений yi от соответствующей ординаты
рассмотренной кривой
Метод наименьших квадратов
При обработке результатов измерений часто возникает необходимость
построить эмпирическую формулу, дающую аналитическое выражение
функциональной зависимости, заданной таблицей.
Общепринятым и весьма эффективным при решении подобных задач
является так называемый
метод наименьших квадратов, при котором
требование наилучшего согласования искомой кривой U = f(x) и
экспериментальных точек сводятся к тому, чтобы «сумма квадратов
отклонений» экспериментальных точек от искомой функции
U=
f(x, а, b, …) обращалась в минимум.
Метод наименьших квадратов - статистический прием, с помощью
которого неизвестные параметры модели оцениваются путем
минимизации
суммы
квадратов
отклонений
действительных
(эмпирических) значений от теоретических (из Глоссария по
естественным наукам).
Метод наименьших квадратов
«Метод наименьших квадратов» имеет перед другими методами
приближения существенные преимущества:
1.
он приводит к сравнительно простому математическому способу
определения параметров а, b, с, … искомого функционала;
2.
он дает довольно веское теоретическое обоснование с
вероятностной точки зрения.
Метод наименьших квадратов
Постановка задачи
Пусть результаты измерений представлены таблицей.
х
U
х1
U1
х2
U2
х3
U3
…
…
хn
Un
Если каждое из Ui (i = 1, 2, …, n) измеряется несколько раз, то в таблице Ui
заменяется средним арифметическим значением данной величины
(1)
m
Ui 
1
U ki .

m k 1
Метод наименьших квадратов
Далее выбираем общий вид функции U = f(x), зависящей от нескольких
числовых параметров а, b, c, именно эти параметры и требуется выбрать
согласно методу наименьших квадратов так, чтобы сумма квадратов
отклонений Ui от f(xi) была минимальна. Запишем U как функцию не
только аргумента х, но и параметров а, b, c:
U = f(x, а, b, с, …)
(2)
Требуется выбрать а, b, c так, чтобы выполнялось условие
n
2


f
(
x
,
a
,
b
,
c
,...)

U
 min .

i
i 1
(3)
Метод наименьших квадратов
Замечание:
Следует заметить, что на практике не редко встречаются случаи, когда
экспериментальные данные при различных значениях аргумента
вследствие каких-либо причин обладают различной точностью. Это
имеет место тогда, когда дисперсии
SU21 , SU2 2 ,..., SU2 n неоднородны.
В этом случае необходимо минимизировать взвешенную сумму
квадратов отклонений экспериментальных и вычисленных значений
функции
(3’)
n
 pi  f ( x, a, b, c,...)  U i   min .
2
i 1
Здесь pi – веса наблюдений,
определяемые в соответствии с (1.37).
Метод наименьших квадратов
Найдем значения а, b, c, обращающие левую часть выражения в
минимум.
Для этого продифференцируем ее по а, b, c и приравняем производные к
нулю:

xi  0
a
i 1

n

f
  f ( xi , a, b, c,...)  U i   b xi  0
i 1
,
n

f
  f i ( x, a, b, c,...)  U i   c xi  0 
i 1

f


f
(
x
,
a
,
b
,
c
,...)

U

 i
i
n
где
 f 
– значение частной производной функции f
  xi  f a ( xi , a, b, c)
 a 
по параметру а в точке xi,
 f 
  xi ,
 b 
 f 
  xi
 c 
– частные производные по параметрам b и с
искомого функционала
(4)
Метод наименьших квадратов
Решить систему (4) в общем виде нельзя, для этого необходимо
задаться конкретным видом функции f.
Рассмотрим наиболее часто встречающийся на практике случай, когда f
является степенным полиномом, т.е.
f(x) = axm + bxm–1 + cxm–2 + … .
(5)
Рассмотрим два часто встречающихся на практике случая:
1)
когда функция f(x) линейна;
2)
когда функция f(x) выражается полиномом второй степени
(параболой).
Метод наименьших квадратов
Подбор параметров линейной функции методом наименьших
квадратов
В опыте зарегистрирована совокупность значений (хi, Ui), i = 1, 2, …, n
(табл.).
Требуется подобрать по методу наименьших квадратов параметры а, b
линейной функции
U = ax + b,
описывающей полученную экспериментальную зависимость U = f(x).
(6)
Метод наименьших квадратов
Для отклонений имеем выражения:
U 1  (ax1  b)  U 1 , 
U 2  (ax2  b)  U 2 , 

............................... 
U n  (axn  b)  U n ,
n
 (U i )
i 1
2
n
  (axi  b)  U i   F (a, b).
2
(7)
(8)
i 1
Таким образом, для случая линейного приближения сформулированная в
предыдущем параграфе задача сводится к исследованию на экстремум
функции двух переменных F(a, b).
Метод наименьших квадратов
Согласно системе (4), необходимые условия экстремума дают
n

F (a, b)
 2 (axi  b)  U i xi  0,
a

i 1

n
F (a, b)
 2 (axi  b)  U i   0. 

b
i 1
Поскольку
 f 
   xi ,
 a  xi
 f 
   1.
 b  xi
(9)
(10)
Сокращая на 2, получим систему (9) в виде (4). Далее преобразуем
уравнения (9) к виду
n
n
n

a   b xi   xi U i ,

i 1
i 1
i 1

n
n

a  xi  bn  U i .

i 1
i 1
xi2
(11)
Метод наименьших квадратов
Решая систему (11), получим
n
a
n
n xi U i   xi
i 1
i 1
n
n
i 1
xi2
n
U i
i 1
 n
   xi
 i 1



2
n
1 n
b   U i  a  xi
n  i 1
i 1

.

,
(12)
(13)
Определив из выражений (12) и (13) искомые а и b, мы найдем тем самым
искомую эмпирическую формулу в виде (6).
U = ax + b,
(6)
Метод наименьших квадратов
Теория дает возможность определить также дисперсию уклонения
точек от прямой и дисперсию коэффициентов а и b. Если
дисперсия
 2точек,
2
– дисперсия
коэффи-циентов
а и b, тогда
 2a

b
и
0
2



U

  i 
 
 02  i 1
  i 1
n2
nn  2 
n
(16)
 2a   02
U i2
n
n
i 1
xi2


   xi 
 i 1 
n
2
,
2
(14)


 n xiU i   xi U i 
i 1
i 1
 i 1
 ,
 n 2  n 2 
nn  2  n xi    xi  
 i 1
 i 1  
n
n
n
n
(15)
n
n
–
 b2   02
n xi2
i 1
n
n
i 1
xi2
 n 
   xi 
 i 1 
2
.
Метод наименьших квадратов
Примечание:
Далеко не всякая зависимость описывается уравнением прямой линии. Однако
в ряде случаев можно путем несложных преобразований привести к линейной
более сложную зависимость.
k
Так, например, если
U   l , то введя новую переменную
x
получим линейную связь между U и q.
1
q ,
x
Метод наименьших квадратов
Пример.
Пусть заданы результаты четырех измерений (рис.): y = 0 при x = 0; y = 1 при
x = 1; y = 2 при x = 3; y = 5 при x = 4.
Задача заключается в том, чтобы провести
~
y  b0  b1t
через эти точки прямую
таким образом,
чтобы сумма квадратов отклонений
была минимальна.
Запишем уравнение, описывающее
проведение прямой
~
y  b0  b1t
по результатам измерений.
Рис. 1. Аппроксимация прямой
линией.
Метод наименьших квадратов
Мы получаем переопределенную систему:
1

1
1

1
0
0

 
1  b0   1 
    ,

3  b1  2

 
4
 5
или Xb=y. Нам понадобится матрица XTX и обратная к ней:
4 8 
1  13  4 
T
1
X X  
, ( X X )  
.
20   4 2 
 8 26 
T
Тогда решение b=(XTX)-1XTy по методу наименьших квадратов будет иметь вид
Метод наименьших квадратов
Тогда решение b=(XTX)-1XTy по методу наименьших квадратов будет иметь вид
0
 
~  b  1  13  4  1 1 1 1  1    0.2 
b   0   

   
.
 b1  20   4 2  0 1 3 4  2   1.1 
 5
 
Таким образом, оптимальная прямая задается уравнением
~
y  0.2  1.1t
Подбор параметров параболы второго порядка
методом наименьших квадратов
В опыте зарегистрированы значения (хi, Ui), i = 1, 2, 3, …, n, сведенные в
таблицу. Требуется методом наименьших квадратов подобрать параметры
квадратичной функции-параболы второго порядка
U = ax2 + bx + c,
(17)
сoответствующей наблюдаемой экспериментальной зависимости.
Итак, эмпирическую формулу ищем в виде
U = f(x, a, b, c).
(18)
Для отклонений имеем выражения
Ui = (a+ bxi + c) – Ui , i = 1, 2, …, n,
отсюда
 U i    
n
i 1
2
n
i 1
(axi2
x
 bxi  c)  U i

2
 F (a, b, c).
Здесь F(a, b, c)  0 и, следовательно, функция F(a, b, c) имеет минимум.
(19)
(20)
Подбор параметров параболы второго порядка
методом наименьших квадратов
Необходимые условия экстремума дают




n

F (a, b, c)
 2 xi2 (axi2  bxi  c)  U i  0,
a
i 1

n

F (a, b, c)
2
 2 xi (axi  bxi  c)  U i  0, 
b
i 1

n

F (a, b, c)
2
 2 (axi  bxi  c)  U i  0. 
c
i 1


(21)

Систему (21) можно непосредственно записать, исходя из общей системы
(4), с учетом того, что
 f 
 f 
2

x
,
 
   xi ,
i
 a  xi
 b  xi
 f 
   1.
 c  xi
(22)
Подбор параметров параболы второго порядка
методом наименьших квадратов
Аналогично тому, как это сделано в предыдущем параграфе, получим
систему нормальных уравнений:
n
a
xi4
n
 b
xi3
n
 c
xi2
n


2
xi U i ,

n
n
n
n

3
2
a  xi  b xi  c  xi   xi U i , 
i 1
i 1
i 1
i 1

n
n
n

2
a  xi  b xi  cn  U i .

i 1
i 1
i 1

i 1
i 1
i 1
i 1
Решая систему (23), находим искомые коэффициенты a, b, c,
самым определяем искомую эмпирическую функцию.
(23)
и тем
Замечания о выборе эмпирической формулы
Способ наименьших квадратов не может дать ответа на вопрос о том, какого
вида функция лучше всего аппроксимирует данные экспериментальные точки.
Вид функции должен быть задан на основании каких-то физических
соображений. Метод наименьших квадратов позволяет нам лишь выбрать,
какая из прямых, экспонент или парабол является лучшей прямой, лучшей
экспонентой или лучшей параболой.
Можно предложить лишь методику определения степени приближающего
полинома вида
U = axm + bxm–1 + cxm–2 + …
(24)
Замечания о выборе эмпирической формулы
х
U
х1
U1
х2
U2
U k  U k 1  U k ,
х3
U3


2
 U k  U k 1  U k , 

................................

sU k  s 1U k 1  s 1U k 
…
…
хk
Uk
хk+1
Uk+1
…
…
xn
Un
U k
U k 1  U k 
U k 

, 
xk 1  xk
xk 1  xk


U k 1  U k
2
 Uk 
,

xk  2  xk


.........................................

s 1
s 1

 U k 1   U k
sU k 
, s  1
xk  s  xk

…
…
Замечания о выборе эмпирической формулы
Можно усмотреть, что если результаты измерения в точности
удовлетворяют линейному закону, то первые разделенные либо
конечные для таблицы с постоянным шагом разности должны быть
постоянны:
U k 1  U k U n  U n1
U 2  U1 U 3  U 2

 ... 

.
x2  x1
x3  x2
xk 1  xk
xn  xn1
(27)
Если же линейная формула лишь приближенно отражает фактически
имеющую место зависимость, то выписанная цепочка точных
равенств заменится цепочкой приближенных равенств.
Таким образом, линейная эмпирическая формула окажется пригодной
лишь в том случае, если первые разделенные либо конечные
разности
мало
отличаются
незначительных пределах).
друг
от
друга
(колеблются
в
Пример
Предположим, что функцию f можно с высокой точностью
аппроксимировать многочленом Pm(x) некоторой степени m. Если
эта степень заранее неизвестна, то возникает проблема выбора
оптимальной степени аппроксимирующего многочлена в условиях,
когда исходные данные yi содержат случайные ошибки.
Для решения этой задачи можно принять следующий алгоритм: для
каждого m=0,1,2,.. вычисляется величина
За оптимальное значение степени многочлена следует принять то
значение m, начиная с которого величина стабилизируется или
начинает возрастать.
Метод наименьших квадратов
Пример
1.
Приближение
функции
по
методу
наименьших
квадратов.
Пусть функция
задана
таблицей
своих
значений:
x
-3
-1
0
1
y
-4
-0.8
1.6
2.3
3
1.5
Приблизим функцию многочленом 2-ой степени. Для этого
вычислим коэффициенты нормальной системы уравнений:
,
,
,
,
,
Метод наименьших квадратов
Составим нормальную систему наименьших квадратов, которая
имеет вид:
Решение системы легко находится:
,
,
.
Таким образом, многочлен 2-ой степени найден:
Примеры
ПРИМЕР 2. Нахождение оптимальной степени многочлена.
Определение параметров эмпирической зависимости. Часто из
физических соображений следует, что зависимость y = f(x) между
величинами хорошо описывается моделью вида y = g(x, a0, a1, … am), где
вид зависимости g известен. Тогда применение критерия наименьших
квадратов приводит к задаче определения искомых параметров a0, a1, … am
из условия минимума функции:
Метод наименьших квадратов
Функция задана таблицей значений
Найти приближение функции многочленом оптимальной степени методом
наименьших квадратов.
Введем векторы исходных данных
Определим
базисные
функции.
Так
как
мы
приближаем
многочленом, базисные функции будут степенными функциями.
функцию
Метод наименьших квадратов
Определим аппроксимационный полином степени
Например, многочлен степени 2
Функция среднеквадратического отклонения многочлена степени n
Метод наименьших квадратов
Вычислим среднеквадратическое отклонение для многочленов степени 0,1,2 и 3
Нарисуем графики многочленов и исходных данных
Примеры
ПРИМЕР 3. Вывод нормальной системы уравнений для
нахождения параметров эмпирической зависимости.
Если зависимость от параметров a0, a1, … am нелинейна, то
экстремум функции
ищут методами минимизации функций нескольких
переменных.
Метод наименьших квадратов
Выведем систему уравнений для определения
коэффициентов a и b функции
,
осуществляющей среднеквадратичную аппроксимацию
заданной функции y = f(x) по
n+1 точкам. Составим функцию
и запишем для нее необходимое условие экстремума:
Метод наименьших квадратов
Тогда нормальная система примет вид:
Получили линейную систему уравнений относительно неизвестных
параметров и, которая легко решается.
Примеры
Пусть дано решить систему уравнений
a1x + b1y + c1z + … + n1 = 0
a2x + b2y + c2z + … + n2 = 0
(1)
a3x + b3y + c3z + … + n3 = 0
…
число которых более числа неизвестных x, у, z…
Чтобы решить их по способу Н. квадратов, составляют
новую систему уравнений, число которых равно числу
неизвестных и которые затем решаются по
обыкновенным правилам алгебры.
Примеры
Эти новые, или так называемые нормальные, уравнения
составляются по следующему правилу: умножают сперва все
данные уравнения на коэффициенты у первой неизвестной х и,
сложив почленно, получают первое нормальное уравнение,
умножают все данные уравнения на коэффициенты у второй
неизвестной у и, сложив почленно, получают второе
нормальное уравнение и т. д.
[aa] = a1a1 + a2a2 +…
[ab] = a1b1 + a2b2 +…
[ac] = a1c1 + a2c2 +…
…
[ba] = b1a1 + b2a2 +…
[bb] = b1b1 + b2b2 +…
[bc] = b1c1 + b2c2 +…
Примеры
то нормальные уравнения представятся в следующем
простом виде:
[aa]x + [ab]y + [ac]z + … + [an] = 0
[ba]x + [bb]y + [bc]z + … + [bn] = 0
(2)
[ca]x + [cb]y + [cc]z + … + [cn] = 0
…
Легко заметить, что коэффициенты нормальных уравнений
весьма легко составляются из коэффициентов данных, и
притом коэффициент у первой неизвестной во втором
уравнении равен коэффициенту у второй неизвестной в
первом, коэффициент у первой неизвестной в третьем
уравнении равен коэффициенту у третьей неизвестной в
первом и т. д.
Примеры
Для пояснения сказанного ниже приведено решение
пяти уравнений с двумя неизвестными:
5x - 8y - 16 = 0
8x - y - 32 = 0
16x + 8y - 55 = 0
9x + 7y - 32 = 0
9x + 20y - 29 = 0
Составив значения [aa], [ab].., получаем следующие
нормальные уравнения:
507x + 323у — 1765 = 0
323x + 578у — 1084 = 0,
откуда х = +3,55; у = - 0,109.
Примеры
Уравнения (1) представляют систему линейных
уравнений, то есть уравнений, в которых все
неизвестные входят в первой степени. В большинстве
случаев уравнения, связывающие наблюдаемые и
искомые величины, бывают высших степеней и даже
трансцендентные, но это не изменяет сущности дела:
предварительными изысканиями всегда можно найти
величины искомых с таким приближением, что затем,
разложив соответствующие функции в ряды и
пренебрегая высшими степенями искомых поправок,
можно привести любое уравнение к линейному.
Метод наименьших квадратов.
Пример.
Пусть на вход некоторого устройства подается
сигнал х, а на выходе измеряется сигнал y. Известно, что
величины x и y связаны функциональной зависимостью,
но какой именно – неизвестно. Требуется приближенно
определить эту функциональную зависимость y= (x) по
опытным данными. Пусть в результате измерений
получен ряд экспериментальных точек (xi,yi).
Известно, что через n точек можно всегда провести
кривую, аналитически выражаемую многочленом (n-1)-й
степени. Этот многочлен называют интерполяционным.
И вообще, замену функции (x) на функцию (x) так, что
их значения совпадают в заданных точках
 (xi) = (xi) , i = 1,2, … n.
называют интерполяцией.
(25)
Метод наименьших квадратов
Однако такое решение проблемы не является
удовлетворительным, поскольку yi  (xi) из-за
случайных ошибок измерения и влияния на
измерения значений yi помех и шумов в устройстве.
Так что
(26)
i
i
i
y  ( x )  
Где i– некоторая случайная ошибка. Поэтому
требуется провести кривую так, чтобы она в
наименьшей степени зависела от случайных ошибок.
Эта задача называется сглаживанием
(аппроксимацией) экспериментальной зависимости и
часто решается методом наименьших квадратов.
Сглаживающую кривую называют
аппроксимирующей.
Метод наименьших квадратов
Задача аппроксимации решается следующим
образом.
В декартовой прямоугольной системе координат
наносят точки (xi, yi). По расположению этих точек
высказывается предположение о принадлежности
искомой функции к определенному классу функций.
Например, линейная функция
(x)=a0+aix, квадратичная (x)=a0+a1x+ a2x2 и т.д. В
общем случае
(x)= (x, a0, a1, …an). Неизвестные параметры
функции a1, a2,… an определяются из требования
минимума суммы квадратов случайных ошибок, т.е.
минимума величины
n
n
2
(27)
   i   ( yi  ( xi , a0 , a1 ,..., an )) 2
i 1
i 1
Величина  называется также суммарной невязкой.
Метод наименьших квадратов
Необходимым условием минимума функции
нескольких переменных является обращение в нуль
частных производных невязки:

( yi  ( xi , a0 , a1 ,..., an ))
0

a j
i 1
n
, j=0, 1, …r.
(28)
Решая систему уравнений, находим неизвестные
параметры aj и тем самым полностью определяем
функцию, которая наилучшим образом (в смысле
наименьших квадратов отклонений от исходных
точек или наименьшей суммарной невязки)
аппроксимирует (приближает) искомую функцию (x).
Метод наименьших квадратов
Остановимся подробнее на линейной зависимости
(x)=a0+aix.
Дифференцируя, получим следующую систему
уравнений
(1.5)
 n
 ( yi  a0  a1 xi )  0
 i 1
 n
 ( y  a  a x )x  0
i
0
1 i
i

i 1
Из первого уравнения находим a0 = My - a1Mx ,
где
1 n
Mx   xi ,
n i 1
1 n
My   yi
n i 1
(29)
Метод наименьших квадратов
Подставляя выражение для a0 во второе
уравнение, найдем
Kxy
a1  2
S
(30)
где
1 n
Kxy   ( xi  Mx)( yi  My ),
n i 1
1 n
2
S   ( xi  Mx )2
n i 1
(31)
Kxy

 Kxy
Таким образом, ( x)   My  S 2 Mx   S 2 x(32)


есть искомая линейная функция.
Метод наименьших квадратов
Ввиду простоты расчетов аппроксимация
линейной зависимости используется довольно часто.
Кроме того, многие функции, зависящие от двух
параметров, можно линеаризовать путем замены
переменных.
Для этого необходимо подобрать такое
преобразование исходной зависимости y(x)= (x, a0,
a1, …an), в результате которого она приобретает
линейный вид v = b0 + b1u. Далее решается задача
линейной аппроксимации для новой зависимости и
вычисленные коэффициенты b0 и b1
пересчитываются в коэффициенты a0 и a1.
Для ряда часто встречающихся
двухпараметрических зависимостей возможные
замены переменных (а также, обратные замены для
пересчета b0 и b1 в a0 и a1) приведены в табл. 1.1.
Примеры
Примеры
Примеры
Примеры
Примеры
Примеры
Лекция окончена
Нажмите клавишу <ESC> для выхода
Скачать