Верификация и валидация моделей
Верификация и валидация моделей
Содержание
1 Общая информация
Верификация модели (Verification)
- Процесс, подтверждающий, что вычислительная модель правильно решает математические уравнения, заложенные в её основу.
- Вопрос: «Правильно ли мы решили уравнения?»
Валидация модели (Validation)
- Процесс, подтверждающий, что математическая модель (и её решение) с достаточной точностью описывает реальное физическое явление для заданной области применения.
- Вопрос: «Правильные ли уравнения мы решили?»
Нельзя валидировать модель, если она не верифицирована.
- Сначала нужно убедиться, что код считает верно, и только потом проверять физический смысл результата.
| Параметр | Верификация | Валидация |
|---|---|---|
| Объект проверки | Вычислительный код, численный метод, шаг сетки | Концептуальная модель, допущения, соответствие реальности |
| Цель | Найти и устранить программные ошибки, ошибки дискретизации, ошибки округления | Оценить пригодность модели для описания реального мира |
| С чем сравниваем | Эталонные математические решения | Экспериментальные данные, натурный эксперимент |
| Типичный инструмент | Тесты на сходимость, сравнение с проверенным кодом | Калибровка, анализ чувствительности, сравнение с независимыми наборами экспериментальных данных |
| Характер ошибки | Ошибка в коде, недостаточный порядок аппроксимации, плохая сходимость | Неучтённая физика, неверные граничные условия, узкий диапазон применимости |
2 Ключевое различие
Представим, что решаем уравнение
x^2 = 4с помощью кода.Верификация
- Проверяем, что метод (например, итерационный) действительно находит корень
2без ошибок при полной точности вычислений. - Мы сравниваем код с математическим алгоритмом.
- Проверяем, что метод (например, итерационный) действительно находит корень
Валидация
- Проверяем, правильное ли уравнение мы выбрали.
- Допустим, мы моделируем высоту полёта камня.
- Уравнение
x^2 = 4— это модель. - Валидация покажет, что настоящий камень летит не по параболе
x^2, а гораздо сложнее из-за сопротивления воздуха. - Значит, наша математическая модель (уравнение) невалидна, несмотря на идеально верифицированное решение.
3 Процесс работы
Реальность → (абстракция) → Концептуальная модель (уравнения, допущения) → (программирование) → Компьютерная модель (код) → (расчёт) → Результаты моделирования.
Валидация концептуальной модели — проверка, верны ли наши допущения и уравнения. (Связь Реальность–Концептуальная модель).
Верификация кода — проверка, что код точно решает концептуальную модель. (Связь Концептуальная модель–Компьютерная модель).
Валидация результатов — сравнение готовых цифр с экспериментами. (Связь Компьютерная модель–Реальность).
4 Примеры
4.1 Моделирование обтекания крыла самолёта
Верификация
- Тест на сходимость
- Расчёт аэродинамического сопротивления на нескольких сетках.
- Если разница результатов между сетками мала (< 1%), то решение сходится.
- Сравнение с аналитикой
- Для модели плоской пластины существует точное решение уравнений Навье-Стокса.
- Проводим моделирование плоской пластины и сравниваем с точным решением.
- Тест на сходимость
Валидация
- Сравнение с продувкой в аэродинамической трубе (физическое моделирование)
- Лётные испытания
4.2 Эпидемиологическая модель (типа SIR)
Верификация
- Закон сохранения
- В модели без рождаемости и смертности сумма популяций S + I + R должна быть постоянной на каждом шаге.
- Тест на уменьшение шага
- Решаем систему дифференциальных уравнений с разным шагом.
- Если решение смещается незначительно, численная схема реализована верно.
- Закон сохранения
Валидация
- Сравнение с историческими данными совпадают в пределах доверительного интервала.
- Проверка адекватности структуры
- Если модель предсказывает, что 150% населения переболеет, она невалидна концептуально.
