Проверка и валидация моделей компьютерного моделирования проводится в ходе разработки модели моделирования с конечной целью создания точной и достоверной модели. [1] [2] «Модели моделирования все чаще используются для решения проблем и содействия принятию решений. Разработчики и пользователи этих моделей, лица, принимающие решения, использующие информацию, полученную из результатов этих моделей, и лица, на которых влияют решения, основанные на таких моделях, все справедливо обеспокоены тем, являются ли модель и ее результаты «правильными». [3] Эта проблема решается путем проверки и валидации модели моделирования.
Имитационные модели являются приблизительными имитациями реальных систем и никогда не имитируют реальную систему в точности. В связи с этим модель должна быть проверена и подтверждена в той степени, которая необходима для предполагаемой цели или применения модели. [3]
Проверка и валидация имитационной модели начинается после того, как были задокументированы функциональные спецификации и завершена первоначальная разработка модели. [4] Проверка и валидация — это итеративный процесс, который происходит на протяжении всей разработки модели. [1] [4]
В контексте компьютерного моделирования верификация модели — это процесс подтверждения того, что она правильно реализована относительно концептуальной модели (соответствует спецификациям и предположениям, которые считаются приемлемыми для данной цели применения). [1] [4] Во время верификации модель тестируется для поиска и исправления ошибок в реализации модели. [4] Для обеспечения соответствия модели спецификациям и предположениям относительно концепции модели используются различные процессы и методы. Цель верификации модели — гарантировать, что реализация модели является правильной.
Существует множество методов, которые можно использовать для проверки модели. Они включают, но не ограничиваются, проверкой модели экспертом, созданием логических схем, которые включают каждое логически возможное действие, проверкой выходных данных модели на предмет разумности при различных настройках входных параметров и использованием интерактивного отладчика. [1] Многие методы разработки программного обеспечения, используемые для проверки программного обеспечения , применимы к проверке имитационной модели. [1]
Валидация проверяет точность представления модели реальной системы. Валидация модели определяется как «обоснование того, что компьютерная модель в пределах ее области применимости обладает удовлетворительным диапазоном точности, соответствующим предполагаемому применению модели». [3] Модель должна быть создана для определенной цели или набора целей, а ее валидность должна определяться для этой цели. [3]
Существует множество подходов, которые можно использовать для проверки компьютерной модели. Подходы варьируются от субъективных обзоров до объективных статистических тестов. Один из подходов, который обычно используется, заключается в том, чтобы создатели модели определяли ее валидность с помощью серии тестов. [3]
Нейлор и Фингер [1967] сформулировали трехэтапный подход к проверке модели, который широко применяется: [1]
Шаг 1. Постройте модель с высокой степенью достоверности.
Шаг 2. Проверка предположений модели.
Шаг 3. Сравните преобразования ввода-вывода модели с соответствующими преобразованиями ввода-вывода для реальной системы. [5]
Модель, имеющая внешнюю валидность , кажется разумной имитацией реальной системы для людей, которые знакомы с реальной системой. [4] Внешняя валидность проверяется путем того, что пользователи и люди, знакомые с системой, проверяют выходные данные модели на предмет разумности и в процессе выявляют недостатки. [1] Дополнительным преимуществом участия пользователей в валидации является то, что доверие пользователей к модели и уверенность пользователей в модели возрастают. [1] [4] Чувствительность к входным данным модели также может использоваться для оценки внешней валидности. [1] Например, если моделирование работы ресторана быстрого питания было запущено дважды с частотой прибытия клиентов 20 и 40 в час, то выходные данные модели, такие как среднее время ожидания или максимальное количество ожидающих клиентов, как ожидается, будут увеличиваться с частотой прибытия.
Предположения, сделанные относительно модели, обычно делятся на две категории: структурные предположения о том, как работает система, и предположения о данных. Также мы можем рассмотреть предположения об упрощении, которые мы используем для упрощения реальности. [6]
Предположения о том, как работает система и как она физически организована, являются структурными предположениями. Например, количество серверов в полосе проезда через фаст-фуд и если их больше одного, как они используются? Работают ли серверы параллельно, когда клиент завершает транзакцию, посещая один сервер, или один сервер принимает заказы и обрабатывает оплату, в то время как другой готовит и обслуживает заказ. Многие структурные проблемы в модели возникают из-за плохих или неверных предположений. [4] Если возможно, следует внимательно следить за работой реальной системы, чтобы понять, как она работает. [4] Структура и работа системы также должны быть проверены с пользователями реальной системы. [1]
Для построения концептуальной модели и проверки модели должно быть достаточное количество соответствующих данных. Отсутствие соответствующих данных часто является причиной неудачи попыток проверки модели. [3] Данные должны быть проверены на предмет их достоверности. Типичная ошибка — предположение о ненадлежащем статистическом распределении данных. [1] Предполагаемая статистическая модель должна быть проверена с использованием тестов на соответствие и других методов. [1] [3] Примерами тестов на соответствие являются тест Колмогорова–Смирнова и тест хи-квадрат . Любые выбросы в данных должны быть проверены. [3]
Это те предположения, которые, как мы знаем, не являются верными, но необходимы для упрощения проблемы, которую мы хотим решить. [6] Использование этих предположений должно быть ограничено, чтобы гарантировать, что модель достаточно верна, чтобы служить ответом на проблему, которую мы хотим решить.
Модель рассматривается как преобразование вход-выход для этих тестов. Тест проверки состоит из сравнения выходных данных рассматриваемой системы с выходными данными модели для того же набора входных условий. Данные, записанные во время наблюдения за системой, должны быть доступны для выполнения этого теста. [3] Выходные данные модели, которые представляют основной интерес, должны использоваться в качестве меры производительности. [1] Например, если рассматриваемая система представляет собой закусочную быстрого питания, где входными данными для модели является время прибытия клиента, а выходной мерой производительности является среднее время пребывания клиента в очереди, то будут записаны фактическое время прибытия и время, проведенное клиентами в очереди в закусочной. Модель будет запущена с фактическим временем прибытия, а среднее время в очереди модели будет сравнено с фактическим средним временем, проведенным в очереди, с использованием одного или нескольких тестов.
Статистическая проверка гипотез с использованием t-критерия Стьюдента может быть использована в качестве основы для принятия модели как действительной или отклонения ее как недействительной.
Гипотеза, которая должна быть проверена, заключается в следующем.
против
Тест проводится для заданного размера выборки и уровня значимости или α. Для проведения теста проводится число n статистически независимых запусков модели и выводится среднее или ожидаемое значение E(Y) для интересующей переменной. Затем вычисляется тестовая статистика t 0 для заданных α, n , E(Y) и наблюдаемого значения для системы μ 0
Если
отклоняем H 0 , модель нуждается в корректировке.
Существует два типа ошибок, которые могут возникнуть при проверке гипотез: отклонение допустимой модели, называемое ошибкой типа I или «риском создателей модели», и принятие недопустимой модели, называемое ошибкой типа II, β или «риском пользователя модели». [3] Уровень значимости или α равен вероятности ошибки типа I. [3] Если α мало, то отклонение нулевой гипотезы является сильным выводом. [1] Например, если α = 0,05 и нулевая гипотеза отвергается, существует только 0,05 вероятность отклонения допустимой модели. Уменьшение вероятности ошибки типа II очень важно. [1] [3] Вероятность правильного обнаружения недопустимой модели равна 1 - β. Вероятность ошибки типа II зависит от размера выборки и фактической разницы между значением выборки и наблюдаемым значением. Увеличение размера выборки снижает риск ошибки типа II.
Недавно был разработан статистический метод, в котором величина точности модели указывается в виде диапазона. Метод использует проверку гипотез для принятия модели, если разница между интересующей переменной модели и интересующей переменной системы находится в пределах указанного диапазона точности. [7] Требование состоит в том, чтобы как системные данные, так и данные модели были приблизительно нормально независимыми и одинаково распределенными (NIID) . В этом методе используется статистика t-теста . Если среднее значение модели равно μ m , а среднее значение системы равно μ s , то разница между моделью и системой равна D = μ m - μ s . Гипотеза для проверки заключается в том, находится ли D в пределах приемлемого диапазона точности. Пусть L = нижний предел точности, а U = верхний предел точности. Тогда
против
подлежит проверке.
Кривая рабочей характеристики (OC) — это вероятность того, что нулевая гипотеза будет принята, когда она верна. Кривая OC характеризует вероятности ошибок как типа I, так и типа II. Кривые риска для риска создателя модели и риска пользователя модели могут быть разработаны из кривых OC. Сравнение кривых с фиксированным размером выборки компромиссов между риском создателя модели и риском пользователя модели можно легко увидеть на кривых риска. [7] Если риск создателя модели, риск пользователя модели, а также верхний и нижний пределы для диапазона точности указаны, то можно рассчитать необходимый размер выборки. [7]
Доверительные интервалы можно использовать для оценки того, является ли модель «достаточно близкой» [1] к системе для некоторой интересующей переменной. Разница между известным значением модели, μ 0 , и системным значением, μ, проверяется, меньше ли она значения, достаточно малого, чтобы модель была действительна относительно этой интересующей переменной. Значение обозначается символом ε. Для выполнения теста проводится ряд, n , статистически независимых прогонов модели и выводится среднее или ожидаемое значение, E(Y) или μ для интересующей выходной переменной моделирования Y, со стандартным отклонением S. Выбирается уровень достоверности, 100(1-α). Интервал, [a,b], строится с помощью
где
— критическое значение из t-распределения для заданного уровня значимости и n-1 степеней свободы.
Если статистические предположения не могут быть выполнены или данных для системы недостаточно, можно использовать графическое сравнение выходных данных модели с выходными данными системы для принятия субъективных решений, однако предпочтительны другие объективные тесты. [3]
Документы и стандарты, включающие проверку и валидацию вычислительного моделирования и имитации, разрабатываются Комитетом по проверке и валидации (V&V) Американского общества инженеров-механиков (ASME). ASME V&V 10 предоставляет руководство по оценке и повышению достоверности моделей вычислительной механики твердого тела с помощью процессов проверки, валидации и количественной оценки неопределенности. [8] ASME V&V 10.1 предоставляет подробный пример для иллюстрации концепций, описанных в ASME V&V 10. [9] ASME V&V 20 предоставляет подробную методологию проверки вычислительного моделирования применительно к динамике жидкостей и теплопередаче. [10] ASME V&V 40 предоставляет основу для установления требований к достоверности модели для вычислительного моделирования и представляет примеры, характерные для отрасли медицинских приборов. [11]