《11利用Matlab编程进行马尔可夫预测计算.doc》由会员分享,可在线阅读,更多相关《11利用Matlab编程进行马尔可夫预测计算.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计量地理学(徐建华,高等教育出版社,2005)配套实习指导11. 利用Matlab编程进行马尔可夫预测利用Matlab和SPSS学软件进行Markov分析是非常方便的,只需要进行相应的矩阵乘法即可。1.原始数据以下我们以教材第3章第7节中的例子,进行分析计算。例如,考虑某地区农业收成变化的三个状态,即“丰收”、“平收”和“欠收”。记E1为“丰收”状态,E2为“平收”状态,E3为“欠收”状态。表3.7.1给出了该地区19652004年期间农业收成的状态变化情况。试计算该地区农业收成变化的状态转移概率矩阵。表3.7.1某地区农业收成变化的状态转移情况年份1965196619671968196919
2、701971197219731974序号12345678910状态E1E1E2E3E2E1E3E2E1E2年份1975197619771978197919801981198219831984序号11121314151617181920状态E3E1E2E3E1E2E1E3E3E1年份1985198619871988198919901991199219931994序号21222324252627282930状态E3E3E2E1E1E3E2E2E1E2年份1995199619971998199920002001200220032004序号31323334353637383940状态E1E3E2E1E
3、1E2E2E3E1E22. 马尔可夫预测的基本原理(1)首先计算状态转移概率矩阵假定某一个事件的发展过程有n个可能的状态,即E1,E2, ,En。记为从状态转变为状态的状态转移概率,则矩阵 从表3.7.1中可以知道,在15个从E1出发(转移出去)的状态中,有3个是从E1转移到E1的(即12,2425,3435),有7个是从E1转移到E2的(即23,910,1213,1516,2930,3536,3940),有5个是从E1转移到E3的(即67,1718,2021,2526,3132)。所以按照上述同样的办法计算可以得到所以,该地区农业收成变化的状态转移概率矩阵为 (2)进行预测计算状态概率表示事
4、件在初始(k0)状态为已知的条件下,经过k次状态转移后,在第k 个时刻(时期)处于状态的概率。根据概率的性质,显然有: 从初始状态开始,经过k次状态转移后到达状态这一状态转移过程,可以看作是首先经过(k-1)次状态转移后到达状态,然后再由经过一次状态转移到达状态。根据马尔可夫过程的无后效性及Bayes条件概率公式,有: 若记行向量,则由(3.7.7)式可以得到逐次计算状态概率的递推公式: 式中:为初始状态概率向量。3.利用Matlab编程进行马尔可夫预测计算以2004年的农业收成状态为初始状态,预测今后11年(即20052015)中每一年的农业收成状态。源程序(markov.m),如下:cle
5、arclc% 读入状态转移概率矩阵p=0.2000 0.4667 0.3333;0.5385 0.1538 0.3077;0.3636 0.4545 0.1818;% 读入初始状态概率向量(2004年的农业收成状态)x=0,1,0;% 预测今后11年(即20052015)的农业收成状态 for i=1:11 y(i,:)=x*pI; end程序运行后,输出结果如下:y = 0.5385 0.1538 0.3077y = 0.3024 0.4148 0.2827y = 0.3867 0.3334 0.2798y = 0.3586 0.3589 0.2823y = 0.3677 0.3509 0.2813y = 0.3648 0.3534 0.2817y = 0.3657 0.3526 0.2815y = 0.3654 0.3529 0.2816y = 0.3655 0.3528 0.2815y = 0.3654 0.3528 0.2815y = 0.3654 0.3528 0.281574