pysal.explore.giddy.markov.Markov

class pysal.explore.giddy.markov.Markov(class_ids, classes=None)[源代码]

经典马尔可夫转移矩阵。

参数:
class_ids : 数组

(n,t),每个观测一行,一列记录每个观测的状态,列数与时段相同。

classes : 数组

(k,1),矩阵的所有不同类(bin)。

实例

>>> import numpy as np
>>> from pysal.explore.giddy.markov import Markov
>>> c = [['b','a','c'],['c','c','a'],['c','b','c']]
>>> c.extend([['a','a','b'], ['a','b','c']])
>>> c = np.array(c)
>>> m = Markov(c)
>>> m.classes.tolist()
['a', 'b', 'c']
>>> m.p
array([[0.25      , 0.5       , 0.25      ],
       [0.33333333, 0.        , 0.66666667],
       [0.33333333, 0.33333333, 0.33333333]])
>>> m.steady_state
array([0.30769231, 0.28846154, 0.40384615])

美国名义人均收入48个州81年1929-2009年

>>> import pysal.lib
>>> import pysal.viz.mapclassify as mc
>>> f = pysal.lib.io.open(pysal.lib.examples.get_path("usjoin.csv"))
>>> pci = np.array([f.by_col[str(y)] for y in range(1929,2010)])

每年将类设置为五分位数

>>> q5 = np.array([mc.Quantiles(y).yb for y in pci]).transpose()
>>> m = Markov(q5)
>>> m.transitions
array([[729.,  71.,   1.,   0.,   0.],
       [ 72., 567.,  80.,   3.,   0.],
       [  0.,  81., 631.,  86.,   2.],
       [  0.,   3.,  86., 573.,  56.],
       [  0.,   0.,   1.,  57., 741.]])
>>> m.p
array([[0.91011236, 0.0886392 , 0.00124844, 0.        , 0.        ],
       [0.09972299, 0.78531856, 0.11080332, 0.00415512, 0.        ],
       [0.        , 0.10125   , 0.78875   , 0.1075    , 0.0025    ],
       [0.        , 0.00417827, 0.11977716, 0.79805014, 0.07799443],
       [0.        , 0.        , 0.00125156, 0.07133917, 0.92740926]])
>>> m.steady_state
array([0.20774716, 0.18725774, 0.20740537, 0.18821787, 0.20937187])

相对收入

>>> pci = pci.transpose()
>>> rpci = pci/(pci.mean(axis=0))
>>> rq = mc.Quantiles(rpci.flatten()).yb.reshape(pci.shape)
>>> mq = Markov(rq)
>>> mq.transitions
array([[707.,  58.,   7.,   1.,   0.],
       [ 50., 629.,  80.,   1.,   1.],
       [  4.,  79., 610.,  73.,   2.],
       [  0.,   7.,  72., 650.,  37.],
       [  0.,   0.,   0.,  48., 724.]])
>>> mq.steady_state
array([0.17957376, 0.21631443, 0.21499942, 0.21134662, 0.17776576])
属性:
p : 数组

(k,k),转移概率矩阵。

steady_state : 数组

(K,)遍历分布。

transitions : 数组

(k,k),每个状态i和j之间的转换计数。

__init__(class_ids, classes=None)[源代码]

初始化自身。请参阅帮助(键入(self))以获得准确的签名。

方法

__init__ \(类标识[,类]) 初始化自身。

属性

steady_state