宋述芳,何入洋
(西北工業(yè)大學(xué) 航空學(xué)院, 陜西 西安 710072)
隨機(jī)森林(Random Forest, RF)是Breiman于2001年提出的一種統(tǒng)計(jì)學(xué)習(xí)理論方法[7]。首先,通過(guò)Bootstrap重采樣技術(shù)從原始樣本集中抽取多個(gè)訓(xùn)練樣本集,然后再利用抽取的樣本集建立相應(yīng)的決策樹,并組建隨機(jī)森林。隨機(jī)森林應(yīng)用廣泛,不僅可以處理分類、回歸問(wèn)題,對(duì)于降維也有很好的適用性。隨機(jī)森林對(duì)異常值與噪音也有很好的容忍度,穩(wěn)健性強(qiáng),不容易出現(xiàn)過(guò)擬合,被Iverson譽(yù)為當(dāng)前最好的算法之一[8]?,F(xiàn)有的基于隨機(jī)森林的重要測(cè)度指標(biāo)主要有兩種:基于Gini指數(shù)的平均不純度減少指標(biāo)(Mean Decrease Impurity, MDI)和基于袋外(Out-Of-Bag, OOB) 數(shù)據(jù)置換的平均精確率減少指標(biāo)(Mean Decrease Accuracy, MDA)[9-11]。基于Gini指數(shù)的MDI指標(biāo)對(duì)離散特征存在偏向性,且重要性分析結(jié)果與特征變量的選擇順序有關(guān)[12-13]?;贠OB數(shù)據(jù)置換的MDA指標(biāo)則可以直接度量每個(gè)特征變量對(duì)模型精確率的影響程度,不存在偏向問(wèn)題,應(yīng)用廣泛。此外,基于OOB數(shù)據(jù)置換的MDA指標(biāo)求解過(guò)程與基于方差的全局靈敏度分析的單層Monte Carlo模擬法相似,可由此作為切入點(diǎn)尋找兩者之間的關(guān)系。
本文通過(guò)比較基于方差的全局靈敏度指標(biāo)和基于OOB數(shù)據(jù)置換的MDA指標(biāo)的求解過(guò)程,尋找兩者之間的關(guān)系,并進(jìn)一步建立基于隨機(jī)森林的重要測(cè)度指標(biāo)體系,包括單變量測(cè)度指標(biāo)、組變量測(cè)度指標(biāo)等,可為后期復(fù)雜環(huán)境、高維小樣本數(shù)據(jù)的重要性測(cè)度分析奠定基礎(chǔ)。
由Sobol′提出的基于方差的全局靈敏度指標(biāo)能夠反映輸入變量在整個(gè)變化范圍內(nèi)對(duì)輸出響應(yīng)方差的影響程度。Sobol′指標(biāo)不僅具有很強(qiáng)的模型通用性,而且還可對(duì)輸入變量進(jìn)行分組討論以及量化輸入變量之間的交互影響,因此在工程領(lǐng)域得到了廣泛應(yīng)用。ANOVA (analysis of variance)分解是方差靈敏度指標(biāo)分析的基礎(chǔ)[6]。
響應(yīng)函數(shù)Y=g(X)存在唯一的ANOVA分解式為
g1,…,n(X1,X2,…,Xn)
(1)
其中,常量g0為函數(shù)g(X)的期望值,gi(Xi)為單變量Xi的主效應(yīng)分量。
(2)
式中,fXi(xi)為變量Xi的概率密度函數(shù)。
多個(gè)變量交互作用的分量可由下式求得
(3)
基于式(1),分別對(duì)各分解項(xiàng)進(jìn)行積分,由于各分解項(xiàng)正交,響應(yīng)函數(shù)的方差V=VAR(Y)可以表示為各分解項(xiàng)的方差之和,即
(4)
其中,
(5)
用分解項(xiàng)的方差與響應(yīng)函數(shù)的方差之比來(lái)衡量分解項(xiàng)的方差貢獻(xiàn)率,即
Si1,…,is=Vi1,…,is/V
(6)
其中,Si表示單變量Xi的靈敏度主指標(biāo)。
(7)
由概率論知識(shí)可知,基于方差的全局靈敏度指標(biāo)可表示為[14-16]
(8)
(9)
其中,X~i表示除Xi外的所有變量組成的向量。
采用傳統(tǒng)的數(shù)字模擬法求解基于方差的全局靈敏度指標(biāo)需要進(jìn)行雙層抽樣,計(jì)算量大,不適用于復(fù)雜的工程問(wèn)題分析[17]。單層Monte Carlo模擬法應(yīng)用廣泛,其求解步驟如下。
Step1:根據(jù)輸入變量X的聯(lián)合分布,抽取兩組容量為N的樣本,分別記為矩陣A和B:
Step2:將矩陣B中的第i列用A中的第i列代替,構(gòu)造矩陣Ci:
Step3:計(jì)算輸入變量Xi的方差靈敏度主指標(biāo)和總指標(biāo),即
(10)
(11)
隨機(jī)森林是一種統(tǒng)計(jì)學(xué)習(xí)理論方法,利用Bootstrap重采樣方法從數(shù)據(jù)庫(kù)中抽取樣本,并運(yùn)用決策樹對(duì)每組Bootstrap樣本進(jìn)行建模,組合多棵決策樹,通過(guò)投票(分類)或取平均值(回歸)得出最終的預(yù)測(cè)結(jié)果[7]。隨機(jī)森林具有很高的預(yù)測(cè)精度,魯棒性好,防止過(guò)擬合,在分類、回歸、降維等問(wèn)題中得到了廣泛應(yīng)用?;陔S機(jī)森林的重要性測(cè)度指標(biāo)有:基于Gini指數(shù)的MDI指標(biāo)和基于OOB數(shù)據(jù)置換的MDA指標(biāo)?;贠OB數(shù)據(jù)置換的MDA指標(biāo)可直接度量每個(gè)特征變量對(duì)模型精確度的影響程度,不存在MDI指標(biāo)的偏向問(wèn)題,使用范圍廣泛[9]。
基于OOB數(shù)據(jù)置換的MDA指標(biāo)的主要思路:保證其他特征變量不變,只打亂OOB數(shù)據(jù)中的某個(gè)特征變量的順序,破壞OOB數(shù)據(jù)的特征變量與輸出之間的對(duì)應(yīng)關(guān)系。利用決策樹分別對(duì)打亂前與打亂后的OOB數(shù)據(jù)進(jìn)行預(yù)測(cè),將所有決策樹前后兩次預(yù)測(cè)的均方誤差的平均值作為此特征變量的重要性測(cè)度結(jié)果[18]?;贠OB數(shù)據(jù)置換的MDA指標(biāo)的求解過(guò)程如下。
Step1:隨機(jī)森林包含M棵決策樹H={h1,h2,…,hM}。分別利用每棵決策樹hm(m=1,…,M)對(duì)相應(yīng)的OOB數(shù)據(jù)(OOB數(shù)據(jù)的輸入矩陣為xOOB,輸出響應(yīng)向量為Y)的輸入矩陣進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果為Ym,則預(yù)測(cè)值Ym與真實(shí)值Y的均方誤差εm=mean(Ym-Y)2。
(12)
(13)
(14)
對(duì)比式(13)和式(14)可以得出
(15)
(16)
(17)
對(duì)比式(16)和式(17)可以得出
(18)
(19)
在單層Monte Carlo模擬法中,矩陣B中的第i、j列被矩陣A中的第i、j列代替后可求得組變量的主指標(biāo)S[i,j],S[i,j]與單一變量的主指標(biāo)Si與Sj以及兩變量交互指標(biāo)Sij的關(guān)系為[1]
S[i,j]=Si+Sj+Sij
(20)
(21)
其中,上標(biāo)“~i”“~j”“~ij”分別表示帶外數(shù)據(jù)中除第i列、第j列以及第i和第j列以外的數(shù)據(jù)打亂順序帶來(lái)的預(yù)測(cè)精度的影響。
算例1:線性函數(shù)
Y=X1+X2+X3
表1 線性函數(shù)的變量重要性測(cè)度分析結(jié)果Tab.1 The variable importance measures for linear function
(a) 基于單層QMC模擬的方差靈敏度分析(a) Single-loop QMC simulation for variance-based sensitivity analysis
(b) 基于隨機(jī)森林的重要測(cè)度分析(b) Random forest for importance measure analysis圖1 線性函數(shù)的方差靈敏度誤差隨樣本量的變化曲線Fig.1 Error of variance-based sensitivity indices versus sampling number for linear function
算例2:Ishigami函數(shù)[19]
其中,Xi(i=1,2,3)相互獨(dú)立,均服從[-π,π]區(qū)間的均勻分布。函數(shù)的方差VAR(Y)≈13.846 0。采用隨機(jī)森林對(duì)Ishigami函數(shù)進(jìn)行重要性測(cè)度分析,以變量X2為例,基于單層QMC模擬的方差靈敏度指標(biāo)、隨機(jī)森林進(jìn)行重要性測(cè)度推得方差靈敏度的誤差隨樣本量的變化曲線如圖2所示。隨機(jī)森林用300個(gè)訓(xùn)練樣本、700個(gè)OOB樣本進(jìn)行重要性分析,可獲得誤差小于2%的測(cè)度指標(biāo),分析結(jié)果列于表2。
(a) 基于單層QMC模擬的方差靈敏度分析(a) Single-loop QMC simulation for variance-based sensitivity analysis
(b) 基于隨機(jī)森林的重要測(cè)度分析(b) Random forest for importance measure analysis圖2 Ishigami函數(shù)的方差靈敏度誤差隨樣本量的變化曲線Fig.2 Error of variance-based sensitivity indices versus sampling number for Ishigami function
表2 Ishigami函數(shù)的變量重要性測(cè)度分析結(jié)果Tab.2 Variable importance measures for Ishigami function
算例3:系統(tǒng)失效樹模型[20]
Y=X1X3X5+X1X3X6+X1X4X5+X1X4X6+
X2X3X4+X2X3X5+X2X4X5+X2X5X6+
X2X4X7+X2X6X7
(22)
式中,X1、X2代表事件每年發(fā)生的次數(shù),X3~X7代表了基本事件的失效率,各變量相互獨(dú)立,均服從對(duì)數(shù)正態(tài)分布,分布參數(shù)如表3所示。將大樣本(N=9×221)下的單層QMC模擬的結(jié)果作為方差靈敏度的近似精確解,函數(shù)的方差VAR(Y)≈1.606 8×10-8,與隨機(jī)森林重要性測(cè)度分析結(jié)果對(duì)比見表4。
表3 失效樹模型的變量分布信息Tab.3 Distribution information of input variables in fault tree model
算例3的變量維數(shù)n=7,需要較多的樣本(3 000個(gè)訓(xùn)練樣本,5 000個(gè)OOB數(shù)據(jù))來(lái)保證隨機(jī)森林的精度。由表4的結(jié)果可以看出,基于隨機(jī)森林的重要性測(cè)度推得的方差靈敏度與單層QMC模擬的近似精確解基本一致,變量的重要性排序相同,X2、X6、X5為重要變量。此外,對(duì)變量的交互作用也進(jìn)行了重要性分析,得到最大的兩個(gè)交互靈敏度指標(biāo)為:S25≈0.021 9,S26≈0.026 3。
表4 失效樹模型的變量重要性測(cè)度分析結(jié)果對(duì)比Tab.4 Variable importance measures for fault tree model
算例4:屋架結(jié)構(gòu)
某屋架結(jié)構(gòu)如圖3所示,屋架的上弦桿和壓桿采用鋼筋混凝土桿,下弦桿和拉桿采用鋼桿。設(shè)屋架結(jié)構(gòu)承受垂直的均布載荷q的作用,將均布載荷q化成節(jié)點(diǎn)載荷P,則P=ql/4,通過(guò)力學(xué)知識(shí)可得C點(diǎn)的垂直位移為
(23)
圖3 屋架結(jié)構(gòu)的簡(jiǎn)單示意圖Fig.3 Roof truss structure
式中,AC、AS、EC、ES分別為鋼筋混凝土桿與鋼桿的橫截面積與彈性模量,l為桿長(zhǎng),假設(shè)所有輸入變量相互獨(dú)立,且服從正態(tài)分布,分布參數(shù)如表5所示。
表5 屋架結(jié)構(gòu)的變量分布參數(shù)Tab.5 Distribution parameters of input variables in roof truss structure
響應(yīng)函數(shù)的方差VAR(ΔC)≈1.626 6×10-6。以大樣本(N=8×220)下的單層QMC模擬結(jié)果作為近似精確解。隨機(jī)森林用1 000個(gè)訓(xùn)練樣本、5 000個(gè)OOB數(shù)據(jù)進(jìn)行重要性測(cè)度分析。
表6 屋架結(jié)構(gòu)的變量重要性測(cè)度分析結(jié)果對(duì)比Tab.6 Variable importance measures for the roof truss structure
1)將決策樹的葉節(jié)點(diǎn)由原始的取平均或線性擬合變?yōu)楦呔鹊腒riging模型,使得改進(jìn)后的決策樹對(duì)原響應(yīng)函數(shù)有更好的擬合精度。
2)在基于隨機(jī)森林的MDA指標(biāo)的分析基礎(chǔ)上,提出了單變量和組變量重要性測(cè)度指標(biāo),完善了基于隨機(jī)森林的重要性測(cè)度指標(biāo)體系。
3)找到了基于隨機(jī)森林的重要性測(cè)度指標(biāo)與基于方差的全局靈敏度主指標(biāo)、總指標(biāo)之間的關(guān)系,可用隨機(jī)森林的重要性測(cè)度指標(biāo)推導(dǎo)出方差靈敏度指標(biāo),獲得方差靈敏度指標(biāo)求解的新途徑。
4)本文只研究了獨(dú)立變量對(duì)輸出響應(yīng)的影響,后續(xù)將開展基于隨機(jī)森林的相關(guān)特征變量的重要性測(cè)度分析方面的研究。