随机过程数据的马尔可夫链生成器

markovfsm的Python项目详细描述


#马尔可夫链和有限状态随机机这个包实现了分析随机(或随机)过程的功能。



(有限状态机)
评价马尔可夫链的功能。您可以轻松地从马尔可夫链构建概率自动机。

markovfsm`

如果您想使用绘图功能,不需要特殊的先决条件,除了graphviz之外。
在这种情况下,您必须安装graphviz和[`graphviz`pypi包](https://pypi.org/project/graphviz/)。

最简单的马尔可夫过程-一个完美硬币的翻转。
让"0"状态为"tails",而"1"状态对应于"heads"。

实验次数:
`` python
从随机导入random
从graphviz导入有向图

0.5否则0

chain=chain(2,coin())为范围(1000000)内的i创建一个具有2个状态的空马尔可夫链


:让马尔可夫链构建状态转移矩阵
chain.learn(coin())基于1000000个硬币翻转
````
让我们绘制一个状态转移图。
``` python
g=有向图(format='svg',engine='dot',
graph={'pad':'0.1','nodesep':'0.4','ranksep':'1.0',
node={'fontname':'helvetica'},
edge={'fontsize':'8.0','fontname':'helvetica'})

transition_matrix(),
lambda s:"tails"如果s==0否则为"heads")

g.render('./graph')这将输出"graph.svg`(svg graphics)
和"graph`(dot language)"文件le是滚动一个装配好的骰子的过程。
我们使用beta发行版来模拟非完美的骰子。

编码:utf-8

/>
多次掷骰子为该进程构建马尔可夫链
对于范围(100000):
chain.learn(rigged\u dice())
````

,然后绘制状态转换图。
``python
def state\mapping(state):
if state==0:return u'
if state==1:returnu''
如果state==2:返回u''
如果state==3:返回u''
如果state==4:返回u''
如果state==5:返回u''

g=有向图(format='svg',engine='dot',
图形属性={'pad':'0.1','nodesep':'0.15','ranksep':'0.5'},
边属性={fontsize':'6.0',fontname':'helvetica'})


ne可以正好处于有限个状态中的一个。
概率自动机是一种状态之间的转换是概率的fsm。
与普通自动机不同fsm,只需要状态之间可能的转换图,
概率自动机添加每个转换的概率。
``python
来自random import random

r/>
多次掷硬币并为这个过程构建马尔可夫链
让0为正,1为尾
为我在范围(1000000)内(1000000):
链。学习(0如果随机()>;0.5其他1)

/>获取转换矩阵
;;它应该看起来像:



这种转换的统计信息将等于马尔可夫过程行中的j元素包含从状态"i"转换到状态"j"的概率。


`chain.learn(state)`will learn markov chain from new`state` transition

`fsm(chain,initial_state)`-对象,表示概率自动机,
初始状态许可证Creative Commons CC0.



news
===


<0.2
--

*发布日期:2019年3月25日*


*更新使用信息并添加插图
*更好的文档


<0.1
--

*发布日期:2017年12月20日*

*首次发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?