这个工具能做什么
本生成器会按照你设定的自由度,输出一组服从卡方分布的伪随机数。自由度通常记作 \(v\)(希腊字母 nu)。卡方分布是统计学中的基础分布:它描述了若干个相互独立的标准正态变量平方之和的分布规律,也是卡方拟合优度检验、方差估计以及置信区间计算的理论基础。
使用方法
先填入自由度 \(v\)(任意正实数,默认值为 3),再设定需要生成的随机数个数(1 到 1000 之间,默认 10 个),并选择每个数值显示的有效数字位数。点击「计算」即可得到一组全新样本。由于结果是随机产生的,每次运行得到的数字都不相同,但旁边显示的理论均值(\(v\))、理论方差(\(2v\))和理论标准差(\(\sqrt{2v}\))是固定不变的,可以用来快速核对样本是否合理。
公式解析
卡方分布的概率密度函数为
$$f(x,v) = \frac{1}{2^{v/2}\,\Gamma\!\left(\tfrac{v}{2}\right)}\, x^{\frac{v}{2}-1}\, e^{-x/2}, \quad x \ge 0$$在抽样时,我们利用这样一个性质:自由度为 \(v\) 的卡方变量,等于形状参数为 \(v/2\)、尺度参数为 1 的 Gamma 变量的 2 倍。当 \(v\) 为整数时,可以采用更简单的等式
$$X = Z_1^{2} + Z_2^{2} + \dots + Z_v^{2}$$其中每个 \(Z\) 都是通过 Box-Muller 变换生成的标准正态随机数。当 \(v\) 不是整数时,则改用 Marsaglia-Tsang Gamma 抽样方法,再将结果乘以 2。
实例演示
当 \(v = 3\)、生成个数为 10 时,每个数值都是三个标准正态变量平方之和。一组典型的样本可能是 1.842、4.317、0.526、2.991、6.083、1.205、3.778、0.914、5.460、2.337。它们的平均值约为 2.945,与理论均值 3 非常接近。可以看到,所有数值都是非负数,这正符合卡方分布的要求。
常见问题
为什么每次生成的数字都不一样?因为生成器依赖随机源,每次运行都会产生一组相互独立的新样本。而理论统计量始终保持不变。
自由度 \(v\) 可以是小数吗?可以。只要 \(v\) 大于 0 都有效;对于非整数的 \(v\),工具会自动采用 Gamma 抽样方法处理。
如果我要求生成超过 1000 个数值会怎样?个数会被自动限制在 1 到 1000 的允许范围之内。