- 引言
- 收集原始数据
- 识别分布
- 估计参数
- 拟合优度检验
- 在没有数据的情况下选择输入模型
- 一些经验规则
- 常见分布
引言
- 输入数据为模拟模型提供了动力
- 输入变量在模型构建步骤中被识别,现在我们的任务是为这些输入变量开发模型
- 我们通常有一些关于系统输入的经验数据,如到达时间和服务时间等
- 理想情况下,我们希望能将这些经验数据与一个已知分布相拟合,并使用随机变量生成器为模拟实验产生样本
- 问题在于如何识别一个代表输入数据的概率分布
开发输入数据模型有四个步骤:
- 数据收集(原始数据)
- 识别潜在的统计分布
- 估计参数
- 拟合优度测试
1. 收集原始数据
- 收集待模拟系统的数据是一项繁琐且不引人注目的任务,但收集到的数据构成了整个模拟项目的基础。
- 数据应该代表被模拟的系统。
- 数据收集的艺术与科学!
2. 识别潜在的统计分布
- 这一步的目的是将大量数据简化为少数几个描述符,从而揭示数据的特征,这些特征可能不会直接显现。
- 频率分布或直方图有助于识别分布的形状。
- 准备直方图的目的是推断已知的概率密度函数(pdf)或概率质量函数(pmf)。
- 类间隔的数量取决于观测值的数量和数据的离散程度。
- 作为经验规则,我们选择:
- 如果直方图与离散数据相关联,它应该看起来像一个pmf。对于连续数据,直方图中每个类间隔频率的中心点穿过的线对应于其pdf。
- 假定分布的选择应尽可能基于生成数据的物理过程的属性,以及直方图的形状。
- 使用已知(理论)分布函数的优势在于它提供了比观测值更多的关于潜在总体的信息。
- 但如果没有理由假设给定的理论分布是适当的,那么可以使用直接从观测值得到的经验分布。
3. 估计参数
- 在做出分布假设之后,下一步是估计分布的参数。
- 我们计算样本均值(如有必要,还有样本方差)以估计假设(假定)分布的参数。
- 如果样本大小为n的观测值是X1, X2, …, Xn。
i. 对于离散和连续原始数据:样本均值,样本方差,
ii. 对于分组数据(数据是离散的并且在分布中分组):
其中k是X的不同值的数量, 是
值的观测频率
iii. 对于已放置在类间隔中的离散或连续数据:
其中 是第j个类间隔中的观测频率,
是第j个间隔的中点,c是类间隔的数量。
- 需要分布参数的数值估计(通常是均值/方差)以将分布假设具体化为特定分布并测试结果假设。
- 表中显示了模拟中常用分布的一些建议估计器(基于原始数据)。
对于基于原始数据的建议估计器,
我们将使用最大似然估计器。这些估计器基于原始数据或分组数据来计算。
分组数据(在频率分布中分组的数据)
例如,5分钟时间段内的到达数量。
当原始数据不可用时,如果数据已经放置在类间隔中,我们会使用近似值。
示例(均匀分布):
一个间谍试图确定敌方军队中的坦克数量。敌人给每辆坦克标上一个数字。最低数字是100,数字从100按顺序增加到某个未知的最大值,100+b。间谍观察了一天路口穿过的坦克,并观察到以下编号: 1783, 1522, 920, 587, 3653, 146, 2937, 1492, 736, 372, 3104, 3535 估计敌军中的坦克数量。 我们可以假设观察值构成了从连续均匀分布[100, 100+b]的随机样本。注意,数据是离散的。
敌军中坦克的预期数量可以通过均匀分布[0, b]上的参数来近似。 因此,我们可以使用最大观察到的标号来估计参数b,并进而估计坦克总数。如果3653是观察到的最大编号,那么我们可以假设坦克总数接近这个数字,尽管实际的估计方法可能会更复杂,考虑到可能存在未观察到的编号。
示例(指数分布):
对50个PDP-II电子芯片进行了随机样本的寿命测试,这些芯片的电压是名义电压的1.5倍,记录了它们的寿命(或故障时间)天数:
假设数据来自指数分布,计算参数估计。
对于指数分布,参数 的估计可以通过样本的倒数平均值来计算。具体来说,
的估计器是样本平均值的倒数,其中
是样本的平均寿命。让我们计算这个参数估计。
样本的平均寿命为11.89348天,因此指数分布参数( )的估计值为0.08408。这意味着,基于给定的数据和假设该数据来自指数分布,我们可以认为电子芯片在名义电压的1.5倍下平均每天故障的概率大约为0.08408。
4. 拟合优度检验
假设检验(包括卡方检验和Kolmogorov-Smirnov检验)被用来假设输入数据的分布形式。
i. 卡方检验
用于检验随机变量X的大小为n的随机样本是否遵循特定的分布形式。 假设如下:
- H0: 随机变量X符合参数由参数估计器给出的分布假设。
- H1: 随机变量X不符合。
测试统计量由下式给出: 其中
-
k = 类间隔数量
-
= 第i个类间隔中的观测频率
-
= 第i个类间隔中的期望频率
-
临界值
在表中找到。
-
如果
,则拒绝零假设
。
= 显著性水平,
= 自由度,
= 假设分布的参数数量。
-
如果正在测试连续分布假设,则应使用等概率而非等宽度的类间隔。
-
注意:如果数据以类间隔收集,原始数据已被丢弃或遗失,则此测试不适用。
卡方检验依赖于观测值和期望值之间的比较,以判断一个特定的分布是否适合用来描述这些数据。当数据被分组到类间隔中时,每个间隔的观测频率()与该间隔的期望频率(
)之间的差异用于计算卡方统计量。如果只有分组后的数据,而没有每个数据点的具体值,那么计算出的期望频率可能不够准确,因为分组过程可能会丢失一些重要信息。例如,分组可能会隐藏数据内的某些模式或特征,这些模式或特征在未分组的原始数据中可能更为明显。
此外,选择类间隔的方式(如它们的宽度和边界)也可能对卡方检验的结果产生影响。如果类间隔是基于等概率而非等宽度来选择的,那么每个间隔中的数据点数可能会更均匀,这有助于提高检验的准确性。但是,如果原始数据丢失,我们无法重新分析或调整这些间隔以优化检验结果。
-
因此,具有相等概率的类间隔数量由
给出。(因为
)
-
连续数据建议的类间隔数量如下:
例如,将卡方检验应用于泊松假设(离散分布)
每 5 分钟到达的车辆数量如下 如下所示:
数据看起来符合泊松分布。 因此,参数估计器,
为了测试拟合优度,形成了以下假设:
- H0: 随机变量符合泊松分布。
- H1: 随机变量不符合泊松分布。
因为 ,零假设被拒绝。 必须找到更适合的分布,或者使用数据的经验分布。
示例:卡方检验应用于指数分布(连续分布)
对PDP II芯片的故障数据(前面的例子)进行分析。数据的直方图看起来遵循指数分布,参数为 。 测试拟合优度。
等概率的类间隔的端点必须确定 。因此,对于n = 50,k ≤ 10。如果我们设定k = 8,则每个间隔的概率为r = 0.125 (1/k)。
自由度:
因为
,零假设被拒绝。
警告:卡方检验要求数据被分置于类间隔中(在连续分布假设中,分组是任意的)。因此,当数据以一种方式分组时,假设可能被接受,但当以另一种方式分组时,假设可能被拒绝。
ii. Kolmogorov-Smirnov检验
- K-S检验在样本量小且没有从数据中估计参数时特别有用。
- 这个测试的基本技术是确定收集的样本数据的累积分布函数 Sn(X) 与假设的总体分布 F(X) 之间的差异。
- 当分布假设被拒绝时,尝试另一个分布。
- 当所有其他方法都失败时,可以使用经验分布。
示例
收集了20个随机变量值的随机样本(如下所列)。样本的潜在分布被假设为指数分布,平均值估计为1.0。使用K-S检验来测试拟合优度。
0.01, 0.11, 0.20, 0.33, 0.36, 0.38, 0.46, 0.58, 0.87, 1.07,
1.07, 1.20, 1.91, 2.01, 2.27, 2.84, 3.10, 3.92, 4.65, 4.74
λ=1, N=20
因此: ;
在没有数据的情况下选择输入模型
- 有时我们需要在没有任何数据的情况下开发一个模拟模型。
- 建模者必须仔细选择输入模型,并检查结果对所选模型的敏感性。
- 即使数据不可用,也有几种方法可以获取有关过程的信息:
- 工程数据:来自制造商提供的产品性能评级(例如,激光打印机每分钟可打印8页)。
- 专家意见:与有经验的过程或类似过程的人交谈。
- 物理或常规限制:大多数真实过程在性能上有物理限制。
- 过程的性质:可以用来证明特定分布的合理性。
一些经验规则
- 需要的估计越少越好。
- 如果一个“服务”包含几个大小大致相同的简单任务,并且是顺序的,“服务”时间可以用正态分布来近似。
- 如果大量低速输入过程被组合,组合过程大致是泊松的。
-
n个独立的泊松过程的组合,每个过程的平均值为 λi(对于 1≤ i ≤ n),也是泊松的,其平均值为
。
-
泊松流分裂成n个流,如果一个泊松流的速率为 λ 分裂成n个流,路由概率为 P1,P2,…,Pn,则流i是泊松的,速率为 Piλ(对于 1 ≤ i ≤ n)。
-
如果输入不独立,到达过程不太可能是正态或泊松的。
-
服务时间分布通常是以下之一:
-
指数
-
埃朗(Erlangian): 埃朗分布当形状参数 k=1 时简化为指数分布。它是伽玛分布的一个特例。它是k个独立指数变量之和的分布,每个变量的平均值为 1/λ。
-
超指数 - 在多类模型中出现,其中每个客户类都是指数的,具有自己的平均值。超指数分布是一个连续概率分布,其随机变量X的概率密度函数由给定,
其中每个 Yi 是一个具有速率参数 λi 的指数分布随机变量,pi 是X将采用速率 λi 的指数分布的概率。
-
-
如果假设指数分布但发现不符合数据,如果不符合的原因在于分布的某一尾部,也许伽玛或威布尔分布会更适合数据。( 注意伽玛和威布尔分布提供了广泛的形状选择。)
常见分布
- 二项式:模拟n次试验中成功的次数,当试验独立且成功概率为p时;例如,必须检查多少计算机芯片才能找到4个有缺陷的芯片。
- 泊松:模拟在固定时间内发生的独立事件的次数;例如,1小时内到达商店的顾客数量。
- 正态:模拟可以视为许多组成过程之和的过程的分布;例如,组装产品所需时间是每个组装操作所需时间的总和。
- 对数正态:模拟可以视为许多组成过程乘积的过程的分布;例如,投资的回报率,当利息复合时,是多个周期的回报的乘积。
- 指数:模拟独立事件之间的时间;例如,顾客的到达间隔时间。
- 伽玛:用来模拟非负随机变量的极其灵活的分布。
- 贝塔:用来模拟有界随机变量的极其灵活的分布。
- 埃朗:模拟可以视为几个指数分布过程之和的过程;例如,当一台计算机和两台备份计算机失败时,计算机网络失败,每台计算机的故障时间都是指数分布的。(伽玛的特例)。
- 威布尔:模拟组件故障时间,例如硬盘驱动器的故障时间。指数是威布尔的特例。
- 离散或连续均匀:模拟完全不确定性。所有结果同样可能。
- 三角形:模拟只知道最小值、最可能值和最大值的过程的分布。
- 经验:从实际收集的数据中重新抽样,当没有理论分布似乎适当时使用。
总结
- 输入数据收集是模拟生命周期的一个重要方面。
- 可能耗时且需要资源。
- 如果找不到分布,使用经验分布。