numpy实现随机漫步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy实现随机漫步相关的知识,希望对你有一定的参考价值。

参考技术A 随机漫步是一种数学统计模型,它由一连串轨迹所组成,其中每一次都是随机的,它能用来表示不规则的变动形式,如同一个人乱步所形成的随机记录。

在这里用一种简单的模式来实现,从0开始,步进为1或者-1,两种步进的发生的概率相等。

将可视化的结果展示出来了

在用random实现的地方,walk只是对随机步进的累积,所以这里采用np.random方法一次性抽取1000次投掷硬币的结果,每次的结果为-1或者1,然后计算累积值。
最后通过argmax()方法,拿到第一次出现正向或者反向走了10步的地方。

本文只是简单的一个对numpy的练习实现而已,更多的练习需要多使用才行。

python 实现随机漫步

1.

纯python

技术图片
In [247]: import random
.....: 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)
.....:
In [249]: plt.plot(walk[:100])
In [250]: plt.show()
View Code

numpy实现

技术图片
nsteps=1000
draws=np.random.randint(0,2,size=nsteps)
steps=np.where(draws>0,1,-1)
walk=steps.cumsum()
plt.plot(walk)
plt.show()
View Code

np.random.randint(low, high=None, size=None, dtype=‘l‘)

技术图片
参数如下:

low: int
生成的数值最低要大于等于low。
(hign = None时,生成的数值要在[0, low)区间内)
high: int (可选)
如果使用这个值,则生成的数值在[low, high)区间。
size: int or tuple of ints(可选)
输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
dtype: dtype(可选):
想要输出的格式。如int64、int等等
————————————————
版权声明:本文为CSDN博主「安ann」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011851421/article/details/83544853
View Code

 

以上是关于numpy实现随机漫步的主要内容,如果未能解决你的问题,请参考以下文章

NumPy基础:范例-随机漫步

python 实现随机漫步

Python随机漫步

Python中的 matplotlib随机漫步

醉汉随机行走/随机漫步问题(Random Walk Drunk Python)

随机漫步与有效市场假说