Верификация и валидация компьютерных имитационных моделей
Проверка и валидация компьютерных имитационных моделей проводится во время разработки имитационной модели с конечной целью создания точной и достоверной модели. [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-критерия может использоваться в качестве основы для принятия модели как достоверной или отклонения ее как недействительной.
Гипотеза, которую необходимо проверить, это
- H 0 показатель эффективности модели = показатель эффективности системы
против
- H 1 показатель эффективности модели ≠ показатель эффективности системы.
Тест проводится для заданного размера выборки и уровня значимости или α. Для проведения теста проводится ряд n статистически независимых прогонов модели и определяется среднее или ожидаемое значение E(Y) для интересующей переменной. тестовая статистика t 0 Затем вычисляется для заданных α, n , E(Y) и наблюдаемого значения для системы µ 0
- а критическое значение для α и n-1 степеней свободы
- рассчитывается.
Если
отклонить H 0 , модель нуждается в корректировке.
Существует два типа ошибок, которые могут возникнуть при проверке гипотез: отклонение действительной модели, называемой ошибкой типа I или «риском создателя модели», и принятие недействительной модели, называемой ошибкой типа II, β или «риском пользователя модели». [3] Уровень значимости или α равен вероятности ошибки I рода. [3] Если α мало, то отказ от нулевой гипотезы является сильным выводом. [1] Например, если α = 0,05 и нулевая гипотеза отвергается, вероятность отклонения действительной модели составляет всего 0,05. Снижение вероятности ошибки II рода очень важно. [1] [3] Вероятность правильного обнаружения недействительной модели равна 1 – β. Вероятность ошибки второго рода зависит от размера выборки и фактической разницы между значением выборки и наблюдаемым значением. Увеличение размера выборки снижает риск ошибки второго рода.
Точность модели как диапазон
[ редактировать ]Недавно был разработан статистический метод, в котором степень точности модели указывается в виде диапазона. Этот метод использует проверку гипотез для принятия модели, если разница между интересующей переменной модели и интересующей переменной системы находится в пределах заданного диапазона точности. [7] Требование состоит в том, чтобы и системные данные, и данные модели были примерно нормально независимыми и одинаково распределенными (NIID) . t -теста В этом методе используется статистика . Если среднее значение модели равно μ м а среднее значение системы равно μ с тогда разница между моделью и системой равна D = µ м - м с . Гипотеза, которую необходимо проверить, заключается в том, находится ли D в пределах допустимого диапазона точности. Пусть L = нижний предел точности, а U = верхний предел точности. Затем
- Ч 0 L ≤ D ≤ U
против
- H 1 D < L или D > U
предстоит протестировать.
Кривая рабочей характеристики (OC) представляет собой вероятность того, что нулевая гипотеза будет принята, когда она верна. Кривая OC характеризует вероятности ошибок как I, так и II рода. Кривые риска для разработчика модели и пользователя модели могут быть построены на основе кривых OC. Сравнивая кривые с фиксированным размером выборки, компромисс между риском разработчика модели и риском пользователя модели можно легко увидеть на кривых риска. [7] Если указаны риск разработчика модели, риск пользователя модели, а также верхний и нижний пределы диапазона точности, то можно рассчитать необходимый размер выборки. [7]
Доверительные интервалы
[ редактировать ]Доверительные интервалы можно использовать для оценки того, является ли модель «достаточно близкой». [1] в систему для некоторой интересующей переменной. Разница между известным значением модели, ц 0 , и значением системы, ц, проверяется, чтобы убедиться, что она меньше значения, достаточно малого, чтобы модель была допустимой в отношении интересующей переменной. Значение обозначается символом ε. Для выполнения теста n проводится ряд статистически независимых прогонов модели среднее или ожидаемое значение E(Y) или µ для интересующей выходной переменной моделирования Y со стандартным отклонением S. и вычисляется Выбирается уровень достоверности 100(1-α). Интервал [a,b] строится по формуле
- ,
где
— критическое значение t-распределения для данного уровня значимости и n-1 степеней свободы.
- Если |a-μ 0 | > ε и |b-μ 0 | > ε, то модель необходимо откалибровать, поскольку в обоих случаях разница превышает допустимую.
- Если |a-μ 0 | < ε и |b-μ 0 | < ε, то модель приемлема, поскольку в обоих случаях ошибка достаточно близка.
- Если |a-μ 0 | < ε и |b-μ 0 | > ε или наоборот , то для сокращения интервала потребуются дополнительные прогоны модели.
Графические сравнения
[ редактировать ]Если статистические предположения не могут быть удовлетворены или для системы недостаточно данных, для принятия субъективных решений можно использовать графическое сравнение выходных данных модели с выходными данными системы, однако другие объективные тесты предпочтительнее. [3]
Стандарты ASME
[ редактировать ]Документы и стандарты, включающие проверку и валидацию компьютерного моделирования и симуляции, разрабатываются Американского общества инженеров-механиков Комитетом по верификации и валидации (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]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж г час я дж к л м н тот п Бэнкс, Джерри; Карсон, Джон С.; Нельсон, Барри Л.; Никол, Дэвид М. Моделирование системы дискретных событий, пятое издание, Upper Saddle River, Pearson Education, Inc., 2010 г. ISBN 0136062121
- ^ Шлезингер, С.; и др. (1979). «Терминология достоверности модели». Моделирование . 32 (3): 103–104. дои : 10.1177/003754977903200304 .
- ^ Jump up to: а б с д и ж г час я дж к л м Сарджент, Роберт Г. «ВЕРИФИКАЦИЯ И ВАЛИДАЦИЯ МОДЕЛИ МОДЕЛИ» . Материалы зимней конференции по моделированию 2011 г.
- ^ Jump up to: а б с д и ж г час Карсон, Джон, «ВЕРИФИКАЦИЯ И ВАЛИДАЦИЯ МОДЕЛИ» . Материалы зимней конференции по моделированию 2002 г.
- ^ НЕЙЛОР, Т.Х. И Дж.М. ФИНГЕР [1967], «Верификация моделей компьютерного моделирования» , Management Science, Vol. 2, стр. B92–B101., цитируется по Banks, Jerry; Карсон, Джон С.; Нельсон, Барри Л.; Никол, Дэвид М. Моделирование системы дискретных событий , пятое издание, Upper Saddle River, Pearson Education, Inc., 2010 г., стр. 396. ISBN 0136062121
- ^ Jump up to: а б 1. Фонсека П. Гипотезы моделирования. В материалах SIMUL 2011; 2011 г.; стр. 114–119. https://www.researchgate.net/publication/262187532_Simulation_hypotheses_A_propose_taxonomy_for_the_hypotheses_used_in_a_simulation_model
- ^ Jump up to: а б с Сарджент, Р.Г. 2010. «Новая статистическая процедура проверки имитационных и стохастических моделей». Технический отчет SYR-EECS-2010-06, факультет электротехники и информатики, Сиракузский университет, Сиракьюс, Нью-Йорк.
- ^ «V&V 10 – 2006 Руководство по верификации и валидации в вычислительной механике твердого тела» . Стандарты . АСМЭ. Проверено 2 сентября 2018 г.
- ^ «V&V 10.1 – 2012 Иллюстрация концепций верификации и валидации в вычислительной механике твердого тела» . Стандарты . АСМЭ. Проверено 2 сентября 2018 г.
- ^ «Стандарт V&V 20 – 2009 для проверки и валидации в области вычислительной гидродинамики и теплопередачи» . Стандарты . АСМЭ. Проверено 2 сентября 2018 г.
- ^ «День индустрии V&V 40» . Симпозиум по верификации и валидации . АСМЭ. Проверено 2 сентября 2018 г.