研发项目风险概率评估方法研究
2015-04-20张俊光徐振超��
张俊光 徐振超��
摘要:提出了一种基于动态贝叶斯网络的研发项目风险概率评估模型,将时间序列理论与贝叶斯理论相结合,通过概率和有向无环图表达了不同时间片段之间风险因素状态变化的关系。同时发现在样本数据缺失的情况下,采用Leaky Noisy-or gate模型来计算节点的条件概率,这样可以得出更为客观的评估结果。通过与静态贝叶斯网络评估结果对比,动态贝叶斯评估模型提高了研发项目风险概率评估的准度,为风险控制提供了更为科学的依据。
关键词:项目管理;静态贝叶斯网络;动态贝叶斯网络;研发项目;风险概率
DOI:10.13956/j.ss.1001-8409.2015.02.28
中图分类号:F224 文献标识码:A 文章编号:1001-8409(2015)02-0131-05
Abstract:A research and development (R&D) project risk probability assessment model based on dynamic Bayesian network is proposed, which combines time series theory and Bayesian theory. Through probability and directed acyclic graph, it expresses the changing relationship of risk factors state between different time segments. Moreover, in the case of missing data samples, it uses the Leaky Noisyor gate model to calculate the conditional probability. Then it can obtain a more objective assessment result. Compared with the assessment of static Bayesian networks, dynamic Bayesian network model enhances the R&D project risk probability assessment accuracy, which can provides a more scientific basis for risk control.
Key words:project management; static Bayesian networks; dynamic Bayesian network; R&D project; risk probability
研发项目开发过程的特殊性,使得产品开发周期中存在着许多不确定的风险因素,而这些风险因素的存在,常常导致研发项目失败。根据Standish Group对美国公司的一项调查,只有28%的研发项目在预定的时间和预算内完成[1]。软件项目风险管理之父Barry Boehm在软件项目风险评估的系统化的定义与分析方面做了开创性的工作,他以风险的影响大小来量化风险,从而对已知的风险进行优先级排序,进而控制风险。他将风险影响水平定义为:风险当量(RE)=P×C,其中P是出现不如意结果的可能性,C是不如意结果发生带来的后果[2]。
1研究述评
随着研发项目风险管理理论的发展完善,部分学者开始引入贝叶斯网络理论,唐爱国等就将贝叶斯网络与研发项目风险评估结合起来,提供了一种新的评估方法[3];金俊丽等将遗传算法和EM算法与贝叶斯网络结合起来,有效减少了人为构建贝叶斯网络及其参数带来的主观性,使研发项目风险评估更加科学、合理[4]。贝叶斯网络以概率论和有向无环图为基础,以条件概率来表示变量之间的因果关系,然后对某一事件未来可能发生的概率进行评估,并将不确定性以图形化的方法表达出来。
但是,由于静态贝叶斯网络自身的局限性,它并不能很好地反馈前一阶段的信息,使得项目风险评估准确度不是很高,进而影响到下一过程的风险控制。基于此,本文提出了将动态贝叶斯网络应用于研发项目风险概率评估。动态贝叶斯网络是贝叶斯网络的延伸,它也是以概率网络结构为基础,在原来的静态贝叶斯网络的基础上引入时间序列理论,从而形成了具有处理时序数据功能的新的随机模型。
动态贝叶斯模型在处理时序数据、表达多层知识方面有着深厚的理论支持并具有较强的优势,但它是一种相对较新的方法,目前对于动态贝叶斯理论的研究还不够深入,应用范围也很窄,主要在可靠性分析、语音识别、说话人识别、说话人检测、人的姿态检测、视频跟踪、视频获取、大量信息处理等方面做了一些初步的研究。Luigi Portinale等应用动态贝叶斯网络,结合动态故障树,提供了一个完整的推理引擎,来分析系统的可靠性[5];Ann和M Julia将动态贝叶斯网络与状态和过渡模式结合起来应用于牧场管理,并将时间因素考虑进去,避免了一些在域中的自然限制[6]。还有学者在供应商风险评估、农产品供应链风险评估及金融信用风险评估等领域进行了研究[7,8]。
本文提出的基于动态贝叶斯网络的研发项目风险评估模型,将研发项目风险概率评估与时间序列理论相结合,通过动态评估,解决了当前研发项目风险概率评估精确度不高的问题;另一方面,扩大了动态贝叶斯网络的应用范围,完善了动态贝叶斯网络理论体系。另外,还提出在样本数据缺失的情况下,采用Leaky Noisyor gate模型来计算节点的条件概率,这样可以得到有效的网络参数,得到更为准确的评估结果。
2动态贝叶斯网络
21动态贝叶斯网络的构建
根据贝叶斯网络理论的基本原理,给定一组变量X={X1,X2,…,Xn},一个贝叶斯网络可定义为B
P(X1,X2,…,Xn)=∏ni=1P(Xi|Pa(Xi))(1)
动态贝叶斯网络是在静态贝叶斯网络的基础上引入时间因素t,这样就使得贝叶斯推理十分复杂,为了简化推理过程,需要对动态贝叶斯模型进行如下一些假设和简化条件化处理 [10,11]:
(1)动态贝叶斯网络模型服从马尔科夫假设条件,即未来时刻的概率只与当前时刻有关而与过去时刻无关。
(2)相邻时间的条件概率过程是平稳的,即每个时刻各节点的条件概率表和时刻之间的转移概率不会随着时间变化。
基于上述假设,可以构建出基于时间序列的动态贝叶斯模型:先验网Bo定义在初始状态X[1]上的联合概率分布,它表示最开始的贝叶斯网络,从图1中可以得到任一节点的先验概率P(X);转移网B→表示由两个以上时间片段的贝叶斯网络组成的图形,定义在变量X[1]与X[2]上的转移概率P(X[t+1]∣X[t])(对所有的t都成立)。
3动态贝叶斯风险概率评估模型
本文将结合动态贝叶斯网络和研发项目风险管理理论,构建基于动态贝叶斯网络的研发项目风险评估模型。
进行风险评估时,首先要识别项目中的风险和风险因子,依据研发项目生命周期,可将项目划分为四个阶段:概念阶段、设计阶段、实施阶段和收尾阶段。因为在项目进行过程中,需求风险的发生概率在四个阶段都比较高,所以将以研发项目需求风险的概率评估为例,来论证动态贝叶斯风险评估模型的可行性。
将需求风险命名为X,其影响因素包括:X1需求变更、X2需求不明确、X3缺少有效的需求变更控制流程。
在进行风险评估前,应建立基于动态贝叶斯网络的研发项目风险评估的推理流程,如图3所示。首先根据初始网络的先验概率和条件概率对当前网络进行初始化;然后当某一时刻检测到新的先验信息,即网络的节点信息更新时,通过推理算法,得到即时的后验概率,从而更新整个网络节点状态的概率分布,更新后的后验概率分布则作为下一时刻推理的依据。
网络构建以及概率计算将采用由匹兹堡大学决策系统实验室开发的Genie软件来进行,该软件是图模型处理软件, 它采用图形化建模界面, 操作简单直观, 支持结构和参数学习, 并可以提供多种推理算法[15,16]。
下面以概念阶段和设计阶段的需求风险概率评估为例介绍如何实现Genie软件建模和概率计算。
在构建动态贝叶斯网络前进行的一个重要假设就是:相邻时间的条件概率过程是平稳的,即每个时刻各节点的条件概率表和时刻之间的转移概率不会随着时间变化。
将推理得到的父节点的先验信息以及条件概率参数输入动态贝叶斯风险评估转移网B→中,可以得到设计阶段需求风险发生的概率如图10所示。
两次评估分别采用了动态贝叶斯网络的评估方法和静态贝叶斯网络的评估方法,动态贝叶斯网络较静态贝叶斯网络的优点在于在网络中加入了时间因素,可以对前一时刻的推理进行有效的积累利用。随着时间的推移,获得的信息也越来越多,因此该方法可以不断提高风险评估的准确度,有效地降低评估过程的不确定性。
为了对比动态贝叶斯网络和静态贝叶斯网络风险评估的精确性,采用统计预报领域著名的马库斯分数来对评估结果进行评分,马库斯分数可以通过表示结果的均方差来对比结果的准确性。其表达式为:
BS=1n∑ni=1(Pi-Oj)2(9)
其中,Pi表示评估的结果,也就是概率取值;n表示样本的数量;Oj表示事件的状态,其中1表示事件发生,0表示事件不发生。马库斯分数的取值范围为0~1,其中,0表示最好的评估精度,1则表示最差的评估精度。马库斯分数得分越低,表示该方法评估得到的结果与现实越接近,误差越小。下面采用马库斯分数对动态和静态两种方法分别进行评估,并得到其风险概率值。
在概念阶段,由于先验信息一样,动态贝叶斯网络和静态贝叶斯网络风险评估的结果相同,所以取后三个阶段的评估结果作为样本,按照最大概率进行归类的原则,可以看到,无论是动态贝叶斯网络还是静态贝叶斯网络风险评估的结果都显示状态为state1,然后分别计算动态贝叶斯网络和静态贝叶斯网络风险评估结果的马库斯分数,可以得到它们的分数分别为01696和02053,很明显动态贝叶斯风险概率模型的马库斯分数要小于静态贝叶斯风险概率模型的马库斯分数。
由此可见,动态贝叶斯网络风险概率模型的评估精度要高于静态评估模型。
5结束语
本文采用基于动态贝叶斯网络的研发项目风险评估模型对研发项目风险进行评估。通过与静态评估模型的分析结果对比,发现动态模型可以有效地分析项目风险,进而得到更加准确的评估结果,解决了当前研发项目风险概率评估精确度不高的问题,为风险控制提供更加科学的依据。另外,扩大了动态贝叶斯网络的应用范围,完善了动态贝叶斯网络理论体系。并且提出在样本数据缺失的情况下,采用Leaky Noisy-or gate模型来计算节点的条件概率,这样可以得到有效的网络参数,得到更为准确的评估结果。
因在研究及实际应用过程中,不总是能够获得研发项目风险评估的实际数据,或即使能够获得数据,所获得的数据也可能存在不完备的情况,因此下一步的研究一方面将通过调研获得更多企业的更多实际数据;另一方面将通过改进算法来解决数据缺失的情况,拟将Gibbs抽样以及蒙特卡洛模拟的方法与动态贝叶斯模型结合起来,实现缺失数据的研发项目风险评估。
另外,由于不是所有的项目都满足马尔科夫假设条件,所以动态贝叶斯网络模型还不能全面应用,因此,下一步还将改进动态贝叶斯网络的假设条件和基本模型以使动态贝叶斯网络在研发项目风险评估中得到更广泛的应用。
参考文献:
[1]Project Failure and Success Research Report [R]. Standish Group International Chaos, 2005.
[2]Boehm B W. Software Risk Management: Principles and Practices [J]. Software, IEEE, 1991, 8(1):32-41.
[3]唐爱国,王如龙,胡春华.贝叶斯网络在软件项目风险评估中的应用[J].计算机工程与应用,2010,46(7):62-65.
[4]金俊丽,赵川,杨洁.基于EM-GA改进贝叶斯网络的研究及应用[J].计算机应用研究,2010, 27(4):1360-1362.
[5]Luigi Portinale, Daniele Codetta Raiteri, Stefania Montani. Supporting Reliability Engineers in Exploiting the Power of Dynamic Bayesian Networks [J]. International Journal of Approximate Reasoning, 2010,51(2) :179-195.
[6]Nicholson A E, Flores M J. Combining State and Transition Models with Dynamic Bayesian Networks[J]. Ecological Modelling, 2011, 222(3): 555-566.
[7]陈伟杰, 肖智. 基于模糊软集合的供应商风险评估模型[J]. 软科学, 2013, 27(12): 135-139.
[8]颜波, 石平, 王凤玲. 基于 CVaR 的农产品供应链风险评估与控制[J]. 软科学, 2013, 27(10): 111-115.
[9]胡海青, 张琅, 张道宏, 等. 基于支持向量机的供应链金融信用风险评估研究[J]. 软科学, 2012, 25(5): 26-30.
[10]肖秦琨,高嵩,高晓光.动态贝叶斯网络推理学习理论及应用[M].国防工业出版社,200710.
[11]乔焰,孟洛明,成璐,吴利,袁翊国. 动态网络中的高效多故障诊断技术[J]. 北京邮电大学学报,2009,32(6):1-4.
[12]Donat R, Leray P, Bouillaut L, et al. A Dynamic Bayesian Network to Represent Discrete Duration Models[J]. Neurocomputing, 2010, 73(4): 570-577.
[13]郭文强,高晓光.基于变参数动态贝叶斯网的态势估计[J].计算机测量与控制,2010,18(6):1856-1861.
[14]Oniko A, Druzdzel M J, Wasyluk H. Learning Bayesian Network Parameters from Small Data Sets: Application of NoisyOR Gates[J]. International Journal of Approximate Reasoning, 2001, 27(2): 165-182.
[15]纪航, 刘新平, 朱炜. 基于贝叶斯网络和 GeNIe 软件的超高压输电线路综合状态评估新方法[J]. 上海电力, 2011, 24(1): 14-20.
[16]戈建中, 王芳, 张海勇. 基于贝叶斯网络的模拟训练成绩评定方法[J]. 舰船电子工程, 2009 (8): 133-136.
(责任编辑:秦颖)