[bit.listserv.sas-l] Markov mean first passage times

WDAVIS@UNCVM1.BITNET (Walter Davis) (02/01/90)

I apologize for the cross-posting.

A colleague and I have some mobility data from which we've derived a
transition matrix P, where p   gives the probability of moving from
                            ij
state i to state j in one generation  ( sum (p  ) = 1  ).
                                           j  ij
We are interested in finding the mean first passage time from
each state to each other state, assuming a Markov process.
According to my relatively ancient book on Finite Markov
Chains (Kemeny and Snell, 1960), to find these mean first passage
times, we need to find the 'limiting matrix' A where
P to the nth power converges to A as N goes to infinity.
Each row of A is the 'limiting vector' alpha where alpha equals
{a1,a2,...ak} where k is the number of states.  This vector has the
property that:

               alpha*P = alpha.

This leads to K+1 equations with K unknowns:

     1=    a1 +     a2 + ... +     ak
    a1=p11*a1 + p21*a2 + ... + pk1*ak
    a2=p12*a1 + p22*a2 + ... + pk2*ak
    .
    .
    .
    ak=p1k*a1 + p2k*a2 + ... + pkk*ak

where all pij are known.

What I plan to do is to simply raise P to some very high
power (say 100) and use that for A.  But if there's a relatively
easy way to solve the above equations, I'd prefer that.

If there were only a few categories, I could do this by hand.  But there
are a lot of categories.  I'm hoping for one of two things:

1) it's been too long since I've done this and there's a simple solution
   to this that I'm not seeing.

2) someone has SAS code written to do this

thanks in advance,

Walter Davis <WDAVIS@UNCVM1>
Dept. of Sociology
UNC - Chapel Hill