8.4. Вычисление целевой функции и ее градиента
Чтобы перейти к оцениванию параметров
модели динамической системы, мы должны быть в состоянии вычислять значение целевой функции
для любых заданных допустимых значений параметров. Как только этим параметрам приписаны значения, начальные условия
определяются с помощью уравнений
Дифференциальные уравнения
можно теперь проинтегрировать (если нужно численно) в пределах от
до
эксперимента) для
Это определит значения — предсказанные значения переменных состояния в
эксперименте. Теперь мы в состоянии определить вектор
из уравнений
который в свою очередь используется для вычисления остатков
По ним непосредственно могут быть вычислены основные целевые функции (сумма квадратов, функция правдоподобия и др.).
Если мы хотим для оценивания параметров динамической системы использовать градиентный метод (глава V), мы должны вычислить не только целевую функцию
но также и ее производные
Как мы указывали ранее, градиентные методы наиболее эффективны среди доступных в настоящее время методов. Побудительные причины для использования эффективного (в смысле общего числа вычислений значения функции) метода особенно велики в случае динамических систем, когда вычисление каждого значения функции — это уже сама по себе сложная процедура, требующая решения системы дифференциальных уравнений. Ниже мы детализируем отдельные возможности для вычисления требующихся производных.
(а) Конечные разности. К динамическим системам применимы конечно-разностные методы, рассмотренные в разделе 5.18. Как обычно, нам придется столкнуться с проблемой балансирования между ошибкой усечения 1 (возрастающей с ростом
и ошибкой округления при вычислении последовательных разностей (убывающей с ростом
Существует, однако, дополнительная трудность, связанная с динамическими моделями. Использование малого приращения
и попытка избежать сопутствующих ошибок округления путем применения арифметики с кратной точностью само по себе неэффективно, так как точность значений функции
ограничена не только ошибками округления, но и главным образом ошибками усечения в методе интегрирования. Повышенной точности значений
можно достигнуть только сочетанием арифметики с кратной точностью и уменьшенных шагов интегрирования или путем применения метода интегрирования более высокого порядка. Тот и другой способы требуют много дорогостоящего машинного времени. Во многйх задачах метод конечных разностей в своей грубой форме работает удовлетворительно. Однако в ряде других он оказывается не в состоянии обеспечить ту точность значений производных, которая требуется для сходимости градиентного метода.
(б) Уравнения чувствительности. Отдельные методы, по-разному именуемые в литературе как квазилинеаризация, анализ чувствительности, теории возмущений и др., основаны (по крайней мере, неявно) на том факте, что требуемые производные должны удовлетворять некоторым линейным дифференциальным уравнениям. Их можно
проинтегрировать наряду с уравнениями
получая желаемый градиент На этом пути составляющие вектор-градиента можно вычислять, по существу, с той же самой степенью точности, что и саму функцию, и без чрезмерных трудностей.
Чтобы применить этот метод, нам придется проследить шаг за шагом зависимость целевой функции от разных переменных модели и от параметров. Мы перечислим только те зависимости, которые соответствуют нашим целям.
1. Функция
зависит от
Измеряются величины
может зависеть также непосредственно от параметров
например, когда существует априорная плотность распределения. Это требует добавления к уравнениям
соответствующих членов.
2. Величины ум зависят
и от 0 (уравнения
3. Функции
зависят от
для опыта, содержащего
эксперимент, и от 0 (через результаты интегрирования уравнений
4. Начальные условия
зависят от 0 (уравнения
Применяя цепное правило дифференцирования сложных функций, мы находим, что
где обозначение
мы использовали, чтобы записать полную производную величину
по параметрам
определяемую формулой
так что в целом имеем
Величины
и
легко вычисляются, причем последние две — дифференцированием уравнений (8.2-3). Нам остается задача определения производных
Запишем наши исходные дифференциальные уравнения
Дифференцируя обе части по параметрам
и применяя цепное правило, мы находим
Изменяя порядок дифференцирования левой части равенства
получим
Величины
легко определяются дифференцированием. Тогда в форме равенств
мы имеем систему совместных линейных обыкновенных дифференциальных уравнений первого порядка по
отношению к неизвестным функциям
Они называются уравнениями чувствительности, поскольку их решения указывают, насколько чувствительны переменные состояний к изменению параметров. Тем самым функции
называются коэффициентами чувствительности. Чтобы найти производные
мы должны проинтегрировать эти уравнения вместе с уравнениями
в пределах от
до
Чтобы это сделать, нам нужны начальные значения,
Они определяются просто дифференцированием начальных условий
Если
это число переменных состояния и
число параметров, участвующих либо в начальных условиях, либо в дифференциальных уравнениях, то число производных
равно
а общее число уравнений для интегрирования (уравнения
равно
С другой стороны, если бы мы использовали односторонние разности для оценки
нам потребовалось бы интегрировать
уравнений
для
различных параметров
что снова приводит к общему числу
уравнений. Затраты времени и сил на вычисления по этим двум методам, грубо говоря, совершенно одинаковы, но точность, достижимая по методу уравнений чувствительности, намного более высокая и намного легче контролируется. По общему признанию требуются огромнейшие усилия, чтобы подготовить задачу для решения ее по методу уравнений чувствительности.
В простейшем случае начальные условия известны, а переменные состояния наблюдаются непосредственно. Начальные условия
тогда просто означают, что
а уравнения
сводятся к равенствам
Рассмотрим простой пример. Имеется одна переменная состояния при известных начальных условиях:
Мы знаем, что решением должна быть функция
так что
Тем не менее выпишем уравнение чувствительности
Подставляя вместо
его значение, мы должны решить относительно
дифференциальное уравнение
Если частные производные
были как то вычислены, то по формуле
мы получаем полные производные:
а также полные производные для дополнительных параметров
Это дает нам все необходимые величины, требующиеся для вычисления вектора
по формуле
Производные
используются также для получения матрицы
-гауссовского приближения для матрицы Гессе. Численные примеры применения этого метода даются в разделе 8.7.
Можно формулировать задачу таким образом, что нужно будет определять только неизвестные начальные условия. Это делается заменой каждого параметра
появляющегося в дифференциальных уравнениях, новой переменной состояния
подчиненной условиям:
Этот подход к решению предлагали отдельные авторы (например, Веллман и др. [241 в рамках метода квазилинеаризации), но никаким целям, кроме увеличения числа дифференциальных уравнений, которые надо будет интегрировать, он не служит.