0
有人告訴我的預期停留時間,爲了計算預期的停留時間爲一組狀態,我可以用下面的辦法:求解方程系統找到一個馬爾可夫鏈
- 構建具有索引i的馬爾可夫鏈,j是從狀態i過渡到狀態j的概率。
- 轉置矩陣,以便每列包含該狀態的入站概率。
- 反轉對角線,使得值p變爲(1-p)。
- 在底部添加一行,含有1的
- 構造具有0的一個係數向量和最後一個元素1
- 解決它。所產生的載體應包含的預期停留時間的各種狀態
讓我舉一個例子:
我最初的馬爾可夫鏈:
0.25 ; 0.25 ; 0.25 ; 0.25
0.00 ; 0.50 ; 0.50 ; 0.00
0.33 ; 0.33 ; 0.33 ; 0.00
0.00 ; 0.00 ; 0.50 ; 0.50
1-3步之後,它看起來像這樣:
0.75 ; 0.00 ; 0.33 ; 0.00
0.25 ; 0.50 ; 0.33 ; 0.00
0.25 ; 0.50 ; 0.67 ; 0.50
0.25 ; 0.00 ; 0.00 ; 0.50
我添加的最後一行:
0.75 ; 0.00 ; 0.33 ; 0.00
0.25 ; 0.50 ; 0.33 ; 0.00
0.25 ; 0.50 ; 0.67 ; 0.50
0.25 ; 0.00 ; 0.00 ; 0.50
1.00 ; 1.00 ; 1.00 ; 1.00
係數將是以下矢量:
0 ; 0 ; 0 ; 0 ; 1
1的的添加行應執行,該解決方案總和爲1。然而,我的解決方案是一組:
{0.42; 0.84; -0.79; 0.32}
其中總和爲0.79,所以顯然有些錯誤。 我還注意到,狀態3的預期停留時間是負的,這在我看來應該是不可能的。
我已經用Java實現了它,我使用Commons.Math來處理矩陣計算。我嘗試了documentation中描述的各種算法,但我得到了相同的結果。
我也嘗試用1的行替換其中一行,以使矩陣爲正方形。當我這樣做,我得到以下一組的解決方案:
{0.79; 0.79; -1.79; 1.2}
即使概率之和爲1,他們仍然必須是錯誤的,因爲他們應該在範圍0..1,總結爲1
這是一個完全錯誤的方法來解決這個問題嗎?我在哪裏? 不幸的是,我不是很數學,但我希望我已經提供了足夠的信息來看你的問題。