You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的Python蒙特卡洛模拟未生成正态分布?

为何你的Python蒙特卡洛模拟无法生成正态分布?

你的代码模拟的是几何分布,而非正态分布,这是结果不符合预期的核心原因,具体分析如下:

1. 代码对应的分布类型

你的逻辑是:重复进行成功概率为P=0.1的伯努利试验,直到第一次成功为止,记录试验次数。这个随机变量服从的是几何分布——它是离散型分布,概率质量函数为 ( P(X=k) = (1-P)^{k-1}P ),形状呈现明显的右偏性:大部分试验次数集中在较小的数值上,随着次数增加,出现的概率呈指数衰减,和你给出的直方图趋势完全匹配。

2. 几何分布与正态分布的本质差异

  • 正态分布是连续、对称的分布,取值围绕均值对称分布;
  • 几何分布是离散、右偏的分布,取值集中在左侧,长尾向右延伸。
    两者的定义和形态完全不同,所以你的模拟结果不可能呈现正态分布。

3. 生成正态分布的示例代码

如果需要生成正态分布的蒙特卡洛样本,可以直接使用numpy的正态分布生成函数:

import numpy as np
import matplotlib.pyplot as plt

# 生成1000个均值为0、标准差为1的正态分布样本
samples = np.random.normal(loc=0, scale=1, size=1000)
plt.hist(samples, bins=30)
plt.show()

内容的提问来源于stack exchange,提问作者LeaG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 14:59:50