随机分布生成器
随机
为统计教学、模拟种子、A/B 测试合理性检查、排队论估算或生成形态贴合实际的测试数据,从常见概率分布中抽取最多 5,000 个样本。每种分布有专属参数(范围、均值/标准差、速率、概率、众数),结果以可调 bin 数的直方图显示,外加汇总统计(均值、标准差、最小值、最大值、中位数)。底层均匀随机来自 `crypto.getRandomValues`(远优于 `Math.random`),正态采样使用 Box-Muller 变换。
—
使用方法
- 选择分布并调整参数。
- 设置样本数(最多 5,000)和小数位。
- 点击生成——直方图和统计立即更新。
- 可导出为 CSV、JSON 或换行分隔。
常见问题
- 样本是如何生成的?
- 所有均匀 `[0, 1)` 随机数都来自 `crypto.getRandomValues(Uint32Array)` 归一化。正态用 Box-Muller,指数用逆 CDF (-ln U / λ),泊松在 λ < 30 用 Knuth 算法、否则用正态近似,伯努利是单次比较,三角用逆 CDF 公式。
- 是否具有密码学安全性?
- 底层 `crypto.getRandomValues` 是的,但变换(如 Box-Muller)只保留统计质量,不保留密码学保证。请仅用于模拟与统计,不要用于密钥或令牌。
- 为什么 N 小的时候直方图看起来锯齿?
- 有限样本噪声。要看到平滑的正态钟形曲线,请增大样本数或减少 bin 数。
- 三角分布有什么用?
- 当你只有最小/最可能/最大值的估计(例如项目任务的 PERT 时长),又需要一个有界、非平坦的分布时非常有用。