应用随机过程——马尔可夫过程的应用
李文雯,黄静冉,李鑫,苏建武
(国防科学技术大学电子科学与工程学院,湖南,长沙,410072)
摘要:现实生活中,语音处理、人脸识别以及股市走势预测等实际问题都具有马尔可夫性,即未来的走势
和演变仅仅与当前的状态有关而不受过去状态的影响。
本文运用这一性质建立了以上三个问题的马尔可夫
链模型并做出了相应分析。
Abstract: In practical, phonetic processing, face recognition and the prediction of trend in stock market all have the
MarKov property, that is, the evolvement and trend in the future are just in relationship with present state but not
influenced by the past. In this article, we use the property setting up MarKov chain models of the three problems
mentioned above and make some corresponding analysis.
关键词:马尔可夫过程语音处理人脸识别股市走势预测
Keyword: MarKov Process Phonetic processing Face recognition Prediction of trend in stock market
一、引言
马尔科夫过程(MarKov Process)是一个典型的随机过程。
设X(t)是一随机过程,当过程
在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,
这个特性成为无后效性。
无后效的随机过程称为马尔科夫过程。
我们称时间离散、状态离散
的马尔科夫过程为马尔科夫链。
马尔科夫链中,各个时刻的状态的转变由一个状态转移的概
率矩阵控制。
我们将采用马尔可夫链建模的方法,就马尔可夫模型在语音处理、人脸识别以
及股市走势预测等几个方面的应用进行探讨。
二、马尔可夫过程的应用举例
1、股票市场走势预测
对一支股票来说,令x(n)表示该股票在第n天的收盘价,x(n)是一个随机变量,(x(n),
n≥0)是一个参数离散的随机过程。
假设股票价格具有无后效性与时问齐次性,这样一来我
们就可以用马尔可夫过程的研究方法预测未来某交易日收盘价格落在每个区间的概率。
以某股份18个收盘交易日的收盘价格为资料
序号 1 2 3 4 5 6 7 8 9
收盘价12.99 13.15 13.78 13.83 12.54 13 13.2 12.96 12.6
序号10 11 12 13 14 15 16 17 18
收盘价13.7 13.58 13.58 13.58 13.49 13.7 14.03 13.77 13.82 这组数据中的最大值为14.03,最小值为12.54,因此可以将这个取值范围划分为
[12.54,12.9125],[12.9125,13.285],[13.285,13.6575],[13.6575,14.03]。
故将观测数据划分如下:
价格状态 A B C D 价格区间 [12.54,12.9125]
[12.9125,13.285][13.285,13.6575][13.6575,14.03] 频数 2 5 4 7 根据以上的状态划分,可以对状态转移的情况进行统计如下:
A
C
D
B
A 0 1 0 1
B 1 3 0 1
C 0 0 3 1
D 1 0 1 4
由此可以得到状态转移矩阵为p=[0 0.5 0 0.5
0.2 0.6 0.2 0.6
0 0 0.75 0.25
0.167 0 0.167 0.666]
设第18个交易日的观测值13.82为初始状态,故L(0)=[0 0 0 1]
那么第19个交易日收盘价状态概率向量为L(1)=L(0)*p=[0.167 0 0.167 0.666]
第20个交易日收盘价状态概率向量为L(2)=L(1)*p=[0.1111 0.0833 0.2361 0.5694]
第21个交易日收盘价状态概率向量为L(3)=L(2)*p=[0.1116 0.1056 0.2720 0.5109]
… … … …
第33日收盘价状态概率向量为L(15)=L(14)*p=[0.1026 0.1282 0.3077 0.4615]
第34日收盘价状态概率向量为L(16)=L(15)*p=[0.1026 0.1282 0.3077 0.4615]
… … … …
由以上计算结果可以猜测,当这个递推过程继续下去最终会趋于稳定,即
L(n)=L(n-1)=[0.1026 0.1282 0.3077 0.4615]
恰好为方程组[p1 p2 p3 p4]*p=[p1 p2 p3 p4],p1+p2+p3+p4=1的解,说明由稳定状态下
计算出的收盘价格状态概率值与递推公式推导的结论一致。
股票市场走势预测的演示界面
股票市场走势预测的MATLAB源程序:gushiyuce.m
2、语音处理
HMM(隐马尔可夫模型)是序列数据处理和统计学习的一种重要概率模型,近几年来
已经被成功应用到许多语音处理的任务中。
基于两层隐马尔可夫模型的可视语音合成技术。
对于上层,建立各态历经的26个状态
的隐马尔可夫模型,以口型序列作为观察值序列进行训练,统计口型变化的动力学,训练的
结果是每个状态近似对应一类口型。
下层基于上层的训练结果,对上层各状态对应的口型类
建模,进一步分析各口型类与相应语音之间的对应关系。
通过下层的隐马尔可夫模型参数精确描述与每个口型类对应的语音时序变化特性。
相对于语音的概率密度分布表示法,隐马尔可夫模型更能反映出语音的动态时序变化特性,特别是在建模过程中,可以有效结合语音的上下文相关性约束,即对于每个口型帧,利用其对应的语音去训练模型时,结合该语音帧前后的各帧信息,如图l所示,展示了语音隐马尔可夫模型所反映的口型和语音之间对应关系。
再结合上层对口型转移规律的统计信息实现可视语音合成,两层模型的统计约束参数解决了语音到口型多对多的对应问题,合成出了准确率高、连贯、自然的口型序列,并且该方法可实现完全自动化。
图1 基于隐马尔可夫模型的语音到口型映射
3、人脸识别
HMM是用概率统计的方法来进行时序数据识别模拟的分类器。
最早将HMM应用于人脸识别的文献根据人脸由上至下各个区域(如头发、额头、眼睛、鼻子和嘴巴)具有自然不变的顺序这一相似共性,即可用一个lD—HMM表示人脸。
根据人脸水平方向也具有相对稳定的空间结构,因此可将沿垂直方向划分的状态分别扩充为一个1D-HMM,共同组成了P2D —HMM。
基于HMM的自动人脸识别方法,建立人脸模型如图2所示。
图2 用HMM建立人脸模型的基本原理图
HMM在人脸表情识别中应用模型步骤如下:
(1)评估问题:得到观察序列O={O1,O2,…O t}和模型λ=(π,A,B),利用前向.后向算法快速计算出在该模型下,观察事件序列发生的概率P(O/λ)。
(2)解码问题:利用Viterbi算法选择对应的状态序列S={q1,q2,…,q t},使S能够合理地解释观察序列O。
即揭开模型的隐含部分,在优化准则下找到最优状态序列。
(3)学习问题:利用Baum—welch算法调整模型参数λ=(π,A,B), 即得到模型中的五个参数,使得P(O/λ)最大。
人脸表情识别的任务就在于通过表情图像来分析和建立HMM,对表情进行训练和识别。
人脸表情HMM状态的划分和确定如图3所示,实验结果表1所示。
图3 人脸表情HMM状态的划分和确定
表1 实验结果
三、结束语
马尔科夫链的引入,在物理、化学、天文、生物、经济、军事等科学领域都产生了连锁性的反应,很快地涌现出一系列新的课题、新的理论和新的学科,并揭开了概率论中一个重要分支--随机过程理论蓬勃发展的序幕。
目前,经典的马尔可夫模型的应用研究已趋于成熟,但它与其他算法相结合并应用于各类工程实践,将是以后主要的研究方向。
参考文献:
[1]罗鹏飞,张文明,随机信号分析与处理,北京:清华大学出版社,2006
[2]台文志,利用马尔可夫链模型预测股票市场的近期走势,西南民族大学学报,第34卷
[3]王志堂,蔡淋波,隐马尔可夫模型及其应用,湖南科技学院学报,2009。