= rbind(
Q c(-1, 0.4, 0.6),
c(0.8 / 3, -1 / 3, 0.2 / 3),
c(0.9 / 5, 0.1 / 5, -1 / 5)
)
Stationary Distributions and Long Run Behavior of CTMCs
Seagull
<- function(Q){
compute_stationary_distribution_ctmc = nrow(Q)
s = rep(1,s) %*% solve(diag(s) - Q + matrix(rep(1, s * s) - diag(s), ncol = s))
Pi return(Pi)
}
= compute_stationary_distribution_ctmc(Q)
pi_ctmc
pi_ctmc
[,1] [,2] [,3]
[1,] 0.1701389 0.2395833 0.5902778
= rbind(
P c(0, 0.4, 0.6),
c(0.8, 0, 0.2),
c(0.9, 0.1, 0)
)
= compute_stationary_distribution(P)
pi_dtmc
pi_dtmc
[,1] [,2] [,3]
[1,] 0.4622642 0.2169811 0.3207547
= pi_dtmc * 1 / -diag(Q)
pi_ctmc
= pi_ctmc / sum(pi_ctmc) pi_ctmc
Starting from stationary distribution
library(expm)
%*% expm(Q * 0.01) pi_ctmc
[,1] [,2] [,3]
[1,] 0.1701389 0.2395833 0.5902778
= [[-1, 0.4, 0.6],
Q 0.8 / 3, -1 / 3, 0.2 / 3],
[0.9 / 5, 0.1 / 5, -1 / 5]]
[
= [0.1701389, 0.2395833, 0.5902778]
pi0
= [1, 2, 3]
states
= ContinuousTimeMarkovChain(Q, pi0, states)
X
;
plt.figure()0.1].sim(10000).plot()
X[; plt.show()
%*% expm(Q * 0.1) pi_ctmc
[,1] [,2] [,3]
[1,] 0.1701389 0.2395833 0.5902778
%*% expm(Q * 1) pi_ctmc
[,1] [,2] [,3]
[1,] 0.1701389 0.2395833 0.5902778
%*% expm(Q * 10) pi_ctmc
[,1] [,2] [,3]
[1,] 0.1701389 0.2395833 0.5902778
Starting from each of the 3 states
expm(Q * 0.01)
[,1] [,2] [,3]
[1,] 0.990060488 0.0039740406 0.0059654717
[2,] 0.002649559 0.9966775877 0.0006728529
[3,] 0.001789509 0.0002030498 0.9980074414
expm(Q * 0.1)
[,1] [,2] [,3]
[1,] 0.90583424 0.037497750 0.056668008
[2,] 0.02501751 0.967728516 0.007253975
[3,] 0.01698773 0.002290251 0.980722020
expm(Q * 1)
[,1] [,2] [,3]
[1,] 0.4208177 0.22068969 0.3584926
[2,] 0.1483652 0.74940800 0.1022268
[3,] 0.1067220 0.03810031 0.8551777
expm(Q * 2)
[,1] [,2] [,3]
[1,] 0.2480892 0.27191543 0.4799953
[2,] 0.1845306 0.59824988 0.2172195
[3,] 0.1418295 0.08468766 0.7734828
expm(Q * 5)
[,1] [,2] [,3]
[1,] 0.1744734 0.2635399 0.5619867
[2,] 0.1832125 0.3755968 0.4411907
[3,] 0.1635832 0.1774727 0.6589441
expm(Q * 10)
[,1] [,2] [,3]
[1,] 0.1706563 0.2447028 0.5846409
[2,] 0.1729511 0.2676561 0.5593928
[3,] 0.1688483 0.2267135 0.6044382
expm(Q * 20)
[,1] [,2] [,3]
[1,] 0.1701608 0.2398022 0.5900369
[2,] 0.1702592 0.2407833 0.5889576
[3,] 0.1700838 0.2390332 0.5908831