这个工具能做什么
本生成器可以按照你设定的形状参数 a 和尺度参数 b,输出一组服从伽马分布的伪随机数。伽马分布是一种取值严格为正的连续型分布,在可靠性工程、排队论、贝叶斯统计(作为共轭先验)、降雨量与保险建模,以及各类涉及"等待时间"或"正偏态正值"的场景中应用极广。它是一种通用的数学工具,不针对任何特定国家或地区。
使用方法
输入形状参数 a(必须大于 0)、尺度参数 b(必须大于 0),以及希望生成的数值个数(1 到 1000)。再选择结果显示的有效数字位数。点击计算,即可得到一组排好序的抽样值,同时给出样本均值与样本方差,并与理论均值、理论方差并列展示,方便你核对结果是否合理。
计算公式
概率密度函数为 $$f(x; a, b) = \frac{1}{\Gamma(a)\cdot b} \cdot \left(\frac{x}{b}\right)^{a-1} \cdot e^{-x/b}$$ 其中 \(x > 0\),\(\Gamma(a)\) 为伽马函数。在这种"尺度参数"写法下,均值为 \(a\cdot b\),方差为 \(a\cdot b^2\)。请注意,\(b\) 是尺度参数,而非速率参数;如果你使用的其他库采用的是速率 \(\lambda = 1/b\),那么这里应设 \(b = 1/\lambda\)。抽样算法在 \(a \ge 1\) 时采用 Marsaglia-Tsang 挤压(squeeze)方法,在 \(a < 1\) 时使用均匀分布幂次提升。每个单位尺度下的抽样值都会乘以 \(b\) 以施加尺度。
示例演示
当 \(a = 3\)、\(b = 1\)、个数 = 10 时,每个数值都是 \(\text{Gamma}(3,1)\) 的抽样。理论均值为 \(a\cdot b = 3\),理论方差为 \(a\cdot b^2 = 3\)(标准差约为 1.732)。一组合理的抽样结果,其平均值应接近 3,离散程度约在 1.7 左右。改为 \(a = 2\)、\(b = 5\) 时,均值变为 10,方差变为 50;所有数值依然严格为正。
常见问题
为什么每次生成的数字都不一样?输出本身是随机的,除非固定随机种子,否则每次运行结果都会不同。但样本均值和方差应当始终接近理论值。
当 a = 1 时会怎样?\(\text{Gamma}(1, b)\) 就是均值为 \(b\) 的指数分布。当 \(a\) 取整数时,则对应埃尔朗(Erlang)分布。
b 是速率还是尺度?它是尺度参数。均值等于 \(a\cdot b\),因此 \(b\) 越大,分布就越向更大的数值延伸。