提纲
- 引言
- 目的和问题
- 点估计和区间估计
- 假设检验
- 仿真研究的分类
- 收集仿真观察结果的方法
- 终止仿真
- 非终止仿真
引言
仿真的目的是洞察,而不是绝对数字!
例子:
考虑一个有几个出纳员的银行的仿真模型。一些感兴趣的问题:
- 客户在排队等候的平均时间是多少?
- 有多少比例的客户需要等待?
- 增加一个或多个出纳员是否能将平均等待时间减少5分钟?
- ...
- 需要收集不同的数据来回答不同的问题,而且需要以不同的方式分析数据。
- 我们必须决定模拟银行的次数,对到达流和服务时间的控制,以及答案的统计精度。
- 这些问题中的一些将需要点估计和区间估计,一些问题可能被构建为假设等。
目的和问题
- 例如,我们已经为单服务器排队系统编写了模拟器。假设我们运行它5次(复制),模拟结果显示在下面的表中:
- 输出结果意味着什么?我们如何估计等待的客户平均数和他们的平均等待时间?
- 如果θ(表示等待的客户平均数)是一个我们试图估计的未知数,那么单一的模拟运行只构成了θ的一个单一观察。
- 在基于输出数据得出结论之前,需要进行适当的统计分析。目的是为了确保这些估计对模型的预定用途来说足够准确。
- 由于仿真输出数据包含一定量的随机变异,我们需要评估这个幅度。
- 然而,给定一定数量的独立观测X1, X2,..., Xi,..., Xn,我们可以得到更好的θ估计。
- 估计和假设检验 - 我们根据样本中包含的信息推断总体的特性(即,对于给定数量的独立观测)。
点估计
- 对未知量θ的值的估计称为该量的点估计。
- 例如,对样本xi, i = 1, 2, …, n的点估计:样本均值
和 样本方差
是θ的两个最常用的点估计。
- 虽然点估计很重要,但其准确性同样重要。
- 这通过θ的区间估计或置信区间来量化。
区间估计
对θ的置信区间是一个随机区间,其端点β和γ是观察到的随机变量的函数,使得不等式 对于β < γ满足的概率是预定的数字
。 θ是未知量(或参数),其值被估计,即
-
如果计算了大量这样的区间,则 (
)100% 它们中的大部分将包含θ。
-
现在,我们如何获得β和γ?
-
对于大量观测值(n),我们可以假设样本均值(
)是一个正态分布的随机变量。
-
这表明我们可以从N(0,1)获得置信区间,即
-
重新排列上述方程,我们得到:
-
然而,这里的问题是我们不知道真正的方差
!
-
我们可以从样本方差S²估计σ²。
-
这意味着,
它不再是正态分布,它现在有学生t分布,自由度为(n-1),即
,其中n是样本大小。
-
当样本大小小(n<30)并且真正的方差(总体)未知时,使用t分布。
-
对于n的大值(n>=30),函数f(t)紧密逼近N(0,1)分布,
-
θ的置信区间为:
[ ,S和n可以从给定数据中确定;
可以 从t分布的累积分布的百分位数值表中找到。]
-
设θ = µ是真实均值。因此,真实均值的所需置信区间由下式给出:
其中 是点估计器的标准误差(点估计器精度的度量)。
∴ µ的置信区间为:
-
例如:假设10次观测的批次均值如下所示: 3.7 5.3 4.7 3.3 5.3 5.1 5.1 4.9 4.2 5.7 然后,
=4.73 , S² =0.587 , n=10。 因此,90%的置信区间是
=1.83。
-
在某些情况下,我们可能不是对置信区间感兴趣,而只想要一个上限或下限。这样的区域称为单侧置信区间。
例如:(-∞,β)。 即,均值小于或等于,置信度为(1-α)100%。
假设检验
- 统计假设检验技术在模拟实验中很有用,用于确定具有不同决策变量值的模拟响应是否具有统计显著性。
- 假设检验中采取的步骤:
- 陈述要检验的假设,即,建立零假设H0和备择假设H1。
- 确定拒绝真零假设的可接受风险(设置α在某个水平)。
- 选择一些适当的检验统计量来检验H0。
-
假设H0为真,并确定检验统计量的抽样分布。
- 收集一个预定大小的随机样本,计算检验统计量并检验假设。
这里需要补充的是,"特定条件"取决于选择的检验统计量和显著性水平α。这通常涉及比较检验统计量与一个或多个临界值,这些临界值从检验的分布中获得,这种分布假设在零假设下为真。对于不同类型的检验(如t检验、χ²检验等),使用不同的统计量和分布。
- 对于双侧检验,如果检验统计量落在拒绝区间的两端(即,检验统计量的值比上临界值还大或比下临界值还小),则拒绝H0。
- 对于单侧检验,如果H0假设平均值小于某个值(E(x) < µ),当检验统计量大于临界值时拒绝H0;相反,如果H0假设平均值大于某个值(E(x) > µ),当检验统计量小于另一个临界值时拒绝H0。
仿真研究的分类与输出分析
收集仿真观察结果的方法
终止仿真
- 在某个持续时间
内运行,其中E是指定的停止仿真的事件。
- 必须指定时间0的初始条件和停止事件。
示例:
- 银行每天上午9:30开门,下午3:00关闭。
- 初始条件:无客户
- 终止事件:最后一个客户离开
- 仿真分析师选择将其视为终止系统,因为感兴趣的对象是一天的运营
非终止仿真
- 持续运行,或至少运行非常长的时间。
- 示例:电子购物系统,在线银行系统,电话系统,医院急诊室。
- 由分析师定义的初始条件。
- 运行一段分析师指定的时间
。
- 目标:研究系统的稳态(长期)属性,这些属性不受模型初始条件的影响。
- 要应用置信区间和假设检验,观察结果必须是独立的并且来自正态分布。
- 需要确定如何获得独立观察结果
终止仿真
-
终止仿真:在模拟时间区间[0,
]内运行。
-
一个常见目标是估计:
-
常用的方法称为独立复制方法。
-
多次进行仿真,每次使用不同的随机数流和独立选择的初始条件。
-
通常,终止系统在任何时期的初始阶段和时期末的特性和行为是不同的。
-
因此,在模拟终止系统时应当积累中间统计数据。
-
区分复制内数据和复制间数据很重要。
-
对于仿真n次复制,并且每次仿真中有m个中间观察结果,设 xij = 第i次复制的第j次观察, 其中 i = 1, 2, ..., n; j = 1, 2, ..., m 并且设 yi = 在第i次复制期间的某个总体性能度量。
我们现在有了m个不同时间点上系统性能期望值和方差的独立和无偏估计,以及总体性能度量的均值和方差的无偏估计。
- 然而,我们不能断定yi和集合{xij}是独立的。
- 但是,我们可以确定E(xij)和E(yi)大概置信区间
示例
- 考虑单服务器队列示例。假设我们模拟排队系统的目的是估计服务器利用率ρ和每个客户在系统中花费的平均时间ω。
- 通过使用四个不同的随机数流来生成到达和服务时间,进行了四次统计独立的运行。
- 下面显示了四次独立运行2小时时长的仿真结果
(i) 估计指定置信区间的真实利用率(假设分析师希望对真实服务器利用率有95%的置信区间)。
(ii) 测试利用率ρ是否满足某些标准,例如,测试是否ρ ≥ 0.90。
基于仿真结果,测试统计量被计算为 由于,
H0被拒绝。根据当前系统的设计,有强烈的证据支持服务利用率小于0.90的假设。
(iii) 增加运行长度和/或增加复制次数R的效果。
(a) 增加复制次数会降低标准误差(标准差),但受到一定量的随机误差的影响。 从准确性的角度来看,如果我们将标准误差减半,则必须将样本大小增加四倍。
(b) 增加运行长度也会降低点估计器的真实标准差。
具有指定精度的置信区间
- 假设希望以预先指定的精度ε高概率估计θ,至少为1-α。因此,可以取足够大的样本量R,以满足:
假设已经收集了大小的初始样本。
次复制将用于获得
总体方差
的初始估计。
- 为了满足半长标准[
一个基于t分布的平均值的100(1-α)%置信区间的半长是],必须选择样本量R,使得并且 由于
,R的初始估计由给出
对于大R(R ≥ 50),,因此当R较大时,R的第二个不等式是充分的。
确定R后,收集额外的R - R0观察结果。接下来,形成θ的100(1-α)%置信区间,
其中 和S基于所有R次复制计算得出。
示例
- 假设希望估计服务器利用率在以
的0.95概率内。
- 收集了初始样本(如(i)所示)大小R0=4。总体方差的估计是
- 给定ε=0.04,置信区间 = 1- α = 0.95。
∴最终样本量必须至少为
因此,可能的样本大小 R(13, 14, 15,...)
因此 R = 15,且 R - R0 = 11 需要额外的重复实验!
真实利用率 ρ 的 95% 置信区间为 0.779 ≤ ρ ≤ 0.843
非终止模拟
- 目的是估计系统的稳态或长期特性。
- 我们将单一模拟观察定义为一批次均值(或批次平均值)。
- 为了进行所需的统计测试,需要获得几个独立的批次均值 X1, X2,..., Xn,其中 n 是样本大小。
- 然而,我们必须处理一些在终止模拟中不存在的问题,例如:
- 初始条件偏差
- 样本间的协方差
- 运行长度
- 用于分析非终止系统模拟输出的三种常用方法包括:
- 重复方法
- 子区间方法(或批次均值方法)
- 再生方法
稳态模拟的输出分析
考虑模拟模型的单次运行以估计系统的稳态或长期特性。
-
单次运行产生观察值 Y1, Y2, ...(通常是自相关时间序列的样本)。
-
性能度量:
-
与初始条件无关。
样本大小是一个设计选择,考虑到几个因素:
-
由于人为或任意初始条件导致的点估计器的偏差(如果运行时间过短,偏差可能会很严重)。
-
点估计器的预期精度。
-
计算资源的预算限制。
初始化偏差
-
减少由于使用人为和不现实的初始条件造成的点估计器偏差的方法:
-
智能初始化
-
将模拟分为初始化阶段和数据收集阶段
-
智能初始化
-
将模拟初始化为更具代表性的长期条件状态。
-
如果系统存在,收集其数据,并使用这些数据来指定更典型的初始条件。
-
如果系统可以简化到足以使其数学可解,例如队列模型,求解简化模型以找到长期预期或最可能的条件,使用该条件初始化模拟。
-
将每个模拟分为两个阶段:
-
一个初始化阶段,从时间 0 到时间 T0。
-
一个数据收集阶段,从 T0 到停止时间 T0+TE。
-
T0 的选择很重要:T0 之后,系统应更接近于稳态行为的代表。
-
系统已达到稳态:系统状态的概率分布接近于稳态概率分布(响应变量的偏差可以忽略)。
-
尚无公认、客观且经过验证的技术来指导删除多少数据以将初始化偏差减少到可以忽略的水平。
-
图表有时可能会误导人,但仍然推荐使用。
重复方法
-
我们用相同的参数但不同的随机数序列运行模拟器 n 次。
-
将稳态期(非运行期)作为一个样本。
-
删除运行期后,每次运行都代表一个单独的批次。
- 用于估计点估计器的变异性并构建置信区间。
- 方法:进行 R 次复制,每次都以相同的方式初始化和删除数据。
- 重要的是彻底调查初始条件偏差:偏差不受复制次数的影响,而只受删除更多数据(即,增加 T0)或延长每次运行的长度(即,增加 TE)的影响。
- 每次复制的长度(n)超过删除点(d):(n - d) > 10d
- 复制次数(R)应该尽可能多,时间允许的话,最多大约25次复制。
优点
- 它产生真正独立的观察结果。
- 它不受批次边界的影响。
缺点
- 必须从每次运行中删除一个瞬态热身期 - 需要确定瞬态阶段的长度。
- 计算成本高 - 如果瞬态阶段较长,丢弃瞬态阶段的数据
子区间方法(批次均值方法)
- 只进行一次模拟运行。
- 删除运行期后,将剩余的运行分成 n 个等分批次,每个批次均值代表一个观察。
优点
- 它需要长时间的模拟运行,从而减少瞬态状态的初始效应。
缺点
- 连续样本之间可能存在相当大的相关性。
- 批次边界的效应无疑在批次均值的计算中引入了偏差。
- 需要确定批次长度或批次大小
再生方法
- 通过使用再生点来避免初始偏差问题。
- 再生点(或更新点)是系统状态,其中系统的未来行为独立于系统的过去历史。
- 因此,系统从一个再生点过渡到另一个再生点是一批(或再生周期)。
例如,如果队列长度是期望的性能度量,每批可能从零队列长度开始。
示例:
- 系统 ---- 再生点
- 队列系统中 ---- 没有顾客在队列中或正在服务时
- 办公大楼的电梯 ---- 当电梯返回主楼层且没有人等待时
优点
- 它产生独立的批次。
- 它消除了批次边界效应。
- 瞬态状态对数据没有影响。
缺点
- 不是对每个系统都能识别再生点。
- 批次大小通常会不同。
总结
- 随机离散事件模拟是一项统计实验。
- 统计实验的目的:获得系统性能度量的估计。
- 统计分析的目的:获得这些估计足够精确的一些保证。
- 区分:终止模拟和非终止(稳态)模拟。
- 稳态输出数据更难分析
- 决策:初始条件和运行长度
- 解决偏差的可能解决方案:数据删除和增加运行长度
- 通过标准误差或置信区间估计点估计器的统计精度