基于灰色关联分析的负荷预测模型研究_第1页
基于灰色关联分析的负荷预测模型研究_第2页
基于灰色关联分析的负荷预测模型研究_第3页
基于灰色关联分析的负荷预测模型研究_第4页
基于灰色关联分析的负荷预测模型研究_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于灰色关联分析的负荷预测模型研究

0基于灰色关联分析的工作估算方法软件工作量的估计是软件完成所需的人力资源成本(工作量),通常代表人体时间或人体时间进行预测。软件工作量估算费用估算的基础,它不仅关系到项目实施的成本和计划,而且也对项目的管理控制起到重要作用。如何进行精确可靠的工作量估算一直以来都是学术界和企业界普遍关注的问题。目前,软件工作量估算方法主要分为3类:(1)基于回归模型;(2)基于专家经验;(3)基于既有理论。基于回归模型的方法需要大量的与当前项目相关的历史数据的支持,它通过对样本数据集进行回归分析,得到项目特征与工作量的数学关系。根据问题的需要,可以向模型添加影响工作量的驱动因子,以提高其估算精度。比较典型的回归模型有COCOMO、SLIM、PRICE-S等。基于专家经验的方法是依赖专家知识及其主观判断来预测工作量,包括类比法、自顶向下方法、自底向上方法和Delphi方法等,此类方法可以在不具备领域知识的前提下,利用历史项目经验来确定目标项目的预测值,但估算精度相对较低。基于既有理论的方法是指将其他领域的估算理论应用于工作量估算,如利用雷利方程、贝叶斯网络、神经网络等估算工作量。其估算效果取决于是否能够充分将既有方法的特点和工作量估算的需要相结合。上述方法主要适用于有大量历史数据,且数据分布规律较好的情形,但在实际的软件估算过程中,经常遇到的是历史数据少且信息贫乏的问题,此时如果利用传统方法进行估算,将会产生较大误差,其估算精度无法满足实际需要。针对上述问题,本文提出了一种基于灰色关联分析的软件工作量估算方法。该方法首先分析了项目特征与工作量的灰色关联度,并采用回归技术选取最优特征集,然后计算新项目和历史项目的关联度,并利用关联度大的项目来估算软件工作量,最后通过4个典型的软件数据集对提出方法的性能进行了分析。实验结果表明,该方法能够在历史数据少的情况下准确估算出软件工作量,其估算性能优于基于回归分析、BP神经网络和类比估算等方法。1灰色相关性分析1.1灰色关联分析灰色关联分析(greyrelationalanalysis,GRA)是灰色系统理论的重要组成部分,是挖掘数据内部规律的有效方法,自邓聚龙教授提出以来,已经在经济、管理等领域得到广泛应用。灰色关联分析基于灰色关联度,它通过对数据序列几何关系和曲线几何形状的相似程度进行比较,来分析系统各因素之间的关联程度。序列曲线之间的几何形状越接近,它们之间的关联度就越大。灰色关联分析是对运行机制与物理原型不清晰或者根本缺乏物理原型的灰关系序列化、模式化,进而建立灰关联分析模型,使灰关系量化、序化、显化,为复杂系统的建模提供重要的技术分析手段。在灰色关联分析中,各因素关联度数值的实际意义并不大,它只是反映因素间密切程度的相对大小。将多个比较序列对参考序列的关联度按大小顺序排列起来,便组成灰色关联序,关联序可以直接反映各个比较序列对于同一参考序列的“优劣”或“主次”关系。1.2比较序列分析令@GRF为灰关联因子集,ΔGR为灰关联差异信息空间其中令γ(x0(k),xi(k))为ΔGR上xi与x0在第k点比较测度,x0为参考序列,xi为比较序列,γ(x0,xi)为γ(x0(k),xi(k))在k∈K上的平均值。若满足以下公理:(4)接近性差异信息Δoi(k)=|xi(k)-xj(k)|越小,则γ(x0(k),xi(k))越大,记为Δoi(k)↓=γ(x0(k),xi(k))↑。满足上述公理时,则称γ(x0(k),xi(k))为k点xi对于x0的灰关联系数,称γ(x0,xi)为xi对于x0的灰关联度,γ为灰关联映射。1.3各评价对象关联度和权重集的确定灰色关联分析作为一种因素分析方法,它采用量化方式来获得灰色关联度,并以此区分系统变量之间关系的密切程度。灰色关联分析的步骤如下:步骤1确定比较数列和参考数列。设评价对象为m个,评价指标为n个。比较数列(即评价对象)为式中,x0(k)为第k个指标的最优值。步骤2计算灰色关联系数。关联度是反映曲线间几何形状的差别,在灰色关联分析中,常用的关联度有邓氏关联度、绝对关联度、相对关联度、点关联度、斜率关联度等。这里采用邓氏关联度,具体形式如下:式中,Δik为绝对差;Δmin为两级最小差;Δmax为两级最大差;ρ∈(0,1)为分辨系数,它直接影响分析分辨率的因子,其取值直接决定灰色关联系数的分布情况。可以看出,关联系数γ(x0(k),xi(k))是分辨系数ρ的单调增函数,ρ越大,表明对Δmax越重视,各因子对关联度的影响越大;ρ越小,表明对Δmax越不重视,各因子对关联度的影响越小。在实际使用时,应根据序列间的关联程度选择分辨系数,一般取ρ≤0.5。步骤3计算灰色加权关联度。综合各点的关联度系数,得到比较序列xi的曲线与参考序列x0的曲线之间的关联度γ(x0,xi)。步骤4确定权重集。上述计算没有考虑工作量驱动因子的权重因素,但在实际软件系统的设计和选择中,必须体现软件工作量因子的权重差异。软件工作量的权重值在理论上可用区间灰数ue067βk表示,βk为区间灰数ue067βk的白化值。在工程实际中为便于计算,权重值可直接赋予其白化值β=(β1,β2,…,βn),且有步骤5分析计算结果。根据灰色加权关联度的大小,建立各评价对象的关联序。关联度越大,表明评价对象对评价标准的重要程度越大。2基于项目特征的关联度计算软件工作量估算是一项复杂的系统工程。通常软件项目用特征描述,利用这些特征可以估算软件工作量。软件工作量与项目特征的函数关系为式中,x1,…,xn为项目特征;f(·)为工作量与特征之间的函数。由于各特征对工作量的影响程度不同,因此,在估算之前需要先选取影响程度大的特征。具体过程是:首先将项目特征作为比较序列,软件工作量作为参考序列,利用GRA方法计算项目特征与工作量之间的关联度;然后根据回归技术选取最优特征集,在此基础上利用GRA方法估算软件工作量。2.1基于项目特征的关联度分析令D={x1,x2,…,xn}为软件项目数据集,其中xi={xi(1),xi(2),…,xi(m),ei},i=1,2,…,n。对于任意项目ue02fxiue01bD,{xi(1),xi(2),…,xi(m)}是项目i的特征,ei是项目i的工作量,i=1,2,…,n。软件项目集D可以用矩阵形式描述:基于GRA确定特征子集的步骤如下:步骤1构造比较数列和参考数列。将软件项目集D的每一列(项目特征)作为一组数据,得到数列:式中,x0*为参考序列,x1*,x2*,…,xm*为比较序列。步骤2数据标准化处理。为了保证关联度分析的正确结果,需要对所收集的原始数据x0*,x1*,x2*,…,xm*进行标准化处理,以消除不同量纲的影响,使其具有可比性。这里采用均值化变换法,即利用各个数据除以该序列平均值,得到一个与平均值比值的数列,即式中,i=0,1,2,…,m;k=1,2,…,n。步骤3计算灰色关联度。根据式(1)~式(5)计算参考序列x0*与比较序列x1*,x2*,…,xm*的灰色关联度。关联度越大,表明该特征对软件工作量越重要。在关联度计算过程中,还需考虑不同类型特征(数值型或类别型)的影响,以提高关联度计算的准确性。若x0(k)和xi(k)是数值型特征,则若x0(k)和xi(k)是类别型特征,则步骤4根据灰色关联度建立工作量x0*与特征x1*,x2*,…,xm*的关联序χf(按照逆序方式排列)。2.2对关联序f特征的添加建立各项目特征的灰色关联序后,下面利用回归技术选取最优特征集Sbest。算法步骤如下:步骤1将关联序χf中对工作量影响最大的特征放入最优特征集Sbest中,Sbest←χf(1)。步骤2根据2.3节中的GRA方法估算软件工作量,并计算此时的平均误差(meanmagnitudeofrelativeerror,MMRE)率MMREκ。步骤3将关联序χf中的其余特征逐个添加到最优特征集Sbest中(每次添加一个特征)。步骤4根据当前的最优特征集Sbest估算软件工作量,并分析添加该特征后的工作量估算的平均误差率MMREτ,如果添加的特征不能改善估算精度,即MMREτ≥MMREκ,则将该特征从最优特征集Sbest中删除;否则保留该特征。步骤5判断关联序χf中特征是否添加完毕,如果是,则算法终止,输出Sbest;否则转入步骤3。2.3计算比较序列在确定最优特征集的基础上,利用GRA方法估算软件工作量。具体步骤如下:步骤1构造数据集。将矩阵D1的每一行(项目)视为一组数据。其中,x0为参考序列,它的工作量需要被估算,x1,x2,…,xn是相应的比较序列;q为最优特征集Sbest中的特征数。步骤2标准化处理。为消除不同量纲对GRA方法的影响,采用均值化变换法进行标准化处理。步骤3灰色关联度计算。根据式(1)~式(5)计算参考序列x0与比较序列x1,x2,…,xn的灰色关联度。步骤4工作量估算。根据关联度计算结果,确定x0与x1,x2,…,xn之间的关联序,然后利用关联度大的ue5c1个项目来估算参考序列x0的软件工作量:式中,是待估算软件x0工作量的估算值;Eoi是与x0最接近的第i个项目的工作量,3典型数据集为了验证本文方法的有效性,分别对软件估算领域4个典型数据集Albrecht/Desharnais/Kermere/Mermaid进行研究,以此分析估算方法的性能,这些数据集的项目特征描述参见表1。3.1项目i的估算总工时评价标准1MMRE式中,m是待估算项目数;MRE为相对误差量;Actuali表示项目i的真实工作量;Estimatedi表示项目i的估算工作量。评价标准2PRED(ue5c1)式中,λ是估计误差MRE≤η%的项目数;n是所有估算项目数,通常取η=25。3.2不同软件项目的研究及估算下面以收集到的软件项目数据库为例,利用提出的GRA方法估算软件项目工作量。在数据分析过程中,采用Jackknife方法进行验证,每次选取一个项目作为测试集,其余项目作为训练集。为了充分反映GRA方法的估算性能,分别将其与基于回归分析、BP神经网络、类比估算等方法进行比较。(1)回归分析方法这里分别建立各数据库的多元线性回归模型,其中模型参数利用最大似然估计法进行估计,具体如下:Albrecht数据集的多元线性回归模型为Desharnais数据集的多元线性回归模型为Kermere数据集的多元线性回归模型为Mermaid数据集的多元线性回归模型为(2)BP神经网络方法BP网络的构建、训练和测试利用Matlab实现。网络输入为各数据集的项目特征,网络输出为软件工作量,网络隐层节点数设置为30,网络各层间的传递函数分别设置为purelin/purelin/logsig,并利用traingda函数训练网络。BP网络训练精度设置为10-4,最大迭代次数为5000次,训练步长为0.0005,学习率为0.25。(3)类比估算方法类比估算采用多项目综合的策略进行,设类比项目数K=3,则估算的软件工作量为式中,p是新项目;pk是与新项目相似的第k个历史项目;Epk是历史项目k的工作量;sim(p,pk)是新项目p与历史项目pk之间的相似度。实验中选取Euclidean函数来度量不同软件项目的相似度:式中,p(i),pk(i)分别表示第i个特征值;wi表示特征i的权重;δ是一个常数,取δ=0.001。(4)GRA方法根据2.3节的步骤估算软件工作量,设置分辨系数ρ=0.5,在GRA过程中不筛选特征,并认为各特征具有相同权重,设置估算工作量的项目数(5)特征选取+GRA方法该方法的参数设置同上,具体过程是:首先计算各特征与软件工作量的关联程度,并从中选取关联度最大的特征;然后采用回归技术进行特征增加或删选,选取出最优特征集Optimal_Feature_Set;最后在最优特征集的基础上,利用2.3节的步骤估算软件项目工作量。各数据集的最优特征选取结果见表2(表中“斜体下划线”为灰色关联度最大的特征)。利用上述5种方法对4个软件数据集进行估算,工作量估算结果如图1、图3、图5和图7所示;这些估算方法的平均误差率如图2、图4、图6和图8所示;不同估算方法的性能对照参见表3。从实验结果可以看出,对于历史数据少的软件估算问题,基于GRA的方法具有较高的估算精度,其性能明显优于基于回归分析、BP神经网络和类比估算等方法;而经过最优特征选取后的GRA方法,由于剔除了与工作量相关程度低的特征因子,使得该方法获得了更小的MMRE和更大的PRED。4实验结果与分析软件工作量估算是软件工程领域重要的研究方向,是可行性研究阶段的重要任务,也是制定计划的依据。为了有效解决历史数据少、信息贫乏的软件工作量估算问题,本文提出了一种基于GRA的估算方法。首先结合灰色关联理论分析了项目特征与工作量之间的关联程度;然后利用回归分析技术选取最优特征集,并对不同类别的特征予以处理;最后在选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论