2015-12-04 36 views
0

我使用馬爾可夫鏈在Python中製作天氣預報程序。這些程序要求用戶輸入過去幾天的天氣並預測未來七天。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]] 

回答

2

我不確定馬爾可夫鏈是否是最合適的工具。一般來說,馬爾科夫模型沒有記憶,即下一個過渡只取決於當前狀態(乾燥或多雨),並且您想要做七天的預測......

但是,關於您計算轉移矩陣我建議以下方法:

讓我們考慮一個用戶的輸入,如:DDDRDD

  • 總體有五個轉變。
  • 有三種過渡D-> d
  • 有一個過渡D->ř
  • 有一個過渡R-> d

先決條件:

  • 的所有轉換開始與D必須總計爲1.
  • 所有與R開始的轉換必須總計爲1.

因此,根據輸入字符串的D-> D的概率爲3/4。 D-> R的概率爲1/4。 概率R-> D爲1且R-> R爲0 - 因爲從R - > R的輸入字符串中沒有轉換。

相關問題