Somethimes the cycle length of a transition probability matrix needs to be changed. In my example I derived transition probabilities from a study with 3-year interval in measurements. I wanted to change the transition probabilities to 1-year cycle length. Various possibilities exist, which are explained here by Dr. Jagpreet Chhatwal et al.: http://www.ispor.org/News/Connections_methodology_state-transition-models.PDF.
I do not explain the traditional approach:
p' = 1-(1-p)^(1/t)
As explained in the document the Eigendecomposition approach has some advantages. Below the R code to transform it:
mf <- 1/3 # multiplication factor to transformes e.g. 3-year transition probabilities to 1-year transition probabilities
P <- matrix(c(0.251, 0.495, 0.200, 0.054,
0.078, 0.426, 0.304, 0.191,
0.000, 0.103, 0.310, 0.586,
0.000, 0.000, 0.091, 0.909), nrow=4, byrow=TRUE) # matrix with transition probability
D <- diag(4, x=eigen(P)$values) # eigenvalues
V <- eigen(P)$vectors # eigenvector
P1 <- V %*% D^(mf) %*% solve(V) # transition formula
round(P1, 8) # matrix with transitioned probabilities
Be aware that some disadvantages were mentioned in the document. Among them is the possibility of negative values which can not be used as transition probability. In the document by dr. Chhatwal et al. they provide several sollutions. One approach is “to add the negative values back to all entries of the same row, proportional to their absolute value”. An excel example can be downloaded transition probabilities.