試論R軟件在系統(tǒng)聚類分析中的應(yīng)用
試論R軟件在系統(tǒng)聚類分析中的應(yīng)用
摘要:多元統(tǒng)計(jì)聚類方法已被廣泛應(yīng)用于自然科學(xué)和社會(huì)科學(xué)的各個(gè)領(lǐng)域,而在現(xiàn)實(shí)處理多元數(shù)據(jù)聚類分析中,離不開統(tǒng)計(jì)軟件的支持;R軟件由于其免費(fèi)、開源、強(qiáng)大的統(tǒng)計(jì)分析及其完美的作圖功能已得到越來越多人的關(guān)注與應(yīng)用;本文結(jié)合實(shí)例介紹了R軟件在多元統(tǒng)計(jì)系統(tǒng)分析中的應(yīng)用。
關(guān)鍵詞:R軟件;系統(tǒng)聚類分析;多元統(tǒng)計(jì)
引言
多元統(tǒng)計(jì)分析是統(tǒng)計(jì)學(xué)的一個(gè)重要分支,也稱多變量統(tǒng)計(jì)分析;在現(xiàn)實(shí)生活中,受多種指標(biāo)共同作用和影響的現(xiàn)象大量存在,多元統(tǒng)計(jì)分析就是研究多個(gè)隨機(jī)變量之間相互依賴關(guān)系及其內(nèi)在統(tǒng)計(jì)規(guī)律的重要學(xué)科,其中最常用聚類分析方法,由于多元統(tǒng)計(jì)聚類分析方法一般涉及復(fù)雜的數(shù)學(xué)理論,一般無法用手工計(jì)算,必須有計(jì)算機(jī)和統(tǒng)計(jì)軟件的支持。
在統(tǒng)計(jì)軟件方面,常用的統(tǒng)計(jì)軟件有SPSS、SAS、STAT、R、S-PLUS,等等。R軟件是一個(gè)自由、免費(fèi)、開源的軟件,是一個(gè)具有強(qiáng)大統(tǒng)計(jì)分析功能和優(yōu)秀統(tǒng)計(jì)制圖功能的統(tǒng)計(jì)軟件,現(xiàn)已是國(guó)內(nèi)外眾多統(tǒng)計(jì)學(xué)者喜愛的數(shù)據(jù)分析工具。本文結(jié)合實(shí)例介紹R軟件在多元統(tǒng)計(jì)聚類分析中的應(yīng)用。
一、系統(tǒng)聚類分析
聚類分析又稱群分析,它是研究(樣品或指標(biāo))分類問題的一種多元統(tǒng)計(jì)方法,所謂類,通俗地說,就是指相似元素的集合。在社會(huì)經(jīng)濟(jì)領(lǐng)域中存在著大量分類問題,比如若對(duì)某些大城市的物價(jià)指數(shù)進(jìn)行考察,而物價(jià)指數(shù)很多,有農(nóng)用生產(chǎn)物價(jià)指數(shù)、服務(wù)項(xiàng)目?jī)r(jià)指數(shù)、食品消費(fèi)物價(jià)指數(shù)、建材零售價(jià)格指數(shù)等等。由于要考察的物價(jià)指數(shù)很多,通常先對(duì)這些物價(jià)指數(shù)進(jìn)行分類??傊枰诸惖膯栴}很多,因此聚類分析這個(gè)有用的工具越來越受到人們的重視,它在許多領(lǐng)域中都得到了廣泛的應(yīng)用。
聚類分析內(nèi)容非常豐富,有系統(tǒng)聚類法、有序樣品聚類法、動(dòng)態(tài)聚類法、模糊聚類法、圖論聚類法、聚類預(yù)報(bào)法等;最常用最成功的聚類分析為系統(tǒng)聚類法,系統(tǒng)聚類法的基本思想為先將n個(gè)樣品各自看成一類,然后規(guī)定樣品之間的“距離”和類與類之間的距離。選擇距離最近的兩類合并成一個(gè)新類,計(jì)算新類和其他類(各當(dāng)前類)的距離,再將距離最近的兩類合并。這樣,每次合并減少一類,直至所有的樣品都?xì)w成一類為止。
系統(tǒng)聚類法的基本步驟:
1、計(jì)算n個(gè)樣品兩兩間的距離。
2、構(gòu)造n個(gè)類,每個(gè)類只包含一個(gè)樣品。
3、合并距離最近的兩類為一新類。
4、計(jì)算新類與各當(dāng)前類的距離。
5、重復(fù)步驟3、4,合并距離最近的兩類為新類,直到所有的類并為一類為止。
6、畫聚類譜系圖。
7、決定類的個(gè)數(shù)和類。
系統(tǒng)聚類方法:1、最短距離法;2、最長(zhǎng)距離法;3、中間距離法;4、重心法;5、類平均法;6、離差平方和法(Ward法)。
二、基于R語言的系統(tǒng)聚類分析程序
R軟件及其相關(guān)包提供了各種聚類方法,主要是系統(tǒng)聚類方法、快速聚類方法、模糊聚類方法,常用的是系統(tǒng)聚類方法。
R軟件實(shí)現(xiàn)系統(tǒng)聚類的程序如下:
hclust(d,method="complete",members=NULL)
其中,d是由“dist”構(gòu)成的距離結(jié)構(gòu),具體包括絕對(duì)值距離、歐氏距離、切比雪夫距離、馬氏距離、蘭氏距離等,默認(rèn)為歐氏距離;method包括類平均法average、重心法centroid、中間距離法median、最長(zhǎng)距離法complete、最短距離法single、離差平方和法ward等,默認(rèn)是最長(zhǎng)距離法complete。
三、應(yīng)用舉例
表1是山東省2008年各市居民家庭平均每人全年消費(fèi)性支出,利用所給數(shù)據(jù)對(duì)各市進(jìn)行系統(tǒng)聚類。(表1)
R語言程序如下:
>X<-read.delim("clipboard",header=T)
>row.names(X)<-c("濟(jì)南","青島","淄博","棗莊","東營(yíng)","煙臺(tái)","濰坊","濟(jì)寧","泰安","威海","日照","萊蕪","臨沂","德州","聊城","濱州","菏澤")
>d<-dist(scale(X))
>hc1<-hclust(d,"single")#最短距離法
>hc2<-hclust(d,"complete")#最長(zhǎng)距離法
>hc3<-hclust(d,"median")#中間距離法
>hc4<-hclust(d,"ward")#Ward法
>opar<-par(mfrow=c(2,2))
>plot(hc1,hang=-1);plot(hc2,hang=-1)
>plot(hc3,hang=-1);plot(hc4,hang=-1)
輸出結(jié)果(圖1)
結(jié)果分析
由圖1可以看出,不同方法的分類大體一樣,結(jié)合山東省具體實(shí)際情況,最長(zhǎng)距離法分類效果較好。
在系統(tǒng)聚類分析中,利用R軟件是最方便、最簡(jiǎn)單、最易學(xué)的,而且根據(jù)不同的情況,可以自己修改別人的程序,比較方便;可以在處理多元數(shù)據(jù)聚類分析中,利用R軟件具有很大的優(yōu)勢(shì)。
主要參考文獻(xiàn):
[1]王斌會(huì).多元統(tǒng)計(jì)分析及R語言建模[M].廣州:暨南大學(xué)出版社,2010.
[2]湯銀才.R語言與統(tǒng)計(jì)分析[M].北京:高等教育出版社,2005.
[3]高惠璇.應(yīng)用多元統(tǒng)計(jì)分析[M].北京:北京大學(xué)出版社,2005.
[4]李衛(wèi)東.應(yīng)用多元統(tǒng)計(jì)分析[M].北京:北京大學(xué)出版社,2008.