Как выполнить анализ чувствительности по дифференциально-алгебраическим уравнениям? - PullRequest
0 голосов
/ 17 сентября 2018

Я использую JModelica для моделирования систем DAE и SALib для анализа чувствительности в Python. В каждом найденном примере используются только алгебраические модели без динамического поведения. Таким образом, результаты являются скалярными значениями, и можно применять анализ чувствительности.

Решения для моделей DAE - это траектории относительно времени, зависящего (кроме параметров модели и входных данных) от начальных условий. Чтобы свести это довольно сложное решение к скалярным значениям, я сделал следующее:

  • Вариация входов определяется как шаговые входы, где высота шага является переменной частью.
  • Я определил эталонное моделирование с конкретными параметрами модели, входными данными (высота шагов, см. Предыдущий пункт) и начальными условиями.
  • Все параметры модели и высоты входного шага варьируются в пространстве параметров / ввода, и модель моделируется для каждой комбинации. Начальные условия не изменены.
  • Результат каждого моделирования сравнивается с результатом эталонного моделирования с использованием RMSE для получения скалярного веса.

Имеет ли этот подход смысл? Возможно, RMSE искажает мои результаты, и абсолютная ошибка - лучший выбор. Также я не меняю начальные условия. Добавление их в пространство параметров увеличит размерность пространства параметров на 5.

В целом: какова правильная процедура для анализа чувствительности в системах DAE?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...