книги / Моделирование систем управления
..pdfВершины |
|
|
|
|
Таблица 4.3 |
Ьи |
ь* |
Координаты |
|
||
— ^----------- |
... |
Ьт-и |
bmi |
||
1 |
0 |
0 |
|
0 |
0 |
2 |
Я| |
я |
|
я |
я |
3 |
я |
Я, |
|
я |
я |
т |
я |
я |
|
Я| |
я |
т+ 1 |
я |
я |
|
я |
ÎTl |
В данной таблице щ =— j=(Vm +1 + т |
|
рас- |
|||
|
ты2 |
|
|
|
|
стояние между двумя вершинами. |
|
|
|
||
Пример. Для т = 2, а = 1 (табл. 4.4): |
Таблица 4.4 |
||||
|
|
|
|
||
|
Вершины |
|
Ьи |
Ьц |
|
|
1 |
|
0 |
.0 |
|
|
2 |
|
0,965 |
0,259 |
|
|
3 |
|
0,259 |
0,965 |
|
Обозначим |
Fu =max(Fi) |
для соответствующего |
вектора 6, = Ьи |
к Fc = min(^J) для соответствующего вектора Ьг = Ье, и пусть точка С - центр
/
тяжести всех точек симплекса c i* и (т.е. исключаем наихудшую точку). Алгоритм состоит в последовательной замене вершины Ъи на новую
вершину согласно следующей схеме.
1.Осуществляется отражение
i* = ( l + yr ) C - ^
где уг - коэффициент отражения, который задается исследователем (напри-
мер,Тг=1)-
Пусть F(b ) = F . После того, как произведено отражение Ьиуосуществ ляется следующее:
а) если Fe < F* < Fu, то bu заменяют на b \ Полученный симплекс ис пользуют в качестве исходного для первого этапа (возвращаются к
пункту 1); |
, |
„ |
б) если F |
< Fe, то производят растяжение, преобразуя b |
в b . |
*м » г Ж + 0 - ъ ) С , где уе- коэффициент растяжения (например, уе= 2).
Определяют F** =F(b**).
Ебли F** < Fei то Ъизаменяют на b" и снова возвращаются к пункту 1. Если F " > Fet т.е. растяжение ухудшает ситуацию, то Ьизаменяют на b'
ивозвращаются к пункту 1;
в) если F* > Ft для всех / * и, т.е. замена на Ь* показывает, что Ь* ответствует точке, дающей максимум F, то определяют некоторый новый вектор Ьюравный либо старому вектору Ьи, либо b \ который дает более низ кое значение F. Затем осуществляют сжатие, преобразуя Ьи в Ь*\
^ = г А + ( 1 - У с ) С ,
где ус - коэффициент сжатия (ус = —); 0 < ус ^ 1.
Вектор Ъизаменяют на bм и снова повторяют первый этап, если только вершина, полученная при сжатии, не приводит к результату, худшему, чем тах(Д£„), F(b*)), т.е. если F** > max(jFu, F*). В последнем случае все векторы
biзаменяют на ^(bi +be) и возвращаются к первому пункту (этапу).
2.Поиск прекращают, когда
ш- п 2
где Е - произвольно выбранное малое число; F - среднее значение функции ошибок для всех вершин симплекса.
4.5.4. Методы с производными. Метод Гаусса-Зайделя
Идея метода состоит в том, чтобы линеаризовать модель с помощью отрезка ряда Тейлора с целью применить линейный анализ и получить иско мый минимум суммы квадратов отклонений посредством итерационных расчетов.
Вводятся начальные предположения о параметрах. Вычисления повто ряют до тех пор, пока критерий сходимости не будет удовлетворен.
Проведем разложение соотношения для модели г\ в ряд Тейлора отно сительно значения £(0- начального приближения вектора (3. Исходное значе ние Pj обозначается через 6(0)у.
F - t W - n f ,
1=1
где Wi - вес измерений; т|/ - соответствует вектору i-ro набора данных X/; У, - измеренные значения зависимой переменной.
Минимизируя F, можно найти улучшенную оценку ру (если функция ц действительно линейна, для достижения минимума F необходимо осущест вить лишь один этап расчета).
Разложим функцию ц следующим образом:
« г - р , Ло означает, что эта функция вычисляется в точке Ь® \... £(0)да.
|
Э 2 Х |
,, |
т |
|
dF |
^ ~ СТ1|)о ~ £ |
|
||
/=1 |
|
;=1 ар о |
|
|
д(АЬ ^) |
|
|
=0, |
|
|
|
а(д*50>) |
||
|
|
|
|
^*'М1 г](ж! ^ > й (|А(§А ♦
М V^PlJoV^Pl/o |
/=1 V^JoV^PlJo |
где £,-0> = У, ~(г|, )о-
Эту систему нужно решить относительно Abj.
Запишем эту систему в более компактной форме:
[Х,у] = |
- , где i = 1,2,..., и; j = 1,2,..., от; |
эр,-
Z(0,=(XTWE)<0,=
(XTW X)<0)B(0,= (XT W Е)(0),
А(о) в (0) = z «»
В(0)= (A*0*)'1z(i).
После того как вычислен вектор В(0), можно получить новые оценки для каждого из параметров Р;, повторяя предыдущие вычисления, причем вместо b®j подставляются b{X)j - улучшенные оценки Ру.
Для вычисления используется рекуррентная формула:
b f*4 =bijtt) +h<?bbf,
где hj - ускоряющий множитель, предназначенный для ускорения поиска ми нимума F.
Действительно, значения Abj определяют направление поиска мини
мума F в пространстве параметров.
В методе Гаусса полагают hj = 1. Можно подсчитать более эффективное значение hj. Введение корректирующего множителя объясняется тем, что оп ределение минимума можно автоматически ускорить или замедлить, увели чивая скорость приближения к минимуму F на начальной стадии поиска, а также уменьшая ее в конце, чтобы избежать излишних колебаний.
Практические трудности при использовании метода Гаусса-Зайделя
1. Выбор начальных оценок, особенно в случае нескольких минимумов, достаточно сложен.
Одно из предложений, позволяющих сделать различные начальные предположения о ру, состоит в том, чтобы представить отклик в виде функ ции одной переменной, полагая другие переменные фиксированными, и взять некоторое асимптотическое значение 6(0у. Начальные значения других пара метров можно выбрать на основе этих полученных значений.
Часто известны приближенные значения из физических соображений. Можно использовать несколько исходных векторов б(0) из некоторого
разумного интервала и убедиться, что все ведут к одному и тому же значению F.
2. Целевая функция или ее первые частные производные в области по иска минимума F могут стать неограниченными. Преодолеть эту трудность можно лишь шраничивая область поиска (3,.
3. Матрица А(0) может стать вырожденной из-за избыточности данных или почти вырожденной при одном или нескольких р в процессе поиска. Эта трудность может быть преодолена, например, выбором формы представления независимой переменной.
4. |
Метод итераций на некоторой стадии может привести к увеличен |
||
F, а не к уменьшению (в случае нескольких минимумов). |
|||
Эта ситуация исправляется с помощью логической операции, такой как |
|||
проверка на каждом цикле неравенства F<nfl) < i^w), и если оно нарушено, |
|||
уменьшение множителя hj в заданное число раз. |
|
||
Задача: Даны результаты эксперимента (табл. 4.5). В выходную вели |
|||
чину у |
замешана ошибка со средним значением 0 и с дисперсией 0,01. |
||
|
|
|
Таблица 4.5 |
|
Х\ |
*2 |
У |
|
0 |
0 |
2,93 |
|
0 |
1 |
1,95 |
|
0 |
2 |
0,81 |
|
0 |
3 |
0,58 |
|
1 |
0 |
5,90 |
|
1 |
1 |
4,74 |
|
1 |
2 |
4,18 |
|
1 |
2 |
4,05 |
|
2 |
0 |
9,03 |
|
2 |
1 |
7,85 |
|
2 |
2 |
7,22 |
|
2,5 |
2 |
8,50 |
|
2,9 |
1,8 |
9,81 |
п ~ 13. |
|
|
|
Пусть задана модель в виде |
|
||
|
|
П = Р л + Р 2еМ г- |
|
Запишем функцию ошибок: |
|
||
Выбираем начальные оценки 6(0)ь 6(0)2, è(0)3: |
например, Ь{0\ = Ь{0\ = |
||
= Ь% = 1, или Ъ®\ = 6(0)г - |
6(0)з = 0. |
|
|
Можно исследовать модель и получить более хорошее начальное при |
|||
ближение. |
|
|
|
Если *2поддерживается постоянной, то получим прямую с у г л о в ы м к о - |
|||
эффициентом 'ÜLU■Pi- |
|
|
|
|
кдх, |
|
|
Выделим строки для хг - 0: |
|
||
|
*, = 0, |
у = 2,93; |
|
|
*1 = 1. |
у = 5,9; |
|
|
*1 = 2, |
>> = 9,03. |
|
Тогда |
|
|
5,9-2,93 = 2,97, |
|
|
|||
|
an |
|
|
|
||||
|
obcj x2= |
const |
|
1 -0 |
|
|
|
|
|
an |
|
9,03-5,9 = 3,13. |
|
|
|||
|
dxx |
|
|
2-1 |
|
|
|
|
|
1x2= const |
|
|
|
|
|
|
|
В этом случае за значение b{0\ |
можно принять среднее арифметическое, |
|||||||
т.е. Ь{0\ =3,1. Для получения Ь^\ и Ь{0\ |
запишем: |
|
|
|
||||
|
(Л -3 ,Ц ) = Р2еМ |
, |
|
|
|
|||
|
и = ln(n - 3,1*, ) = Inр2 + р3*2. |
|
|
|||||
Определяем |
В |
соответствии |
с |
графиком (рис. |
4.3) |
|||
|
|
I |
n |
= ln(n - ЗД*, ) при т] = 2,93, *, |
= 0 |
|||
|
|
находим Ь{0)2 = 2,93. |
|
|
||||
|
|
|
|
|
|
а** |
3 * |
|
|
|
Ь{0) _> ( 2 ,93-3,10)-1п(4,18-3,1) |
52 |
|||||
|
|
|
3 |
|
|
0 - 2 |
. ~ |
* |
|
|
|
|
Пусть вес W, = 1. Окончание вы- |
||||
|
|
числений: ■ ^ |
^— |
< е . |
|
|||
Например, 8= КГ6. |
|
|
|
|
|
|
|
|
Определяем частные производные. |
|
|
|
|
|
|
|
I |
S |
S |
' " |
* |
Ь |
" |
|
" i S Ï |
= e -°'5J0= l |
|
|
U P 2J0 |
|
|
|||
àn2 ' |
J |
=*2I=0 |
|
|
s! e-0,52’1= 0,594 |
|
|
|
ePiJo |
||||
ePi /о |
|
|
|
|
||
f * |
L . . |
|
f ^ - l |
= e“°’5W = 0,353 |
||
U P J |
O |
31 |
• |
le p 2J0 |
|
|
S r i— |
еРгЛ |
= e"0,52'3 = 0,21 |
||||
|
|
!*41; |
|
^U .1 |
||
|
|
|
|
|
|
|
f e n s ' |
= *51 =1 |
|
I ^1s I |
_--0.52.0_, |
|
|
lap , |
|
|
|
UJ. |
|
|
I S ” '"-
= 2,9-0-e_o,52°= O
l ^ - j = 2,9 - l- e '0-521 =1.723
= 2,9- 2 -e-0'52'2 =2,05
fj^ -j = 2,9 • 3 • e*0,52’3 = 1,827
apJ o |
= 2 - 0 - P*0520 |
о |
2,9 0 e |
- 0 |
|
( ^Пб J |
—Y |
—1 |
|
|
я Г |
|
“ *61 |
|
|
1Ф 1JO |
|
|
|
(^^П7. 1I |
. Y |
- I |
||
|
--- |
|
-X 71 -1 |
|
I#, Jo' |
|
|||
|
|
'0 |
|
|
M = * 8,= i |
||||
U P J O |
|
|
||
|
5ü£ |
|
*91 = 2 |
|
|
SP) Уо |
|||
|
|
|
||
|
5Л|о) |
_ |
|
|
|
3P. |
Jo |
*ioi = 2 |
|
|
|
|
||
t |
ЗЛ и) |
= д:ц, = 2 |
||
3P. Jo |
|
|
||
f |
e |
l |
*121 = 2,5 |
|
" |
“ '= 2’5 |
($ * -1 |
= e-0,52'1= 0,594 |
( $ |
4 |
= 2,9-1 .e-°'32,==1,723 |
|
|||||||
13P2J„ |
|
|
|
v ЗРэ J0 |
|
|
||||||
( f ^ |
l |
=e-°'522 = 0,353 |
1 а |
|
Р |
зJo |
= 2,9 • 2 • e~0,52 2 = 2,05 |
|
||||
l3 P 2J„ |
|
|
|
|
|
|
|
|||||
|
|
= e 'W2'2 =0,353 |
|
f a illi |
= 2,9 • 2 • e~0,52'2 ==2,05 |
|
||||||
l3P2J0 |
|
|
|
15Р |
з |
J |
o |
|
|
|||
[ ^ 9 |
I |
_ „-0,52 0 |
= 1 |
|
( ^ Ы |
|
= 2,9'0-e‘°'520 = |
0 |
|
|||
UP2J0” |
|
|
|
U |
P |
3 |
J „ |
|
■ |
|||
^10 ) |
= e '0,52'1= 0,594 |
|
ÊUlo) |
_9Q .1.p-0.52J _ 1,723 |
||||||||
^P2 Jo |
|
|
4 >,J. |
|
|
|||||||
|
|
= e"0,52'2 = 0,353 |
|
^ |
Р |
■) |
= 2,9 • 2 • e“0,52'2 = 2.05 |
|
||||
3p2 Jo |
|
|
З |
з |
J |
o |
|
|
||||
f e |
) |
. ‘ e-0'522 = 0,353 |
|
З |
Р |
зJ0 |
= 2,.9 •2 •e"0,52"2 = |
2.05 |
|
|||
^ L il |
= g-0,521,8 _ 0 391 |
Ê üll) |
= 2,9-1,8-e'0'52-1*8 = 2,04 |
|
||||||||
ЗР2 J„ |
|
|
|
5Р |
з |
J o |
|
|
||||
|
|
|
0 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
0 |
0,594 |
1,723 |
|
|
|
|
|
|
|
|
|
|
0 |
0,353 |
2,05 |
|
|
|
|
|
|
|
|
|
|
0 |
0,21 |
1,827 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
1 |
0,594 |
|
1,723 |
|
|
|
|
|
|
|
r (0) = |
1 |
0,353 |
|
2,05 |
|
|
|
|
|
|
|
|
|
|
1 |
0,353 |
|
2,05 |
|
|
|
|
|
|
|
|
|
2 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
2 |
0,594 |
|
1,723 |
|
|
|
|
|
|
|
|
|
2 |
0,353 |
|
2,05 |
|
|
|
|
|
|
|
|
|
2,5 |
0,353 |
|
2,05 |
|
|
|
|
|
|
|
|
|
2,9 |
0,391 |
|
2,04 |
|
|
|
|
|
|
о À |
|
|
/П\ |
‘30,66 |
8,21 |
|
24,44' |
|
|
|||
II о к' |
— 8,21 |
|
4,88 |
|
7,87 |
|
|
|||||
К \v ) |
|
|
|
|
||||||||
|
|
|
|
24,44 |
7,87 |
|
37,42 |
|
|
£ f0) = * -(л,)о = У ,-(з.1*п + 2,9e"°'52jr'2 )= 2,93 - (з,1 0 + 2,9е
£f 1= 1,95- (з,1 • 0+ 2,9e41-521)= 0,23,
£3< ) = 0,81- (з,1 ■0+2,9e'0'522)= -0,2137,
£'0) = 0,58- (з,1 • 0+2,9e41'52'3)= -0,029,
£j0) =5,9- (з,1 •1 +2,9е'°'520)= -0,1,
£(°>= 4,74 - (з,1 •1+2,9е"°'52|)= -0,083,
£70) =4,18- (з,1 • 1+2,9е~°'522)= 0,056,
£|(0) = 4,05- (з,1 ■1+2,9е"°'52-2)= -0,074, £$0) = 9,03—(з,1 •2+2,9е'°'520)= -0,07, £/0) = 7,85- (з,1• 2+ 2,9е'°’!2|)= -0,073,
£,(0) = 7,22 - (з,1 • 2 + 2,9е'0,52'2)= -0,0037,
£|(0> = 8,5 - (з,1 • 2,5+2,9е'0'52 2)= -0,274,
£}з) = 9,81- (з,1 • 2,9+2,9е'0'52'•*)=-0,314.
|
|
-2,0 9 |
|
|
|
(х(0))ТЕ(0) =Z(0) = -0,405 |
, |
|
|||
|
|
-1,61 |
|
|
|
|
0,085 |
-0,081 |
-0,038' |
|
|
|
-0,081 |
0,381 |
-0,029 |
|
|
И Г --0,038 |
-0,029 |
0,058 |
|
||
в (0) = |
Д6,(0Г |
в<°> = |
-0,0258' |
|
|
Д6<0) |
0,0617 |
|
|||
|
Д6<°> |
|
- 0,0022 |
|
|
|
B (0) = [A C°)]-1 .Z (0). |
|
|
||
b,0) = 6,(0) + Д6<°> = 3,1 - 0,0258 = 3,0742, |
|
|
|
||
è f =b f } + Д6<0) = 2,93 + 0,0617 = 2,9917, |
|
|
|
||
6® = fc<0) + Д6<0) = -0,52 - 0,0022=-0,5222. |
|
|
|||
Результаты последующих итераций приведены в табл. 4.6. |
|
||||
|
|
|
|
|
Таблица 4.6 |
Номер итерации |
Ь\ |
Ьг |
Г |
ъ |
Ф |
0 (начальное |
3,1 |
2,9 |
|
-0,52 |
0,1981 |
приближение) |
|
||||
1 |
3,074 |
2,9617 |
|
-0,5222 |
0,1573 |
2 |
3,017 |
2,958 |
|
-0,5220 |
0,1574 __ |
3 |
3,017 |
v m |
|
-0,5220 |
0,1574 |
4.5.5. Метод линеаризации целевой функции
Другой способ достижения минимума суммы квадратов отклонений F состоит в том, чтобы линеаризировать саму целевую функцию. К таким ме тодам относится метод наискорейшего спуска.
Градиент функции F - gradF или VF представляет собой вектор, пер пендикулярный к контурам поверхности F в пространстве параметров, кото рый указывает направление наибольшего возрастания F в данной точке.
Противоположный вектор задает направление наискорейшего спуска. Пусть функция F разложена в ряд Тейлора относительно Ь(0):
Величины составляющих вектора (-VF), вычисленные в точке 6(0), сов падают с соответствующими членами разложения F. Эти составляющие ис пользуются в методе наискорейшего спуска для определения направления поиска.
Предположим, что функция F является однозначной, непрерывной и в области поиска имеет один минимум. Тогда, определяя составляющие вектора (-VF), можно с помощью некоторой итерационной процедуры при вести значение F к минимуму.
|
Алгоритм |
1. Вычисляют значения составляющих вектора (-VF) в точке Ь(0). Оп- |
|
ределяют единичный i |
направление поиска. |
2. Составляющие вектора г — -т, подсчитанные в точке Ь(0), задают на-
правление поиска минимума F. Величина Ь(п) для каждого нового цикла ^(п+1)= 6 и + л (/0д6(п)
3. Итерационную процедуру продолжают до тех пор, пока величина F не станет меньше некоторого заданного значения, или пока процесс не станет расходящимся, или не приведет к колебаниям, так что дальнейшее уменьше ние Покажется невозможным.
Любой из методов минимизации суммы квадратов отклонений может не обнаружить абсолютный минимум из-за неверных начальных предполо жений о параметрах или неограниченности целевой функции.
4.6. Оценивание процессов, представленных обыкновенными дифференциальными уравнениями
Оценивание параметров моделей в значительной степени зависит от качества экспериментальных данных, а следовательно, и от самих экспери ментов. Эксперименты следует проводить в соответствии с хорошим планом, который должен быть составлен таким образом, чтобы ошибки при измере нии были независимыми, а модель, коэффициенты которой требуется оце нить, была адекватной.
Простейшая модель, которую следует рассмотреть, представляет одно скалярное линейное (по зависимой переменной) обыкновенное дифференци альное уравнение первого порядка с постоянными коэффициентами:
dy(t)
= ау(/)+ *(/), № = У 0'
Решение его имеет вид:
Я<)=Л -е"+ fx(x)ea('~,)A >
о
где у - зависимая переменная; а - коэффициент (параметр); î - независимая переменная; x(t) - детерминированная входная функция.
Для того чтобы получить наблюдаемую зависимую переменную 7(0, нужно ку(0 добавить ненаблюдаемую ошибку
Д0=У(0+ б(0, |
7(/i)=XA) +B(//). |
непрерывная система |
дискретная система |
Если точное значение параметра а |
(неизвестное) заменить на оцен |
ку а , то остаточная ошибка £(/) = 7 (f)-?(f).
Целью оценивания является получение наилучшей оценки параметра а с помощью наблюдений 7(Г/) или 7(0-
Более общей моделью является модель, содержащая систему линейных обыкновенных дифференциальных уравнений первого порядка с постоянны
ми коэффициентами |
|
|
|
dy |
V |
Уг(0)=ук>, |
г - 1,2,..., v , s = l,...,v . |
dt |
+ * г(0 , |
||
5=1 |
|
|
|
В матричных обозначениях |
|
||
|
^ a Y |
+ X(t), |
К(0) = У0. |