当我以龟速在python入门的世界中挣扎的时候,遇到了一个熟悉的事物——random walk。所以这篇文章就用来写关于random walk(RW)的一些知识和感悟。
1、RW code in python
RW的代码比较简单,思路是:设定起点——用choice函数设定每一步横纵坐标前进的距离——将每一步的距离累积起来——结束。代码如下:
2、绘制 RW
绘制图形主要用到 matplotlib 。思路是根据RW的的类创建一个实例,然后用散点图画出来。可以设置图形样式,让图形看上去各种fancy。
代码如下:
图形如下:
关于漫步次数:我选择的次数是10000次,运行时间大概1s左右。我喜欢这个次数出来的图形,颗粒感和氤氲感都刚好。次数太少颗粒感会比较强,次数太多则没有了独立感变成非常柔顺的一片,而且运行时间会延长,当我把次数设置在1,000,000时,用了35s钟才运行完,图形是云朵样的一大片。当然,可能有人会喜欢这种柔顺的感觉。
关于图形样式:上图分别选择了“Blues”和“summer”。图形样式的选择非常多,基础的是三原色“RGB”,另外也有很多扩展(可以查看pyplot的所有颜色映射 https://matplotlib.org/gallery/index.html)。我喜欢用单一颜色(比如蓝色),叠加颜色渐变之后就已经非常富有层次了,如果本身就是多个颜色,再叠加渐变就会比较繁杂混乱。简洁本身就是美。
3、random walk in life
随机漫步公式如上,最后一项e是白噪声,那么可以看出X的均值不随时间发生变化。每一步都随心所欲,就像一个醉汉行走,他的每一步都可以向前向后向左向右。就像我们作为灵长类动物的高级品种,随机地出现生活在一个很小的星球上,而它随机地围绕着千万亿个星系中一个很普通的恒星公转。就像我们随机地出生在地球的某个年代某个国家,随机地接受着父母的、大众媒体的、书籍的影响,随机地成为一个性格迥异的人。泰戈尔说“生命于你而言,本是一场无意义无目的,充满随心所欲的幻想”。
于是兜兜转转,百转千回,最终我们可能还是会回到最初的状态。心理学家弗兰克尔说,我们永远都有选择,生命的意义在于选择。可是就像德黑兰的死神一样,最终我们所遭受的种种不幸也许也正是我们的选择所带来的。一切似乎都毫无意义。
但是,我们仍然要去做积极的选择、尝试和努力。因为无论终点在哪里(可以在图形中增强显示终点,实际上它可以出现在任何位置),这副图形画出来都是丰富而美丽的,如果你喜欢,也可以让它变得绚烂多彩。
以上。
thanks for your time:)
注:文中例子均来自于《Python编程:从入门到实践》书中。