通过MCP连接 →

输入计算

数学公式

Show calculation steps (1)
  1. Chi-Squared via Gamma Relation (general v)

    Chi-Squared via Gamma Relation (general v): 卡方分布随机数生成器

    For non-integer v, values are drawn from the chi-squared density with v degrees of freedom; the theoretical mean is v and variance is 2v.

广告

结果

所生成数值的样本均值
3.3943
expected mean = v = 3

Random values from chi-squared(v = 3)

  1. 7.199852102
  2. 5.530819184
  3. 2.400446186
  4. 3.402511680
  5. 1.146771556
  6. 0.4743356160
  7. 0.8639040165
  8. 1.608326979
  9. 5.846308821
  10. 5.470039796
已生成个数 10
理论均值 3
理论方差 6
理论标准差 2.4495
样本均值 3.3943

这个工具能做什么

本生成器会按照你设定的自由度,输出一组服从卡方分布的伪随机数。自由度通常记作 \(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。

Advertisement
若干自由度下的卡方概率密度曲线
随自由度 \(v\) 增大的卡方密度曲线,向右移动并趋于平缓。

实例演示

当 \(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 的允许范围之内。

最后更新: