• 沒有找到結果。

多變量常態分配

第二章 文獻探討

2.3 多變量管制圖

2.3.1 多變量常態分配

假設有p個隨機變數x1, x2, … , xp,則此多變量常態機率密度函數為 𝑓 𝐱 = 1

(2𝜋)𝑝 2 𝚺 1 2𝑒12 𝐱−𝛍 T𝐒−1(𝐱−𝛍)

其中粗體的符號為矩陣,𝐱 = [x1, x2, … , xp]表示此p個隨機變數所形成之矩陣,

𝛍 = [μ1, μ2, … , μp]是此p個隨機變數之期望值所形成之矩陣,

𝚺 =

σ12 σ122 ⋯ σ1p2

⋮ ⋱ ⋮

σ1p2 ⋯ σp2

是母體的變異數共變數矩陣(variance-covariance matrix)。

假設從此多元常態分配隨機抽出一組樣本𝐱𝟏, 𝐱𝟐, … , 𝐱𝐩,則此樣本帄均數所形成 之陣列為

𝐱 =1 𝑛 𝐱𝑖

𝑛

𝑖=1

其中第i個樣本會形成一個p維的陣列[𝑥𝑖1, 𝑥𝑖2, … , 𝑥𝑖𝑝]。而樣本的變異數共變數矩 陣為

19

𝐒 = 1

𝑛 − 1 (𝐱𝒊− 𝐱 )(𝐱𝑖− 𝐱 )T

𝑛

𝑖=1

且𝐱 為x之不偏估計量,𝐒是𝚺之不偏估計量。

2.3.2 Hotellint T²管制圖

Hotellint T2管制圖是最常見的多變量管制圖,本文先以p=2為例子,𝑥1與𝑥2 會服從二元常態分配,機率密度函數如圖2.6。當σ12 = 0時f(x)=k(0 < 𝑘 < 1)與此 函數圖形會相交於一個圓,表示𝑥1與𝑥2的聯合信賴區間是一個圓。當σ12 ≠ 0時

f(x)=k與此函數圖形會相交於一個橢圓,表示𝑥1與𝑥2的聯合信賴區間是一個橢圓。

我們可以在帄面繪製一個橢圓代表管制界限,並且把(𝑥 1, 𝑥 2)繪製於此帄面上如圖 2.7與圖2.8所示,由圖可以發現兩個變數的相關會影響管制橢圓(control ellipse) 的形狀,然而此圖無法表示每個點的先後關係是其缺點。

圖2.6 p=2時之多變量常態分配[17]

20

圖2.7 兩變數獨立時之管制橢圓[17]

圖2.8 兩變數相關時之管制橢圓[17]

當𝑥1與𝑥2服從二元常態分配時則統計量會服從自由度為2的卡方分配:

𝜒02 = 𝑛

𝜎12𝜎22− 𝜎122 [𝜎22 𝑥 1− 𝜇1 2+ 𝜎12 𝑥 2− 𝜇2 2− 2𝜎12(𝑥 1− 𝜇1)(𝑥 2− 𝜇2)]

如果𝑥1與𝑥2的帄均數為μ1與μ

2的話,此式子的物理意義為觀測值(𝑥 1, 𝑥 2)與理論值 (𝜇1, 𝜇2)之馬氏距離(Mahalanobis distance),𝜒02落在UCL=χ𝛼,02 上方的機率為𝛼,可 以卡方繪製管制圖如圖2.9所示,與管制橢圓不同的是繪製在此圖上的資料是時

21

間序列。

圖2.9 p=2時的卡方管制圖[17]

若推廣到p≧2,則有以下兩種情況:

(1)當𝛍與𝚺已知時,統計量與管制界限如下:

𝜒02 = 𝑛 𝐱 − 𝛍 T𝚺−1 𝐱 − 𝛍 UCL = 𝜒𝛼,𝑝2

(2)當𝛍與𝚺未知時,則以𝐒 =

s 12 s 122 ⋯ s 1p2

⋮ ⋱ ⋮

s 1p2 ⋯ s p2 來估計𝚺,以𝐱 = x 1

x p 估計 𝛍,使用 以下統計量:

𝑇02 = 𝑛 𝐱 − 𝐱 T𝐒−1 𝐱 − 𝐱 則解析用管制圖之管制界線如下:

UCL =𝑝 𝑚 − 1 (𝑛 − 1)

𝑚𝑛 − 𝑚 − 𝑝 + 1𝐹𝛼,𝑝,𝑚𝑛 −𝑚 −𝑝+1

LCL = 0 管制用管制圖之管制界限如下:

UCL =𝑝 𝑚 + 1 (𝑛 − 1)

𝑚𝑛 − 𝑚 − 𝑝 + 1𝐹𝛼,𝑝,𝑚𝑛 −𝑚 −𝑝+1

LCL = 0

其中p表指標的個數,n表樣本大小,m表樣本的個數。

22 利用Montgomery等[17]建議的分解𝑇2統計量(decomposition of 𝑇2)將𝑇2分解,公 式如下:

23

𝑑𝑖 = 𝑇2− 𝑇(𝑖)2

𝑇(𝑖)2 是剔除第i個變數並且重新計算𝑇2值,而𝑑𝑖為變數i對整體的𝑇2的影響,當分別 計算出所有𝑑𝑖值後,Montgomery建議以為𝜒𝛼,12 臨界值,當𝑑𝑖超過𝜒𝛼,12 的變數很可 能就是失控的變數。

24

第三章 建構軟體指標之管制流程

由於軟體產業許多特性與製造業不同,傳統的管制圖無法直接套用於軟體產 業,且考量到軟體法展流程需要同時監控多個具有關聯性的指標,本研究之主要 目的是建構一套適用於軟體產業的多變量管制管制流程,以協助軟體廠商監控軟 體發展流程中每個指標的變異,並且在失控的時候能夠準確地找到失控的指標。

本研究方法假設所有之軟體指標來自相同的母體分配,且不同專案之間是互相獨 立的,即某專案失控的機率不受它其他專案所影響。本研究所建構之軟體指標之 管制流程共有以下七個步驟:

步驟 1:確定組織目標。

組織的目標可分成以下三類:

(1) 提升產品品質與可靠度。

(2) 縮短週期時間。

(3) 降低成本。

步驟 2:根據組織目標選擇要監控的流程與軟體指標。

如果盲目的將管制圖用在整個軟體生命週期裡將會導致失敗的結果,要找到 直接影響組織目標的關鍵流程才是真正有幫助的,而關鍵流程有可能是軟體測詴 流程、同仁審視流程、過去有出問題的流程、使用新技術的流程、工作負荷量明 顯比以前高的流程等,而不同的流程需要監控的指標亦不同。

通常要提升產品品質與可靠度要監控測詴階段的缺陷密度或監控測詴階段 之前的同仁審視流程(peer review)的審視效率(review efficiency)與審視速度

(review rate)指標。要縮短周期時間則監控專案的成本績效指標(Cost Performance Index, CPI)。要降低成本則監控時程績效指標(Schedule Performance Index, SPI)。

25

以下步驟 3 到步驟 6 的主要目的是建構相同類型專案的流程能力基準,此處 值得注意的是建構流程能力基準資料的量並非越多越好,資料的“品質”才是最重 要的,如此才能能保證此基準用於管制未來的同類型專案是合理的。

步驟 3:蒐集相同專案性質的資料與資料處理。

由於軟體發展流程的觀測資料是要由人為主觀判斷而得因此無法像製造業 般客觀,故這些資料之蒐集需有一套完整的計畫,每個指標使用哪些工具來測量、

測量的方法、測量的時間點進行測量都必頇明確。

由於離群值會誤導管制圖的繪製,繪製所有專案之所有觀測點的所有指標之 盒鬚圖以找出可能之離群值,若只有少數的離群值,則可直接刪除,但若有大量 的離群值則必頇進一步追查造成這些離群值的原因,以決定是否刪除或修正這些 離群值。

四分位距法(Forth Spread)常被用來篩選離群值。首先定義Q1及Q3為這組資 料的第一四分位數(first quartile)及第三四分位數(third quartile),令Qf = Q3− Q1, 則非離群值資料之下限(DL)及上限(DU)可以下列兩式求得:

DL = Q1− 1.5 ∗ Qf DU = Q3+ 1.5 ∗ Qf

若在這組資料中有任何樣本資料點小於DL或大於DU則為離群值。

步驟 4:利用所有專案估計管制圖之參數。

一般軟體專案的資料型態如圖 3.1 所示,不同專案的開始時間與結束時間可 能相同也可能不同。因此把所有專案的資料重新排列如圖 3.2 所示,會發現軟體 專案的資料與一般傳統管制圖最大不同之處就是在每個專案最後一點與下個專 案的第一點之間不屬連續的時間序列。

26

27

連長度(Average Run Length, ARL)為 370,但是每個軟體專案的觀測值往往不超 過 20 個,如此高的ARL0完全不適用於軟體產業,因此本研究將α 設定為 0.05 以降低型二誤差。

步驟 5:計算每個專案的每個觀測值的 Hotellint T²值並繪製於管制界線中。

使用以下公式計算第l個專案的第j個觀測值的Hotellint T²值:

𝑇𝑙𝑗2 = 𝐱𝑙𝑗 − 𝐱 T𝐒−1(𝐱𝑙𝑗 − 𝐱 )

28

29

30

31

第四章 實例驗證

本研究利用台灣某軟體公司的實際資料來說明本研究方法之有效性。

4.1 建構某軟體公司之多變量管制系統

步驟 1:確定組織目標。

本案力公司欲對所有專案的時程與成本進行控管。

步驟 2:根據組織目標選擇要監控的流程與軟體指標。

監控組織所有專案之 CPI 與 SPI 指標。

步驟 3:蒐集相同專案性質的資料與資料處理。

蒐集該公司 2005 年 8 月到 2007 年 12 月相同類型的 29 個專案總共 362 筆 SPI 與 CPI 資料。首先初步的檢視資料發現有以下許多問題:大量的遺漏值、某 些專案的 SPI 指標變異數為 0、某些專案後面的數據完全重複,與公司內的工程 師溝通後確認原因主要有二:某些專案因為客戶方面的問題而未能繼續進行該專 案,但因為還沒結案所以每個月指標值都沒變動;而某些專案執行時間超過預定 成本原本預估的期限,造成 SPI 值是沒有定義的,因此之後的數值就不會再更新。

刪除這些資料後,剩下 21 個專案共 256 筆觀測值。針對全部專案資料繪製盒鬚 圖如圖 4.1 所示,SPI 有一個離群值,CPI 有七個離群值,由於只有少數離群值 因此直接刪去即可。

32

圖 4.1 全部資料的盒鬚圖

步驟 4:利用所有專案資料估計管制圖之參數如下

𝐒 =256−11 21𝑙=1 𝑚𝑗 =1𝑙 (𝐱𝑙𝑗 − 𝐱 )(𝐱𝑙𝑗 − 𝐱 )T = 0.0974 0.12620.1262 0.9293

UCL = 256 −1 256 𝛽0.05(22,256−2−12 ) = 5.9437 LCL = 0

步驟 5:計算每個專案的每個觀測值的 Hotellint T²值並繪製於步驟 5 所建立的管 制界線中。

計算全部觀測值的T²值結果如表4.3所示,並繪製管制圖如圖4.2所示。

專案代號 日期 T²值 專案代號 日期 T²值 專案代號 日期 T²值 A Aug-05 0.863 F Mar-07 0.894 M Nov-06 2.173 A Sep-05 0.259 F Apr-07 0.891 M Dec-06 2.078 A Oct-05 0.560 F May-07 1.375 M Jan-07 1.955 A Nov-05 0.736 F Jun-07 1.287 M Mar-07 1.958 A Dec-05 0.577 F Jul-07 1.296 M Apr-07 1.963 A Jan-06 1.230 F Aug-07 1.206 M May-07 1.782

33

34

35

F Aug-06 2.017 M May-06 0.740 U Sep-07 1.643 F Sep-06 0.958 M Jun-06 0.782 U Oct-07 2.257 F Oct-06 1.173 M Jul-06 1.134 U Nov-07 1.925 F Nov-06 1.361 M Aug-06 1.602 U Dec-07 2.294 F Dec-06 1.235 M Sep-06 1.203

F Jan-07 0.957 M Oct-06 1.351

臨界值 UCL = 𝑞𝑙=1𝑚𝑙−1

𝑚𝑙 𝑞 𝑙=1

𝛽𝛼(𝑝2, 𝑞𝑙=1𝑚2𝑙−𝑝−1)=5.9437 表 4.1 全部專案的 Hotellint T²值

36

37

38

39

圖 4.3 模擬數據之多變量管制圖 編號 T2 d(SPI)值 d(CPI)值

16 6.669 5.168 3.701 17 6.902 5.224 3.983 20 11.477 11.162 2.105 21 8.139 3.422 7.064 22 9.666 -3.541 5.241 23 7.233 -1.779 1.564 24 8.602 -1.876 8.108

表4.4 模擬資料的失控點

40

4.3 與單變量管制圖之比較

就所有專案分別繪製SPI與CPI指標的變動樣本大小的𝑋 − 𝑆管制圖,且以2 倍樣本標準差為管制界線,如圖4.3與圖4.4所示,只有第6、7、8個觀測值(2006 年1、2、3月)有偵測到變異,本研究的多變量管制圖並未偵測到此失控值,而本 研究所偵測到之失控點單變量管制圖也未偵測到,原因是因為SPI與CPI指標的相 關係數為0.465且顯著水準為0.00使用傳統單變量管制圖會有誤判的情形,在檢視 過SPI與CPI的原始資料後並且與工程師確認後發現此三個月份事實上並無失 控。

表4.5 2006年1、2、3月之SPI與CPI原始資料

日期 SPI CPI 日期 SPI CPI 日期 SPI CPI Jan-06 0.674 2.375 Feb-06 0.652 2.227 Mar-06 0.668 2.211 Jan-06 0.723 1.652 Feb-06 0.665 1.474 Mar-06 0.674 1.502 Jan-06 0.349 0.650 Feb-06 0.412 0.519 Mar-06 0.339 0.616 Jan-06 0.800 0.449 Feb-06 0.800 0.392 Mar-06 0.896 0.434 Jan-06 0.254 0.519 Feb-06 0.258 0.622 Mar-06 0.223 0.545 Jan-06 0.132 0.267 Feb-06 0.115 0.197 Mar-06 0.095 0.170 Jan-06 0.160 1.493 Feb-06 0.160 0.262 Mar-06 0.533 1.213

41

圖4.4 全部專案的SPI指標的變動樣本大小的帄均值與標準差管制圖

圖4.5 全部專案的SPI指標的變動樣本大小的帄均值與標準差管制圖

42

43

參考文獻

[1] 吳炤華,2000,「積體電路生產線上結合缺陷數與缺陷群聚之 Hotelling T²多 變量管制圖」,國立交通大工業工程與管理學系,碩士論文。

[2] 黃志力,2001,「積體電路生產線上結合缺陷數與群眾指標之 Hotelling T²多 變量管制圖」,國立交通大工業工程與管理學系,碩士論文。

[3] Baker E. R.,“Which Way, SQA”,IEEE SOFTWARE,January/February (2001) [4] Brooks F. P., F.P. 1987. No Silver Bullet: Essence and Accidents of Software

Engineering, IEEE Computer Magazine.

[5] Caivano D., “Continuous Software Improvement through Statistical Process Control,” pp. 288-293, Proc. of the 9th European Conference on Maintenance and Reengineering 2005.

[6] Cngussu J.W., R.A. DeCarlo, A.P. Mathur, “Monitoring the Software Test Process Using Statistical Process Control: A Logarithmic Approach,” Proc. of the 9th European software engineering conference, pp. 253-265, Sept.,2003.

[7] Florac W.A., A. D. Carleton, and J. Barnard, “Statistical process control:

Analyzing a space shuttle onboard software process,” IEEE Software, vol. 17, pp.

97–106, July/August 2000

[8] Florac W.A. and A.D. Carleton, Measuring the Software Process: Statistical Process Control for Software Process Improvement, Addison-Wesley, 1999.

[9] Investigating Suitability of Software Process and Metrics for Statistical Process Control

[10] Jacob A., S.K. Pillai, (2003), Statistical Process Control to Improve Coding and

44

Code Review, IEEE Software, May/June, 50-55

[11] Jalote P. and A. Saxena 2002. Optimum Control Limits for Employing Statistical Process Control in Software Process, IEEE Transactions on Software Engineering 28(12): 1126–1134.

[12] Jalote P., “Use of Metrics in High Maturity Organizations” Proc. Software Eng.

Process Group Conf. (SEPG ’00), Mar. 2002.

[13] Kan S.H. 1995. Metrics and Models in Software Quality Engineering.

Addison-Wesley Publishing Company. ISBN 0-201-63339-6.

[14] Komuro M., “Experiences of applying SPC techniques to software development processes,” in ICSE ’06: Proceeding of the 28th international conference on Software engineering. New York: ACM Press, 2006, pp.577–584.

[15] Lantzy M.A., ” Application of statistical process control to the software process,”

pp. 113 – 123, Proc. of the ninth Washington Ada symposium, 1992.

[16] Manlove D.; Stephen H Kan, “Practical Statistical Process Control for Software Metrics,” Software Quality Professional; Sep 2007; 9, 4; ProQuest Computingpg.

15

[17] Montgomery D.C., “Introduction to Statistical Quality Control,” John Wiley &

Sons Inc. 2005, pp. 486–522.

[18] Paulk M. C., “Practices of high maturity organizations”, 1999 SEPG Conference, Atlanta, Georgia, March 1999.

[19] Paulk M. C. and Chrissis, M.B. 2002. The 2001 High MaturityWorkshop, (CMU/SEI 2001-SR-014), Carnegie Mellon University.

45

[20] Sargut K. U., O. Demirörs, 2006.“Utilization of statistical process control (SPC) in emergent software organizations: pitfalls and suggestions,”……

[21] Tracy N. D., J. C. Young, and R. L. Mason, 1992.“Multivariate Control Charts for Individual Observations,” Journal of Quality Technology, Vol. 24(2), pp.

88-95.

[22] Wang Q., N. Jiang, L. Gou, X. Liu, M. Li, and Y. Wang, “BSR: a statistic-based approach for establishing and refining software process performance baseline,”

in ICSE ’06: Proceeding of the 28th international conference on Software engineering. New York: ACM Press, 2006, pp.585-594.

[23] Weller E. F. 2000. Practical Applications of Statistical Process Control, IEEE Software, pp. 48–55.

[24] 網站資料,http://www.cmmi-taiwan.org.tw/

[25] 網站資料,http://www.microsoft.com/taiwan/msclub/events/vsnet/default.htm

相關文件