利用Matlab编程进行马尔可夫预测

上传人:新** 文档编号:568604776 上传时间:2024-07-25 格式:PDF 页数:5 大小:123.89KB
返回 下载 相关 举报
利用Matlab编程进行马尔可夫预测_第1页
第1页 / 共5页
利用Matlab编程进行马尔可夫预测_第2页
第2页 / 共5页
利用Matlab编程进行马尔可夫预测_第3页
第3页 / 共5页
利用Matlab编程进行马尔可夫预测_第4页
第4页 / 共5页
利用Matlab编程进行马尔可夫预测_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《利用Matlab编程进行马尔可夫预测》由会员分享,可在线阅读,更多相关《利用Matlab编程进行马尔可夫预测(5页珍藏版)》请在金锄头文库上搜索。

1、实习指导 -计量地理学 (徐建华,华东师范大学) 11. 利用 Matlab 编程进行马尔可夫预测 利用 Matlab 和 SPSS 学软件进行 Markov 分析是非常方便的,只需要进行相应的矩阵乘法即可。 1.原始数据 以下我们以教材第 3 章第 7 节中的例子,进行分析计算。 例如, 考虑某地区农业收成变化的三个状态, 即 “丰收” 、 “平收” 和 “欠收” 。记 E1 为“丰收”状态,E2 为“平收”状态,E3 为“欠收”状态。表 3.7.1 给出了该地区 19652004 年期间农业收成的状态变化情况。试计算该地区农业收成变化的状态转移概率矩阵。 表 3.7.1 某地区农业收成变化

2、的状态转移情况 年份 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 序号 1 2 3 4 5 6 7 8 9 10 状态 E1E1E2E3E2E1E3E2E1E2年份 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 序号 11 12 13 14 15 16 17 18 19 20 状态 E3E1E2E3E1E2E1E3E3E1年份 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 序号 21 22 23 24 25 26 27 28 29

3、30 状态 E3E3E2E1E1E3E2E2E1E2年份 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 序号 31 32 33 34 35 36 37 38 39 40 状态 E1E3E2E1E1E2E2E3E1E22. 马尔可夫预测的基本原理马尔可夫预测的基本原理 (1)首先计算状态转移概率矩阵 假定某一个事件的发展过程有 n 个可能的状态,即 E1,E2, ,En。记为从状态转变为状态的状态转移概率,则矩阵 ijPiEjE 70实习指导 -计量地理学 (徐建华,华东师范大学) =nnnnnnPPPPPPPPPPLMMMMLL212222

4、111211从表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) 。 所以 2000. 0153)()(111111=EEPEEPP 4667. 0157)()(122112=EEPEEPP 3333. 0155)()(133113=EEPEEPP 按照上述同样的办法计算可以得到 5385. 0137)()(211221=EEPEEPP 1538.

5、0132)()(222222=EEPEEPP 3077. 0134)()(233223=EEPEEPP 3636. 0114)()(311331=EEPEEPP 4545. 0115)()(322332=EEPEEPP 1818. 0112)()(333333=EEPEEPP 71实习指导 -计量地理学 (徐建华,华东师范大学) 所以,该地区农业收成变化的状态转移概率矩阵为 =1818. 04545. 03636. 03077. 01538. 05385. 03333. 04667. 02000. 0P(2)进行预测计算 状态概率表示事件在初始(k0)状态为已知的条件下,经过k次状态转移后,在

6、第k 个时刻(时期)处于状态的概率。根据概率的性质,显然有: (k)jjE 1)(1=njjk从初始状态开始,经过k次状态转移后到达状态这一状态转移过程,可以看作是首先经过(k-1)次状态转移后到达状态jE), 2 , 1(EiniL=,然后再由经过一次状态转移到达状态。根据马尔可夫过程的无后效性及Bayes条件概率公式,有: iEjE ), 2 , 1() 1()(1njPkkniijjjL=若记行向量)(,),(),()(21kkkknL=,则由(3.7.7)式可以得到逐次计算状态概率的递推公式: =kPPkkPPP)0() 1()()0() 1 ()2()0() 1 (1LM 72实习指

7、导 -计量地理学 (徐建华,华东师范大学) 式中:)0(,),0(),0()0(21nL=为初始状态概率向量。 3.利用 Matlab 编程进行马尔可夫预测计算利用 Matlab 编程进行马尔可夫预测计算 以2004年的农业收成状态为初始状态,预测今后11年(即20052015)中每一年的农业收成状态。 源程序(markov.m) ,如下: clear clc % 读入状态转移概率矩阵 p=0.2000 0.4667 0.3333;0.5385 0.1538 0.3077;0.3636 0.4545 0.1818; % 读入初始状态概率向量(2004 年的农业收成状态) x=0,1,0; %

8、预测今后 11 年(即 20052015)的农业收成状态 for i=1:11, y=x*pi end 程序运行后,输出结果如下: y = 0.5385 0.1538 0.3077 y = 0.3024 0.4148 0.2827 y = 0.3867 0.3334 0.2798 y = 0.3586 0.3589 0.2823 73实习指导 -计量地理学 (徐建华,华东师范大学) y = 0.3677 0.3509 0.2813 y = 0.3648 0.3534 0.2817 y = 0.3657 0.3526 0.2815 y = 0.3654 0.3529 0.2816 y = 0.3655 0.3528 0.2815 y = 0.3654 0.3528 0.2815 y = 0.3654 0.3528 0.2815 74

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号