主成分與因子分析是醫用多元統計分析教學中的一個難點,筆者結合幾年來教學中的一些體會,談談自己膚淺的見解,向學界前輩、同仁討教。
主成分與因子分析的難點是概念抽象,計算復雜,很多名詞也是第一次接觸,如特征根、特征向量、因子負荷、旋轉等。相應的教學對策就是要將抽象概念具體化,復雜計算簡單化。
1 概念
主成分與因子分析中的概念比較抽象,難以理解。因此,教學中第一個碰到的問題是,什么是主成分?什么是因子?
主成分是對變量共性的提取。這句話可以通過下面的一個例子來說明。
設x[,1],x[,2]的相關系數為r(不妨假設r≥0),可以理解為x[,1],x[,2]的信息量均為1,總信息量為2,r是其共性部分。 兩個主成分對應的特征根分別為:λ[,1]=1+r和λ[,2]=1-r,即第一主成分包含的信息量為1+r,第二主成分包含的信息量為1-r,總信息量仍為2。可見主成分是對信息量的再分配,且第一主成分包括的信息隨兩變量相關程度(共性)的增大而增大,當兩變量完全相關時,λ[,1]=2,λ[,2]=1,即第一主成分包括的了x[,1],x[,2]的全部信息;而當兩變量無相關時,λ[,1]=λ[,2]=1,第一、二主成分包括x[,1],x[,2]的信息各占一半。因此,當變量間的相關關系不明顯時,作主成分分析意義不大。
因子分析基于這樣的基本思想:根據相關性的大小把變量分組,使得同組內的變量之間相關性(共性)較高,而不同組的變量相關性較低。這樣,從實際意義上說,每組代表一個方面(因子);從統計學上來講,每組代表了原協方差結構的一個基本結構。這句話可以通過下面的例子解釋。
考察5個生理指標:收縮壓(x[,1]),舒張壓(x[,2]),心跳間隔(x[,3]),呼吸間隔(x[,4]),舌下溫度(x[,5])。從生理學的知識來看,這五個指標都是受植物神經支配的,植物神經又分為交感神經和副交感神經,因此,這5個指標有兩個公共因子, 故可以用因子分析的模型去處理它:若用f[,1]和f[,2]分別表示交感神經和副交感神經,那么,可以想象,x[,1],x[,2],x[,3],x[,4],x[,5]可用f[,1]和f[,2]的線性函數來表示,再加上其他對這些x[,i]有影響的因子,用函數形式可表示為:
x[,i]=l[,i1]f[,1]+l[,i2]f[,2]+u[,i] i=1,2,3,4,5 (1)
因子分析的首要任務就是要估計因子負荷{1[,i[,j]]}和特殊方差{u[,i] },并對每個因子給出合理的解釋,若難以找到合理的解釋,需作一些變換。成功的因子分析就是要用盡量少的因子解釋觀察到的相關性,且每個因子都有一個合理的解釋。
2 主成分與因子的關系
主成分是原變量的線性函數,是對原變量信息的綜合,每個主成分就是一個綜合指標,該綜合指標可以具體估計出來,并可參與進一步的分析。
因子分析是尋找一些意義明確的綜合指標(公因子),并以它們為框架,將原變量分解為共性部分和個性部分,從而洞察原變量間的聯系與區別。而共性部分就是這些公因子的線性函數。綜合指標的提取方法很多,主成分是其中的一種。因此,在講解主成分與因子分析的關系時,可以解釋為:主成分分析是因子分析中的一步,因子分析是主成分的一個應用和發展。
3 主成分的貢獻
主成分的貢獻是用主成分反應原變量方差的多少來衡量的。第i 個主成分對所有原變量的貢獻為λ[,i],而對第j個原變量X[,j]的貢獻是λ[,i]與負荷系數a[2][,ij]的乘積。從而知道為什么稱a[2][,ij]為負荷系數。講解時可以結合圖1來說明,對公因子的解釋亦可仿此。
附圖
圖1 主成分對原變量的貢獻圖
4 因子旋轉
當初始負荷不易解釋時,應用中常常對負荷作正交變換,即旋轉,以便能得到一個更簡單的結構,便于因子的解釋。最理想的是這樣的負荷結構,每個變量只在一個因子上有較大的負荷,而在其余因子上的負荷比較小,至多是中等大小。
旋轉是幾何學上的名詞,實際上,因子分析中的“旋轉”是對變量信息的再一次分配。講解時可作如下比喻:旋轉的在原理很象調節顯微鏡的焦點,以便看清觀察物的細微之處,它們的共同之處是不增加也不減少事物的信息量,只是通過適當的調整使事物的本來面目更清晰。
5 因子分析策略
因子分析總會遇到三個問題:其一,用什么方法提取因子;其二,每個因子的實際背景是什么:其三,需保留多少個因子。因子分析沒有定式,并常伴有主觀性,因此有人說因子分析仍然保留著一種藝術的氣息,猶如藝術家雕刻一塊石頭,并沒有千篇一律的做法。但實際應用時還是有一些經驗可以借鑒。
(1)先采用主成分因子提取法,當因子的意義不是十分明確時,采用方差極大正交旋轉,同時用因子得分探查離群值。
(2)再用極大似然法重復上述步驟。
(3)比較上述兩法所得到的因子分析解,主要分析:(a)因子負荷能否按同種方式分組;(b )兩種方法所得的因子得分各為一個坐標軸作散點圖,如果在一特定因子上兩法所得因子負荷的一致的,則因子得分應密集在過原點的45°線附近,否則因子得分將偏離45°線,如果這種情況發生,常說明因子數選多了。
(4)另選一個因子個數m,重復上述(1)~(3),考察添加因子對解釋的影響。
(5)若數據較多,可再從中隨機抽取一部分(通常是1/3 以上)作因子分析,比較這一部分以及全部數據得到的因子分析解,以考察解的穩定性。這一作法與其他多因素分析法相同。
因子分析中最大的困難莫過于對因子的解釋,如果公因子得不到切合實際的解釋,也就失去了因子分析的意義。
6 應用
主成分分析本身往往并不是目的,而是達到目的的一種手段。因此,它多用在大型研究項目的某個中間環節中。例如,把它用在多元回歸中,便產生了主成分回歸,這種回歸具有一些優良性質,可以克服原變量的多重共線性。另外,它還可以用于綜合評價,聚類分析,判別分析等。如果能結合幾個實例,則學生對主成分的理解將會更深刻。
7 舉例
一個恰當的例子,可以使主成分和因子分析的教學變得簡明易懂,再配合幾個好的習題,通過上機練習,學生自己解釋,可使其具有趣味性。下面的一個例子是值得推薦的。
實例Linden對二次大戰以來的奧林匹克十項全能得分作了因子分析,共有160組數據,對每項運動得分施以標準化變換, 每項運動標準化后的得分服從或近似服從正態分布。從n=160組數據算出的樣本相關矩陣如下,試對樣本相關系數矩陣做因子分析。
百米 ┌1 ┐跳遠 │0.59 1 │鉛球 │0.35 0.42 1 │跳高 │0.34 0.51 0.38 1 │400米 │0.63 0.49 0.19 0.29 1 │百米跨欄│0.40 0.52 0.36 0.46 0.34 1 │鐵餅 │0.28 0.31 0.73 0.27 0.17 0.32 1 │撐竿跳高│0.20 0.36 0.24 0.39 0.23 0.33 0.24 1 │標松 │0.11 0.21 0.44 0.17 0.13 0.18 0.34 0.24 1 │1500米 └-0.07 0.09 -0.08 0.18 0.39 0.00 -0.02 0.17 0.00 1┘
用主成分法提取因子,因子負荷系數見表1。 從主成分法的觀點看,應取m=3或4。從后面的因子負荷的討論可知,取m=4較合適。 應用主成分法算出的因子分析的關量都列在表1中。
表1 奧林匹克資料的因子分析(主成分法)
因子負荷 最大方差旋轉因子負荷變量 共同度 F1 F2 F3 F4百米 0.6905 0.2170 -0.5203 0.2060 0.8370跳遠 0.7885 0.1836 -0.1926 -0.0925 0.7012鉛球 0.7019 -0.5346 0.0470 0.1753 0.8114跳高 0.6737 0.1340 0.1388 -0.3959 0.6478400米 0.6197 0.5511 -0.0838 0.4187 0.8701百米跨欄 0.6869 0.0421 -0.1610 -0.3446 0.6183鐵餅 0.6212 -0.5211 0.1095 02344 0.7244撐竿跳高 0.5385 0.0870 0.4109 -0.4396 0.6596標槍 0.4341 -0.4390 0.3719 0.2345 0.57451500米 0.1466 0.5961 0.6581 0.2787 08876方差 3.7866 1.5173 1.114 0.9134 7.3317累計貢獻 0.3787 0.5304 0.6418 0.7332變量 共同度 F1[*] F2[*] F3[*] F4[*]百米 0.8832 0.1358 0.1580 -0.1162 0.8370跳遠 0.6034 0.1938 0.5159 -0.0074 0.7012鉛球 0.2443 0.8245 0.2231 -0.1487 0.8114跳高 0.2383 0.1505 0.7500 0.0763 0.6478400米 0.7984 00740 0.1027 0.4654 0.8701百米跨欄 0.4021 0.1530 0.6356 -0.711 0.6183鐵餅 0.1859 0.8135 0.1472 -0.0796 0.7244撐竿跳高-0.0368 0.1760 0.7615 0.2176 0.6596標槍 -0.0469 0.7350 0.1095 0.1415 0.57451500米 0.0477 -0.0408 0.1110 0.8335 08876方差 2.1334 2.0220 1.9438 1.2325 7.3317累計貢獻 0.2133 0.4155 0.6099 0.7332
在主成分解中,除了1500米長跑以外,所有項目在F[,1]上都有較大的正載荷,這個因子可稱為一般運動能力,但是其余因子不能很容易地給出解釋,因子F[,2]似乎是跑和投擲能力(臂力)的對比(contrast):而因子F[,3]似乎是長跑耐力(1500米)和短跑速度(100米)的一個對比;因子F[,4]意義不明。
4個因子的主成分解釋了大部分總樣本方差(73%), 雖然有一些特殊方差的估計比較大(如標槍、110米跨欄等)。 這說明這些項目與其他項目比起來,需要運動員具備一些特殊素質。
采用最大方差旋轉,結果見表1。 旋轉后各因子的意義就非常明確了:第一因子在100米、400米及跳遠上有較大負荷,在100 米跨欄上有中等負荷,可稱該因子為短跑速度因子;第二因子在鉛球、鐵餅、標槍上有較大的負荷,可稱其為爆發性臂力因子;第三因子在跳高、撐桿跳高、100米跨欄上有較大負荷,在跳遠上有中等負荷, 可稱該因子為爆發性腿力因子;第四因子只在1500米長跑上有較大負荷,在400 米上有中等負荷,可稱其為耐力因子。各因子的意義比較明確,且每個變量都只在一個因子上有較大的負荷,無明顯的重復現象。
用極大似然法所得因子的意義與主成分因子相同,不贅。
膚淺見解,望能拋磚引玉
中國衛生統計F104統計學陳峰20002000南通醫學院 226001 作者:中國衛生統計F104統計學陳峰20002000
網載 2013-09-10 20:49:42