版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要軟件度量模型是基于軟件工程項(xiàng)目的度量值(如項(xiàng)目團(tuán)隊(duì)大小)為將來的軟件工程預(yù)測(cè)目標(biāo)軟件度量值,例如軟件的開發(fā)工作量和錯(cuò)誤率。很明顯,構(gòu)建這樣的軟件度量模型需要利用過去的類似項(xiàng)目的數(shù)據(jù)樣本。但是,這些數(shù)據(jù)樣本中往往存在缺失數(shù)據(jù)的現(xiàn)象?;貧w建模中確定選擇哪些度量變量作為自變量很可能基于直覺或是經(jīng)驗(yàn)性的假設(shè)。模型建立以后很少對(duì)經(jīng)驗(yàn)性的假設(shè)做事后檢驗(yàn),這樣就容易產(chǎn)生多余的度量變量,從而增加不必要的復(fù)雜性。再者,這些度量值很可能既有連續(xù)型又有離散型的變量。如何對(duì)帶有缺失數(shù)據(jù)的數(shù)據(jù)樣本構(gòu)建簡(jiǎn)化的軟件度量模型是本論文討論和研究的主要課題。本論文的主要內(nèi)容包括以下幾個(gè)部分:第一章為緒論,講述論文的主要研究
2、背景,以及初步介紹所遇到的3個(gè)困難和現(xiàn)有的相關(guān)解決方法(這些會(huì)在二,三,四章里詳細(xì)論述)。第二章是缺失數(shù)據(jù)的統(tǒng)計(jì)處理。該部分首先介紹了一些缺失數(shù)據(jù)相關(guān)的背景知識(shí);然后提出了一些對(duì)缺失數(shù)據(jù)問題的處理方法; 最后詳細(xì)地闡述了本文所采用的k-NN法及蒙特卡洛模擬法。第三章主要考慮離散型變量的處理方法。介紹一種比較常見的虛擬變量的方法。第四章是變量選擇的方法。在本章中,我們介紹了3種傳統(tǒng)的變量選擇方法。通過比較我們選出比較好的逐步回歸作為本文變量選擇的方法。第五章是案例分析。用R、SPSS、Java等語(yǔ)言及程序把二,三,四章介紹的方法和理論應(yīng)用到實(shí)際的數(shù)據(jù)樣本中,完成了數(shù)據(jù)缺失下軟件度量數(shù)據(jù)模型的簡(jiǎn)化
3、。關(guān)鍵詞:軟件度量,變量選擇,缺失數(shù)據(jù),逐步回歸,虛擬變量法ABSTRACT 26Software metric models can predict target software metric(s), e.g. the development work effort or defect rates for any future software project based on the project predictor software metric(s) such as project team size. Obviously, the construction of such sof
4、tware measurement model requires use of past similar project data samples. However incomplete data often appear in such data samples. The decision on whether a particular predictor metric should be included is most likely based on the intuition or experienced-based assumption. Unfortunately this ass
5、umption is usually not verifiable after the model is constructed, leading to redundant predictor metric(s) and/or unnecessary complexity of predictor metric selection. Moreover, these predictor metrics may contain continuous and discrete variables. This thesis mainly considers how to simplify the so
6、ftware metrics model with incomplete data. The contents of this thesis include the following sections:Chapter 1 is an introduction about the background of this study and details on three main problems encountered and their solutions (details will be discussed in Chapters 2, 3 and 4).Chapter 2 discus
7、ses the methods how to deal with the missing data in statistics. In this chapter, we describe current research progress associated with the missing data processing and provided some methods related to this study. At last, we discuss the k-NN method and Monte-Carlo simulation method.Chapter 3 mainly
8、focuses on the processing method for discrete variables. A relatively simple approach using so called virtual variables is discussed.Chapter 4 shows the study details of a method for variable selection. In this chapter we introduce 3 classical methods often used for variable selection. After some co
9、mparison, we choose stepwise regression method for our paper.Chapter 5 gives a case study. Using R, SPSS, and Java language, we apply the methods from Chapter 2, 3 and 4 to the real data, a simplified software metrics model is constructed successfully. Key words: software metrics, variable selection
10、, missing data, stepwise regression, virtual variable method目 錄第一章 緒論4 第一節(jié) 課題背景及意義4 第二節(jié) 研究?jī)?nèi)容及方法4 一、缺失數(shù)據(jù)的處理4 二、變量選擇4 三、離散型變量(度量)的分類簡(jiǎn)化4第二章 缺失數(shù)據(jù)的統(tǒng)計(jì)處理4第一節(jié) 缺失數(shù)據(jù)相關(guān)背景介紹5第二節(jié) 形成缺失數(shù)據(jù)的原因5第三節(jié) 缺失數(shù)據(jù)的處理方法6一、人工填寫(filling manually) 6二、平均值填充(MeanMode Completer) 6三、K最近鄰法(k-nearest neighbor method,簡(jiǎn)記k-NN) 6四、演繹估計(jì)法6第四節(jié)
11、k-NN填補(bǔ)法7第三章 離散型變量的處理方法8第一節(jié) 簡(jiǎn)單情況9第二節(jié) 復(fù)雜情況9第四章 變量選擇的方法(經(jīng)典方法)9 第一節(jié) 前進(jìn)法10 第二節(jié) 后退法10 第三節(jié) 逐步回歸法10第五章 案例分析11第一節(jié) 數(shù)據(jù)資料說明及預(yù)處理11第二節(jié) 用改進(jìn)的k-NN方法填補(bǔ)缺失數(shù)據(jù)13 第三節(jié) 虛擬變量法處理離散型變量13第四節(jié) 模型簡(jiǎn)化14第五節(jié) 多重填補(bǔ)方法18第六節(jié) 總結(jié)19結(jié) 論20致 謝20參考文獻(xiàn)20附錄內(nèi)容名稱20 第一章 緒論第一節(jié) 課題背景及意義軟件度量就是對(duì)軟件系統(tǒng)的一些性能或者規(guī)格的測(cè)量。為了探究這些度量中可能存在的相關(guān)性,就必須構(gòu)造恰當(dāng)?shù)哪P?。所有這些模型被認(rèn)為是軟件度量模型。
12、通常,每一個(gè)模型都給出了一個(gè)特定的目標(biāo)度量(應(yīng)變量)和一個(gè)或多個(gè)度量(自變量)之間的關(guān)系。例如,對(duì)一項(xiàng)工程根據(jù) “工程函數(shù)點(diǎn)的數(shù)量”建立一個(gè)模型去預(yù)測(cè)“總工作量”。這個(gè)模型非常重要,因?yàn)樗茉谝豁?xiàng)工程發(fā)展的早期階段估計(jì)出預(yù)期的總工作量。在這個(gè)估計(jì)的基礎(chǔ)上,我們就可以確定這個(gè)工程是否應(yīng)該被繼續(xù)或者為了在最終期限之前完成這項(xiàng)工程需要進(jìn)行哪些方面的調(diào)整(比如說聘請(qǐng)更多的開發(fā)者)。第二節(jié) 研究?jī)?nèi)容及方法一、缺失數(shù)據(jù)的處理另一點(diǎn)值得注意的就是缺失數(shù)據(jù)經(jīng)常出現(xiàn)在用于構(gòu)造度量模型的數(shù)據(jù)樣本中。因?yàn)槿笔?shù)據(jù)的問題并不是軟件工程中所特有的,所以可以毫不驚訝地發(fā)現(xiàn)有很多處理缺失數(shù)據(jù)的方法已經(jīng)被提出。常見的處理缺失
13、數(shù)據(jù)的方法如平均值填補(bǔ),EM算法,演繹估計(jì)法等,大多存在一定的局限性或者誤差較大。最近的研究表明k最近鄰(k-NN)填補(bǔ)方法是一種比其他填補(bǔ)方法更加穩(wěn)健的方法。因此在這篇論文里面,我們運(yùn)用k-NN填補(bǔ)方法來處理缺失數(shù)據(jù)。二、變量選擇在軟件度量模型的構(gòu)建中所面臨的挑戰(zhàn)之一就是自變量的選擇。一般情況下,一個(gè)度量變量是否應(yīng)該包含在軟件度量模型中,常于直覺或者根據(jù)經(jīng)驗(yàn)做出的假設(shè),即認(rèn)為該度量對(duì)目標(biāo)變量的影響在統(tǒng)計(jì)上顯著。有大量的文獻(xiàn)關(guān)于變量選擇的討論。比較經(jīng)典的方法有前進(jìn)法、后退法和逐步回歸法,經(jīng)我們后面的分析,選用逐步回歸法。三、離散型變量(度量)的分類簡(jiǎn)化此外,我們面臨的另一個(gè)挑戰(zhàn)分類簡(jiǎn)化。是不是
14、所有開頭指定的離散型的度量自變量的分類都是必需的呢?它們是否可以合并到一起來減少離散型自變量的分類數(shù)目?在含有離散型自變量的回歸中,常用虛擬變量的方法來重新編碼離散變量。例如:對(duì)于“開發(fā)類型”這一離散型度量變量x7,假設(shè)它有三個(gè)種類:“新型開發(fā)”,“進(jìn)一步開發(fā)”,“重新開發(fā)”。我們用虛擬變量的方法把原先用1,2,3區(qū)分的類,改用2個(gè)0-1型變量x71 x72表示,(x71,x72)分別?。?,0),(0,1),(0,0)對(duì)應(yīng)x7取1,2,3。然后,我們?cè)賹?duì)引入虛擬變量的回歸模型進(jìn)行變量選擇,從而達(dá)到同時(shí)變量選擇和分類合并的目的。第二章 缺失數(shù)據(jù)的統(tǒng)計(jì)處理我們運(yùn)用線性回歸分析來確定一個(gè)目標(biāo)度量(
15、或稱為因變量)和一個(gè)或多個(gè)預(yù)測(cè)度量(或稱為自變量)之間的關(guān)系。這種模型的一般形式如下: (1)這里是因變量,設(shè)是連續(xù)型的自變量,是離散型的自變量(例如,“開發(fā)類型”變量,取值1,2,3分別對(duì)應(yīng)“新型開發(fā)”,“進(jìn)一步開發(fā)”和“重新開發(fā)”)。本文主要考慮軟件度量模型(1)的優(yōu)化與簡(jiǎn)化。因?yàn)槿笔?shù)據(jù)在用來構(gòu)造軟件度量模型的數(shù)據(jù)樣本中經(jīng)常碰到。對(duì)于缺失數(shù)據(jù)的處理已經(jīng)有很多種技巧,如用基于非缺失數(shù)據(jù)獲得的估計(jì)來替代缺失數(shù)據(jù)。在這些技巧中,填補(bǔ)法在必須用完全數(shù)據(jù)集的情況下特別有用。例如,在多元回歸分析中,所有的觀測(cè)值都必需是完全的。下面對(duì)缺失數(shù)據(jù)相關(guān)背景及其處理方法作詳細(xì)介紹。第一節(jié) 缺失數(shù)據(jù)相關(guān)背景介紹
16、缺失數(shù)據(jù)又稱不完備數(shù)據(jù)。在各種科學(xué)研究中,數(shù)據(jù)的缺失現(xiàn)象很普遍,缺失數(shù)據(jù)給數(shù)據(jù)的使用和分析帶來了很大的困難,也是造成信息系統(tǒng)不確定的主要原因之一,缺失數(shù)據(jù)是指數(shù)據(jù)傳輸或采集中的錯(cuò)誤、空值、超出范圍或者不符合要求的值。2001年,荷蘭統(tǒng)計(jì)與運(yùn)籌協(xié)會(huì)下屬的統(tǒng)計(jì)軟件分會(huì)組織了一個(gè)關(guān)于缺失數(shù)據(jù)的討論會(huì)。討論會(huì)提醒人們,即使表面上看缺失數(shù)據(jù)對(duì)研究結(jié)果不可能構(gòu)成威脅時(shí),也不要簡(jiǎn)單地將其刪除。因?yàn)殡m然缺失數(shù)據(jù)可能只占到4-5的比例,但那些重要信息中往往有30-95的數(shù)據(jù)來自這些數(shù)據(jù)。如果恰好重要信息完全不在這些“盲區(qū)”(缺失數(shù)據(jù))中,那么也就沒有什么問題。但很顯然這樣的風(fēng)險(xiǎn)太大了,所以絕對(duì)不能存在僥幸心理,
17、而要妥善處理好不完備數(shù)據(jù)。第二節(jié) 形成缺失數(shù)據(jù)的原因在各種實(shí)用的數(shù)據(jù)庫(kù)中,屬性值缺失的情況經(jīng)常發(fā)生甚至是不可避免的。因此,在大多數(shù)情況下,信息系統(tǒng)是不完備的,或者說存在某種程度的不完備。造成數(shù)據(jù)缺失的原因是多方面的,主要可能有以下幾種:一、有些信息暫時(shí)無(wú)法獲取。例如在醫(yī)療數(shù)據(jù)庫(kù)中,并非所有病人的所有臨床檢驗(yàn)結(jié)果都能在給定的時(shí)間內(nèi)得到,就致使一部分屬性值空缺出來。又如在申請(qǐng)表數(shù)據(jù)中,對(duì)某些問題的反映依賴于對(duì)其他問題的回答。二、有些信息是被遺漏的。可能是因?yàn)檩斎霑r(shí)認(rèn)為不重要、忘記填寫了或?qū)?shù)據(jù)理解錯(cuò)誤而遺漏,也可能是由于數(shù)據(jù)采集設(shè)備的故障、存儲(chǔ)介質(zhì)的故障、傳輸媒體的故障、一些人為因素等原因而丟失了
18、。三、有些對(duì)象的某個(gè)或某些屬性是不可用的。也就是說,對(duì)于這個(gè)對(duì)象來說,該屬性值是不存在的,如一個(gè)未婚者的配偶姓名、一個(gè)兒童的固定收入狀況等。四、有些信息(被認(rèn)為)是不重要的。如一個(gè)屬性的取值與給定語(yǔ)境是無(wú)關(guān)的,或訓(xùn)練數(shù)據(jù)庫(kù)的設(shè)計(jì)者并不在乎某個(gè)屬性的取值。五、 獲取這些信息的代價(jià)太大。六、系統(tǒng)實(shí)時(shí)性能要求較高,即要求得到這些信息前迅速做出判斷或決策。第三節(jié) 缺失數(shù)據(jù)的處理方法 處理缺失數(shù)據(jù)的方法有完全觀測(cè)數(shù)據(jù)法,即將存在缺失數(shù)據(jù)的記錄刪除,從而得到一個(gè)完備的數(shù)據(jù)表。這種方法簡(jiǎn)單易行,當(dāng)對(duì)象有多個(gè)屬性缺失值,且被刪除的含缺失值的對(duì)象與數(shù)據(jù)表中的數(shù)據(jù)量相比非常小的情況下是非常有效的。顯然這種方法卻有
19、很大的局限性,它會(huì)消除掉大量有效信息或者使某個(gè)類消失,并且如果數(shù)據(jù)表中包含的對(duì)象很少,刪除少量對(duì)象就足以嚴(yán)重影響到數(shù)據(jù)挖掘結(jié)果的客觀性和正確性。處理缺失數(shù)據(jù)問題,填補(bǔ)是另一個(gè)常用、方便的方法。填補(bǔ)方法就是用一定的值去填充空值,從而使信息表完備化。通常基于統(tǒng)計(jì)學(xué)原理,根據(jù)決策表中其余對(duì)象取值的分布情況來對(duì)一個(gè)空值進(jìn)行填充,譬如用其余屬性的平均值來進(jìn)行填補(bǔ)等。數(shù)據(jù)挖掘中常用的有以下幾種填補(bǔ)方法:一、人工填寫(filling manually)由于最了解數(shù)據(jù)的還是用戶自己,因此這個(gè)方法產(chǎn)生數(shù)據(jù)偏離最小,可能是填充效果最好的一種。然而一般情況,該方法很費(fèi)時(shí),當(dāng)數(shù)據(jù)規(guī)模很大、空值很多的時(shí)候,該方法是不可
20、行的。二、平均值填充(MeanMode Completer)將信息表中的屬性分為數(shù)值屬性和非數(shù)值屬性來分別進(jìn)行處理。如果空值是數(shù)值型的,就根據(jù)該屬性在其他所有對(duì)象的取值的平均值來填充該缺失的屬性值;如果空值是非數(shù)值型的,就根據(jù)統(tǒng)計(jì)學(xué)中的眾數(shù)原理,用該屬性在其他所有對(duì)象的取值次數(shù)最多的值(即出現(xiàn)頻率最高的值)來補(bǔ)齊該缺失的屬性值。另外有一種與其相似的方法叫條件平均值填充法(Conditional Mean Completer)。在該方法中,缺失屬性值的補(bǔ)齊同樣是靠該屬性在其他對(duì)象中的取值求平均得到,但不同的是用于求平均的值并不是從信息表所有對(duì)象中取,而是從與該對(duì)象具有相同決策屬性值的對(duì)象中取得。
21、這兩種數(shù)據(jù)的補(bǔ)齊方法,其基本的出發(fā)點(diǎn)都是一樣的,以最大概率可能的取值來補(bǔ)充缺失的屬性值,只是在具體方法上有一點(diǎn)不同。與其他方法相比,它是用現(xiàn)存數(shù)據(jù)的多數(shù)信息來推測(cè)缺失值。三、K最近鄰法(k-nearest neighbor method,簡(jiǎn)記k-NN)此算法的基本思路為基于一系列未缺失數(shù)據(jù)的觀察值來彌補(bǔ)數(shù)據(jù)。k-NN是通過在定義的距離空間上尋找K個(gè)距離最近的完全數(shù)據(jù)來估計(jì)缺失值。而對(duì)這k個(gè)數(shù)值采用了加權(quán)平均法。最近的一些研究顯示,相比其他填補(bǔ)方法來說,k-NN填補(bǔ)方法似乎是一個(gè)更穩(wěn)健的填補(bǔ)方法。在本文中,將用k-NN填補(bǔ)方法來處理缺失數(shù)據(jù)問題。四、演繹估計(jì)法演繹估計(jì)法適用于這樣一種情況,目標(biāo)變
22、量Y的缺失值可以以很高的確定性由其它輔助變量來決定。這意味著,目標(biāo)變量與輔助變量之間存在著已知的函數(shù)關(guān)系,即ZI=f(Xi)。式中ZI,是第i個(gè)單位目標(biāo)變量缺失值的估計(jì)值(替補(bǔ)值), Xi是第i個(gè)單位已知的輔助變量值。例如美國(guó)在一項(xiàng)關(guān)于醫(yī)療設(shè)備使用和費(fèi)用的調(diào)查中,多處使用演繹估計(jì)法對(duì)缺失值進(jìn)行填補(bǔ)。對(duì)種族缺失值的填補(bǔ)函數(shù)式為ZI=XI,即如果某人種族數(shù)據(jù)缺失,可采用其配偶的種族;如果某家庭成員種族資料缺失,可使用戶主的種族。如果年齡項(xiàng)目數(shù)據(jù)缺失,則利用出生年份資料進(jìn)行估計(jì)。若調(diào)查是在1990年進(jìn)行,令X1為出生年份,則ZI=1990Xi 。若就業(yè)收入的數(shù)據(jù)缺失,則利用其它4個(gè)相關(guān)的輔助變量信息
23、推算,令X11 、X21分別為該被調(diào)查者的主要職業(yè)和第二職業(yè)的周工資率。X31 、X41分別為其在主要職業(yè)和第二職業(yè)上的工作周數(shù),則勞動(dòng)收入的估計(jì)值為Zi=X11 .X31+X21 .X41 。由此看出,f(X1)可假定為許多不同的形式。使用的條件是Y與X之間存在確定的函數(shù)關(guān)系,且X值已知。實(shí)踐中可以把演繹估汁法視為對(duì)數(shù)據(jù)進(jìn)行邏輯審核的部分。期望值最大化 (Expectation maximization,EM)算法是一種在不完全數(shù)據(jù)情況下計(jì)算極大似然估計(jì)或者后驗(yàn)分布的迭代算法:在每一迭代循環(huán)過程中交替執(zhí)行兩個(gè)步驟:E步(Expectation step,期望步),在給定完全數(shù)據(jù)和前一次迭代所
24、得到的參數(shù)估計(jì)的情況下計(jì)算完全數(shù)據(jù)對(duì)應(yīng)的對(duì)數(shù)似然函數(shù)的條件期望;M 步(Maximization step,極大化步),用極大化對(duì)數(shù)似然函數(shù)以確定參數(shù)的值,并用于下步的迭代。算法在E步和M步之間不斷迭代直至收斂,即兩次迭代之間的參數(shù)變化小于一個(gè)預(yù)先給定的閾值時(shí)結(jié)束。該方法可能會(huì)陷入局部極值,收斂速度也不是很快,并且計(jì)算很復(fù)雜。第四節(jié) k-NN填補(bǔ)法 下面對(duì)本文使用的k-NN填補(bǔ)法作詳細(xì)介紹。k-NN法是要在不完整的觀測(cè)值內(nèi)找到k個(gè)最接近的完整的觀測(cè)值。這k個(gè)最接近的完整的觀測(cè)值的加權(quán)平均值作為該缺失數(shù)據(jù)的填補(bǔ)值。 下面我們用公式對(duì)k-NN填補(bǔ)法進(jìn)行說明。模型(1)中的數(shù)據(jù)樣本可分為有缺失數(shù)據(jù)的
25、觀測(cè)值(或稱不完整的觀測(cè)值)和沒有缺失數(shù)據(jù)的觀測(cè)值(或者完整的觀測(cè)值)。令mi = (miy, mi1, mi2, , miq)T為不完整的觀測(cè)值測(cè)量的目標(biāo)度量值和預(yù)測(cè)度量值的矢量,令cj = (cjy, cj1, cj2, ,cjq)T為所有完整的觀測(cè)值測(cè)量的目標(biāo)度量值和預(yù)測(cè)度量值的向量。因?yàn)?,每個(gè)度量值miy, mi1, mi2, , miq和cjy, cj1, cj2, , cjq的量可能差別較大,我們?cè)谟?jì)算各個(gè)度量值的歐氏距離之前,我們要將其基準(zhǔn)歸一,否則歐氏距離將被度量值取值范圍大的所主導(dǎo)?;鶞?zhǔn)歸一轉(zhuǎn)換方式如下:milN = 以及 cilN = l = 1, 2, , q,其中,ml
26、,min和ml,max為mil: i = 1, , n的最小和最大值,cl,min和cl,max為cil: i = 1, , n的最小和最大值,n為數(shù)據(jù)樣本中的觀測(cè)值數(shù)目。這樣,所有基準(zhǔn)歸一后的度量值都在0, 1范圍內(nèi)。不完整的觀測(cè)值i和完整的觀測(cè)值j之間的歐氏距離如下:Eij = 其中,求和運(yùn)算包括不完整觀測(cè)值i中l(wèi)所對(duì)應(yīng)的所有沒有缺失的度量值數(shù)據(jù)。我們將不完整的觀測(cè)值i的k個(gè)最接近的完整的觀測(cè)值標(biāo)識(shí)為觀測(cè)值i1, i2, , ik,它們與不完整的觀測(cè)值i之間的歐氏距離分別為Eii1, Eii2, , Eiik。根據(jù)k-NN填補(bǔ)法,這k個(gè)最接近的完整觀測(cè)值被用來計(jì)算缺失數(shù)據(jù)的加權(quán)值,這個(gè)加權(quán)
27、值是通過距離反比加權(quán)算法得出的。例如,如果mil為缺失值,則填補(bǔ)值應(yīng)為:當(dāng)所有的缺失值都被填補(bǔ)之后,數(shù)據(jù)樣本即為完整的,可按完整的數(shù)據(jù)樣本進(jìn)行任何分析。第三章 離散型變量的處理方法在回歸分析中,我們對(duì)一些自變量是離散型變量的情形先給予數(shù)量化處理,但簡(jiǎn)單的數(shù)量化常常存在一些問題。一種更好的處理方法是引進(jìn)適當(dāng)個(gè)數(shù)的只取0和1的虛擬自變量。當(dāng)某一屬性出現(xiàn)時(shí),虛擬變量取值1,否則取值為0。下面就這一方法作一介紹。第一節(jié) 簡(jiǎn)單情況首先討論離散變量只取兩類可能值的情況,例如研究糧食產(chǎn)量問題,y為糧食產(chǎn)量,x為施肥量,另外再考慮氣候問題,分為正常年份和干旱年份兩種情況,對(duì)這個(gè)問題的數(shù)量化方法是引入個(gè)01型變
28、量D,令Dil, 表示正常年份 Di0, 表示干旱年份糧食產(chǎn)量的回歸模型為 yi0+1Xi+2Di +i (2)其中,i=1,n,在以下回歸模型中不再一一注明。干旱年份的糧食平均產(chǎn)量為E(yi| Di=0)=0+1Xi正常年份的糧食平均產(chǎn)量為 E(yi| Di=1)=(0+2)+1Xi這里有個(gè)前提條件,就是認(rèn)為干旱年份與正常年份回歸直線的斜率1是相等的,也就是說,不論是干旱年份還是正常年份,施肥量x每增加一個(gè)單位,糧食產(chǎn)量y平均都增加相同的數(shù)量1。對(duì)(2)式的參數(shù)估計(jì)仍采用普通最小二乘法。第二節(jié) 復(fù)雜情況某些場(chǎng)合離散自變量可能取多類值,例如某商廈策劃營(yíng)銷方案,需要考慮銷售額的季節(jié)性影響,季節(jié)因
29、素分為春、夏、秋、冬4種情況。為了用定性自變量反映春、夏、秋、冬四季,我們初步設(shè)想引入如下4個(gè)0-1型自變量:X1l,春季 X21,夏季X10,其他 X20,其他X3l,秋季 X41,冬季X30,其他 X40,其他可是這樣做產(chǎn)生了一個(gè)新的問題,即4個(gè)自變量x1,x2,x3,x4之和恒等于1,即x1+x2+x3+x4=1,構(gòu)成完全多重共線性,解決這個(gè)問題的方法很簡(jiǎn)單,我們只需去掉一個(gè)0-1型自變量即可,例如去掉x4,只保留x1,x2,x3。對(duì)一般情況,一個(gè)離散變量有K類可能的取值時(shí),需要引入K-1個(gè)0-1型自變量,當(dāng)K=2時(shí),只需要引入一個(gè)0-1型自變量即可。對(duì)于包含多個(gè)0-1型自變量的計(jì)算,仍
30、然是采用普通的線性最小二乘回歸方法,在此就不舉例了。第四章 經(jīng)典變量選擇的方法在多元線性回歸分析中,并不是所有自變量都對(duì)因變量y有顯著的影響,這就存在著如何挑選出對(duì)因變量有顯著影響的自變量問題。自變量的所有可能子集構(gòu)成2m-1個(gè)回歸方程。當(dāng)可供選擇的自變量不太多時(shí),可以對(duì)切可能的回歸方程用某個(gè)準(zhǔn)則去挑出最優(yōu)的方程;但是當(dāng)自變量的個(gè)數(shù)較多時(shí),要求出所有可能的回歸方程是非常困難的。為此要用一些較為簡(jiǎn)便、實(shí)用、快速的選擇最優(yōu)方程的方法。不同的方法各有優(yōu)缺點(diǎn),至今還沒有絕對(duì)最優(yōu)的方法,目前常用的方法有“前進(jìn)法”、“后退法”、“逐步回歸法”,而逐步回歸法應(yīng)用最廣。第一節(jié) 前進(jìn)法前進(jìn)法的思想是變量由少到多
31、,每次增加一個(gè)直至沒有可引入的變量為止。具體做法是首先將全部m個(gè)自變量,分別對(duì)因變量y建立m個(gè)一元線性回歸方程,并分別計(jì)算這m個(gè)一元回歸方程的m個(gè)回歸系數(shù)的F檢驗(yàn)值,記為F11,F(xiàn)12,F(xiàn)1m,選其最大者記為F1j=maxF11,F(xiàn)12,F(xiàn)1m,給定顯著性水平。若F1jF(1,n一2),則首先將xj,引入回歸方程,為了方便,設(shè)xj就是x1。接下來因變量Y分別與(x1,x2),(x1,x3),(x1,xm,)建立m1個(gè)二元線性回歸方程對(duì)這m1個(gè)回歸方程中x2,x3,xm的回歸系數(shù)進(jìn)行F檢驗(yàn),計(jì)算F值記為F22,F(xiàn)23,F(xiàn)2m,選其最大的記為 F2jmaxF22,F(xiàn)23,F(xiàn)2m若F2jF(1,n3
32、),則接著將xj,引入回歸方程。依上述方法接著做下去。直至所有未被引入方程的自變量的F值均小于F(1,np1)時(shí)為止。這時(shí),得到的回歸方程就是最終確定的方程。每步檢驗(yàn)中的臨界值F(1,np1)與自變量數(shù)目p有關(guān),在用軟件計(jì)算時(shí),我們實(shí)際使用的是顯著性P值(或記為Sig)作檢驗(yàn)。第二節(jié) 后退法后退法與前進(jìn)法相反,首先用全部m個(gè)變量建立一個(gè)回歸方程,然后在這m個(gè)變量中選擇一個(gè)最不重要的變量,將它從方程中剔除。在回歸系數(shù)的顯著性檢驗(yàn)中,用的就是這種思想,把回歸系數(shù)檢驗(yàn)的F值最小者對(duì)應(yīng)的自變量剔除。設(shè)對(duì)m個(gè)回歸系數(shù)進(jìn)行F檢驗(yàn),記求得的F值為Fm1,F(xiàn)m2,F(xiàn)mm,選其最小者記為 FmjminFm1,F(xiàn)
33、m2,F(xiàn)mm給定顯著性水平,若FmjF(1,nm1),則首先將xj從回歸方程中剔除,為方便,設(shè)xj就是xm。接著對(duì)剩下的m1個(gè)自變量重新建立回歸方程,進(jìn)行回歸系數(shù)的顯著性檢驗(yàn),像上面那樣計(jì)算出Fm-1j,如果又有Fm-1jF(1,n(m1) 1),則剔除xj,重新建立y關(guān)于m2個(gè)自變量的回歸方程。依此下去,直至回歸方程中所剩余的P個(gè)自變量的F檢驗(yàn)值均大于臨界值F(1,np1)沒有可剔除的自變量為止。這時(shí),得到的回歸方程就是最終確定的方程。前進(jìn)法和后退法顯然都有明顯的不足。前進(jìn)法可能存在這樣的問題,即不能反映引進(jìn)新的自變量后的變化情況。因?yàn)槟硞€(gè)自變量開始可能是顯著的,但當(dāng)引入其他自變量后它變得并
34、不顯著了,但是再?zèng)]有機(jī)會(huì)將其剔除。即一旦引入,就是“終身制”的;這種只考慮引入,而沒有考慮剔除的做法顯然是不全面的。而且,我們?cè)谠S多例子中會(huì)發(fā)現(xiàn)可能最先引入的某個(gè)自變量,當(dāng)其他自變量相繼引入后,它會(huì)變得對(duì)因變量y很不顯著。后退法的明顯不足是,一開始把全部自變量引入回歸方程,這樣計(jì)算量很大。如果有些自變量不太重要,一開始就不引入,就可減少一些計(jì)算量;再就是一旦某個(gè)自變量被剔除,“一棍子就把它打死了”,它再也沒有機(jī)會(huì)重新進(jìn)入回歸方程。如果說我們的問題涉及的自變量x1,x2,xm是完全獨(dú)立的(或不相關(guān)),那么在取進(jìn)出時(shí),前進(jìn)法與后退法所建的回歸方程是相同的。然而在實(shí)際中很難碰到自變量間真正無(wú)關(guān)的情況
35、,尤其是經(jīng)濟(jì)問題中,我們所研究的絕大部分問題。自變量間都有一定的相關(guān)性。這就會(huì)使得隨著回歸方程中變量的增加和減少,某些自變量對(duì)回歸方程的影響也會(huì)發(fā)生變化。這是因?yàn)樽宰兞块g的不同組合,由于它們相關(guān)的原因,對(duì)因變量y的影響可能大不一樣。如果幾個(gè)自變量的聯(lián)合效應(yīng)對(duì)y有重要作用,但是單個(gè)自變量對(duì)y的作用都不顯著,那么前進(jìn)法就不能引入這幾個(gè)自變量,而后退法卻可以保留這幾個(gè)自變量,這是后退法的一個(gè)優(yōu)點(diǎn)。從前進(jìn)法和后退法的思想及方法,以及我們看到的它們的不足,人們比較自然地想構(gòu)造一種方法,即吸收前進(jìn)法和后退法的優(yōu)點(diǎn),克服它們的不足,把兩者結(jié)合起來,這就產(chǎn)生了逐步回歸法。第三節(jié) 逐步回歸法逐步回歸的基本思想是
36、有進(jìn)有出,具體做法是將變量一個(gè)一個(gè)引入當(dāng)每引入一個(gè)自變量后,對(duì)已選入的變量要進(jìn)行逐個(gè)檢驗(yàn),當(dāng)原引入的變量由于后面變量的引人而變得不再顯著時(shí),要將其剔除。引入一個(gè)變量或從回歸方程中剔除一個(gè)變量,為逐步回歸的一步,每一步都要進(jìn)行F檢驗(yàn),以確保每次引入新的變量之前回歸方程中只包含顯著的變量。這個(gè)過程反復(fù)進(jìn)行直到既無(wú)顯著的自變量選入回歸方程,也無(wú)不顯著自變量從回歸方程中剔除為止。這樣就避免了前進(jìn)法和后退法各自的缺陷,保證了最后所得的回歸子集是最優(yōu)回歸子集。在逐步回歸法中需要注意的一個(gè)問題是引入自變量和剔除自變量的顯著性水平值是不相同的,要求引入自變量的顯著性水平進(jìn)小于剔除自變量的顯著性水平出,否則可能
37、產(chǎn)生“死循環(huán)”。也就是當(dāng)進(jìn)出時(shí),如果某個(gè)自變量的顯著性P值在進(jìn)與出之間,那么這個(gè)自變量將被引入、剔除,再引入、再剔除,循環(huán)往復(fù),以至無(wú)窮。 這種有進(jìn)有出的結(jié)果說明自變量之間具有相關(guān)性。如果自變量之間是完全不相關(guān)的,那么引入的自變量就不會(huì)再被剔除,而剔除的自變量也就不會(huì)再被引入,這時(shí)逐步回歸方法與前進(jìn)法是相同的。在實(shí)際問題中,自變量之間通常具有相關(guān)性,當(dāng)相關(guān)性程度嚴(yán)重時(shí)稱為多重共線性。多重共線性會(huì)對(duì)回歸產(chǎn)生嚴(yán)重影響。1 第五章 案例分析本章綜合利用前述幾章的方法,對(duì)一個(gè)標(biāo)準(zhǔn)的軟件度量數(shù)據(jù)集進(jìn)行模型簡(jiǎn)化分析。第一節(jié) 數(shù)據(jù)資料說明及預(yù)處理案例分析中使用的數(shù)據(jù)樣本是來自于國(guó)際軟件基準(zhǔn)協(xié)會(huì)(ISBSG)
38、的“數(shù)據(jù)庫(kù)-版本6”。它被認(rèn)為是最全面、可靠、系統(tǒng)、典型的數(shù)據(jù)樣本之一。這個(gè)數(shù)據(jù)樣本由對(duì)789個(gè)項(xiàng)目收集而成的55個(gè)度量組成。但是這些度量的大多數(shù)都含有缺失數(shù)據(jù)。對(duì)此數(shù)據(jù),考慮以“summary work effort”作為因變量(也稱為目標(biāo)度量)對(duì)一系列既有連續(xù)型又有離散型的預(yù)測(cè)度量(即自變量)建立回歸模型。表1里面的六個(gè)預(yù)測(cè)度量(記為,,和)被用來在同樣的數(shù)據(jù)集合的基礎(chǔ)上建立軟件成本預(yù)算模型。為了證明我們的方法的作用,我們添加了兩個(gè)很少用到的預(yù)測(cè)度量(和)。表1給出了這些度量的詳細(xì)信息。表1: 軟件工作量度量模型的目標(biāo)度量和預(yù)測(cè)度量2Name of MetricDescriptionRem
39、arkSummaryWork effortTotal effort (in hours) spent on the projectDependent variableFunction pointsThe adjusted Function point count numberMaximum team sizeThe Maximum number of project team membersProject elapsed timeTotal elapsed time (in months) for the projectUser base locationsNumber of physical
40、 locations being serviced by the installed systemDevelopment platformSpecify the primary development platformThree categories: 1 fro “microcomputers,” 2 for “mid-range computers,” and 3 for “mainframe computers”Programming language typeSpecify which programming language is used for the projectFour c
41、ategories: 1 for “2GL,” 2 for “3GL,” 3 for “4GL,” and 4 for “application generators”Development typeSpecify whether the development is a new development, or redevelopmentThree categories: 1 for “new development,” 2 for “enhancement,” and 3 for “redevelopment”Resource levelSpecify how people spend th
42、eir resourcesFour categories: 1 for “development team effort,” 2 for “development team support,” 3 for “computer operations involvement,” and 4 for “end user or clients”3表2 前10和后10組原始數(shù)據(jù) (軟件工作量度量模型的目標(biāo)和預(yù)測(cè)度量值)序號(hào)yx1x2x3x4x5x6x7x81.7490158774113142.6484846134143.415026017132224.6006673219.012215.35703033
43、12113126.5377304810.0132217.151421790018132148.1171190510122219.124829471331410.34446613321:2653.1036426313212654.68862753212655.16306772212656.4405661222657.59878407841243112658.1294132632212659.27041471229112660.22478767171732242661.1214230212662.7112913211我們考慮如何應(yīng)用以上所提到的知識(shí)。我們?cè)紤]只用完整組做回歸分析,注意到這2000
44、多組數(shù)據(jù)缺失比較嚴(yán)重,只有300多組完整數(shù)據(jù),只用完整的會(huì)造成收集數(shù)據(jù)的浪費(fèi)。但有的項(xiàng)目(組)的有關(guān)值實(shí)在缺失太嚴(yán)重,因此我們第一步刪除缺失數(shù)據(jù)太多的組,保留缺失數(shù)據(jù)較少的組等待第二步的填補(bǔ)。第二步為填補(bǔ)缺失數(shù)據(jù),因?yàn)槿绻忍幚黼x散型變量,如x5變成x51,x52,x53,則填補(bǔ)出的x51,x52,x53如果和不為1,不合理。第三步引入虛擬變量,最后進(jìn)行回歸分析得出結(jié)果。第二節(jié) 用改進(jìn)的k-NN方法填補(bǔ)缺失數(shù)據(jù) 在填補(bǔ)缺失數(shù)據(jù)前,先做個(gè)宏刪除缺失數(shù)據(jù)太多的組 (見附錄A)得新的數(shù)據(jù)表。然后,再用改進(jìn)的k-NN法填補(bǔ)其中缺失的數(shù)據(jù)連續(xù)型變量的缺失值用k-NN法填補(bǔ)。因?yàn)殡m然有2000多組數(shù)據(jù),但
45、完全觀測(cè)到的數(shù)據(jù)組只有300多組,所以這里k取50(占完全組的百分之十幾)離散型的用如下方法:計(jì)算 (3)取其中概率最大的類為填補(bǔ)值(填補(bǔ)缺失數(shù)據(jù)程序見附錄B)。至此,我們得到了一個(gè)完整的表格數(shù)據(jù)。為下面的虛擬變量和變量選擇提供了基礎(chǔ)。第三節(jié) 虛擬變量法處理離散型變量 對(duì)離散變量x5,x6,x7,x8 用虛擬變量代替如下 ,;,;,;,這樣得到最后的完整數(shù)據(jù)集(虛擬變量化程序見附錄C)。第四節(jié) 模型簡(jiǎn)化 用逐步回歸法對(duì)最后的完整數(shù)據(jù)做逐步回歸。用SPSS中帶的功能導(dǎo)入數(shù)據(jù)分析回歸線性,因變量為y,自變量為x1,x2,x3,x4,x51,x52,x61,x62,x63,x71,x72,x81,x
46、82,x83。用系統(tǒng)默認(rèn)的顯著性水平進(jìn)=0.05,出 =0.10逐步回歸的結(jié)果:回歸數(shù)據(jù)集3 系數(shù)a模型非標(biāo)準(zhǔn)化系數(shù)標(biāo)準(zhǔn)系數(shù)tSig.B標(biāo)準(zhǔn) 誤差試用版1(常量)-2969.311755.107-3.932.000x31145.26271.845.31415.941.0002(常量)-3559.998742.610-4.794.000x3952.49873.118.26113.027.000x13.796.387.1969.801.0003(常量)-4233.840751.385-5.635.000x3932.94672.861.25512.805.000x13.664.386.1899.48
47、4.000x526891.5311394.757.0954.941.0004(常量)-116.2461232.836-.094.925x3885.74673.464.24312.057.000x13.578.385.1859.283.000x526469.8641393.404.0894.643.000x81-4738.5721127.160-.082-4.204.0005(常量)5367.0931444.0053.717.000x3878.82772.703.24112.088.000x13.674.382.1909.625.000x526944.0801380.469.0965.030.0
48、00x81-10272.3241360.869-.178-7.548.000x82-13878.1841955.327-.166-7.098.0006(常量)4580.2701454.4263.149.002x3855.76872.742.23411.764.000x13.572.381.1859.364.000x526768.1361377.214.0944.914.000x81-10319.8261356.959-.179-7.605.000x82-13503.0271952.094-.161-6.917.000x2131.13234.294.0733.824.0007(常量)5616.8
49、291479.0913.797.000x3867.57872.631.23811.945.000x13.581.381.1859.412.000x527199.3411378.924.1005.221.000x81-11464.6081390.454-.198-8.245.000x82-14742.6141977.407-.176-7.456.000x2126.99434.226.0713.710.000x83-17729.4684932.069-.070-3.595.000a. 因變量: y可見最后的結(jié)果就是:Y=5326.203+3.582x1+122.132x2+894.558x3+71
50、80.279x52-11025.056x81-13700.658x82-17762.294x83由此,連續(xù)型變量中x1,x2,x3入選,x4被剔除。離散型變量中,x5,x8入選,x6,x7被剔除。而其中x5=1和x5=3可以合并。而x8沒有類可合并。但是這里出現(xiàn)了一個(gè)問題。離散型變量如x5的選取x51,x52只是一種情況。為了考慮所有的離散型變量的分化合并的情況。我們分為2種方案方案1:把所有變量即x1,x2,x3,x4,x51,x52,x53,x61,x62,x63,x64,x71,x72,x73,x81,x82,x83,x84都入選一起做逐步回歸。這樣能考慮周全并且只需一步,但是會(huì)產(chǎn)生冗余和交互效應(yīng)。3結(jié)果如下:系數(shù)a模型非標(biāo)準(zhǔn)化系數(shù)標(biāo)準(zhǔn)系數(shù)tSig.B標(biāo)準(zhǔn) 誤差試用版1(常量)-2969.311755.107-3.932.000x31145.26271.845.31415.941.0002(常量)-3559.998742.610-4.794.000x3952.49873
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省十校聯(lián)考2026屆高三上學(xué)期1月期末階段性作業(yè)語(yǔ)文試卷(含答案)
- 2026石嘴山市大武口區(qū)審計(jì)局聘請(qǐng)2名專業(yè)人員輔助審計(jì)工作參考考試題庫(kù)及答案解析
- 2026山東事業(yè)單位統(tǒng)考昌邑市招聘58人備考考試題庫(kù)及答案解析
- 龍山龍蝦活動(dòng)策劃方案(3篇)
- 2026北京大學(xué)對(duì)外漢語(yǔ)教育學(xué)院招聘全職博士后研究人員備考考試題庫(kù)及答案解析
- 2026貴州貴陽(yáng)市觀山湖區(qū)第二幼兒園第二分園招聘3人考試備考題庫(kù)及答案解析
- 2026江西贛州市會(huì)昌昌興酒店管理有限責(zé)任公司招聘勞務(wù)派遣工作人員1人筆試備考題庫(kù)及答案解析
- 2026上半年黑龍江省水利廳事業(yè)單位招聘?jìng)淇伎荚囶}庫(kù)及答案解析
- 2026四川成都金牛區(qū)金泉社區(qū)衛(wèi)生服務(wù)中心招聘9人備考考試試題及答案解析
- 2026山東臨沂市蘭陵縣部分事業(yè)單位招聘綜合類崗位工作人員34人備考考試試題及答案解析
- 云南省2026年普通高中學(xué)業(yè)水平選擇性考試調(diào)研測(cè)試歷史試題(含答案詳解)
- 廣東省花都亞熱帶型巖溶地區(qū)地基處理與樁基礎(chǔ)施工技術(shù):難題破解與方案優(yōu)化
- 家里辦公制度規(guī)范
- 基于知識(shí)圖譜的高校學(xué)生崗位智能匹配平臺(tái)設(shè)計(jì)研究
- GB 4053.3-2025固定式金屬梯及平臺(tái)安全要求第3部分:工業(yè)防護(hù)欄桿及平臺(tái)
- 環(huán)氧拋砂防滑坡道施工組織設(shè)計(jì)
- 2026中央廣播電視總臺(tái)招聘124人參考筆試題庫(kù)及答案解析
- DB15∕T 3725-2024 煤矸石路基設(shè)計(jì)與施工技術(shù)規(guī)范
- 鋼結(jié)構(gòu)屋架拆除與安裝工程施工方案
- 動(dòng)力電池儲(chǔ)能車間事故應(yīng)急處置預(yù)案
- 醫(yī)生合理用藥知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論