在功效分析中,仿真是指生成数千个遵循特定分布的随机样本,从每个样本中计算测试统计量,并将这些检验统计量的分布制成表格,以便研究程序的显著性水平和功效的过程。该模块创建指定分布的直方图以及模拟数据的数值汇总。通过研究直方图和数值摘要,您可以确定分布是否具有所需的特征。然后,分布公式可用于使用仿真的过程,例如新的 t 检验过程。以下是使用此过程生成的两个分布的示例
Distribution
Functions
Probability Distribution Examples
Beta Distribution
β 分布由密度函数给出
其中 A 和 B 是形状参数,C 是最小值,D 是最大值。在统计理论中,C 和 D通常分别为 0 和 1,但这里使用的更通用的公式更方便于模拟工作。可以使用以下两种参数之一指定 beta 随机变量:Beta(A, B,C, D) 或 BetaMS(Mean, SD, C, D)。如果使用 BetaMS(..),则程序使用以下关系求解
β 密度可以采用多种形状,具体取决于 A 和 B 的值:
When A<1 and B<1 the density is U-shaped.
When 0 < 𝐴 < 1≤ 𝐵 the density is J-shaped.
When A=1 and B>1 the density is bounded and decreases monotonically to 0.
When A=1 and B=1 the density is the uniform density.
When A>1 and B>1 the density is unimodal.
使用Devroye(1986)第438页给出的Cheng拒绝算法生成Beta随机变量。
Binomial Distribution
离散二项分布由函数
离散二项分布由函数给出二项式随机变量可以使用以下两种参数化之一指定:二项式(P,n)或二项式MS(Mean,n)。如果使用 BinomialMS(...) 版本,则 P 的值是根据 Mean using P = Mean/n 计算得出的。因此,您必须有 0 <平均值< n。
使用逆 CDF 方法生成二项式随机变量。也就是说,生成一个均匀的随机变量,然后扫描二项分布的 CDF 以确定哪个 r 值与该概率相关。
Cauchy Distribution
柯西分布由密度函数给出
尽管柯西分布不具有均值和标准差,但 M 和 S 被视为。柯西随机数是使用 Johnson、Kotz 和 Balakrishnan(1994),第 327 页中给出的算法生成的。
在此程序模块中,柯西被指定为 Cauchy(M, S),其中 M 是位置参数(中位数),S 是尺度参数。
Constant Distribution
当随机变量只能取单个值 X 时,就会发生常数分布。常数分布指定为 Constant(X),其中 X 是值。
有时,数据遵循特定分布,其中有很大比例的零。当数据是计数或货币金额时,可能会发生这种情况。假设您想要生成具有 22% 额外零的指数分布数据。您可以使用以下仿真模型:
Constant(0)[2]; Exponential(5)[9]
仅使用指数分布来生成左侧下方的直方图。右边的直方图是通过向指数数据添加额外的零来模拟的。
Exponential Distribution
指数分布由密度函数给出。
在本程序模块中,指数指定为指数(M),其中M是平均值。
指数分布的随机变量使用表达式 −M ln(U) 生成,其中 U是均匀随机变量。
Gamma Distribution
双参数伽马分布由密度函数
其中 A 是形状参数,B 是尺度参数。
可以使用以下两种参数之一指定 Gamma 随机变量:Gamma(A,B) 或 GammaMS(Mean, SD)。如果使用 GammaMS(Mean, SD),则求解 A 和 B 的值,以便使用
当 A = 1 时,使用指数分布生成Gamma 变量;Best的XG算法在Devroye(1986)第410页给出,当A>1时;Devroye (1986) 第 415 页给出的 Vaduva 算法,当 A<l。
Gumbel Distribution
双参数 Gumbel(极值)分布由密度函数
其中 A 是位置参数,B 是尺度参数。
可以使用以下两种参数化之一指定 Gumbel 随机变量:Gumbel(A,B) 或GumbelMS(Mean, SD)。如果使用 GumbelMS(Mean, SD),则求解 A 和 B 的值,以便使用
可以使用以下均匀变量变换生成 Gumbel 变量
Laplace Distribution
双参数拉普拉斯(或双指数)分布由密度函数
其中 A 是位置参数,B 是尺度参数。
可以使用以下两种参数化之一指定拉普拉斯随机变量:拉普拉斯 (A, B) 或拉普拉斯 MS(Mean, SD)。如果使用 LaplaceMS(平均值,标准差),则求解 A 和 B 的值,以便使用
拉普拉斯变量使用以下均匀(-1/2<U<1/2)变换生成
Logistic Distribution
双参数逻辑分布由密度函数
其中 A 是位置参数,B 是尺度参数。
逻辑随机变量可以使用以下两种参数化之一指定:Logistic(A,B) 或LogisticMS(Mean, SD)。如果使用LogisticMS(Mean, SD),则求解 A 和 B 的值以使用
Lognormal Distribution
Logistic 变量是使用以下均匀变量变换生成的
双参数对数正态分布由密度函数
其中 A 是位置参数,B 是尺度参数。
可以使用以下两种参数之一指定对数正态随机变量:Lognormal(A,B) 或
LognormalMS(Mean, SD)。如果使用 LognormalMS (Mean, SD),则求解 A 和 B 的值,以便使用
对数正态变量生成正态变量
Multinomial Distribution
当随机变量只有几个离散值(如 1、2、3、4、和 5)时,就会发生多项式分布。多项式分布指定为 Multinomial(P1, P2, ..., Pk),其中 Pi 是整数 i 出现的概率。请注意,这些值从 1 开始,而不是从 0 开始。
例如,假设您要模拟具有 50% 3 的分布,并且 1、2、4 和 5 的百分比都相等。您将输入多项式(1 1 4 1 1).作为第二个示例,假设您希望 1、3 和 7 的百分比相等,而其他百分比均不相等。您将输入多项式 (1 0 1 0 0 0 1)。
李克特量表数据在调查和问卷调查中很常见。要从五点李克特量表分布生成数据,可以使用以下仿真模型:多项式(6 1 2 1 5)请注意,权重是相对的,它们不必总和为 1。程序将进行适当的权重调整,使它们的总和为1。
Normal Distribution
正态分布由密度函数
其中 φ(z) 是通常的标准法向密度。正态分布指定为 Normal(M, S),其中 M 是μ,S 是σ。 正态分布是使用 Devroye (1986) 中给出的 Marsaglia 和 Bray 算法生成的,第 390 页。
Poisson Distribution
泊松分布由函数
在这个程序模块中,泊松被指定为 P(M),其中 M 是平均值。也就是说,生成一个均匀的随机变量,然后扫描泊松分布的 CDF 以确定 X 的哪个值与该概率相关。
Tukey’s G-H Distribution
Hoaglin (1985) 讨论了 John Tukey 开发的分布,该分布允许在模拟研究中详细描述偏度和峰度。这种分布在Karian和Dudewicz(2000)的工作中得到了扩展。Tukey的想法是使用改变偏度和/或峰度的函数来重塑正态分布。这是通过将正态随机变量乘以偏度函数和/或峰度函数来实现的。变换的一般形式
其中 z 具有标准分布密度。Tukey提出的偏度函数为
g 的范围通常为 -1 到 1。G0(z) 的值≡ 1。Tukey提出的峰度函数为
h 的范围也是 -1 到 1.
因此,如果 g 和 h 都设置为零,则变量 X 遵循均值 A 和标准差 B 的正态分布。当 g 向 1 递增时,分布越来越向右倾斜。当 g 向 -1 减小时,分布越来越向左倾斜。当 h 增加到 1 时,数据被拉伸,因此可能出现更极端的值。当 h 减小到 -1 时,数据集中在中心周围,从而形成 beta 型分布。
此分布的平均值由下式给出
对于A来说,这可能很容易解决。
Tukey 的 lambda 在程序中指定为 TukeyGH(M, SD, g, h),其中 M 是平均值,SD 是标准偏差 (B = SD/Sqrt(Var(Y)); 参见Hoaglin (1985)的Var(Y)公式),g是偏度的量, H是峰度。Var(Y) 的公式要求 0 ≤ h <0.5.
通过生成随机正态变量、应用偏度和峰度修改以及缩放以获得所需的均值和标准差,从该分布生成随机变量。以下是一些示例,因为 g 从 0 到 0.4 再到 0.6。请注意偏度量是如何逐渐增加的。当 h 从 0 到 0.5 变化时,也会获得类似的结果。
Uniform Distribution
均匀分布由密度函数
指定为 Uniform(A, B) 或 UniformMS(Mean, SD)。如果使用 UniformMS(Mean, SD),程序使用关系计算 A 和 B
均匀随机数是使用 Makoto Matsumoto 的 Mersenne Twister 均匀随机数生成器生成的,该生成器的周期长度大于1.0E+6000(即 1 后跟 6000 个零)
Weibull Distribution
Weibull 分布由形状参数 B 和尺度参数 C 组成。Weibull 密度函数写为
可以使用以下两种参数化之一指定 Weibull 随机变量:Weibull(A,B) 或WeibullMS(Mean, SD)。如果使用 WeibullMS (Mean, SD),则找到 A 和 B 的值,以便使用
shape 参数控制密度函数的整体形状。通常,此值的范围介于 0.5 和 8.0 之间。Weibull分布流行的原因之一是它包括其他有用的
分布作为特殊情况或近似值。例如,如果
B = 1 Weibull 分布与指数分布相同。
B = 2 Weibull 分布与Rayleigh 分布相同。
B = 2.5 Weibull 分布近似于对数正态分布。
B = 3.6 Weibull 分布近似于正态分布。
scale 参数仅沿 x 轴更改密度函数的尺度。一些作者使用 1/C而不是 C 作为比例参数。虽然这是任意的,但我们更喜欢除以刻度参数因为这是通常缩放一组数字的方式。
Combining Distributions
常见的连续概率分布的例子是正态分布和均匀分布。不幸的是,实验数据往往不遵循这些共同分布,因此提出了其他分布。创建具有所需特征的分布的最简单方法之一是组合简单分布。例如,可以通过将异常值与方差大得多的分布的数据混合,将异常值添加到分布中。因此,为了模拟具有 5% 异常值的正态分布数据,我们可以从均值为 100、标准差为 4 的正态分布生成95% 的样本,然后从均值为 100、标准差为 16 的正态分布生成5%的样本。使用正态分布的标准符号,新随机变量 Y 的复合分布可以写成
其中 X 是介于 0 和 1 之间的均匀随机变量,δ(z) 是 1 还是 0,具体取决于z 是否为真或false,N(100,4) 是均值为 100、标准差为4 的正态分布随机变量,并且N(100,16) 是一个正态分布随机变量,均值为 100,标准差为 16。结果分布如下图所示。注意尾巴是如何向两个方向延伸的。
生成具有上述混合物分布的随机变量 Y 的过程是
1. 生成一个统一的随机数 X。
2. 如果 X 小于 0.95,则通过从 N(100,4) 分布生成随机数来创建 Y。
3. 如果 X 大于或等于 0.95,则通过从 N(100,16) 生成一个随机数来创建 Y分配。
请注意,对于混合物分布中的任何特定随机实现,只生成一个均匀随机数和一个正态随机数。
一般来说,混合随机变量Y的公式,它是由两个或多个变量生成的由其分布函数 Fi(Zi) 定义的随机变量由下式给出
请注意,选择 ai 是为了满足加权要求。
另请注意,实际上只需要为特定值生成一个均匀随机数和一个另一个随机数。Fi(Zi) 可以是下面列出的任何分布。
由于将要模拟的检验统计量用于检验有关一个或多个均值的假设,因此它将
便于根据均值对分布进行参数化。
Example 1 – Generating Normal Data
在此示例中,将从标准正态值(均值零,方差 1)生成 5000 个值分配。这些值将显示在直方图中,并以数字方式汇总。
Setup
Output
此报告显示 5000 个模拟法线值和数值摘要。是的有趣的是检查模拟的效果如何。从理论上讲,平均值应为零,即标准偏差 1、偏度 0 和峰度 3。当然,您的结果会与这些有所不同
因为这些都是基于生成的随机数。
Example 2 – Generating Data from a Contaminated Normal
在此示例中,我们将从受污染的正态生成数据。这将通过生成95% 的数据来自正态 (100,3) 分布,5% 的数据来自正态 (110,15) 分布。
Setup
Output
此报告显示。平均值接近 100,但标准偏差、偏度和峰度具有非正态值。请注意,现在有一些非常大异常值。
Example 3 – Likert-Scale Data
在此示例中,我们将按照李克特尺度上的离散分布生成数据。分布李克特量表将是 30% 1、10% 2、20% 3、10% 4 和 30% 5。
Setup
Output
Example 4 – Bimodal Data
在此示例中,我们将生成具有双峰分布的数据。我们将通过以下方式实现这一目标
合并来自两个正态分布的数据,一个平均值为 10,另一个平均值为 30。这
标准差将设置为 4。
Setup
Output
Example 5 – Gamma Data with Extra Zeros
在此示例中,我们将生成具有 gamma 分布的数据,只是我们将强制存在大约 30% 零。伽玛分布的形状参数为 5,均值为 10。
Setup
Output
Example 6 – Mixture of Two Poisson Distributions
在此示例中,我们将生成混合了两个泊松分布的数据。60% 的数据将来自平均值为 10 的泊松分布,40% 来自平均值为20 的泊松分布。
Setup
Output
Example 7 – Difference of Two Identically Distributed Exponentials
在这个例子中,我们将证明两个相同分布的指数随机数的差变量遵循对称分布。这特别有趣,因为指数分布是偏斜的。事实上,任何两个相同分布的随机变量之间的差异遵循对称分布。
Setup
Output
References:
Devroye, Luc. 1986. Non-Uniform Random Variate Generation. Springer-Verlag. New York.
Matsumoto, M. and Nishimura,T. 1998. 'Mersenne twister: A 623-dimensionally equidistributed uniform pseudo random number generator.' ACM Trans. On Modeling and Computer Simulations.