基于灰色關聯分析的負荷預測模型研究_第1頁
基于灰色關聯分析的負荷預測模型研究_第2頁
基于灰色關聯分析的負荷預測模型研究_第3頁
基于灰色關聯分析的負荷預測模型研究_第4頁
基于灰色關聯分析的負荷預測模型研究_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于灰色關聯分析的負荷預測模型研究

0基于灰色關聯分析的工作估算方法軟件工作量的估計是軟件完成所需的人力資源成本(工作量),通常代表人體時間或人體時間進行預測。軟件工作量估算費用估算的基礎,它不僅關系到項目實施的成本和計劃,而且也對項目的管理控制起到重要作用。如何進行精確可靠的工作量估算一直以來都是學術界和企業(yè)界普遍關注的問題。目前,軟件工作量估算方法主要分為3類:(1)基于回歸模型;(2)基于專家經驗;(3)基于既有理論?;诨貧w模型的方法需要大量的與當前項目相關的歷史數據的支持,它通過對樣本數據集進行回歸分析,得到項目特征與工作量的數學關系。根據問題的需要,可以向模型添加影響工作量的驅動因子,以提高其估算精度。比較典型的回歸模型有COCOMO、SLIM、PRICE-S等?;趯<医涷灥姆椒ㄊ且蕾噷<抑R及其主觀判斷來預測工作量,包括類比法、自頂向下方法、自底向上方法和Delphi方法等,此類方法可以在不具備領域知識的前提下,利用歷史項目經驗來確定目標項目的預測值,但估算精度相對較低?;诩扔欣碚摰姆椒ㄊ侵笇⑵渌I域的估算理論應用于工作量估算,如利用雷利方程、貝葉斯網絡、神經網絡等估算工作量。其估算效果取決于是否能夠充分將既有方法的特點和工作量估算的需要相結合。上述方法主要適用于有大量歷史數據,且數據分布規(guī)律較好的情形,但在實際的軟件估算過程中,經常遇到的是歷史數據少且信息貧乏的問題,此時如果利用傳統(tǒng)方法進行估算,將會產生較大誤差,其估算精度無法滿足實際需要。針對上述問題,本文提出了一種基于灰色關聯分析的軟件工作量估算方法。該方法首先分析了項目特征與工作量的灰色關聯度,并采用回歸技術選取最優(yōu)特征集,然后計算新項目和歷史項目的關聯度,并利用關聯度大的項目來估算軟件工作量,最后通過4個典型的軟件數據集對提出方法的性能進行了分析。實驗結果表明,該方法能夠在歷史數據少的情況下準確估算出軟件工作量,其估算性能優(yōu)于基于回歸分析、BP神經網絡和類比估算等方法。1灰色相關性分析1.1灰色關聯分析灰色關聯分析(greyrelationalanalysis,GRA)是灰色系統(tǒng)理論的重要組成部分,是挖掘數據內部規(guī)律的有效方法,自鄧聚龍教授提出以來,已經在經濟、管理等領域得到廣泛應用?;疑P聯分析基于灰色關聯度,它通過對數據序列幾何關系和曲線幾何形狀的相似程度進行比較,來分析系統(tǒng)各因素之間的關聯程度。序列曲線之間的幾何形狀越接近,它們之間的關聯度就越大?;疑P聯分析是對運行機制與物理原型不清晰或者根本缺乏物理原型的灰關系序列化、模式化,進而建立灰關聯分析模型,使灰關系量化、序化、顯化,為復雜系統(tǒng)的建模提供重要的技術分析手段。在灰色關聯分析中,各因素關聯度數值的實際意義并不大,它只是反映因素間密切程度的相對大小。將多個比較序列對參考序列的關聯度按大小順序排列起來,便組成灰色關聯序,關聯序可以直接反映各個比較序列對于同一參考序列的“優(yōu)劣”或“主次”關系。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各評價對象關聯度和權重集的確定灰色關聯分析作為一種因素分析方法,它采用量化方式來獲得灰色關聯度,并以此區(qū)分系統(tǒng)變量之間關系的密切程度?;疑P聯分析的步驟如下:步驟1確定比較數列和參考數列。設評價對象為m個,評價指標為n個。比較數列(即評價對象)為式中,x0(k)為第k個指標的最優(yōu)值。步驟2計算灰色關聯系數。關聯度是反映曲線間幾何形狀的差別,在灰色關聯分析中,常用的關聯度有鄧氏關聯度、絕對關聯度、相對關聯度、點關聯度、斜率關聯度等。這里采用鄧氏關聯度,具體形式如下:式中,Δik為絕對差;Δmin為兩級最小差;Δmax為兩級最大差;ρ∈(0,1)為分辨系數,它直接影響分析分辨率的因子,其取值直接決定灰色關聯系數的分布情況??梢钥闯?關聯系數γ(x0(k),xi(k))是分辨系數ρ的單調增函數,ρ越大,表明對Δmax越重視,各因子對關聯度的影響越大;ρ越小,表明對Δmax越不重視,各因子對關聯度的影響越小。在實際使用時,應根據序列間的關聯程度選擇分辨系數,一般取ρ≤0.5。步驟3計算灰色加權關聯度。綜合各點的關聯度系數,得到比較序列xi的曲線與參考序列x0的曲線之間的關聯度γ(x0,xi)。步驟4確定權重集。上述計算沒有考慮工作量驅動因子的權重因素,但在實際軟件系統(tǒng)的設計和選擇中,必須體現軟件工作量因子的權重差異。軟件工作量的權重值在理論上可用區(qū)間灰數ue067βk表示,βk為區(qū)間灰數ue067βk的白化值。在工程實際中為便于計算,權重值可直接賦予其白化值β=(β1,β2,…,βn),且有步驟5分析計算結果。根據灰色加權關聯度的大小,建立各評價對象的關聯序。關聯度越大,表明評價對象對評價標準的重要程度越大。2基于項目特征的關聯度計算軟件工作量估算是一項復雜的系統(tǒng)工程。通常軟件項目用特征描述,利用這些特征可以估算軟件工作量。軟件工作量與項目特征的函數關系為式中,x1,…,xn為項目特征;f(·)為工作量與特征之間的函數。由于各特征對工作量的影響程度不同,因此,在估算之前需要先選取影響程度大的特征。具體過程是:首先將項目特征作為比較序列,軟件工作量作為參考序列,利用GRA方法計算項目特征與工作量之間的關聯度;然后根據回歸技術選取最優(yōu)特征集,在此基礎上利用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特征的添加建立各項目特征的灰色關聯序后,下面利用回歸技術選取最優(yōu)特征集Sbest。算法步驟如下:步驟1將關聯序χf中對工作量影響最大的特征放入最優(yōu)特征集Sbest中,Sbest←χf(1)。步驟2根據2.3節(jié)中的GRA方法估算軟件工作量,并計算此時的平均誤差(meanmagnitudeofrelativeerror,MMRE)率MMREκ。步驟3將關聯序χf中的其余特征逐個添加到最優(yōu)特征集Sbest中(每次添加一個特征)。步驟4根據當前的最優(yōu)特征集Sbest估算軟件工作量,并分析添加該特征后的工作量估算的平均誤差率MMREτ,如果添加的特征不能改善估算精度,即MMREτ≥MMREκ,則將該特征從最優(yōu)特征集Sbest中刪除;否則保留該特征。步驟5判斷關聯序χf中特征是否添加完畢,如果是,則算法終止,輸出Sbest;否則轉入步驟3。2.3計算比較序列在確定最優(yōu)特征集的基礎上,利用GRA方法估算軟件工作量。具體步驟如下:步驟1構造數據集。將矩陣D1的每一行(項目)視為一組數據。其中,x0為參考序列,它的工作量需要被估算,x1,x2,…,xn是相應的比較序列;q為最優(yōu)特征集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實現。網絡輸入為各數據集的項目特征,網絡輸出為軟件工作量,網絡隱層節(jié)點數設置為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節(jié)的步驟估算軟件工作量,設置分辨系數ρ=0.5,在GRA過程中不篩選特征,并認為各特征具有相同權重,設置估算工作量的項目數(5)特征選取+GRA方法該方法的參數設置同上,具體過程是:首先計算各特征與軟件工作量的關聯程度,并從中選取關聯度最大的特征;然后采用回歸技術進行特征增加或刪選,選取出最優(yōu)特征集Optimal_Feature_Set;最后在最優(yōu)特征集的基礎上,利用2.3節(jié)的步驟估算軟件項目工作量。各數據集的最優(yōu)特征選取結果見表2(表中“斜體下劃線”為灰色關聯度最大的特征)。利用上述5種方法對4個軟件數據集進行估算,工作量估算結果如圖1、圖3、圖5和圖7所示;這些估算方法的平均誤差率如圖2、圖4、圖6和圖8所示;不同估算方法的性能對照參見表3。從實驗結果可以看出,對于歷史數據少的軟件估算問題,基于GRA的方法具有較高的估算精度,其性能明顯優(yōu)于基于回歸分析、BP神經網絡和類比估算等方法;而經過最優(yōu)特征選取后的GRA方法,由于剔除了與工作量相關程度低的特征因子,使得該方法獲得了更小的MMRE和更大的PRED。4實驗結果與分析軟件工作量估算是軟件工程領域重要的研究方向,是可行性研究階段的重要任務,也是制定計劃的依據。為了有效解決歷史數據少、信息貧乏的軟件工作量估算問題,本文提出了一種基于GRA的估算方法。首先結合灰色關聯理論分析了項目特征與工作量之間的關聯程度;然后利用回歸分析技術選取最優(yōu)特征集,并對不同類別的特征予以處理;最后在選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論