1 引言
由于岩石的变异性, 其物理参数和力学参数不可能是一个确定的值, 因此在大多数情况下需要作概率分析. 在概率分析中,通过定义输入参数的统计分布来解释其数值的不确定性。这些参数可能包括节理产状, 剪切强度、地下水位等, 通过不同参数的组合产生出安全系数的分布,从这个分布可以计算边坡的破坏概率。这篇笔记简述了计算破坏概率的理论基础---抽样和随机数.
2 抽样和随机数
2.1 抽样
抽样(Sampling Method) 决定了当取样时, 随机输入变量的统计分布方式, 在Swedge中, 提供了两种抽样方法: 一种是Monte Carlo方法;另一种是Latin Hypercube方法. 这两种抽样方法都是利用随机数的序列来产生随机样本。默认的样本数是10,000. 为了进行概率分析,至少有一个输入参数必须被定义为随机变量.
蒙特卡洛(Monte Carlo)抽样技术使用随机数从输入数据的概率分布中进行抽样。
正态分布的蒙特卡洛(Monte Carlo)取样(1000个样本)
Latin Hypercube抽样技术的结果与蒙特卡洛抽样技术的结果差不多,但使用的样本较少。该方法基于 "分层 "抽样,在每个层内随机选择, 这使得概率分布的抽样更加平滑。通常,用Latin Hypercube技术获得的1000个样本的分析结果与用蒙特卡洛方法分析5000个样本的结果相当[Hoek et.al.(1995)]。
正态分布的Latin Hypercube取样(1000个样本)
对每个随机变量产生样本数。例如, 如果样本数N=1000,那么将根据每个输入的随机变量的抽样方法和统计分布生成1000个值,然后运行1000次,计算出每组输入数据样本的安全系数。
2.2 随机数
随机数序列是通过指定一个 "种子(Seed) "值,并将这个种子值输入 "随机数生成器 "来生成的。对于一个给定的种子值和一个给定的随机数生成器,总会产生相同的随机数序列。不同的种子或不同的生成器,将产生不同的随机数序列。有两种设定"种子"值的方法, 一种是伪随机(Pseudo-Random )抽样, 另一种是随机(Random)抽样.
伪随机抽样在概率分析中能够获得可重复的结果。 "伪随机 "抽样意味着总是使用相同的 "种子(Seed)"数来生成输入数据分布采样的随机数, 这将导致每次分析运行时(使用相同的输入参数)对输入数据分布进行相同的采样, 破坏概率、平均安全系数和所有其他分析输出都是可重复的, 这对于演示和实例问题的讨论等都很有用处。也可以通过选择"Specify seed" 自定义种子值而不是使用程序内部的默认值. 每个不同的种子值将产生不同的结果; 而对任何给定的种子值将得到完全相同的结果.
为了模拟真正的随机分析,可以选择随机(Random)选项。在这种情况下, SWedge将自动生成一个新的种子值(基于计算机的当前时间),这意味着每次分析将得到不同的结果. 有两种方法产生随机数, 第一种是Park Miller方法, 这种方法能够产生差不多无限的不同随机数(大约2^31)序列. 第二种是Rand方法, 能够产生最大32,768 个不同的随机数.
实际上,选择哪种随机数生成器对SWedge的分析结果几乎没有影响, 两种方法都会产生均匀分布在0到1区间的随机数序列。然而,如果正在产生大量的样本(例如10000个或更多),应该意识到,Rand生成器最终会开始 "重复 "相同的数值,这可能会使结果产生一些偏差。一般来说,Park Miller v.3的方法更受欢迎,因为生成的不同随机数的序列几乎没有限制。
3 Python中使用随机数
如果打算自己编写概率分析程序,那么需要使用import random命令, random模块基本覆盖了大部分的随机分布功能, 主要函数包括:
random.seed
random.random
random.randrange
random.randint
random.choice
random.choices
random.shuffle
random.sample
random.uniform
random.triangular
random.betavariate
random.expovariate
random.gammavariate
random.gauss
random.lognormvariate
random.normalvariate
random.vonmisesvariate
random.paretovariate
random.weibullvariate
如果需要使用更高级一些的统计功能, 可以输入math和statistics 模块, 在此不再赘述.
相关文章:
构造控制的隧道稳定性分析---Rock Wedge
岩石边坡平面滑动稳定性分析---带有拉伸裂缝
岩石边坡平面滑动(Planar Sliding)稳定性分析
岩石边坡楔形破坏稳定性分析---一个教学演示