Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_IiDS.doc
Скачиваний:
35
Добавлен:
10.11.2019
Размер:
1.24 Mб
Скачать
  1. Метод наименьших квадратов в многомерном случае

Будем рассматривать здесь многомерную модель как модель со многими входами и одним выходом:

Рис. 18. Многомерная система

Сигналы на входах и выходах считаем центрированными, т.е.

M[xj(t)] = 0, j = 1, 2, ..., k; M[y(t)] = 0.

Модель ищем в виде линейной комбинации входных сигналов

Помеху считаем аддитивной

Выбираем N >> k моментов времени ti, i = 1, 2, ..., N и в каждый из этих моментов наблюдаем все входы и выход.

Интервал между ti не играет роли. Важно только, что в момент взятия отсчетов система должна быть в установившемся состоянии, т.е. интервал должен быть достаточным для практического окончания переходных процессов при изменении очередного состояния системы.

Введем обозначения:

xj(ti) = xij; y(ti) = yi; (ti) = i.

тогда

В матричной форме

Y = XB + E,

где

Критерий приближения

Так как E = Y - X B, то

J = (Y - XB)T(Y - XB) = (YTBTXT)(YXB) =

= YTYBTXTYYTXB + BTXTXB

Поскольку все слагаемые в последнем уравнении скаляры, то

BTXTY = (BTXTY)T = YTXB

Тогда

J = YTY – 2BTXTY + BTXTXB

Вектор коэффициентов B можно вычислить из условия: dJ/dB = 0:

Здесь использовано правило для двух векторов y и z:

Далее воспользуемся правилом: если Q – квадратная матрица, а z – вектор соответствующего размера, то

Для квадратной матрицы XTX и вектора B получаем:

Тогда

dJ/dB = -2XTY + 2XTXB = 0

Откуда получаем т.н. нормальные уравнения МНК:

XTXB = XTY.

Решение нормальных уравнений

B = (XTX)-1 XTY

Обычно приведенное решение используется в теоретическом анализе, а вычисление вектора коэффициентов B выполняется решением системы нормальных уравнений (например, методом Гаусса).

Запишем матрицы системы

В одномерном случае (k = 1) положим xi1 = xi, тогда

yi = b1 xi + i

что совпадает с ранее полученным ранее выражением.

  1. Рекуррентный метод наименьших квадратов

Пусть по N наблюдениям вычислен вектор коэффициентов

BN = (XTX)-1 XTY = PN XTY

где PN = (XTX)-1, и пусть в момент tN+1 получена еще одна серия отсчетов

yN+1, xN+1,1, xN+1,2, ..., xN+1,k.

Необходимо найти способ откорректировать вектор BN по информации, полученной на (N+1)-ом шаге, т.е. найти способ вычисления по формуле

BN+1 = BN + f(yN+1, xN+1,j), j = 1, 2, ..., k.

В этом состоит рекуррентный МНК. Для коррекции вектора BN не требуется ни обращения матриц, ни повторного формирования и решения нормальных уравнений. Метод может использоваться как при оперативной, так и при ретроспективной идентификации.

Пусть

Сформируем клеточные (или блочные) матрицы

Тогда

Воспользуемся далее формулой из леммы об обращении матриц (см. Современные методы идентификации систем. Под ред. П. Эйкхоффа. М.: Мир, 1983, стр. 391).

Лемма. Если необходимые обратные матрицы существуют, тогда

(A + BCD)1 = A1A1B(C1 + DA1B) 1DA1

Доказательство.

Если лемма справедлива, то по определению обратных матриц произведение исходной матрицы A + BCD на ее обратную должно дать единичную матрицу I:

(A + BCD)[ A1A1B(C1 + DA1B) 1DA1] = AA1 + BCDA1

AA1B(C1 + DA1B) 1DA1BCDA1B(C1 + DA1B) 1DA1 = I +

+ BCDA1B(C1 + DA1B) 1DA1BCDA1B(C1 + DA1B) 1DA1 =

= I+ BCDA1BC[C1(C1 + DA1B) 1 + DA1B(C1 + DA1B) 1]DA1 =

= I + BCDA1BC[(C1 + DA1B)(C1 + DA1B) 1]DA1 =

= I + BCDA1BCDA1 = I, ч.т.д.

Пусть теперь C = 1, B = b – матрица-столбец, D = bT, тогда можно записать

Применяя последнее выражение, когда A = XTX; b = x, получим:

Отсюда:

Т.о. для вычисления BN+1 необходимо знать BN; PN и новую информацию yN+1; x. Вычисления состоят только в умножении и сложении матриц, т.е. отсутствуют операции обращения или решения системы уравнений.

Обратим внимание на то, что произведение

равно значению выходного сигнала, предсказываемое моделью (построенной за N шагов) по вектору новых значений x. Если это предсказываемое значение равно измеренному значению выхода, т.е. если

xT BN = yN+1,

то BN+1 = BN и никакого пересчета вектора BN не требуется.

Для применения формулы пересчета вектора BN+1 на следующем (N+2)-ом шаге потребуется, очевидно, матрица PN+1. Эту матрицу можно получить коррекцией матрицы PN.

Так как BN = PN XTY, то выражение

BN+1 = (XTX + xxT)-1 (XTY + xyN+1)

можно записать как

BN+1 = PN+1 (XTY + xyN+1),

где

Последнее выражение, полученное с помощью леммы об обращении матриц, позволяет получить откорректированную матрицу PN.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]