!"
数据库与信息处理
!!!!!!!!"
贝叶斯动态模型及其预测算法在
数据挖掘中的应用研究
吕林涛%
李军怀%
吕
晖!
宋
昕%
张
杰%
%
(西安理工大学计算机学院,西安>%""#?)!
(重庆大学土木工程学院,重庆#"""#@)
摘要通过对贝叶斯预测过程的研究,提出了应用于数据挖掘的%"类贝叶斯动态模型及其预测算法、并解决了非线
性动态模型的线性化问题。以该模型及算法建立的数据挖掘系统经过实例测试其效果很好,有较高的理论和实用价值,可以在政府、企业等领域内推广应用。关键词
贝叶斯动态模型
预测算法
数据挖掘
文献标识码F
中图分类号GH!>#
(!""#)文章编号%""!)?33%)!")"%>%)"#
!"#"$%&’()*$+"#,$)-+)$.,&/(0"1$)02(%"&$#3,)4514(%,3’.,)-$3$/,),)45661,&$3,()
787,)3$(97,:;)’;$,978<;,=>()4?,)9@’$)4:,"9
%(4+I7=C8+,C’JK’8IEC+=7,:A,L.,++=.,L,M.N7,O,.B+=/.C6’JG+9P,’;’L6,M.N7,>%""#?)
!(K’;;+L+’JK.B.;A,L.,++=.,L,KP’,LQ.,LO,.B+=/.C6,KP’,LQ.,L#"""#@)
5A#3%$&3:&7/+:’,CP+7,7;6/./’J&76+/.7,J’=+97/C.,LI=’9+:E=+/,CP./I7I+=/ELL+/C/C+,:.JJ+=+,C-.,:/’J&76+/.7,:6,78.98’:+;/7,:J’=+97/C.,L7;L’=.CP8/RP.9P876S+E/+:.,:7C78.,.,L7II;.97C.’,/,7,:L.B+/’ECCP+7,/R+=C’
CP+;.,+7=.T7C.’,I=’S;+8/.,,’,);.,+7=:6,78.98’:+;$47C75.,.,LU6/C+8/SE.;:.,L’,CP+/+8’:+;/7,:7;L’=.CP8/P7B+S++,C+/C+:7,:I=’B+:C’S+B+=6E/+JE;.,I=79C.9+7,:.,CP+’=6$F,:CP+697,S+7II;.+:C’CP+J.+;:/’JL’BV+=,8+,C7,:+,C+=I=./+/$
B"+C(%0#:&76+/.7,46,78.95’:+;,J’=+97/C.,L7;L’=.CP8,:7C78.,.,L
!"
A)87.;:;B;.,C7’D(7EC$+:E$9,
!!!!!!!!"%
引言
往往是非平稳时间序列,此时&’()*+,-.,/方法要求有足够的数据,但这个要求往往是困难的。而贝叶斯预测方法通过人的主观经验给出先验分布,使得数据的要求大大减少,而能得到同样精度的预测0%1。
目前,英、美等国关于贝叶斯的预测理论和应用研究,取得了一批重要的成果。而国内的研究成果很少。
近年来,政府、企业积累的数据越来越庞大。激增的数据背后隐藏着许多重要的信息,对它的整体理解已远远超过了人类大脑的能力,而数据挖掘便成了研究的热点。
数据挖掘是指一个完整的过程,该过程从大型数据库中挖掘先前未知的、有效的、可实用的信息,并使用这些信息做出决策或丰富知识。贝叶斯动态模型及其预测算法是预测突发事件的需要,而发展起来的一种预测方法。贝叶斯动态模型及其预测算法不仅仅是依赖于!时刻以往的历史数据和根据模型的知识进行预测,而且包括专家的经验信息以及主观的判断来进行预测,这对于预测突发事件特别有用,而历史数据以及预先规定的模型并不能完全反映它们。当发现模型性能不好时,可求助于专家的经验和信息,对模型进行改进。这种贝叶斯预测有它的优方法,相对于&’()*+,-.,/传统的时间序列方法而言,点。它不必假设&’()*+,-.,/方法所必须的平稳性假设,如果非平稳,还必须利用差分法转化平稳序列进行研究。而实际问题
基金项目:国家?W3高技术研究发展计划资助(编号:!""%FF%%3%?!)
!贝叶斯动态模型及其预测算法的分类及处理模型
由于贝叶斯预测过程非常复杂,一般有线性和非线性过程
问题0!2#1。为了处理简便,该文提出将非线性问题通过线性化来处理。其分类及处理模型如图%所示。
3贝叶斯动态模型及其预测算法
通过实际工程(如电信等)应用分析,贝叶斯预测模型建立
其关键取决于的动态模型45(46,78.95’:+;/)建立,但其基(46,78.9<.,+7=5’:+;/)。础是动态线性模型4<5
作者简介:吕林涛(%X@#)),男,副教授,研究方向为电子商务、网络安全、数据挖掘。李军怀(%XWX)),男,博士,研究方向为分布式计算、KUKY。
吕晖、宋昕、张杰,硕士研究生。
%>%
(#)%时刻的后验分布:(!%4!%0%)!--2%,3%.记:%)(%08%
有2%)5%+;%:%)&%2%0%/;(%(%0$*%&%2%0%)
3%)6%0;%;%9%
其中:;%)6%$%
%
因此,从(!)到(#)完成了从(2%0%,到(2%,的递推过3%0%)3%)程。
递推算法描述为:定义1若’%未知时,观测方程:(%,$%*!%+,%,,%2--",’.
!,!状态方程:,!%,$%!%0%/"%"%2--"1%.
图%
贝叶斯动态模型及其预测算法分类和处理模型
信息:(!%0%4!%0%)2<.-2%0%,3%0%.
%0%
该文提出,(观察方程、状态方程)确定&’(是由两个方程的系统,并具有如下性质:
过程的观测随机地依赖于当前的状态参数;(%)
状态参数随时间变化时,产生了系统内部的动态变化(!)和随机扰动。
(!%4!%0%)2<.-5%,6%.,5%)&%2%0%
%0%
6%)&%&%0%&*%+1%
($3!%0%)(2%
.%0%=%0%=
),>%0%)%0%%0%
%0%
一步向前预测:((%4!%0%)2<.-8%,9%.,8%,$%*5%
)$%
)$%$%
动态线性模型&’(定义
定义%动态线性模型&’(描述为: !"#*$%,&%,’%,+观察方程
定义!观察方程:(%)$%*!%+,%,,%,--",’%.
其中$%*是./%常向量,!%为./%状态向量,(%为观测方程
9%)$%*6%$%+>%0%
有下列递推修正关系:(!%4!%)($3!%)2<.-2%,3%.,2%-%
.%=%
.2%)5%+;%:%
(3%)
(常量)。(一维)。,%为观测噪声,’%为方差
)$%$!状态方程
定义)状态方程:!%)&%!%0%/"%,"%!--",1%.
其中&%是./.的常量矩阵,"%是./%动态噪声,"%是./.
>%
)-6%0;%;*%9%.%0%
!
>:=
.%).%0%+%,=%)=%0%+%0%%,>%)%
%%
其中::%)(%08%,;%)6%$%
阶方差阵。
)$!递推公式
定义#设已知观测数据(%,……,贝叶斯动(!,(-。经分析,
%
第?步向前预测分布:
对@"%,(!%+@4!%)(,(2<.-56.%@)%@)
%0%
态模型需事先给定滤波初值2"、3",其中2"是!"的初始滤波值,3"是!"的初始./.阶方差阵。初始先验信息!",*2",3"+。且令!%)*(%,……,…,(!,(%,!"+,%,%,!,),-。其递推过程描述为:
给定初始信息:并假定’%已知。(%)2"、3",设已递推到%0%步,(!)%时刻的先验分布:(!%4!%0%)!--5%,6%.其中:5%)&%2%0%
折扣模型6%,&%&%0%&*%+1%。由实际工程应用分析得,折扣模("7#7%)时,假定折扣模型的建立至关重要。若折扣系数是#型:6%,&%&%0%&*%
@
((%+@4!%),(2<.-(8%@)9.%@)
%
其中5(()&%+@5%@)%@0%)
((6)&%+@6&4%+@+1%+@%@)%@0%)
((,((8%@))$4%+@59)$4%+@6$%+@+’%+@%@)%@)%@)初始值5(()2%,6)3%,’%由估计>%0%代替。%")%")
)$)预测公式
定义5设递推过程已进行到第-步,这时已用完了所有
的观测数据(%,……,从-开始的@步预测函数8((!,(-,)-@)
$*%&%2-。
)$#
极限形式
定义6当%#A,;%,3%,6%,9%,1%的极限皆存在,其极限记
(&%&%0%&*%)(%0#)从而必有:1%,在以下计算中总假定折扣模型:
为;,3,6,9,1。满足
6)&%&&*%+1,6./.9)$*%6$%+’%,9%7%
;)6$%B9,;.7%
对于折扣模型:
6%,&%&%0%&*%
())%步预测分布:((%4!%0%)!--8%,9%.
其中:
8%)$*%5%)$*%&%2%0%9%)$*%6%$%+’(%9%是实数)6)&%3&%*B#
(&%3&%*)(%0#)1)
实际计算中,当%充分大,从而6%!6,3%!3,9%!9,;%!;。
这时,若已达到!"!!,必有#"!#。因此,递推过程可以进一步做如下的简化;
(("’)"*&"$"’%)已知$",%到$"的递推公式为:$"%&"$"’%-#而$"的渐进协方差阵为!,其对角线元素是$"诸分量的方差,而其他元素是诸分量之间的协方差。
结果及可视化模块:对挖掘结果进行评估,给出各种直(#)
观的可视化图形显示方法,该文采用可视化的图形方式表示数据挖掘的结果。
’$(贝叶斯动态模型及其预测算法在数据挖掘中的
实现方法(如图(所示)
#非线性动态模型的线性化的方法
在实际建模中,经常会遇到模型的观测值与状态向量以及
状态向量之间存在一种非线性关系。另外,模型中含有未知常量值参数。而未知参数的出现,不能直接用动态线性模型进行处理。因此,该文采用了如下方法实现非线性动态模型的线性化。
图(
贝叶斯动态模型及其预测算法在数据挖掘中的实现方法
#$%变换法
一些较特殊的非线性动态模型,可以通过变换将它转换成
)贝叶斯动态模型及其预测算法应用效果
)$%贝叶斯动态模型及其预测算法的实现技术
贝叶斯动态模型及其预测算法的实现采用@ABC8:D--)$"作为开发工具,应用中间件技术,将贝叶斯动态模型及其预测算法编入@D的一个类中。其接口如下:
();E;AFGHA/A8IHCAJCA
();E;AF.<9C8IHCAJCA();E;AFGHK:HCAJCA();E;AFJLK:HCAJCA
(M:;8N3O,;E;AFHCAJCAAINI)(AIN0);E;AFM;C<A.<
();E;AFM;<F.KCJ
动态线性模型,利用动态线性模型的理论,求得所需的各个分量,然后再转化成原来的量。例如对("%!(./01+"2进行对数"%-"")变换,其观测方程可转化为:("%!"-""-+",这就是一个标准
,
,
3
456。
#$!线性化法
将非线性函数近似化为线性函数,一般假设非线性函数至
就能完成非线性动态模型少一阶可微,利用789:;<公式展开,的线性化。由于篇幅所限,不再举例。
’贝叶斯动态模型及其预测算法在数据挖掘中的
=>?模型及其实现’$%=>?模型的定义
该课题提出的数据挖掘系统,是以数据库(或数据仓库)的数据、信息分析员的指导以及存储在挖掘系统中的知识和规则为基础,所选择的数据在各自挖掘模块中加以处理,并生成辅助模块和关系。然后进行评价,通过与分析员交互以期发现不同的模式。最后将这些发现加入知识库,以便后续的抽取和评价。因此,=>?模型的定义如图!所示。
E;AF
E;AFE;AFE;AF();B8IPA();.<PA
();9PF/B
(M:;8NP,;9AK8IM:;8NQ,M:;8NR)
();E;AFPH8IJLCIGHA
其中函数)是一个指针,它指向回归函数的初始参数,.是初始参数的个数。/是M;C<A.<形式模型的周期,0,$,&都是一般模型的初始参数。
)$!贝叶斯动态模型及其预测算法应用效果
表%给出了国际航线%&#&年S%&’)年月度旅客总数的统
计数字,采用一次多项式数学模型进行预测,其应用效果如图
#所示。
表%
国际航线月度旅客总数(%&#&$"%S%&’)$%!单位:千人)
%&#&%月!月(月#月’月)月*月+月&月
%%!%%+%(!%!&%!%%(’%#+%#+%()
%&’"%%’%!)%#%%(’%!’%#&%*"%*"%’+%((%%#%#"
%&’%%#’%’"%*+%)(%*!%*+%&&%&&%+#%)!%#)%))
%&’!%*%%+"%&(%+%%+(!%+!("!#!!"&%&%%*!%&#
%&’(%&)%&)!()!(’!!&!#(!)#!*!!(*!%%%+"!"%
%&’#!"#!"#!(’!!*!(#!)#("!!&(!’&!!&!"(!!&
%&’’!#!!#!!)*!)&!*"(%’()#(#*(%!!*#!(*!*+
%&’)!+#!+#(%*(%((%+(*##%(#"’(’’(")!*%(")
图!数据挖掘逻辑模型(=>?)
’$!=>?模型的功能定义
该课题提出的=>?模型的功能主要由#大模块组成:数据接口模块:提供本原型系统和数据库访问接口。(%)
(!)数据预处理模块:本模块的目的是对原始数据进行处
%"月%%&%%月%"#%!月%%+
图#中黑线表示原始数据,黄线表示一次多项式数学模型预测的数据。由图#可以看出预测的数据与原始数据吻合很好。从而验证了该文所提出的贝叶斯动态模型及其预测算法的正确性。
%*(
理,生成数据挖掘工具可利用的数据。
贝叶斯预测分析模块:包括%"类贝叶斯动态模型及其(()
预测算法及其建模工具。
究在网络环境下的数据挖掘技术(?<>-@A@AJ),特别是在因特网上建立0-20服务器,并且与数据库服务器配合,实现?<>加强对各种非结构化数据的开采(0=R=-@A@AJUC);[-@A@AJ、
、知识的维护更新。B@CZ\@B<C)
由于贝叶斯动态模型及其预测算法在数据挖掘中有其独到之处,通过它从数据中有效地提取信息,从信息中及时地发现知识,从而为人类的思维决策和战略发展服务。(收稿日期:!""#年&月)
参考文献
刘福升等$贝叶斯动态模型及其预测V-X$山东科学技术出版%$张孝令,社,%FF!
图#
贝叶斯动态模型及其预测算法应用效果
廖丽,宋俊等译$数据挖!$0=S@B]<@LL@,-=AA@:=M=BPO=@H等著$张银奎,掘原理V-X$机械工业出版社,!""&
张恒喜,赵罡$基于贝叶斯理论的数据重构方法VWX$计算机工&$虞健飞,
程与应用,(!):!""&;&F%F5^%F’
(自然科学版),!""!;#$王辉$用于预测的贝叶斯网络VWX$东北师大学报(%):&#F^%#
Y结束语
当前,0-20(0=R=-@A@AJZ2ACD:<BJ<0@EHCS<OI@A
研究方兴未艾,在本世纪,发0=R=>=E<E)0-20的研究焦点是,现语言的形式化描述、寻求数据挖掘过程中的可视化方法、研
(上接%%&页)
解太多的蓝牙技术细节即可完成嵌入式蓝牙系统的软件开发。
#系统测试及结论
应用以上的开发方法,笔者完成了蓝牙接入局域网的应用
开发。下面给出其开发和测试情况,该系统连接图如图’所示。
图’蓝牙接入局域网应用系统连接图
数据采集设备与蓝牙模块间采用()*+接口,蓝牙模块与协议转换模块间也采用()*+接口,协议转换模块与远程计算机控制台间通过%",%""-以太网连接。数据采集设备主要完成数字温度、开关、按键输入与继电器、数码管输出,并利./0、用123公司-4-56’’语音芯片进行语音采集与播放。同时将温度数据、语音数据及开关、按键、继电器、./0等状态传输给远程计算机控制台。
嵌入式蓝牙系统主要完成蓝牙模块与数据采集设备和协议转换模块间的数据接收和发送,并实现基于*781--的无线数据传输。协议转换模块主要实现蓝牙协议数据与以太网协议数据的转换。此部分的软件开发利用84*提供的嵌入式软件开发包9:;<.=>,在?@ABCDEF’、?@ABCDE!"""或G+平台上进行,应用程序采用)G438编制,在HIJD@A下进行编译、链接并用K=L<>H"%命令通过4M3接口下载到应用目标板上。
在远程计算机控制台上利用8NN9;@:B<O6$"平台开发一用于显示数据采集设备发来的个监控软件,界面如图F所示,数据及相应状态,并通过界面的相关按钮对数据采集设备进行
图F
以太网与蓝牙互连测试软件界面
远程控制。其软件大致的工作流程为:点击“远程控制”中的开继电器的开,关,软件就会将该控制命令通过关选项,如./0、协议转换模块,再通过嵌入式蓝牙系统发送到数据采集设备,“远程数据采集设备根据控制命令分别控制继电器、./0。通过播放”按钮可以将一段录音送至数据采集设备进行播放。
经测试,以上系统各个功能运行正常。(收稿日期:!""&年%!月)
参考文献
%$9:;<HCO<"%>E@AJ:<HP@Q>:;<RCCRPEIER<K$PRRQ:,,DDD$HEO$HCK,!$9:;<8CO<"%>E@AJ:<HP@Q>:;<RCCRPB<S@H<$PRRQ:,,DDD$HEO$HCK,&$9:;<RCCRP43TJOC;QE$8CO<4Q<H@U@H=R@CACURP<>:;<RCCRPEIER<OKS<OE@CA%$%$PRRQ:,,DDD$>:;<RCCRP$HCK,
徐君国$基于高层软件协议栈的蓝牙实现VWX$浙江万里学院学#$殷伟凤,报,(!)!""&;