2015-01-16 75 views
1

首先,我非常新的編碼。如何模擬隨機正態變量Python

我的任務是「模擬許多正態分佈的隨機數,然後計算平均值和標準偏差。」使用Python。首先,我在解釋這個問題時遇到了一些困難...

無論如何,我想我已經想出瞭如何使用for循環從標準正態分佈生成一個隨機數的數目(雖然我我不確定這是要求什麼)。我正在努力的是將這些數字用於計算 - 因爲它們是隨機的,我不知道如何使用列表。

謝謝!

+0

使用['random.gauss'](https://docs.python.org/2/library/random.html#random.gauss)從正態分佈進行採樣的示例 – CoryKramer

+0

或者您是否對如何計算mean和std.dev? – CoryKramer

+0

準確地說,抽樣工作正常,但我想爲每次運行計算平均值和標準差。 dev採樣數據。 – Tove

回答

3

您可以使用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庫已經從期望的分佈很好地執行採樣數字,你會得到約你用來描述均值和標準差原始分配。