如何模拟随机正态变量 Python

How to simulate random normal variate Python

首先,我对编码非常陌生。

我使用 Python 获得了分配给 "Simulate many normally distributed random numbers, then calculate mean and standard deviation." 的任务。首先,我在解释问题时遇到了一些困难...

无论如何,我想我已经弄清楚了如何使用 for 循环从标准正态分布中生成所需数量的随机数(尽管我不确定这是要求的)。我正在努力的是使用这些数字进行计算——因为它们是随机的,我不知道如何使用列表。

谢谢!

您可以使用 random.gauss 生成随机数。例如,我将创建一个包含 10 个随机数的列表,均值为 10,标准差为 1

>>> import random
>>> nums = [random.gauss(10, 1) for _ in range(10)]
>>> nums
[11.959067391283675, 9.736968009359552, 9.034607376861388, 9.431664007796622, 11.522646114577977, 9.777134678502273, 10.954304068858296, 9.641278997034552, 10.671349950944085, 10.795117781051463]

然后您可以使用 statistics 库来计算均值和标准差。

>>> import statistics as stats

>>> avg = stats.mean(nums)
>>> avg
10.352413837626989   # pretty close to 10

>>> stddv = stats.stdev(nums)
>>> stddv
0.9667002670583574   # pretty close to 1

你可以看到,如果我生成了很多随机数,假设 random 库可以很好地实现所需分布的采样数,你将得到大约你使用的均值和标准差描述原始分布。