手把手讲解python在随机漫步理论的应用
随机漫步理论–python手把手讲解
随机漫步理论是由Karl Pearson 于1905年提出的,它是一种变化形式,在运动过程中每一步都是随机,没有明确的方向。这个在自然界、物理学、生物学、化学和经济学中都有实际用途。比如说漂浮在水滴上的花粉的运动是随机,因此他的路径可以像随机漫步模型。
接下里我就用python来模拟这个过程,并且用注释的方式手把手讲解这个过程。
首先我们先建立一个叫RandomWalk 的类,它的功能是随机选着前进的方向,这主要有三点,一个是走多少步,向哪个方向走(x轴,y轴)
from random import choice#应用随机模块
class RandomWalk:#用于生成随机漫步的数据def __init__(self, num_points=5000):"""这里做了一个函数,我们假设我们需要走5000点"""self.num_points = num_points# 所有的步都是从原点开始的self.x_values = [0]self.y_values = [0]def fill_walk(self):"""现在我们开始确认每一个点走的方向和距离"""# 这个决定了方向和距离while len(self.x_values) < self.num_points:# Decide which direction to go and how far to go in that direction.x_direction = choice([1, -1])#每次不是向右走加1,就是向左走-1x_distance = choice([0, 1, 2, 3, 4])#这是一个选择5个步数任意一个,来决定这个点走多少步x_step = x_direction * x_distancey_direction = choice([1, -1])y_distance = choice([0, 1, 2, 3, 4])y_step = y_direction * y_distance# 如果出现两次都是0的情况况要重新执行if x_step == 0 and y_step == 0:continue# 这里计算下一个漫步的点x = self.x_values[-1] + x_stepy = self.y_values[-1] + y_stepself.x_values.append(x)self.y_values.append(y)
接下来我们就要开始绘制随机漫步图了
import numpy as np
import matplotlib.pyplot as plt
#这里引用的两大最常用的数据分析函数我就不多提了from random_walk import RandomWalk
#把上面我们做的漫步类引进来,这里我们单独创建一个文件了,上面那个存在另一个文件,这里把两个文件放在同一个文件夹下#这里用了一个循环,让程序不断地模拟,后面再设置中断
while True:#创建一个RandomWalk实例rw = RandomWalk(50_000)rw.fill_walk()# 把所有的漫步的点都画出来plt.style.use('classic')fig, ax = plt.subplots(figsize=(15, 9))point_numbers = range(rw.num_points)ax.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues,edgecolors='none', s=1)#画出散点图# 这里我隐藏了坐标,方便你全心去观察他们的图像移动ax.get_xaxis().set_visible(False)ax.get_yaxis().set_visible(False)plt.show()keep_running = input("Make another walk? (y/n): ")if keep_running == 'n':#对应前面的无限循环,只有你下了n指令才会终止break
这个是最后模拟的图像
手把手讲解python在随机漫步理论的应用相关推荐
- Python模拟随机漫步
本文用Python模拟随机漫步行为. 1 使用内建的的random模块 import randomposition = 0 walk = [position] steps = 1000 for i i ...
- 【Python】随机漫步
欢迎来到博主 Apeiron 的博客,祝您旅程愉快 !时止则止,时行则行.动静不失其时,其道光明. 目录 1.缘起 2.创建 RandomWalk 类 3.随机选择方向 4.绘制随机漫步图 5.总结 ...
- Random Walk 随机漫步理论 Random Walk Theory 随即漫步应用
目录 Random walk 点阵随机游走 一维随机游走 马尔可夫链 更高的纬度 与维纳过程的关系 高斯随机游走 异常扩散 不同站点的数量 应用 变种 在图表上 自我互动随机游走 远程相关步行 偏向随 ...
- Python中使用random随机函数与Matplotlib库绘制随机漫步图
Python中使用random随机函数与Matplotlib库绘制随机漫步图 一.概述 随机现象在我们的生活中并不少见,我们常见的一次抛硬币的正反面,股票的走势等等,都是随机事件.这些不确定性事件给我 ...
- 股票价格在随机漫步吗?用 Python 来告诉你
1. 什么是随机漫步 在这个世界上存在的现象大体分为必然现象和随机现象两类.必然现象就像太阳每天必然从东边升起,西边落下那样,在相同条件下完全可以事先预测到它的结果.随机现象则不同,它在个别试验中会呈 ...
- 自回避随机行走问题 c语言,醉汉随机行走/随机漫步问题(Random Walk Randomized Algorithm Python)...
世界上有些问题看似是随机的(stochastic),没有规律可循,但很可能是人类还未发现和掌握这类事件的规律,所以说它们是随机发生的. 随机漫步(Random Walk)是一种解决随机问题的方法,它 ...
- 蒙特卡罗仿真(2):醉汉的随机漫步仿真示例(Python实现)
目录 1. 前言 2. 为什么要做蒙特卡罗仿真? 3. 第一个仿真程序 4. 仿真封装及批量仿真 5. 醉汉能回家吗? 1. 前言 上一篇(蒙特卡罗仿真(1):入门求生指南(Python实例))通过几 ...
- Python量化交易基础讲堂-可视化随机漫步轨迹
在< Python实战-构建基于股票的量化交易系统 >小册子的<前置基础:由例程快速入门常用数据分析工具>小节我们用到了一副插图: 这里我们结合小册中Numpy.Matplot ...
- 【Matplotlib】【Python】如何使用matplotlib绘制绘制随机生成的点--随机漫步详解
目录 1.绘制随机漫步 2.模拟多次随机漫步 3.给点着色 4.重新绘制起点和终点 5.隐藏坐标轴 随机漫步是指每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策决定的. 为模拟随机漫步, ...
最新文章
- 克隆Centos 无法上网
- vb怎么运用api对文件夹进行加密_[MIUI玩法篇 30] | 小米私密文件夹 深度揭秘
- Linux之awk:按照字符或列进行筛选与计算列值 条件动作
- 21 WM配置-策略-入库策略1-定义固定仓位的策略F(Fixed Bin Strategy)
- 3个开源TTS(二)eSpeak的简要分析使用
- 逃逸分析、栈上分配、标量替换、同步消除、锁消除
- python基础笔记(六)_数据清洗及建模
- html生成pdf java_Java实现HTML代码生成PDF文档
- 【2017.04.25】蘑菇街一面面经
- “麦田音乐节·超时空歌会”即将破空 探索元宇宙虚拟演唱会新形式
- C++ 开发中如何利用sql语句(insert语句)向数据库中插入变量
- Linuxftp服务
- 互联网摸鱼日报(2022-12-15)
- mysql5.7 树遍历_Mysql5.7 存储过程 遍历select结果集并进行其他操作
- c语言如何实现递归算法,c语言递归算法如何实现
- c语言括号表示法画树怎么画,树的画法分类讲解
- pygame.mixer音效
- ThinkPad驱动下载
- CVE-2022-1609 WordPress Weblizar Backdoor
- 张宇/王式安 考研数学 概率论争议题 【Python验证版】