羅艷虹,胡良平
(1.山西醫科大學公共衛生學院衛生統計學教研室,山西 太原 030001;2.世界中醫藥學會聯合會臨床科研統計學專業委員會,北京 100029;3.軍事科學院研究生院,北京 100850
在回歸分析中,當自變量的數目很多(往往問題本身帶有很多自變量,再加上派生變量)時,模型空間就非常大,此時,建模者傾向于選擇非參數模型取代參數模型。然而,當自變量數目大到一定程度時,由于自變量水平組合所形成的“試驗點”在高維空間中會顯得非?!跋∈琛保瑥亩鴮е禄貧w模型的方差迅速增大,以至于回歸建模過程無法收斂或回歸分析的結果失去其應有的價值,這種現象被稱為“維數災難”。
解決“維數災難”問題的常用方法有以下兩種:其一,將所研究的問題限于“低維空間”;其二,假定建模過程具有“可加性”,采用“加性模型”[1]。這兩種思維方法都存在一定的局限性,只是部分地或回避式地解決了“維數災難”問題。Friedman[2]提出的“多元適應性回歸樣條建模技術”在一定程度上較好地解決了前述提及的難題。多元適應性回歸樣條建模技術被簡稱為“適應性回歸分析方法”,此法由以下兩步組成:第一步,采用“快速更新算法”創建一個“過擬合模型”,以下將被稱為“向前選擇”;第二步,采用“后向選擇”修剪已經創建的回歸模型。
由多元適應性回歸樣條算法產生的回歸模型可用式(1)或式(2)表示:
(1)
(2)
式(1)或式(2)還可以用式(3)表示:
(3)
在式(3)中,第2、3、4項分別代表僅含單個自變量、含兩個自變量及其交互作用項和含三個自變量及其交互作用項所形成的基函數之和。由此可知,多元適應性回歸樣條模型的結構非常復雜,以擬合復雜程度不同的數據結構并使之達到所期望的“擬合優度界值”。
式(1)到式(3)在本質是一樣的,但式(2)和式(3)的形式非常復雜,而式(1)相對簡單。下面用通俗的語言解釋式(1)。

(4)
由此可知:構建適應性回歸模型的關鍵在于如何構造各個“基函數”;模型求解的關鍵在于如何估計出式(1)或式(2)或式(3)中的回歸系數。這個計算過程比較繁瑣,通常需要借助統計軟件(如SAS/STAT 12.1中的“ADAPTIVEREG”過程,此模塊已嵌入SAS 9.3及以上版本)來完成。
在進行適應性回歸建模過程中,需要對變量進行變換,而不是直接將原變量代入回歸模型。對變量進行怎樣的變換,取決于變量的類型。換言之,對連續型變量與分類變量將采取不同的變換方法。
對于連續型變量,采用線性截斷冪樣條變換,分別見式(5)、式(6):
(5)
(6)
其中t為變量V的結點值(或稱為分割值),而v為其觀測值。為了不用測定變量V的每個值,通過假設底層函數的平滑度來使用一系列的最小跨度的結點值。Friedman[2]使用以下公式來確定結點之間的合理數目(跨度大小)。對于內部結點,跨度大小由以下公式決定,見式(7):
(7)
對于邊界結點,跨度大小由以下公式決定,見式(8):
(8)
其中,α為決定結點密度的參數,p為變量數,nm為父基函數Bm>0的觀察數目。
對于分類變量,變量通過指示函數進行轉換,分別見式(9)、式(10):
(9)
(10)
其中{c1,…,ct}為變量V類別的子集。這種平滑法適用于分類變量,它假設各個類別的子集具有相似的性質,類似于假設對連續變量進行局部區域的預測。
如果一個分類變量有k個不同的分類,那么共有(2k+1-1)種可能的子集。計算成本等于回歸中所有子集的選擇,對于大的k值來說代價較大。多元自適應回歸樣條算法采用逐步選擇的方法選擇分類,從而形成子集為{c1,…ct}。該方法仍然是貪婪的,但它減少了計算,并產生合理的最終模型。
多元自適應樣條算法的向前選擇過程如下:
(1)設定初值B0=1,M=1;
(2)重復以下步驟,直到基函數的值達到最大,最大值為Mmax;或者Bm、v和t三個參數的任意組合都不會使模型性能得到更好的提升。
1)設置“失擬(即模型不能表達資料變化的部分)”的界值LOF*=∞;
2)對于篩選出的基函數Bm,m∈{0,…,M-1}都對變量v做以下操作,對于v?{v(k,m)|1≤k≤Km}者除外。
①對于滿足v:t∈{v|Bm>0}的變量,每個結點值(或類別中子集)t建立一個由當前所有選定基函數組成的模型及兩個新基函數:BmT1(v,t)和BmT2(v,t);
②計算新模型LOF欠擬合的界值;
③如果LOF 3)通過在模型中增加Bm*T1(v*,t*)和Bm*T2(v*,t*),最大程度上更新模型。 4)設定M=M+2。 每個條目最重要的部分是發現Bm、v和t之間的關系,例如在模型中添加兩個相關基函數。向前選擇的目標是建立一種過擬合數據的模型。線性模型的殘差準則通常是殘差平方和(RSS)。 多元自適應回歸樣條算法的向后選擇過程如下: (1)通過設置整體的欠擬合標準來初始化:LOF*=∞; (2)重復以下步驟,直到達到空模型為止。最后一個模型是在向后篩選過程中發現的最佳模型。 1)對于篩選的基函數Bm,m∈{0,…,M-1}: ①對于不包含Bm,計算欠擬合標準(LOF); ②如果LOF ③從當前模型中減去Bm*。 2)設定M=M-1。 向后選擇的目的是“修剪”過擬合的模型,找出預測性能最好的模型。因此,使用過擬合界值來表示模型對原始數據表達的真實性是不合理的。相反,多元自適應回歸樣條算法使用一個類似于廣義交叉驗證界值的數量。更多信息參見“擬合優度界值”一節。 原始的多變量自適應回歸樣條算法計算代價較大。為了提高計算速度,Friedman提出了快速算法??焖偎惴ǖ幕舅枷胧菧p少在向前選擇的每個步驟中,檢驗B、V和t的組合的數量。 假設有在第k次迭代之后形成的(2K+1)個基,其中選擇父基Bm來構造兩個新的基??紤]一個以基為元素的隊列,在隊列的頂部是B2k和B2k+1兩個新構造的基。隊列的其余部分根據每個基的最小無匹配條件進行排序,排序方法見式(11): (11) 式(11)中,求極小值函數“min”下部有兩個條件,其一,“for all eligible V”的含義是“對于所有合格的變量V”;其二,“for all knott”的含義是“對于所有的結點t”。 當k不小時,模型中有相對較多的基,增加基的個數不太可能顯著提高擬合優度。因此,在相鄰迭代期間,優先隊列中基的排名變化太大。候選的父基可以被限制為第一次迭代隊列中的前K個基。第k次迭代之后,頂部基有新的J(Bi)值,而底基的值不變。隊列根據J(Bi)值重新排序。這對應于MODEL語句中FAST選項的K=選項值。 為了避免排在最后的候選基被放棄使用,并允許它們重新上升到頂部,一個自然的“老化”因素被引入到每個基。通過定義每個基函數的優先級來實現,見式(12): P(Bi)=R(Bi)+β(kc-kr) (12) 其中R(Bi)為隊列中第i個基的秩,kc為當前迭代次數,kr為上次計算J(Bi)值的迭代次數。然后根據這個優先級重新對前K個候選基進行排序。較大的β值會導致在以前的迭代中改進較小的基以更快的速度上升到列表頂部。這對應于MODEL語句中FAST選項的“BETA=”值。 對于優先級隊列頂部的候選基,將重新計算(k+1)次迭代的所有合格變量V的最小失擬界值J(Bi)。得出的最優變量可能與前一次迭代中找到的變量相同。因此,快速多元自適應回歸樣條算法引入另一個因子H以節省計算成本。該因子指定J(Bi)應該為所有合格變量重新計算的頻率。如果H=1,在考慮父基時,每次迭代中對所有變量都進行優化。如果H=5,經過5次迭代完成視為最優。如果小于指定H的迭代計數,則優化只在之前完全的優化中找到的最優變量進行。當然,有前三個候選項例外,B2k+1(這是用于構建兩個新基的父基Bm)和兩個新基:B2k和B2k+1。在每次迭代中執行它們的完整優化。這與MODEL語句中FAST選項的“H=”選項值有關。 與其他非參數回歸過程一樣,多元自適應回歸樣條算法可以產生復雜的模型,這些模型包含高階交互作用項并考慮許多結點值或子集。除了基函數,向前選擇和向后選擇過程都是高度非線性的。考慮在偏倚與方差之間取其折中,包含多個參數的復雜模型傾向于較低偏倚而較高方差。為了選擇具有良好預測性能的模型,Craven等[4]提出了被廣泛使用的廣義交叉驗證(GCV)界值,見式(13): (13) (14) 其中d為每個非線性基函數所需要的自由度,M為模型中線性無關基函數的總數。因為在多變量自適應回歸樣條算法的每個步驟中評估的任何候選模型都是一個線性模型,所以M實際上是冒子矩陣的跡。GCV界值和LOF界值的唯一區別是額外項d(M-1)。相應的有效自由度被定義為M+d(M-1)/2。在形成新基函數時,需要考慮非線性,故引入了d這個數量,同時,它也作為一個平滑參數而存在。d值越大,函數估計越平滑。Friedman[2]認為d值一般為“2~4”。對于結構復雜的數據,d值可以更大。用戶也可以使用交叉驗證作為擬合優度界值,或使用各自的驗證數據集來選擇模型和單獨的測試數據集來評估選定的模型。3.2 向后選擇
4 快速算法
5 擬合優度界值
