99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀如何正確應(yīng)用SPSS 軟件做主成分分析
如何正確應(yīng)用SPSS 軟件做主成分分析
2017-01-21
收藏

如何正確應(yīng)用SPSS 軟件做主成分分析

1引言

主成分分析( principal components analysis) 也稱主分量分析,由霍特林(Hotelling)于1933 年首先提出。主成分分析是利用降維的思想,在損失很少信息的前提下把多個(gè)指標(biāo)轉(zhuǎn)化為幾個(gè)綜合指標(biāo)的多元統(tǒng)計(jì)方法。通常把轉(zhuǎn)化后的綜合指標(biāo)稱之為主成分,其中每個(gè)主成分都是原始變量的線性組合,且各個(gè)主成分之間互不相關(guān),這就使得主成分比原始變量具有某些更優(yōu)越的性能。這樣在研究復(fù)雜問(wèn)題時(shí)就可以只考慮少數(shù)幾個(gè)主成分而不至于損失太多信息,從而更容易抓住主要矛盾,揭示事物內(nèi)部變量之間的規(guī)律性,同時(shí)使問(wèn)題得到簡(jiǎn)化,提高分析效率。

由于主成分分析的這些優(yōu)勢(shì),在實(shí)際問(wèn)題中遇到指標(biāo)較多且各指標(biāo)相關(guān)關(guān)系較大時(shí),人們??紤]應(yīng)用主成分分析的方法。但是目前用SPSS 軟件分析主成分的教材中和發(fā)表的文章中有很多錯(cuò)誤和誤解之處(SAS 軟件中有主成分分析和因子分析的專門語(yǔ)句,一般不會(huì)出現(xiàn)這種情況) :(1)如果把主成分與原始變量(或標(biāo)準(zhǔn)化后的變量) 的相關(guān)系數(shù)矩陣叫做因子負(fù)荷陣,把原始變量標(biāo)準(zhǔn)化后用因子來(lái)表示的系數(shù)陣叫做因子載荷陣,那么SPSS 軟件得到的是因子載荷陣,因子載荷陣表示標(biāo)準(zhǔn)化后的主成分( 或叫公因子,方差為1) 來(lái)近似標(biāo)準(zhǔn)化后原始變量的系數(shù)矩陣。(2)主成分的系數(shù)是因子載荷陣推出的,不是從因子負(fù)荷陣推出的,即從因子分析得到的載荷陣求主成分的系數(shù)時(shí)很多教材中和文章中的公式表達(dá)錯(cuò)誤,雖然實(shí)際數(shù)據(jù)結(jié)果是對(duì)的。這時(shí)的主成分的方差不是1,即非標(biāo)準(zhǔn)化的主成分。(3)當(dāng)SPSS 軟件從相關(guān)系數(shù)求主成分時(shí),主成分應(yīng)表示為標(biāo)準(zhǔn)化后的隨機(jī)變量的線性組合,有些文獻(xiàn)中就沒(méi)加區(qū)分,把主成分直接寫成原始變量的線性組合。(4)為了從因子分析得到主成分的系數(shù),在SPSS 軟件中對(duì)因子不要旋轉(zhuǎn),實(shí)際上很多人旋轉(zhuǎn)了。(5)從因子得分系數(shù)矩陣得到主成分系數(shù)表達(dá)式,可以認(rèn)為因子與標(biāo)準(zhǔn)化原始變量間的變換關(guān)系是可逆的,因?yàn)橐蜃拥奶崛〔捎弥鞒煞址椒〞r(shí),標(biāo)準(zhǔn)化后的隨機(jī)變量完全由因子來(lái)表示[3]。鑒于以上錯(cuò)誤和誤解,本文從主成分分析與因子分析的關(guān)系出發(fā),借用SPSS 軟件自帶的例子,進(jìn)行了正確的操作,將其結(jié)果與SAS 軟件進(jìn)行比較,結(jié)果完全相同。

2聯(lián)系與區(qū)別

(一) 主成分分析

設(shè)對(duì)某一事物的研究涉及到p 個(gè)指標(biāo),記為X1,X2,…Xp,這p 個(gè)指標(biāo)構(gòu)成的p 維隨機(jī)向量為X= ( X1,X2,…Xp) ′。對(duì)X 進(jìn)行線性變換,可以形成新的綜合變量,用Y 表示,也就是說(shuō),新的綜合變量可以由原來(lái)的變量線性表示,滿足下式:

Y1 = b11X1 + b12X2 + … + b1pXp

Y2 = b21X1 + b22X2 + … + b2pXp

……

Yp = bp1X1 + bp2X2 + … + bppXp  (1)


由于可以任意地對(duì)原始變量進(jìn)行上述的線性變換,不同的線性變換得到的綜合變量Y 的統(tǒng)計(jì)特性也不盡相同。通常主成分要求滿足如下的三個(gè)條件:

1. b′ibi = 1,即b2 i1 + b2 i2 + … + b2ip = 1,b′i = ( bi1,bi2,…,bip) ,i = 1,2,…,p;

2. Yi與Yj相互無(wú)關(guān)( i≠j;i,j = 1,2,…p) ;

3. Y1是X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者;Y2是與Y1不相關(guān)的X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者;……;Yp是與Y1,Y2,…,Yp - 1都不相關(guān)的X1,X2,…Xp的一切滿足條件1 的線性組合中方差最大者。

基于以上三個(gè)條件決定的綜合變量,我們把Y1,Y2,…,Yp重新記為G1,G2,…,Gp,分別稱為原始變量的第一、第二、…、第p 主成分,其系數(shù)重新記為cij,(i,j = 1,2,…,p) ,根據(jù)矩陣代數(shù)的知識(shí),每個(gè)主成分的方差( var(Gi) ,i = 1,2,…,p) ,其實(shí)就是X1,X2,…Xp的協(xié)方差陣Σ 的非零特征值(λi) ,于是主成分與原始變量關(guān)系為:

G1 = c11X1 + c12X2 + … + c1pXp

G2 = c21X1 + c22X2 + … + c2pXp

……

Gp = cp1X1 + cp2X2 + … + cppXp  (2)


記G = (G1,G2,…,Gp) ′,C = (cij)p × p,那么上式可以表示為:G = C′X,其中C是正交陣。如果數(shù)據(jù)是標(biāo)準(zhǔn)化后,即從相關(guān)系數(shù)矩陣出發(fā),求得的特征值與對(duì)應(yīng)的特征向量為主成分的系數(shù)矩陣?;谙嚓P(guān)系數(shù)矩陣還是基于協(xié)方差矩陣做主成分分析:當(dāng)分析中所選擇的經(jīng)濟(jì)變量具有不同的量綱,變量水平差異很大,應(yīng)該選擇基于相關(guān)系數(shù)矩陣的主成分分析。對(duì)同度量或是取值范圍在同量級(jí)的數(shù)據(jù),還是直接從協(xié)方差矩陣求主成分。

對(duì)上述問(wèn)題涉及到的p 個(gè)指標(biāo)X1,X2,…Xp,我們?yōu)榱藦南嚓P(guān)系數(shù)矩陣出發(fā),將p 個(gè)指標(biāo)標(biāo)準(zhǔn)化后記為ZX = ( ZX1,ZX2,…ZXp) ′,相關(guān)系數(shù)矩陣記為R。那么求得的主成分可以表示為:

F1 = u11ZX1 + u12ZX2 + … + u1pZXp

F2 = u21ZX1 + u22ZX2 + … + u2pZXp

……

Fp = up1ZX1 + up2ZX2 + … + uppZXp  (3)


其中:u′i = ( ui1,ui2,…,uip) ,F(xiàn) = (F1,F(xiàn)2,…,F(xiàn)p) ′,

那么上式可以表示為:F = U′ZX,其中U 是正交陣。

(二) 因子分析

因子分析(factor analysis) 的一般模型:設(shè)對(duì)某一事物的研究涉及到p 個(gè)指標(biāo)X1,X2,…Xp,這p 指標(biāo)有著較強(qiáng)的相關(guān)性,為了便于研究,在指標(biāo)同向化的基礎(chǔ)上,將樣本數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。為了說(shuō)明方便,將同向化和標(biāo)準(zhǔn)化后的變量向量用ZX 表示,即ZX= (ZX1,ZX2,…ZXp) ′,其均值向量E(ZX)= 0,協(xié)方差矩陣記為cov(ZX) = Σ zx,其實(shí)這里的協(xié)方差矩陣Σ zx與相關(guān)系數(shù)矩陣Rzx相同,那么因子分析

的一般模型為:

ZX1 = a11 f1 + a12 f2 + … + a1m fm + ε1

ZX2 = a21 f1 + a22 f2 + … + a2m fm + ε2

……

ZXp = ap1 f1 + ap2 f2 + … + apm fm + εp  (4)

其中f = (f1,f2,…fm) ′,(m < p ) 為公因子,ε= (ε1,ε1,…εp) ′為特殊因子,它們都是不可觀測(cè)的隨機(jī)變量,A = (aij)p × m叫做因子載荷陣。f 的均值向量E(f) = 0,協(xié)方差cov(f) = I,E(ε) = 0,且ε 與f相互獨(dú)立,ε 的協(xié)方差矩陣是對(duì)角陣。

(三) 主成分與因子分析的聯(lián)系

主成分分析與因子分析都是絳維的分析方法,利用少數(shù)幾個(gè)變量對(duì)數(shù)據(jù)進(jìn)行解釋。主成分分析是一種數(shù)據(jù)的變換,而不假定數(shù)據(jù)陣有什么樣的結(jié)構(gòu)形式;因子分析可以看成是一種模型分析,當(dāng)模型的某些條件不滿足時(shí),因子分析可能是虛假的。主成分分析的重點(diǎn)放在從觀測(cè)變量到主成分的變換上,因子分析重點(diǎn)放在從基本因子到觀測(cè)變量的變換上,主成分變換是可逆的,因子分析則不要求。當(dāng)特殊因子的變差為0時(shí),主成分分析和因子分析是完全等價(jià)的。那么對(duì)于一個(gè)因子分析模型怎么估計(jì)其因子載荷矩陣A,實(shí)踐中有很多方法,其中有一種就是上述的主成分分析方法,從公式F= U′ZX 我們可以得到ZX = UF,具體表達(dá)式為:

ZX1 = u11F1 + u21F2 + … + up1Fp

ZX2 = u12F1 + u22F2 + … + up2Fp

……

ZXp = u1pF1 + u2pF2 + … + uppFp  (5)

對(duì)上面的等式(5)只保留前m(m < p) 個(gè)主成分,而把后面的部分用εi代替,則

當(dāng)主成分F1,F(xiàn)2,…,F(xiàn)p是從標(biāo)準(zhǔn)化后的相關(guān)系數(shù)矩陣求出,各成分相互獨(dú)立,且其方差按大到小的排序?yàn)棣?,λ2…λp,我們將式(6)

做。通過(guò)上述變換,我們就能得到與式(4)類似的因子模型表達(dá)式。注意這里的ε1,ε2,…εp與式(4 ) 的ε1,ε2,…εp是有區(qū)別的,式(4)要求它們相互獨(dú)立而這里它們之間不獨(dú)立,為了方便還是用原符號(hào)表示。

實(shí)際上對(duì)于主成分分析SPSS 軟件中沒(méi)有對(duì)應(yīng)的模塊,但是因子分析模塊中有利用主成分分析來(lái)求得因子載荷矩陣,根據(jù)上面主成分分析與因子分析的聯(lián)系,我們可以從SPSS 的因子載荷矩陣得到主成分分析的系數(shù)。由于主成分分析所得到的特殊因子ε1,ε2,…εp并不獨(dú)立,因此所得的因子載荷并不完全正確。但是當(dāng)共同度較大時(shí),特殊因子所起的作用較小,那么特殊因子之間的相關(guān)性所帶來(lái)的影響就幾乎可以忽略不計(jì),這時(shí)主成分分析和因子分析是完全等價(jià)的(公因子的數(shù)目與變量一樣多)。這時(shí)可以利用式(4)中的aij反推出式(3)中的uij它們之間的關(guān)系是,也就是推出了從因子載荷矩陣得到主成分系數(shù)表達(dá)式。

3主成分分析的SPSS 實(shí)現(xiàn)

本文利用SPSS 軟件自帶的數(shù)據(jù)集Employee data 為例說(shuō)明如何利用因子分析模塊得到主成分系數(shù)。數(shù)據(jù)集Employee data 為Midwestern 銀行在1969 - 1971 年之間雇員情況的數(shù)據(jù),共包括474 條觀測(cè)及如下10個(gè)變量:Id(觀測(cè)號(hào))、Gender(性別)、Bdate(出生日期)、Educ (受教育程度(年數(shù)))、Jobcat(工作種類)、Salary (目前年薪)、Salbegin (開(kāi)始受聘時(shí)的年薪)、Jobtime(受雇時(shí)間)、Prevexp(受雇以前的工作時(shí)間)、Minority(是否少數(shù)民族)。我們將educ、salary、salbegin、jobtime、prevexp 依次表示為X1,X2,X3,X4,X5。數(shù)據(jù)在同向化的基礎(chǔ)上SPSS 中的因子分析默認(rèn)針對(duì)標(biāo)準(zhǔn)化后的數(shù)據(jù)來(lái)分析的,所以利用Analyze → Descriptive Statistics →Descriptives…進(jìn)入描述性統(tǒng)計(jì)對(duì)話框,依次選中變量X1,X2,X3,X4,X5并點(diǎn)向右的箭頭按鈕,這五個(gè)變量便進(jìn)入variables 窗口,選中Save standardizedas variables 復(fù)選框,點(diǎn)擊OK 按鈕,即可在數(shù)據(jù)窗口得到標(biāo)準(zhǔn)化的數(shù)據(jù)ZX1,ZX2,ZX3,ZX4,ZX5。接下來(lái)對(duì)標(biāo)準(zhǔn)化后的數(shù)據(jù)進(jìn)行分析,點(diǎn)擊Analyze→Data Reduction→Factor…進(jìn)入Factor Analysis( 因子分析)對(duì)話框。依次選中變量ZX1,ZX2,ZX3,ZX4,ZX5(用原始數(shù)據(jù)也是一樣,標(biāo)準(zhǔn)化主要是在主成分表達(dá)中需要)并點(diǎn)向右的箭頭按鈕,這五個(gè)變量便進(jìn)入variables 窗口,點(diǎn)擊右側(cè)的OK 按鈕,即可得到表1、表2 和表3。

表1中的Communalities(共同度)數(shù)據(jù)給出了該次分析從每個(gè)原始變量中提取的信息(特征根大于1),可以看到除受教育程度(ZX1)信息損失較大外,主成分幾乎包含了各個(gè)原始變量至少90% 的信息。表2 中的Total Variance Explained(總方差解釋部分)則顯示了各主成分解釋原始變量總方差的情況,SPSS 默認(rèn)保留特征根大于1 的主成分,在本例中看到當(dāng)保留3 個(gè)主成分為宜,這3 個(gè)主成分集中了原始5 個(gè)變量信息的90. 66% ,可見(jiàn)效果是比較好的。表3中Component Matrix(因子載荷矩陣)給出了標(biāo)準(zhǔn)化原始變量用公因子線性表示的近似表達(dá)式,提取三個(gè)公因子時(shí)的因子模型可以表示為:

ZX1 = 0. 846f1 - 0. 194f2 - 0. 014f3 + ε1

ZX2 = 0. 940f1 + 0. 104f2 + 0. 029f3 + ε2

……

ZX5 = - 0. 178f1 + 0. 965f2 + 0. 069f3 + εp

根據(jù)上面的因子載荷系數(shù)aij與主成分系數(shù)uij之間的關(guān)系 ,也就推出了從相關(guān)系數(shù)矩陣得到的主成分系數(shù)表達(dá)式:

實(shí)際中我們通常只選取前幾個(gè)主成分,例如F1,F(xiàn)2,F(xiàn)3來(lái)反映原p 個(gè)變量信息。主成分系數(shù)還可以通過(guò)進(jìn)入Factor Analysis 對(duì)話框并選擇好變量之后,點(diǎn)擊對(duì)話框下部的Scores 按鈕進(jìn)入Factor Scores 對(duì)話框,選擇Display factor score coefficient matrix 選項(xiàng),并按Continue 繼續(xù),最后點(diǎn)擊OK 按鈕運(yùn)行,也可以推出主成分的系數(shù),具體參見(jiàn)何曉群教授的多元統(tǒng)計(jì)分析。作者又應(yīng)用SAS 軟件(從相關(guān)系數(shù)出發(fā)) 得到的結(jié)果與上述的結(jié)果一樣。

4結(jié)論

從上面的分析可以看出,因子分析和主成分分析都依賴于原始變量,所以原始變量的選擇很重要(指標(biāo)的選擇非常重要)。如果原始變量都本質(zhì)上獨(dú)立,那么降維就可能失敗,這是因?yàn)楹茈y把很多獨(dú)立變量用少數(shù)綜合的變量概括。數(shù)據(jù)越相關(guān),降維效果就越好。其次,對(duì)于具體的問(wèn)題指標(biāo)選取之后還要對(duì)其處理,正向指標(biāo)、逆向的指標(biāo)和區(qū)間型指標(biāo)怎樣轉(zhuǎn)換成可以比較的指標(biāo)問(wèn)題。最后,從相關(guān)系數(shù)出發(fā)建立主成分的系數(shù)矩陣還是從協(xié)方差矩陣出發(fā)建立主成分的系數(shù)還沒(méi)有定論。因子分析中的特殊因子如果作用較大,不能從因子載荷陣推主成分系數(shù)??梢?jiàn)建立主成分模型的事前步驟和事后分析很重要,不是隨便什么數(shù)據(jù)拿來(lái)用SPSS軟件分析得出結(jié)果就行了。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }