郭呈全,陳希鎮(zhèn)
(溫州大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,浙江溫州325000)
主成分回歸的SPSS實(shí)現(xiàn)
郭呈全,陳希鎮(zhèn)
(溫州大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,浙江溫州325000)
文章結(jié)合主成分分析和線性回歸分析的原理,利用SPSS15.0的Descriptives、Data Reduction、Linear Regression、Compute Variable模塊的功能,把主成分回歸的每一步計(jì)算過程用SPSS展現(xiàn)出來,并且對結(jié)果給出SAS驗(yàn)證。這不僅使學(xué)生更好地掌握主成分回歸的相關(guān)知識(shí),而且可以培養(yǎng)學(xué)生靈活使用SPSS軟件。
共線性;主成分回歸;特征值;特征向量;SPSS
在進(jìn)行多元線性回歸分析時(shí),經(jīng)常會(huì)遇到自變量之間存在近似線性關(guān)系的現(xiàn)象,這種現(xiàn)象被稱為共線性[1]。當(dāng)共線性嚴(yán)重時(shí),用最小二乘法建立的回歸模型將會(huì)增加參數(shù)的方差,使得回歸方程變的很不穩(wěn)定,有些自變量對因變量影響的顯著性被隱藏起來,某些回歸系數(shù)的符號(hào)與實(shí)際意義不相符[2],回歸方程和回歸系數(shù)通不過顯著性檢驗(yàn)。處理共線性的主要方法有篩選變量法、嶺回歸法、主成分回歸法、偏最小二乘法等。在文獻(xiàn)[2]中高惠旋使用SAS軟件對處理共線性的主成分回歸方法進(jìn)行了實(shí)現(xiàn),但是很多人只熟悉SPSS操作,SPSS沒有直接提供主成分回歸的模塊,文獻(xiàn)[3]雖然也提出使用SPSS進(jìn)行主成分回歸,但是他首先使用了篩選變量法,沒能真正體現(xiàn)主成分回歸方法提取主成分的優(yōu)勢,而且其操作過程非常繁瑣,沒有靈活使用SPSS軟件模塊功能。本文結(jié)合主成分分析和線性回歸分析的原理,巧用SPSS15.0的Descriptives、Data Reduction、Linear Regression、Compute Variable模塊的功能,把主成分回歸的每一步計(jì)算過程用SPSS展現(xiàn)出來,并且對結(jié)果給出了SAS驗(yàn)證。不但得出了正確結(jié)果,而且把每一步計(jì)算過程完整地呈現(xiàn)出來,這樣既有利學(xué)生掌握有關(guān)方面的知識(shí),還能加深學(xué)生對統(tǒng)計(jì)軟件的靈活使用和掌握。
1933年,Hotelling提出主成分分析方法,主成份分析的核心思想就是通過降維,把多個(gè)指標(biāo)化為少數(shù)幾個(gè)綜合指標(biāo),而盡量不改變指標(biāo)體系對因變量的解釋程度。W.F. Massy于1965年根據(jù)主成份分析的思想提出了主成份回歸。如今主成份回歸方法已經(jīng)被廣泛采用,成為回歸分析中解決多重共線性比較有效的方法。
設(shè)Y=(y1,y2,…,yn),假設(shè)X設(shè)計(jì)矩陣已經(jīng)中心化,記λ1≥λ2≥…≥λp為X'X的特征根,Φ=(φ1,φ2,…,φp)為對應(yīng)的標(biāo)準(zhǔn)正交化特征向量。主成分回歸的計(jì)算步驟是:
(1)為了使結(jié)果不受量綱的影響,先把原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化;
(2)求X'X的特征值和對應(yīng)的標(biāo)準(zhǔn)正交化特征向量;
(3)做回歸自變量選擇。最大的特征值對應(yīng)的特征向量即為第一主成分的系數(shù),第二大的特征值對應(yīng)的特征向量即為第二主成分的系數(shù),以此類推。取幾個(gè)主成分取決于主成分對因變量的解釋程度。如果前i個(gè)特征值之和與所有特征值之和的比達(dá)到一定的程度比如85%時(shí),就可以認(rèn)為這些主分就能代替所有的自變量體系。剔除對應(yīng)的特征值比較小的那些主成分。
(4)做正交變換Z=XΦ,獲得新的自變量;
(5)將剩余的成分對因變量進(jìn)行普通最小二乘回歸,再返回到原來的參數(shù),便得到因變量對原始變量的主成分回歸。
總結(jié)這些步驟可以看出:主成份回歸解決多重共線性問題是通過求特征值和特征向量達(dá)到降維來實(shí)現(xiàn)的。因?yàn)樵诮稻S前指標(biāo)之間的多重共線性可能是由于某個(gè)指標(biāo)或者少數(shù)指標(biāo)所包含的信息與其他指標(biāo)所包含的信息之間的相關(guān)性引起的,通過降維的處理我們提取出了主成份,就像是把指標(biāo)體系所包含的信息分了類,某一大類由一個(gè)主成份來表現(xiàn),這樣就消除了產(chǎn)生多重共線性問題的根源:信息的交迭[4]。
利用文獻(xiàn)[1]中的外貿(mào)數(shù)據(jù):因變量Y為進(jìn)口總額,自變量X1為國內(nèi)總產(chǎn)值,X2為存儲(chǔ)量,X3為總消費(fèi)。為了建立Y對自變量X1,X2和X3之間的依賴關(guān)系,收集了11組數(shù)據(jù)見表1。
表1
執(zhí)行:Analyze→Descriptives Statistics→Descriptives,將變量y,x1,x2,x3選入Variables的對話框中,選定Save standardized values as variables,即將標(biāo)準(zhǔn)化后的數(shù)據(jù)作為變量保存。見表2。
表2 描述性統(tǒng)計(jì)量表
描述性統(tǒng)計(jì)量表中顯示各變量的樣本數(shù)(N)、均數(shù)(mean)和標(biāo)準(zhǔn)差(Std.Deviation),以便于對中心化后的自變量進(jìn)行完主成分回歸后還原為原始變量。
共線性就是對自變量觀測數(shù)據(jù)構(gòu)成的矩陣X'X進(jìn)行分析,使用各種指標(biāo)反映自變量間的相關(guān)性。進(jìn)行共線性診斷的方法有很多種,目前較為常用的診斷方法有:條件數(shù)(condition index)、容忍度Tolerance(或方差膨脹因子(VIF))、特征根(Eigen value)分解法。
(1)條件數(shù):是指X'X的最大特征根與最小特征根之比k=λ1/λp,它刻畫了特征值差異的大小。一般情況下k<100,則認(rèn)為復(fù)共線性很??;100≤k≤1000認(rèn)為存在中等程度的復(fù)共線性;若k>1000則認(rèn)為存在嚴(yán)重共線性。
(2)容忍度:以每個(gè)自變量作為因變量對其他自變量進(jìn)行回歸分析時(shí)得到殘差比例,用1減去決定系數(shù)來表示(1-R2),越小說明共線性越重,T<0.1時(shí)共線性非常嚴(yán)重(陳希孺)。由此方差膨脹因子(VIF):定義VIF=1/T,VIF越大,說明共線性越嚴(yán)重。
(3)特征根分解法:對自變量進(jìn)行主成分分析,若相當(dāng)多維度的特征根為0,則共線性嚴(yán)重。
本例共線性診斷操作步驟如下:執(zhí)行:Analyze→Regression→Linear,在Dependent中選擇導(dǎo)入,在Independent中導(dǎo)入Zx1,Zx2,Zx3,在statistics中選中Colinearity statistics,其它選項(xiàng)默認(rèn),得表3。
表3 回歸系數(shù)和共線性統(tǒng)計(jì)量
表3給出線性回歸方程中回歸系數(shù)的估計(jì)值和共線性統(tǒng)計(jì)量,表中ZX1和ZX3容忍度都為0.005<0.1,并且其方差膨脹因子VIF都很大,說明它們之間存在嚴(yán)重的共線性。
表4 共線性診斷指標(biāo)
從表4可以看出,條件數(shù)1.999/0.003≈666.33,故共線性程度較嚴(yán)重。從方差百分比上看,ZX1和ZX3變量間也存在明顯相關(guān)性。
執(zhí)行:Analyze→Data Reduction→Factor,選定標(biāo)準(zhǔn)化后的變量Zx1,Zx2,Zx3進(jìn)入Variables中,Extraction中的選項(xiàng),method選用principal components,Analyze選用covariance matrix,在提取主成分的Extract中選用Number of factor并在后面的框中填入3,提取三個(gè)主成分。在Scores中選擇Save as variables;在method中選擇reg;不進(jìn)行旋轉(zhuǎn),結(jié)果輸出如表5。
表5 主成分提取匯總表
表5顯示三個(gè)特征值分別為λ1=1.999,λ2=0.998,λ3= 0.003,前兩個(gè)特征值的累計(jì)貢獻(xiàn)率達(dá)到99.91%,因此剔除第三個(gè)主成分,相應(yīng)的因子載荷矩陣如表6。
表6 得分矩陣
前兩個(gè)特征值λ1=1.999,λ2=0.998,對應(yīng)的標(biāo)準(zhǔn)正交化特征向量分別為:
下面使用Compute Variable模塊的功能,計(jì)算第一和第二主成分。
執(zhí)行:Analyze→Transform→Compute Variable,在Target Variable中輸入Z1,在Numeric Expression中計(jì)算公式為:Z1=FAC1_1*sprt(1.999),單擊OK產(chǎn)生新變量Z1,同上得:
Z2=FAC2_1*sqrt(0.998),于是得:
輸出變量結(jié)果如表7。
表7 主成分表
對第一主成分Z1和第二主成分Z2做關(guān)于中心化因變量Zy的最小二乘回歸分析。
執(zhí)行:Analyze→Regression→Linear,在Dependent中選擇Zy導(dǎo)入,在Independent中導(dǎo)入Z1和Z2,做最小二乘回歸。見表8。
表8 回歸系數(shù)
回歸系數(shù)估計(jì)值為:→β1=0.690,→β2=0.191,常數(shù)項(xiàng)近似為零。把上面關(guān)系式代入:
Zy=0.69Z1+0.191Z2+7.07E-017,求得:
因此,Zy=0.4806Zx1+0.2298Zx2+0.4825Zx3。
y=-9.1057+0.0727x1+0.6091x2+0.1062x3。
使用SAS的REG過程,對上述數(shù)據(jù)做主成分分析,SAS程序如下:
Proc reg data=a outset=out1;
Model y=x1-x3/pcomit=1,2 outvif;
Proc print data=out1;
Run后輸出如下結(jié)果:
由SAS運(yùn)行結(jié)果可以看出,這個(gè)主成分回歸中回歸系數(shù)的符號(hào)都是有意義的;各個(gè)回歸系數(shù)的方差膨脹因子均小于1.1;主成分回歸的均方根誤差是:RMSE=0.55001,雖然比最小二乘的均方根誤差(RMSE=0.48887)有所增加,但增加很小。在刪去第三個(gè)主成分(PCOMIT=1)后的主成分回歸方程為:
y=-9.1301+0.7278x1+0.960922x2+0.10626x3
這一結(jié)果與我們SPSS處理結(jié)果近似相等,進(jìn)而互相驗(yàn)證了彼此的正確性。
本數(shù)據(jù)選自文獻(xiàn)[1],在文獻(xiàn)[1]中的人工計(jì)算結(jié)果以及文獻(xiàn)[2]通過SAS編程得到的計(jì)算結(jié)果都與此相同,這說明我們利用SPSS的計(jì)算過程與結(jié)果是正確的。另一方面,由計(jì)算過程可以看出,一道題的計(jì)算過程的實(shí)現(xiàn)不只是在一個(gè)操作菜單的命令下就可以完成,本例用SPSS15.0的Descriptives、Data Reduction、Linear Regression、Compute Variable模塊的功能,因此對軟件SPSS的使用要求就上升到能熟練運(yùn)用的高度。本文說明,如果能在多元統(tǒng)計(jì)教學(xué)的同時(shí)注意有關(guān)軟件的使用,開動(dòng)腦筋,靈活使用,不但能很好地實(shí)現(xiàn)每一步的計(jì)算過程,而且還可用來解決更多新問題。這不但有利于學(xué)生掌握有關(guān)方面的知識(shí),而且加深了對統(tǒng)計(jì)軟件的使用和掌握,從而達(dá)到培養(yǎng)學(xué)生靈活應(yīng)用統(tǒng)計(jì)軟件SPSS的目的。
[1]王松桂,陳敏,陳立萍.線性統(tǒng)計(jì)模型:線性回歸與方差分析[M].北京:高等教育出版社,2004.
[2]高惠旋.處理多元線性回歸中自變量共線性的幾種方法[J].數(shù)理統(tǒng)計(jì)與管理,2000,20(5).
[3]劉潤幸,蕭燦培,宮齊等.利用SPSS進(jìn)行主成分回歸分析[J].數(shù)理醫(yī)藥學(xué)雜志,2001,14(2).
[4]周松青.解決多重共線性問題的線性回歸方法[J].江蘇統(tǒng)計(jì),2000,(11).
(責(zé)任編輯/易永生)
O21
A
1002-6487(2011)05-0157-03
國家統(tǒng)計(jì)局資助項(xiàng)目(LX08081);浙江省精品課程“統(tǒng)計(jì)學(xué)概論”和溫州大學(xué)研究生精品課程“多元統(tǒng)計(jì)學(xué)分析”資助