giddy.markov.GeoRank_Markov¶
- class giddy.markov.GeoRank_Markov(y, fill_empty_classes=False, summary=True)[source]¶
Geographic Rank Markov. Geographic units are considered as Markov states.
- Parameters:
- yarray
(n, t) with t>>n, one row per observation (n total), one column recording the value of each observation, with as many columns as time periods.
- fill_empty_classes: bool
If True, assign 1 to diagonal elements which fall in rows full of 0s to ensure p is a stochastic transition probability matrix (each row sums up to 1).
- summarybool
If True, print out the summary of the Markov Chain during initialization. Default is True.
Notes
Refer to [Rey14b] Equation (13)-(16) for details. Ties are resolved by assigning distinct ranks, corresponding to the order that the values occur in each cross section.
Examples
US nominal per capita income 48 states 81 years 1929-2009
>>> from giddy.markov import GeoRank_Markov >>> import libpysal as ps >>> import numpy as np >>> f = ps.io.open(ps.examples.get_path("usjoin.csv")) >>> pci = np.array([f.by_col[str(y)] for y in range(1929,2010)]).transpose() >>> m = GeoRank_Markov(pci) The Markov Chain is irreducible and is composed by: 1 Recurrent class (indices): [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47] 0 Transient classes. The Markov Chain has 0 absorbing states. >>> m.transitions array([[38., 0., 8., ..., 0., 0., 0.], [ 0., 15., 0., ..., 0., 1., 0.], [ 6., 0., 44., ..., 5., 0., 0.], ..., [ 2., 0., 5., ..., 34., 0., 0.], [ 0., 0., 0., ..., 0., 18., 2.], [ 0., 0., 0., ..., 0., 3., 14.]]) >>> m.p array([[0.475 , 0. , 0.1 , ..., 0. , 0. , 0. ], [0. , 0.1875, 0. , ..., 0. , 0.0125, 0. ], [0.075 , 0. , 0.55 , ..., 0.0625, 0. , 0. ], ..., [0.025 , 0. , 0.0625, ..., 0.425 , 0. , 0. ], [0. , 0. , 0. , ..., 0. , 0.225 , 0.025 ], [0. , 0. , 0. , ..., 0. , 0.0375, 0.175 ]]) >>> m.mfpt array([[ 48. , 63.35532038, 92.75274652, ..., 82.47515731, 71.01114491, 68.65737127], [108.25928005, 48. , 127.99032986, ..., 92.03098299, 63.36652935, 61.82733039], [ 76.96801786, 64.7713783 , 48. , ..., 73.84595169, 72.24682723, 69.77497173], ..., [ 93.3107474 , 62.47670463, 105.80634118, ..., 48. , 69.30121319, 67.08838421], [113.65278078, 61.1987031 , 133.57991745, ..., 96.0103924 , 48. , 56.74165107], [114.71894813, 63.4019776 , 134.73381719, ..., 97.287895 , 61.45565054, 48. ]]) >>> m.sojourn_time array([ 1.9047619 , 1.23076923, 2.22222222, 1.73913043, 1.15942029, 3.80952381, 1.70212766, 1.25 , 1.31147541, 1.11111111, 1.73913043, 1.37931034, 1.17647059, 1.21212121, 1.33333333, 1.37931034, 1.09589041, 2.10526316, 2. , 1.45454545, 1.26984127, 26.66666667, 1.19402985, 1.23076923, 1.09589041, 1.56862745, 1.26984127, 2.42424242, 1.50943396, 2. , 1.29032258, 1.09589041, 1.6 , 1.42857143, 1.25 , 1.45454545, 1.29032258, 1.6 , 1.17647059, 1.56862745, 1.25 , 1.37931034, 1.45454545, 1.42857143, 1.29032258, 1.73913043, 1.29032258, 1.21212121])
- Attributes:
- parray
(n, n), transition probability matrix for geographic rank Markov.
- steady_statearray
(n, ), ergodic distribution.
- transitionsarray
(n, n), count of rank transitions between each geographic unit i and j.
- mfptarray
(n, n), mean first passage times.
- sojourn_timearray
(n, ), sojourn times.
Methods
__init__
(y[, fill_empty_classes, summary])Attributes
mfpt
sojourn_time
steady_state