1. 程式人生 > >隨機漫步示例

隨機漫步示例

隨機漫步的模擬提供了一個使用陣列操作的說明性應用。首先,我們來考慮一個簡單的隨機漫步,從0開始,步進為1和-1,且兩種步進發生的概率相等:

import random
import matplotlib.pyplot as plt
position = 0
walk = [position]
steps = 1000
for i in range(steps):
    step = 1 if random.randint(0,1) else -1
    position += step
    walk.append(position)
plt.plot(walk[:100])
plt.show()

對隨機漫步的前100步進行資料視覺化:
在這裡插入圖片描述walk只是對隨機步進的累積,並且可以通過一個數組表示式實現。我們可以使用np.random模組一次性抽取1000次投擲硬幣的結果,每次投擲的結果為1或-1,然後計算累計值:

nsteps = 1000
draws = np.random.randint(0,2,size = nsteps)
steps = np.where(draws >0,1,-1)
walk = steps.cumsum()