胡良平
(1.軍事科學院研究生院,北京 100850;2.世界中醫(yī)藥學會聯合會臨床科研統計學專業(yè)委員會,北京 100029 *通信作者:胡良平,E-mail:lphu812@sina.com)
本期《基于SAS與R軟件的主成分分析》一文介紹了“主成分分析方法”,此法不僅可以借用于多重線性回歸分析(見本期《主成分分析應用(Ⅰ)——主成分回歸分析》)和無序樣品聚類分析(見本期《主成分分析應用(Ⅱ)——主成分聚類分析》)之中,還可以借用于判別分析或分類分析之中。
主成分判別分析(the principal components discrimination analysis)是對擬用于判別分析的定量變量先進行主成分分析,產生主成分變量,然后再基于這些主成分變量(注意:不是原變量)進行判別分析。
將原先可能具有一定相關性的定量指標,通過主成分分析,使其轉變成相互獨立的變量,期望能夠有利于縮小同一類樣品之間的相對距離,同時,還有利于擴大不同類樣品之間的相對距離,以便更好地對樣品實現精準分類。
1.4.1 問題與數據結構
【例1】有一個著名的數據集,即iris數據集,其中共有150個觀測,4個定量的評價指標[Sepal.Length、Sepal.Width、Petal.Length、Petal.Width,分別代表萼片長度、萼片寬度、花瓣長度、花瓣寬度,單位都是毫米(mm)],1個代表分類的標簽變量(species,種類)。共有3種花,即有setosa(剛毛的)、versicolor(雜色的)、virginica(尚未找到合適的中文翻譯名),各有50個觀測,數據結構見表1[1-2]。
表1 三類鳶尾屬植物4項定量指標的測定結果
1.4.2 對數據結構的分析
在表1中,有3類鳶尾屬植物,其標簽變量名為G,其具體代碼分別為1、2、3,它可以被稱為結果變量。顯然,結果變量是多值名義變量,雖然其代碼是三個數字,但僅代表三種種屬的花。X1~X4這四個計量評價指標都是用來反映每種花的特征的,它們的取值并非越大越好,也不是越小越好。關鍵是期望它們能夠很好地區(qū)分出不同種屬的花。
1.5.1 概述
知道三種種屬的花各有50株,期望基于這150株花在四項計量指標上的取值能構建一個計算公式,即判別函數式,用于對一株新的屬于這三類之一的花的真實類別進行分類或判別。為了實現這一分析目的,可以基于多種不同的統計思想或思路來構造分析方法,通常有如下四類:①基于“距離”的判別分析法;②基于“貝葉斯先驗概率”的判別分析法;③基于“投影”的判別分析法;④基于“機器學習”的判別分析法。
1.5.2 基于“距離”的判別分析方法[3-4]
就是基于定量評價指標計算出每一類中各樣品之間的距離,再將各類樣品的距離計算公式組合在一起,構成一個判別函數式,用于判定任何一個未知類別的樣品的歸屬。
1.5.3 基于“貝葉斯后驗概率”的判別分析方法[3]
就是基于“貝葉斯先驗概率”來構造一個總的期望損失函數ECM,貝葉斯判別分析是取使ECM達到最小的劃分。
1.5.4 基于“投影”的判別分析方法[3]
費希爾線性判別是把k個總體的所有p維空間的樣本點投影到一維空間上,使得在一維空間中,來自不同總體的樣本點能盡可能地被分開。
1.5.5 基于“機器學習”的判別分析方法[5-6]
“機器學習”是一種統計思想,基于其產生出許多高效的統計分析方法,主要實現兩方面的統計功能,即“回歸分析”和“判別分析”。根據解決問題時所采取的思路和關鍵技術不同,其具體的分析方法包括以下幾種:①決策樹分析法;②支持向量機分析法;③各種神經網絡分析法;④隨機森林分析法;⑤集成學習分析法等。
因篇幅所限,本文僅介紹基于“主成分變量”和“距離”的判別分析方法。
將表1中的150行5列數據按文本格式存儲在“F:CCC”文件夾中,命名為“150株鳶尾屬植物四項評價指標資料.txt”;設所需要的SAS程序名為“基于150株鳶尾屬植物四項評價指標資料進行主成分判別分析.SAS”:
proc format;
value specname
1='Setosa '
2='Versicolor'
3='Virginica ';
run;
data iris;
title 'Fisher (1936) Iris Data';
infile 'f:ccc150株鳶尾屬植物四項評價指標資料.txt';
input SepalLength SepalWidth PetalLength PetalWidth Species;
format Species specname.;
label
SepalLength='Sepal Length in mm.'
SepalWidth ='Sepal Width in mm.'
PetalLength='Petal Length in mm.'
PetalWidth ='Petal Width in mm.';
symbol=put(Species,specname10.);
run;
proc princomp data=iris prefix=z out=bbb;
var SepalLength SepalWidth PetalLength PetalWidth;
run;
PROC DISCRIM data=bbb METHOD=NPAR K=6 MANOVA LISTERR CROSSLISTERR;
CLASS Species;
VAR z1-z4;
RUN;
DISCRIM過程
以下校準數據的分類匯總:WORK.BBB
使用以下項的交叉驗證匯總:6個最接近的鄰近值
分入“Species”的觀測數和百分比從SpeciesSetosaVersicolorVirginica合計Setosa500050100.000.000.00100.00Versicolor0491500.0098.002.00100.00Virginica0149500.002.0098.00100.00合計50505015033.3333.3333.33100.00先驗0.333330.333330.33333
“Species”的出錯數估計SetosaVersicolorVirginicaTotal比率0.00000.02000.02000.0133先驗0.33330.33330.3333
以上結果表明:第2類和第3類各有一個樣品被分錯了。
值得一提的是:本例資料經過主成分變換后的判別分析結果與未經過主成分變換的判別分析結果[1-2]一致。換句話說,是否有必要采取主成分判別分析有待進一步研究。
參考文獻
[1] 胡良平. 醫(yī)學統計學——運用三型理論進行多元統計分析[M]. 北京: 人民軍醫(yī)出版社, 2010: 188-240.
[2] 胡良平. SAS常用統計分析教程[M]. 2版. 北京: 電子工業(yè)出版社, 2015: 575-588.
[3] 茆詩松. 統計手冊[M]. 北京: 科學出版社, 2006: 539-546.
[4] 薛薇. R語言數據挖掘方法及應用[M]. 北京: 電子工業(yè)出版社, 2016: 122-141.
[5] 周志華. 機器學習[M]. 北京: 清華大學出版社, 2016: 73-196.
[6] 吳喜之. 復雜數據統計方法——基于R的應用[M]. 3版. 北京: 中國人民大學出版社, 2015: 41-56.