系统仿真中的验证(Verification)与确认(Validation)

目录

终态仿真和稳态仿真

模型的可信度

验证(Verification)与确认(Validation)

模型验证与确认的目的

模型验证(Verification):检验模型是否正确地实现,即验证计算机仿真程序的正确性

模型验证方法

模型确认(Validation): 确定仿真模型是否是所研究的现实系统的准确描述

模型确认方法

Naylor和Finger提出的仿真模型确认的“三步法”


终态仿真和稳态仿真

        终态仿真是在有限时间区间[0, Ts]内进行仿真试验。Ts表示在仿真中某一指定事件E发生的时刻。它可以是个固定的常数,也可以是个随机变量。在终态仿真中,系统的初始状态必须明确指定,同时必须给出停止事件s的定义。一般终态仿真的结果与系统的初始条件有关。

        稳态仿真是仿真时间趋于无限长的仿真试验,它没有终止事件,其一次仿真试验的运行时间应足够长,以便得到所求性能测度的良好估计。结束条件一般是充分长的仿真实验时间 (针对仿真时钟而言),或充分多的观测样本,或某些系统稳态判据为真等。从理论上来说,稳态仿真的输出数据与系统的初始状态无关

模型的可信度

        一个系统模型及其仿真结果具有可信性 (credibility) 是指系统模型足够精确地代表了所研究的实际系统,可以用系统模型代替实际系统进行决策。

Sargen R.G.认为,确认系统仿真模型有效性的工作包括4方面的内容:

        (1) 在系统分析与系统建模阶段,进行概念模型确认。判定系统模型是否有效地代表了实际系统,建模所依据的理论与假设是否合理。

        (2)在编程和计算机模型开发阶段,进行计算机模型验证。判定系统模型是否被正确地转换成了仿真模型 (计算机程序)。

        (3)在数字实验阶段,确认操作的有效性。判定仿真模型输出是否足够准确。

        (4)判定数据的有效性。确定建立模型、测试模型和用模型进行实验所必需的数据是否足够,是否正确。 

验证(Verification)与确认(Validation)

模型验证与确认的目的

        1、建立能够足够精确表达真实系统的行为的模型,该模型能够代替真实系统进行试验、分析系统行为和预测系统性能。

        2、把模型的可信度提高到可接受的水平,使得该模型可被管理者和其他决策者使用。

模型验证(Verification):检验模型是否正确地实现,即验证计算机仿真程序的正确性

        (概念模型<——>计算机模型)仿真模型的验证是仿真模型与仿真程序在逻辑结构和数据参数之间的比较过程。通过验证过程使仿真程序与仿真模型保持一致,并能准确地反映模型中各部分之间的逻辑关系、各参数之间的数量关系以及对模型所作的简化和假设等,从而使人们确信,在计算机上运行该仿真程序能够复现仿真模型内在的逻辑和数量关系,进而展示实际系统的基本性能。

模型验证方法

仿真模型的验证可通过以下途径排除仿真程序中存在的问题

        (1)用子程序编写和调试仿真程序

        (2)在仿真程序的运行中检查输出的合理性

        (3)仿真程序运行时的跟踪检查

        除上述方法以外,在验证仿真模型时,还可以采用验证一般模型常用的方法。如在简化假设下运行模型;利用图像终端显示仿真输出的动态变化,以观察其规律;以及由未参加编程工作的人员来审查仿真程序等等

模型确认(Validation): 确定仿真模型是否是所研究的现实系统的准确描述

        (实际系统<——>概念模型)仿真模型的确认是检验所构造的模型能否真正代表一个实际系统的基本性能。仿真模型的确认过程是对模型和实际系统作反复比较的过程,并且利用两者的比较差别来改进和修改模型,使之逐步向实际系统逼近,直到仿真模型被确认为实际系统的真正代表为止。

模型确认方法

        模型确认除了相关的系统建模理论之外,还需要许多领域知识。模型确认的难易程度取决于以下两个因素:

        (1) 所分析的对象系统的复杂程度。

        (2)是否有现存的实际系统供观察和研究

Naylor和Finger提出的仿真模型确认的“三步法”

(1) 模型的专家评估确认

  • 从直观考察模型的有效性
  • 应结合用户需求或建模目标,并通过实验分析模型灵敏度等指标
  • 模型确认的每一个步骤是使模型具有较好的外观合理性。特别是模型的用户和其他了解所模拟实际系统的人员应当承认模型的直观合理性
  • 在建模和模型执行阶段,最好有用户代表参加,充分吸收他们的意见,使模型的结构、数据和简化假设具有较好的实用性

(2)检验模型的假设

        模型假设分为两类:

  • 结构假设:包括对实际系统的简化和抽象,或者说系统最低限度的运行条件。如银行系统中顾客的队列和服务设施构成基本结构,但队列方式和设施数等应在实际观察的基础上确认。
  • 数据假设:包括对所有输入数据的数值和概率分布所作的规定,应与实际系统的运行条件基本符合。数据假设在收集实际系统可靠的运行参数的基础下,进行必要的统计分析之后加以确定。

(3)模型的输出数据与实际数据的比较

        将仿真模型的输出数据与所研究的现实系统的实际数据作比较,可能是模型确认最决定性的步骤。如果仿真输出数据与实际数据吻合得很好,我们有理由相信构造的模型是有效的。虽然这种比较并不能确保模型完全正确无误,但我们认为进行比较将使模型有更大的可信度。

  • 最决定性的步骤。对模型的确认,最终表现在模型能否预计系统的基本性能,当模型和实际系统都以同样的输入参数或输入策略运行时,应具有相同的输出响应。如果某些输入变量作一定范围内的变动时,模型应能估计出实际系统在同一情况下的输出变化,由此可以确认模型和实际系统具有相同的内部结构,或者说具有相同的输入/输出变换性能
  • 模型的校准过程(Calibration Procedure,用一组数据辨识后用另一组数据测试)
  • 图灵试验(Turing Test) :将仿真结果和实际系统的运行数据不加标志地送给深刻了解该系统的专家进行鉴别,若专家能区分二者,则其经验就是修改模型的依据。

        比较仿真输出数据与实际观察数据的统计方法

  • 用拟合输入数据的理论分布进行模型确认:利用人为产生的输入数据,尽量使模型中所产生的事件模式与实际系统产生的事件模式相一致,并通过统计比较判断模型与系统的一致性
  • 利用历史数据作仿真确认:利用实际系统的历史统计数据作为模型的输入参数,并驱动模型,再统计比较仿真结果与实际输出

猜你喜欢

转载自blog.csdn.net/qq_45270849/article/details/130655938