Ověření a validace počítačových simulačních modelů - Verification and validation of computer simulation models

Ověření a validace počítačových simulačních modelů se provádí během vývoje simulačního modelu s konečným cílem vytvořit přesný a důvěryhodný model.[1][2] „Simulační modely se stále častěji používají k řešení problémů a jako pomoc při rozhodování. Vývojáři a uživatelé těchto modelů, osoby s rozhodovací pravomocí využívající informace získané z výsledků těchto modelů a jednotlivci ovlivnění rozhodnutími založenými na těchto modelech jsou všichni se správně zajímají o to, zda jsou model a jeho výsledky „správné“.[3] Tento problém je řešen ověřováním a ověřováním simulačního modelu.[4]

Simulační modely jsou přibližné napodobeniny systémů reálného světa a nikdy přesně napodobují systém reálného světa. Z tohoto důvodu by měl být model ověřen a ověřen na míru potřebnou pro zamýšlený účel nebo aplikaci modelu.[3]

Ověření a ověření simulačního modelu začíná po zdokumentování funkčních specifikací a dokončení počátečního vývoje modelu.[5] Ověření a ověření je iterační proces, který probíhá během vývoje modelu.[1][5]

Ověření

V kontextu počítačové simulace ověření modelu je proces potvrzení, že je správně implementován s ohledem na koncepční model (odpovídá specifikacím a předpokladům považovaným za přijatelné pro daný účel aplikace).[1][5]Během ověřování je model testován, aby se zjistily a opravily chyby při implementaci modelu.[5]K zajištění souladu modelu se specifikacemi a předpoklady s ohledem na koncepci modelu se používají různé procesy a techniky. Cílem ověření modelu je zajistit správnost implementace modelu.

Existuje mnoho technik, které lze použít k ověření modelu. Patří mezi ně mimo jiné nechání modelu zkontrolovat odborníkem, vytvoření logických vývojových diagramů, které zahrnují každou logicky možnou akci, zkoumání výstupu modelu z hlediska přiměřenosti v různých variantách. nastavení vstupních parametrů a pomocí interaktivního debuggeru.[1]Používá se mnoho technik softwarového inženýrství softwarové ověření jsou použitelné pro ověření simulačního modelu.[1]

Validace

Ověření zkontroluje přesnost reprezentace modelu ve skutečném systému. Validace modelu je definována jako „zdůvodnění, že počítačový model v oblasti své použitelnosti má uspokojivý rozsah přesnosti odpovídající zamýšlenému použití modelu“.[3] Model by měl být vytvořen pro konkrétní účel nebo soubor cílů a pro tento účel by měla být určena jeho platnost.[3]

Existuje mnoho přístupů, které lze použít k ověření počítačového modelu. Přístupy sahají od subjektivních recenzí po objektivní statistické testy. Jeden přístup, který se běžně používá, je nechat tvůrce modelů určit platnost modelu pomocí řady testů.[3]

Naylor a Finger [1967] formulovali třístupňový přístup k validaci modelu, který byl široce dodržován:[1]

Krok 1. Vytvořte model, který má vysokou platnost tváře.

Krok 2. Ověřte předpoklady modelu.

Krok 3. Porovnejte modelové vstupně-výstupní transformace s odpovídajícími vstupně-výstupními transformacemi pro skutečný systém.[6]

Platnost tváře

Model, který má platnost tváře se zdá být rozumnou napodobeninou systému reálného světa lidem, kteří mají znalosti o systému reálného světa.[5] Platnost obličeje se testuje tím, že uživatelé a lidé znalí systému prozkoumají výstup modelu z hlediska přiměřenosti a v procesu identifikují nedostatky.[1] Další výhodou zapojení uživatelů do ověřování je, že se zvyšuje důvěryhodnost modelu pro uživatele a zvyšuje se důvěra uživatele v model.[1][5] Citlivost na vstupy modelu lze také použít k posouzení platnosti tváře.[1] Například pokud byla simulace projíždění restaurace s rychlým občerstvením spuštěna dvakrát s příchodem zákazníků 20 za hodinu a 40 za hodinu, pak by se očekávalo, že se s příchodem zvýší modelové výstupy, jako je průměrná čekací doba nebo maximální počet čekajících zákazníků hodnotit.

Ověření předpokladů modelu

Předpoklady učiněné o modelu obecně spadají do dvou kategorií: strukturální předpoklady o fungování systému a datové předpoklady. Můžeme také vzít v úvahu předpoklady zjednodušení, které používáme ke zjednodušení reality.[7]

Strukturální předpoklady

Předpoklady o tom, jak systém funguje a jak je fyzicky uspořádán, jsou strukturální předpoklady. Například počet serverů v rychlém občerstvení projíždí jízdním pruhem a pokud existuje více než jeden, jak jsou využívány? Proveďte servery paralelně, když zákazník dokončí transakci návštěvou jednoho serveru, nebo jeden server přijímá objednávky a zpracovává platby, zatímco druhý připravuje a obsluhuje objednávku. Mnoho strukturálních problémů v modelu pochází ze špatných nebo nesprávných předpokladů.[5] Je-li to možné, je třeba pečlivě sledovat fungování skutečného systému, aby bylo možné pochopit jeho fungování.[5] Struktura a provoz systémů by měly být ověřeny také u uživatelů aktuálního systému.[1]

Předpoklady údajů

K vytvoření koncepčního modelu a ověření modelu musí být k dispozici dostatečné množství příslušných dat. Nedostatek vhodných údajů je často důvodem pokusů o ověření selhání modelu.[3] Údaje by měly být ověřeny, aby pocházely ze spolehlivého zdroje. Typickou chybou je předpokládání nevhodného statistického rozdělení dat.[1] Předpokládaný statistický model by měl být testován pomocí testů shody a jiných technik.[1][3] Příklady testů shody s dobrými vlastnostmi jsou: Kolmogorov – Smirnovův test a test chí-kvadrát. Měly by být zkontrolovány jakékoli odlehlé hodnoty v datech.[3]

Předpoklady zjednodušení

Jsou to ty předpoklady, o kterých víme, že nejsou pravdivé, ale jsou potřebné ke zjednodušení problému, který chceme vyřešit.[7] Použití těchto předpokladů musí být omezeno, aby se zajistilo, že model je dostatečně správný, aby sloužil jako odpověď na problém, který chceme vyřešit.

Ověřování vstupně-výstupních transformací

Model je pro tyto testy považován za vstupně-výstupní transformaci. Validační test spočívá v porovnání výstupů z uvažovaného systému s výstupy modelu pro stejnou sadu vstupních podmínek. K provedení této zkoušky musí být k dispozici údaje zaznamenané při pozorování systému.[3] Jako měřítko výkonu by měl být použit výstup modelu, který je primárně zajímavý.[1] Například pokud je uvažovaný systém rychlým občerstvením, kde vstupem do modelu je čas příjezdu zákazníka a výstupním měřítkem výkonu je průměrný čas zákazníka ve frontě, pak skutečný čas příjezdu a čas strávený ve frontě pro zákazníky při projíždění bude zaznamenáno. Model by byl spuštěn se skutečnými časy příjezdu a průměrný čas modelu v řadě by byl porovnán se skutečným průměrným časem stráveným v řadě pomocí jednoho nebo více testů.

Testování hypotéz

Statistické testování hypotéz za použití t-test lze použít jako základ pro přijetí modelu jako platného nebo odmítnutí jako neplatného.

Hypotéza, která má být testována, je

H0 modelová míra výkonu = systémová míra výkonu

proti

H1 modelové měření výkonu ≠ systémové měření výkonu.

Zkouška se provádí pro danou velikost vzorku a hladinu významnosti nebo α. Chcete-li provést test číslo n provedou se statisticky nezávislé běhy modelu a vytvoří se průměrná nebo očekávaná hodnota E (Y) pro sledovanou proměnnou. Pak statistika testu, t0 je vypočítán pro dané α, n, E (Y) a pozorovaná hodnota pro systém μ0

a kritická hodnota pro α a n-1 stupně volnosti
se vypočítá.

Li

odmítnout H0, je třeba model upravit.

Existují dva typy chyb, ke kterým může dojít při testování hypotéz, odmítnutí platného modelu zvaného chyba typu I nebo „riziko tvůrců modelů“ a přijetí neplatného modelu zvaného chyba typu II, β nebo „riziko uživatele modelu“.[3] Úroveň významnosti nebo α se rovná pravděpodobnosti chyby typu I.[3] Pokud je α malé, pak je odmítnutí nulové hypotézy silným závěrem.[1] Pokud je například α = 0,05 a nulová hypotéza odmítnuta, existuje pouze 0,05 pravděpodobnost odmítnutí modelu, který je platný. Snížení pravděpodobnosti chyby typu II je velmi důležité.[1][3] Pravděpodobnost správné detekce neplatného modelu je 1 - β. Pravděpodobnost chyby typu II závisí na velikosti vzorku a skutečném rozdílu mezi hodnotou vzorku a pozorovanou hodnotou. Zvětšení velikosti vzorku snižuje riziko chyby typu II.

Přesnost modelu jako rozsah

Nedávno byla vyvinuta statistická technika, kde je míra přesnosti modelu specifikována jako rozsah. Tato technika využívá testování hypotéz k přijetí modelu, pokud je rozdíl mezi sledovanou proměnnou modelu a sledovanou proměnnou systému ve stanoveném rozsahu přesnosti.[8] Požadavkem je, aby systémová i modelová data byla přibližně Normálně Nezávislé a identicky distribuované (NIID). The t-test v této technice se používá statistika. Pokud je průměr modelu μm a průměr systému je μs potom je rozdíl mezi modelem a systémem D = μm - μs. Hypotéza, která má být testována, je, pokud je D v přijatelném rozsahu přesnosti. Nechť L = dolní mez pro přesnost a U = horní mez pro přesnost. Pak

H0 L ≤ D ≤ U

proti

H1 D U

je třeba otestovat.

Křivka provozní charakteristiky (OC) je pravděpodobnost, že bude přijata nulová hypotéza, pokud je pravdivá. Křivka OC charakterizuje pravděpodobnost chyb typu I i II. Z OC křivek lze vytvořit rizikové křivky pro riziko výrobce modelu a uživatele modelu. Porovnání křivek s kompromisy s pevnou velikostí vzorku mezi rizikem tvůrce modelu a rizikem uživatele modelu lze snadno vidět v rizikových křivkách.[8] Pokud jsou specifikována rizika tvůrce modelu, rizika uživatele modelu a horní a dolní hranice rozsahu přesnosti, lze vypočítat potřebnou velikost vzorku.[8]

Intervaly spolehlivosti

Intervaly spolehlivosti lze použít k vyhodnocení, zda je model „dostatečně blízko“[1] do systému pro nějakou proměnnou zájmu. Rozdíl mezi známou hodnotou modelu, μ0a zkontroluje se systémová hodnota μ, aby se zjistilo, zda je menší než dostatečně malá hodnota, aby byl model platný s ohledem na danou proměnnou, která nás zajímá. Hodnota je označena symbolem ε. Chcete-li provést test číslo, n, jsou prováděny statisticky nezávislé běhy modelu a střední nebo očekávaná hodnota, E (Y) nebo μ pro simulační výstupní proměnnou zájmu Y, se standardní odchylkou S se vyrábí. Je vybrána úroveň spolehlivosti 100 (1-α). Interval, [a, b], je sestaven pomocí

,

kde

je kritická hodnota z t-rozdělení pro danou hladinu významnosti a n-1 stupňů volnosti.

Pokud | a-μ0| > ε a | b-μ0| > ε pak je třeba model kalibrovat, protože v obou případech je rozdíl větší, než je přijatelné.
Pokud | a-μ0| <ε a | b-μ0| <ε pak je model přijatelný, protože v obou případech je chyba dostatečně blízko.
Pokud | a-μ0| <ε a | b-μ0| > ε nebo naopak pak jsou potřeba další běhy modelu ke zmenšení intervalu.

Grafické srovnání

Pokud nelze uspokojit statistické předpoklady nebo pokud není k dispozici dostatek dat pro systém, lze k subjektivnímu rozhodnutí použít grafické srovnání výstupů modelu se výstupy systému, ale jsou preferovány jiné objektivní testy.[3]

Standardy ASME

Dokumenty a normy týkající se ověřování a ověřování výpočetního modelování a simulace jsou vyvíjeny Americká společnost strojních inženýrů (ASME) Výbor pro ověřování a ověřování (V&V). ASME V&V 10 poskytuje vodítko při posuzování a zvyšování důvěryhodnosti výpočetních modelů pevné mechaniky prostřednictvím procesů ověřování, ověřování a kvantifikace nejistoty.[9] ASME V&V 10.1 poskytuje podrobný příklad pro ilustraci konceptů popsaných v ASME V&V 10.[10] ASME V&V 20 poskytuje podrobnou metodiku pro validaci výpočtových simulací aplikovaných na dynamiku tekutin a přenos tepla.[11] ASME V&V 40 poskytuje rámec pro stanovení požadavků na důvěryhodnost modelu pro výpočetní modelování a představuje příklady specifické pro odvětví zdravotnických prostředků. [12]

Viz také

Reference

  1. ^ A b C d E F G h i j k l m n Ó str Banky, Jerry; Carson, John S .; Nelson, Barry L .; Nicol, David M. Simulace systému diskrétních událostí Páté vydání, Upper Saddle River, Pearson Education, Inc. 2010 ISBN  0136062121
  2. ^ Schlesinger, S .; et al. (1979). Msgstr "Terminologie pro důvěryhodnost modelu". Simulace. 32 (3): 103–104. doi:10.1177/003754977903200304.
  3. ^ A b C d E F G h i j k l m Sargent, Robert G. „OVĚŘENÍ A Ověření platnosti simulačních modelů“. Sborník konference o zimní simulaci z roku 2011.
  4. ^ Hemakumara et al;https://www.researchgate.net/profile/Gpts_Hemakumara/publication/339540267_Field_Verifications_of_the_Arc_GIS_Based_Automation_Landform_Model_Including_the_Recommendations_to_Enhance_the_Automation_System_with_Ground_Reality/links/5e580b9092851cefa1c9dcd3/Field-Verifications-of-the-Arc-GIS-Based-Automation-Landform-Model-Including-the-Recommendations-to- Vylepšete-automatizační-systém-s-pozemní-realitou.pdf
  5. ^ A b C d E F G h Carson, John, „OVĚŘENÍ A Ověření platnosti modelu“. Sborník konference o zimní simulaci z roku 2002.
  6. ^ NAYLOR, T. H., A J. M. FINGER [1967], „Ověření modelů počítačové simulace“, Management Science, sv. 2, s. B92– B101., Citováno v Banks, Jerry; Carson, John S .; Nelson, Barry L .; Nicol, David M. Simulace systému diskrétních událostí Páté vydání, Upper Saddle River, Pearson Education, Inc. 2010 str. 396. ISBN  0136062121
  7. ^ A b 1. Fonseca, P. Simulační hypotézy. In Proceedings of SIMUL 2011; 2011; str. 114–119. https://www.researchgate.net/publication/262187532_Simulation_hypotheses_A_proposed_taxonomy_for_the_hypotheses_used_in_a_simulation_model
  8. ^ A b C Sargent, R. G. 2010. „Nový statistický postup pro validaci simulačních a stochastických modelů.“ Technická zpráva SYR-EECS-2010-06, Katedra elektrotechniky a informatiky, Syracuse University, Syracuse, New York.
  9. ^ „V&V 10 - 2006 Guide for Verification and Validation in Computational Solid Mechanics“. Standardy. JAKO JÁ. Citováno 2. září 2018.
  10. ^ „V&V 10.1 - 2012 Ilustrace konceptů verifikace a validace ve výpočetní mechanice těles“. Standardy. JAKO JÁ. Citováno 2. září 2018.
  11. ^ „Standard V&V 20 - 2009 pro ověřování a ověřování ve výpočetní dynamice tekutin a přenosu tepla“. Standardy. JAKO JÁ. Citováno 2. září 2018.
  12. ^ „V&V 40 Industry Day“. Ověření a ověření sympozia. JAKO JÁ. Citováno 2. září 2018.