什么是随机游走?
随机游走(random walk)也称随机漫步,随机行走等,是以随机的体例采纳连续步调的过程。然后,可以将其他条件应用于此描述,以为您的特定用例建立一个随机遍历。粒子的布朗运动,股票代码运动,基质中的活细胞运动只是在现实世界中看到的一些更为人所知的随机游走。
在这里,我们模拟从原点开始的1-D,2-D和3-D的简化随机游走以及从[-1,0,1]中选择的具有相等几率的离散步长。起点暗示+,停止点暗示o。
对不合的应用程序,这些条件会根据需要产生转变,例如从选定的股票价格开始游走,用显微镜检测到的初始细胞位置等,steps的选择通常是几率性的,并且取决于来自past data, projection assumptions, hypothesis being tested等的附加信息。
设置您的jupyter notebook:
%pylab inline from itertools import cycle from mpl_toolkits.mplot3d import Axes3D colors = cycle(‘bgrcmykbgrcmykbgrcmykbgrcmyk’)
1-D随机游走:
我们从原点解缆(y=0),并选择一个step,以相等的几率移动每一个连续的step。起点用红色暗示,终点用黑色暗示。在下面的图中绘制了一个累加和,其中显示了在1D中10k步之间的轨迹。
用Python模拟随机游走(Random walks)-1.jpg (28.74 KB, 下载次数: 0)
2018-10-15 06:12 上传
Python实现如下:
# Define parameters for the walk dims = 1 step_n = 10000 step_set = [-1, 0, 1] origin = np.zeros((1,dims)) # Simulate steps in 1D step_shape = (step_n,dims) steps = np.random.choice(a=step_set, size=step_shape) path = np.concatenate([origin, steps]).cumsum(0) start = path[:1] stop = path[-1:] #