繁体   English   中英

Python markov链,用户输入字符串到转换矩阵

[英]Python markov chain, user input string to transition matrix

我正在使用Markov链在Python中制作天气预报程序。 这些程序要求用户输入过去几天的天气,并预测接下来的七天。

我想知道如何更改我的转换矩阵,以便它使用指定对发生频率(即“ DD”,“ DR”,“ RR”,“ RD”)的百分比,而不是如下所示的默认概率。

#Possible sequences of events
transitionName = [["DD","DR"],["RR","RD"]]

pastweather = input("Enter a string of D's and R's to represent dry/rainy days: ")

#transition matrix
transitionMatrix = [[0.8,0.2],[0.4,0.6]]

我不确定马尔可夫链是否是这里最合适的工具。 一般而言,马尔可夫模型没有记忆,即下一个过渡仅取决于当前状态(干燥或多雨),您想要进行7天的预测...

但是,关于您有关转换矩阵计算的问题,我建议采用以下方法:

让我们考虑如下用户输入:DDDRDD

  • 总体上有五个过渡。
  • 共有三个转换D-> D
  • 有一个过渡D-> R
  • 有一个过渡R-> D

先决条件:

  • 以D开头的所有转换的总和必须为1。
  • 盯着R的所有转换必须加起来为1。

因此,根据输入字符串得出D-> D的概率为3/4。 D-> R的概率为1/4。 概率R-> D为1且R-> R为0-因为输入字符串中没有从R-> R过渡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM