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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀討論:因子分析非正定矩陣是怎么回事兒
討論:因子分析非正定矩陣是怎么回事兒
2016-07-12
收藏

討論:因子分析非正定矩陣是怎么回事兒

在最近的工作中需要用spss做因子分析,但是在具體操作過程中遇到了頭疼的“非正定矩陣的問題”,困擾了很久??戳苏?壇上很多網(wǎng)友的討論和解決辦法,加上自己的一些摸索,也最終找到了問題的原因和解決辦法,現(xiàn)在寫出來與大家分享,希望對(duì)有同樣困擾的朋友一些啟示,當(dāng)然其 中一定有不對(duì)的地方,歡迎大家一起討論。

一、案例介紹

某運(yùn)營(yíng)商無線增值業(yè)務(wù)全國(guó)各省某一個(gè)月內(nèi)運(yùn)營(yíng)情況,變量35個(gè),樣本31個(gè)(全國(guó)31個(gè)?。?,希望通過因子分析對(duì)各省綜合實(shí)力進(jìn)行排序。

二、問題描述

通過spss的因子分析對(duì)原始變量進(jìn)行降維處理時(shí),SPSS提示相關(guān)系數(shù)矩陣為“非正定矩陣”,無法給出KMO值,但是SPSS仍然給出了后續(xù)因子分析結(jié)果。

三、疑問

(1)什么是正定矩陣?

(2)因子分析是否一定要求變量的相關(guān)系數(shù)矩陣為正定矩陣?

(3)非正定矩陣的存在對(duì)因子分析結(jié)果有何影響?

(4)如何修正使得變成正定矩陣?

四、解決辦法

通過在論壇上查閱人相關(guān)問題,發(fā)現(xiàn)其他網(wǎng)友總結(jié)出現(xiàn)這種情況的原因主要集中在兩點(diǎn):

(1)樣本量太少,而指標(biāo)過多。

(2)某些變量間相關(guān)性太強(qiáng)。

而解決方案分別要求增加樣本,或者剔除某些顯著強(qiáng)相關(guān)的變量。

但是在我的這個(gè)例子里面無法增加樣本,因此只能從變量的相關(guān)性上考慮,看是不是存在一些和其他變量高度相關(guān)的變量。通過查看因子分析結(jié)果中的相關(guān)系數(shù)矩陣,的確發(fā)現(xiàn)大部分變量之間都存在高度相關(guān)性,而且相關(guān)系數(shù)在0.9以上。

但是現(xiàn)在問題來了,那是不是應(yīng)該直接刪除高度相關(guān)的變量?該刪 除哪些變量?按照我的情況估計(jì)很多變量都要剔除了,那對(duì)于分析結(jié)果就會(huì)產(chǎn)生很大的影響。

為了找出具體是哪些變量導(dǎo)致問題的出現(xiàn),我用了一個(gè)比較笨的辦法:逐一淘汰法。剛開始時(shí)不把所有變量都用來做因子分析,只選取一小部分,例如我先選取了10個(gè)變量做分析,發(fā)現(xiàn)spss沒有再提示“非正定矩陣”而是正常的輸出了KMO檢驗(yàn)值,而且順利完成了因子分析結(jié)果;然后下一步我再逐個(gè)添加其他變量進(jìn)行測(cè)試,當(dāng)發(fā)現(xiàn)添加某個(gè)變量spss提示“非正定矩陣”時(shí),就記下這個(gè)變量,然后再換成下一個(gè)變量繼續(xù)測(cè)試,直到把所有變量測(cè)試完。通過這樣的測(cè)試,我終于找到讓spss認(rèn)為“非正定矩陣”的原因:一共有5個(gè)變量,只要不納入這5個(gè)變量進(jìn)行分析,spss就能正常的進(jìn)行因子分析。

找到原因后,我本來想直接刪除掉這5個(gè)變量好了,但是我查看了一下spss因子分析的輸出結(jié)果,發(fā)現(xiàn)了為什么是這5個(gè)變量的原因,如下圖:

上圖的截圖是“解釋的總方差”顯示所有變量的相關(guān)系數(shù)矩陣的所有特征值,大家可以看到在用紅色方框標(biāo)注的5個(gè)特征值,他們的數(shù)值的數(shù)量級(jí)都是10的負(fù)16次方、17次方、18次方,甚至出現(xiàn)了負(fù)值,幾乎可以認(rèn)為就是零了,遠(yuǎn)遠(yuǎn)小于其他特征值,根據(jù)之前的逐一測(cè)試法確認(rèn),這5個(gè)特征值是與之前發(fā)現(xiàn)的那5個(gè)變量是對(duì)應(yīng)的,我想這就應(yīng)該是為什么是這5個(gè)變量導(dǎo)致出現(xiàn)非正定矩陣的原因吧。

那進(jìn)一步思考,特征值過小或者為負(fù)值說明了什么呢,根據(jù)正定矩陣的判定,正定矩陣的充分必要條件是:特征值>0,所有出現(xiàn)負(fù)的特征值就肯定會(huì)出現(xiàn)“非正定矩陣”的原因,但就靠這點(diǎn)似乎還不夠,因?yàn)橛行?a href='/map/tezheng/' style='color:#000;font-size:inherit;'>特征值是大于0的,只是非常非常小而已。我推測(cè)(僅僅是我推測(cè)),因?yàn)槲覀冊(cè)谧鲋鞒煞址治龅臅r(shí)候,每個(gè)主成分的方差就等于對(duì)于特征值,特征值太小意味著主成分的方差太小,方差太小意味著包含變量的 信息量太少,而我們?cè)谧鲆蜃臃治鰰r(shí)往往也是用主成分法來抽取公因子,所以特征值太小可能也無法滿足正定矩陣的條件,當(dāng)然這是我的推測(cè)。

五、總結(jié)

根據(jù)整個(gè)過程,我總結(jié)了一下幾點(diǎn):

(1)出現(xiàn)非正定矩陣的情況,并不一定都是樣本太少(本例中樣本才31,變量有35個(gè))。

(2)剔除變量的時(shí)候,可以利用逐一淘汰法來發(fā)現(xiàn)問題變量,再考慮是否要?jiǎng)h除。

(3)非正定矩陣似乎對(duì)因子分析結(jié)果并無太多影響,因?yàn)槲覀兺怀槿×瞬糠止蜃樱ɡ塾?jì)方差貢獻(xiàn)率>85%),特征值過小意味著方差貢獻(xiàn)率也會(huì)很小,往往不會(huì)被選作公因子,所以對(duì)結(jié)果影響不大,這也是為什么spss僅僅是提示,仍然會(huì)輸出因子分析結(jié)果的原因。 

好了,這個(gè)是我工作中碰到的一個(gè)實(shí)際例子,之前一直困擾了我很久,現(xiàn)在寫出來與大家分享,希望能對(duì)有同樣問題的朋友一個(gè)啟發(fā),當(dāng)然里面一定有不對(duì)的地方,希望大家多多指正。


數(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ù)說明請(qǐng)參見: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); }