○ 文/ 李子寧
文章以判別分析和聚類分析為例,在理論上證明了對變量加權(quán)是否會對結(jié)果產(chǎn)生影響,并進行了實證分析。研究結(jié)果表明,是否對變量加權(quán)不影響判別分析結(jié)果,但影響聚類分析結(jié)果。這一結(jié)論可進一步拓展,即凡是以馬氏距離為基礎的方法不需要對變量進行加權(quán),而以歐氏距離為基礎的方法如果對變量進行加權(quán)可以提高分析結(jié)果的準確度。
機器學習是一門新興的交叉學科,它既包括一些傳統(tǒng)的多元統(tǒng)計方法,如聚類分析、判別分析、邏輯回歸、因子分析等,也包括一些人工智能方法,如K近鄰法、決策樹、人工神經(jīng)網(wǎng)絡、支持向量機等。在這些方法中,也許K近鄰法是最簡單的方法,它的基本思想是以K個最近鄰居在因變量取值的平均數(shù)作為新樣品的預測值。它又派生出基于變量重要性的加權(quán)K近鄰和基于觀測重要性的加權(quán)K近鄰。由于其它統(tǒng)計方法都不涉及鄰居,因此基于觀測重要性的加權(quán)方法不具有外推性。那么基于變量重要性的加權(quán)方法是否具有外推性呢?或者說,我們常用的判別分析、聚類分析等需不需要對變量進行加權(quán)呢?文章將對此問題進行理論和實證分析。
變量的重要性可以從三個方面進行考察,一是從變量本身考察,二是從解釋變量與被預測變量的相關(guān)性角度考察,三是從預測誤差角度考察[1]。
從變量自身來考察,變異程度最大的變量重要性更強,如果一個變量是常數(shù),沒有什么變異,則這個變量對預測是沒有意義的。對數(shù)值型變量來說,衡量變異性的常用指標是方差、標準差和變異系數(shù),由于方差和標準差受計量單位的影響,在衡量變量重要性時并不適用,通常采用變異系數(shù),即變異系數(shù)越大的變量越重要。對于類別變量,如果各個類別值的取值比例相當,則這個變量越重要;如果某個類別的取值比例越大,則這個變量越不重要。以二分類變量為例,如果兩個類別的取值比例均為0.5,此時這個類別變量的方差取最大值0.25;而如果一個類別所占比例為0.9,另一個類別所占比例為0.1,此時這個類別變量的方差僅為0.09。
從解釋變量與被預測變量的相關(guān)性角度來考察,又可以分成三種情況。第一種情況是解釋變量與被預測變量均為類別變量。衡量類別變量間相關(guān)與否的統(tǒng)計量為卡方統(tǒng)計量,卡方統(tǒng)計量越大,類別變量間的相關(guān)程度就越大,因此卡方越大的變量或p值越小的變量越重要。第二種情況是解釋變量與被解釋變量均為連續(xù)變量。連續(xù)變量相關(guān)與否的統(tǒng)計量為相關(guān)系數(shù),相關(guān)系數(shù)越大,變量間的相關(guān)性越強;當然前提是相關(guān)系數(shù)必須是顯著的,這可以通過t統(tǒng)計量進行檢驗。第三種情況是解釋變量和被預測變量分屬不同類別,具體包括兩類:解釋變量是類別變量,被預測變量是連續(xù)變量;解釋變量是連續(xù)變量,被預測變量是類別變量。無論是兩種情況中的哪一種,均采用方差分析的方法,即計算F統(tǒng)計量,F(xiàn)統(tǒng)計量越大,表明變量之間相關(guān)性越強。
從預測誤差角度來考察,通常與建模策略有關(guān)。建模策略有兩種,一是 “從一般到具體”建模策略,二是 “從具體到一般”建模策略。若采用“從一般到具體”建模策略,首先將全部變量加入模型,然后分別去掉一個解釋變量,建立K個K-1元模型,在這K個K-1元模型中,哪個模型的預測誤差最大,說明該模型所不包含的那個變量重要性越大。若采用“從具體到一般”建模策略,則可直接比較K個一元模型,哪個模型的擬合程度越好(即誤差越?。凑f明哪個變量的重要性越大。一般認為,“從一般到具體”建模策略更好,因為“從具體到一般”建模策略可能會造成遺漏變量問題。
根據(jù)變量重要性的確定方法,令第i個解釋變量的權(quán)重為wi,它是解釋變量重要性的函數(shù),可定義為:
其中FIi為解釋變量重要性,從機器學習角度又被稱為特征重要性,它以輸入變量對預測誤差的影響定義。假定有K個輸入變量,x1,x2,…,xk,剔除第i個變量,計算輸入變量為x1,x2,…,xi-1,xi+1,…,xk下,K近鄰法的錯判概率,記作ei。若第i個變量對預測有重要作用,剔除該變量后的預測誤差將比較大。因此第i個變量的重要性定義為因此不論從哪個角度來考察,變量越重要,在計算距離時其權(quán)重越大。
由于K近鄰法采用歐氏距離測度近鄰觀測,則加權(quán)的歐氏距離為:
對于二分類預測問題,如果有超過半數(shù)的近鄰類別值為1,則預測值為1類,否則預測值為0類。對于多分類預測問題,預測值為眾數(shù)。對于回歸預測問題,預測值是K個近鄰在被預測變量上的平均值。
判別分析是指在已知研究對象分成若干組的情況下,判斷新的樣品應歸屬的組別。在判別分析中,最直觀的判別方法就是距離判別,即計算新樣品到各組的距離,新樣品距離哪組最近,就被判為哪一組。
設組π1和π2的均值分別為μ1和μ2,協(xié)方差矩陣分別為∑1和∑2,x是一個新樣品,現(xiàn)判斷它來自哪一組。
若不對變量進行加權(quán),計算x到兩個組的距離d2(x,π1)和d2(x,π2),并按如下的判別規(guī)則進行判斷[1]:
1. ∑1=∑2=∑時的判別。若對變量進行加權(quán),設wi為第i個判別變量的權(quán)重,則加權(quán)后的判別向量為x*=wx,均值向量為wμ,方差協(xié)方差矩陣為w∑w′。
經(jīng)過加權(quán)的平方馬氏距離為:
由 于d(x*,π1)=d(x,π1) ,d(x*,π2)=d(x,π2)。所以在兩組距離判別且假定方差陣相等時,對變量加權(quán)并不影響判別分析的結(jié)果。
因此在兩組距離判別且方差陣不相等時,對變量加權(quán)也不影響判別分析的結(jié)果。
設有k個組π1,π2,…,πk,它們的均值分別為μ1μ2,…,μk,協(xié)方差矩陣分別是∑1,∑2,…,∑k,x到總體πi的加權(quán)平方馬氏距離為:
由于d2(x*,πi) =d2(x,πi) ,所以在多組距離判別下,對變量加權(quán)與否不影響判別結(jié)果。
聚類分析是一種無監(jiān)督學習方法,沒有目標變量,因此聚類分析中一般不采用馬氏距離,而采用歐氏距離。但歐氏距離與各變量的量綱有關(guān),沒有考慮變量間的相關(guān)性,也沒有考慮各變量方差的不同[3]。因此對變量是否加權(quán)會影響聚類結(jié)果。
當不對變量進行加權(quán)時,兩個樣品之間的平方歐氏距離為:
當對變量進行加權(quán)時,兩個樣品之間的平方歐氏距離為:
通常d2(x,y) ≠d(x*,y*),因此兩種情況下的聚類結(jié)果一般不會相同。
因此,變量標準化之后的平方歐氏距離等價于標準化前的平方馬氏距離。所以在進行聚類分析時,如果選擇對變量進行標準化,是否對變量進行加權(quán)對聚類分析結(jié)果沒有影響。
文章以費希爾判別分析的經(jīng)典例子來驗證對變量加權(quán)與否的影響。費希爾于1936年發(fā)表的鳶尾花數(shù)據(jù)包括3種鳶尾花:剛毛鳶尾花、變色鳶尾花和弗吉尼亞鳶尾花,每種各抽取一個容量為50的樣本,測量了花萼長、花萼寬、花瓣長、花瓣寬4個變量。
無論采用何種判別方法,都可能會產(chǎn)生誤判。誤判比例的計算通常有四種方法,一是直接用樣本計算判別函數(shù),同時計算誤判比例,這種方法給出的誤判比例通常較低;二是旁置法,即拿出樣本的一部分(通常為70%)作為訓練樣本集構(gòu)造判別函數(shù),剩余的部分作為測試樣本集計算誤判比例;三是十折交叉驗證法,即將樣本分成十部分,每次取其中的九部分作為訓練樣本集構(gòu)造判別函數(shù),剩余的一部分作為測試樣本集計算誤判比例,十折交叉驗證要構(gòu)造十個判別函數(shù);四是刀切法,即每次拿出一個觀測作為測試樣本,其余的觀測作為訓練樣本集構(gòu)造判別函數(shù)。刀切法避免了樣本數(shù)據(jù)在構(gòu)造判別函數(shù)的同時又被用來對該判別函數(shù)進行評價,也幾乎避免了構(gòu)造判別函數(shù)時樣本信息的損失。
文章采用第一種和第四種計算誤判比例的方法。其中表1為未對變量進行加權(quán)的距離判別結(jié)果,表2為按預測誤差加權(quán)的距離判別結(jié)果。
表1 未對變量加權(quán)的距離判別結(jié)果
表2 對變量加權(quán)的距離判別結(jié)果
表1和表2中,無論直接采用判別函數(shù)驗證,還是采用刀切法驗證,是否對變量進行加權(quán)的結(jié)果完全相同。
我們?nèi)匀皇褂觅M希爾的數(shù)據(jù),其中編號1-50屬剛毛鳶尾花,編號51-100屬變色鳶尾花,編號101-150屬弗吉尼亞鳶尾花。聚類變量為花萼長、花萼寬、花瓣長、花瓣寬4個變量,聚類方法采用組間連接法,聚類數(shù)目為3類。當未對變量進行加權(quán)時,編號1-50仍被分到第一組,編號51-100仍被分到第2組,但編 號100-150中只 有110、112、118、120、122、127、130、131、135、138、140、144被分到第三組,其余38個被錯分到了第二組。當對變量進行加權(quán)時,前50個觀測仍被分到第一組,編號51-99被分到第二組,但編號100被分到了第三組;編號101-150中只有14個被錯誤分到了第二組。因此對變量進行加權(quán)的聚類分析,其聚類效果好于不對變量進行加權(quán)的聚類分析。另外,在變量加權(quán)和不加權(quán)兩種情況下,如果在聚類分析時選擇對變量進行標準化,則結(jié)果完全相同。
從理論和實證分析來看,凡是采用馬氏距離的方法,都不需要對變量進行加權(quán)。凡是采用歐氏距離的方法,如果不對變量進行標準化,則是否加權(quán)影響分析結(jié)果;若對變量進行標準化,歐氏距離等同于馬氏距離,是否加權(quán)對分析結(jié)果沒影響。
這一結(jié)論可以進一步拓展。比如典型判別,其實質(zhì)是二階段判別,第一階段降維,第二階段采用降維后的主成分進行距離判別。因此典型判別本質(zhì)上仍是距離判別,由于距離判別采用馬氏距離,是否對變量進行加權(quán)并不影響典型判別的結(jié)果。對于K近鄰法,如果采用馬氏距離,則不需要對變量進行加權(quán),也就沒有所謂的基于變量加權(quán)的K近鄰法;但目前統(tǒng)計軟件都是基于歐氏距離或街區(qū)距離,且默認對變量進行標準化,此時對變量是否加權(quán)不影響結(jié)果;如果不對變量進行標準化,則基于變量加權(quán)的K近鄰法和普通的K近鄰法在分析結(jié)果上是有差異的。
對于因子分析和主成分分析,其基本原理是對方差矩陣或相關(guān)矩陣進行分解。統(tǒng)計軟件一般默認基于相關(guān)矩陣進行分析[4],此時是否對變量進行加權(quán)不影響結(jié)果;但若基于協(xié)方差矩陣進行分析,是否對變量加權(quán)會影響分析結(jié)果。