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

熱線電話:13121318867

登錄
首頁精彩閱讀【連載6】如何用spss做logistic回歸
【連載6】如何用spss做logistic回歸
2014-12-02
收藏

前邊我們用兩篇筆記討論了線性回歸的內容。線性回歸是很重要的一種回歸方法,但是線性回歸只適用于因變量為連續(xù)型變量的情況,那如果因變量為分類變量呢?比方說我們想預測某個病人會不會痊愈,顧客會不會購買產品,等等,這時候我們就要用到logistic回歸分析了。

Logistic回歸主要分為三類,一種是因變量為二分類得logistic回歸,這種回歸叫做二項logistic回歸,一種是因變量為無序多分類得logistic回歸,比如傾向于選擇哪種產品,這種回歸叫做多項logistic回歸。還有一種是因變量為有序多分類的logistic回歸,比如病重的程度是高,中,低呀等等,這種回歸也叫累積logistic回歸,或者序次logistic回歸。

二值logistic回歸:

選擇分析——回歸——二元logistic,打開主面板,因變量勾選你的二分類變量,這個沒有什么疑問,然后看下邊寫著一個協(xié)變量。有沒有很奇怪什么叫做協(xié)變量?在二元logistic回歸里邊可以認為協(xié)變量類似于自變量,或者就是自變量。把你的自變量選到協(xié)變量的框框里邊。

細心的朋友會發(fā)現(xiàn),在指向協(xié)變量的那個箭頭下邊,還有一個小小的按鈕,標著a*b,這個按鈕的作用是用來選擇交互項的。我們知道,有時候兩個變量合在一起會產生新的效應,比如年齡和結婚次數(shù)綜合在一起,會對健康程度有一個新的影響,這時候,我們就認為兩者有交互效應。那么我們?yōu)榱四P偷臏蚀_,就把這個交互效應也選到模型里去。我們在右邊的那個框框里選擇變量a,按住ctrl,在選擇變量b,那么我們就同時選住這兩個變量了,然后點那個a*b的按鈕,這樣,一個新的名字很長的變量就出現(xiàn)在協(xié)變量的框框里了,就是我們的交互作用的變量。

然后在下邊有一個方法的下拉菜單。默認的是進入,就是強迫所有選擇的變量都進入到模型里邊。除去進入法以外,還有三種向前法,三種向后法。一般默認進入就可以了,如果做出來的模型有變量的p值不合格,就用其他方法在做。再下邊的選擇變量則是用來選擇你的個案的。一般也不用管它。

選好主面板以后,單擊分類(右上角),打開分類對話框。在這個對話框里邊,左邊的協(xié)變量的框框里邊有你選好的自變量,右邊寫著分類協(xié)變量的框框則是空白的。你要把協(xié)變量里邊的字符型變量和分類變量選到分類協(xié)變量里邊去(系統(tǒng)會自動生成啞變量來方便分析,什么事啞變量具體參照前文)。這里的字符型變量指的是用值標簽標注過得變量,不然光文字,系統(tǒng)也沒法給你分析啊。選好以后,分類協(xié)變量下邊還有一個更改對比的框框,我們知道,對于分類變量,spss需要有一個參照,每個分類都通過和這個參照進行比較來得到結果,更改對比這個框框就是用來選擇參照的。默認的對比是指示符,也就是每個分類都和總體進行比較,除了指示符以外還有簡單,差值等。這個框框不是很重要,默認就可以了。

點擊繼續(xù)。然后打開保存對話框,勾選概率,組成員,包含協(xié)方差矩陣。點擊繼續(xù),打開選項對話框,勾選分類圖,估計值的相關性,迭代歷史,exp(B)的CI,在模型中包含常數(shù),輸出——在每個步驟中。如果你的協(xié)變量有連續(xù)型的,或者小樣本,那還要勾選Hosmer-Lemeshow擬合度,這個擬合度表現(xiàn)的會較好一些。

繼續(xù),確定。

然后,就會輸出結果了。主要會輸出六個表。

第一個表是模型系數(shù)綜合檢驗表,要看他模型的p值是不是小于0.05,判斷我們這個logistic回歸方程有沒有意義。

第二個表示模型匯總表。這個表里有兩個R^2,叫做廣義決定系數(shù),也叫偽R^2,作用類似于線性回歸里的決定系數(shù),也是表示這個方程能夠解釋模型的百分之多少。由于計算方法不同,這兩個廣義決定系數(shù)的值往往不一樣,但是出入并不會很大。

在下邊的分類表則表述了模型的穩(wěn)定性。這個表最后一行百分比校正下邊的三個數(shù)據(jù)列出來在實際值為0或者1時,模型預測正確的百分比,以及模型總的預測正確率。一般認為預測正確概率達到百分之五十就是良好(標準真夠低的),當然正確率越高越好。

在然后就是最重要的表了,方程中的變量表。第一行那個B下邊是每個變量的系數(shù)。第五行的p值會告訴你每個變量是否適合留在方程里。如果有某個變量不適合,那就要從新去掉這個變量做回歸。根據(jù)這個表就可以寫出logistic方程了:P=Exp(常量+a1*變量1+a2*變量2.。。。)/(1+Exp(常量+a1*變量1+a2*變量2.。。。))。如果大家學過一點統(tǒng)計,那就應該對這個形式的方程不陌生。提供變量,它最后算出來會是一個介于0和1的數(shù),也就是你的模型里設定的值比較大的情況發(fā)生的概率,比如你想推算會不會治愈,你設0治愈,1為沒有治愈。那你的模型算出來就是沒有治愈的概率。如果你想直接計算治愈的概率,那就需要更改一下設定,用1去代表治愈。

此外倒數(shù)后兩列有一個EXP(B),也就是OR值,哦,這個可不是或者的意思,OR值是優(yōu)勢比。在線性回歸里邊我們用標準化系數(shù)來對比兩個自變量對于因變量的影響力的強弱,在logistic回歸里邊我們用優(yōu)勢比來比較不同的情況對于因變量的影響。舉個例子。比如我想看性別對于某種病是否好轉的影響,假設0代表女,1代表男,0代表不好轉,1代表好轉。發(fā)現(xiàn)這個變量的OR值為2.9,那么也就是說男人的好轉的可能是女人好轉的2.9倍。注意,這里都是以數(shù)值較大的那個情況為基準的。而且OR值可以直接給出這個倍數(shù)。如果是0,1,2各代表一類情況的時候,那就是2是1的2.9倍,1是0的2.9倍,以此類推。OR值對于方程沒什么貢獻,但是有助于直觀的理解模型。在使用OR值得時候一定要結合它95%的置信區(qū)間來進行判斷。

此外還有相關矩陣表和概率直方圖,就不再介紹了。




多項logistic回歸:

選擇分析——回歸——多項logistic,打開主面板,因變量大家都知道選什么,因變量下邊有一個參考類別,默認的第一類別就可以。再然后出現(xiàn)了兩個框框,因子和協(xié)變量。很明顯,這兩個框框都是要你選因變量的,那么到底有什么區(qū)別呢?嘿嘿,區(qū)別就在于,因子里邊放的是無序的分類變量,比如性別,職業(yè)什么的,以及連續(xù)變量(實際上做logistic回歸時大部分自變量都是分類變量,連續(xù)變量是比較少的。),而協(xié)變量里邊放的是等級資料,比如病情的嚴重程度啊,年齡啊(以十年為一個年齡段撒,一年一個的話就看成連續(xù)變量吧還是)之類的。在二項logistic回歸里邊,系統(tǒng)會自動生成啞變量,可是在多項logistic回歸里邊,就要自己手動設置了。參照上邊的解釋,不難知道設置好的啞變量要放到因子那個框框里去。

然后點開模型那個對話框,哇,好恐怖的一個對話框,都不知道是干嘛的。好,我們一點點來看。上邊我們已經說過交互作用是干嘛的了,那么不難理解,主效應就是變量本身對模型的影響。明確了這一點以后,這個對話框就沒有那么難選了。指定模型那一欄有三個模型,主效應指的是只做自變量和因變量的方程,就是最普通的那種。全因子指的是包含了所有主效應和所有因子和因子的交互效應的模型(我也不明白為什么只有全因子,沒有全協(xié)變量。這個問題真的很難,所以別追問我啦。)第三個是設定/步進式。這個是自己手動設置交互項和主效應項的,而且還可以設置這個項是強制輸入的還是逐步進入的。這個概念就不用再啰嗦了吧???

點擊繼續(xù),打開統(tǒng)計量對話框,勾選個案處理摘要,偽R方,步驟摘要,模型擬合度信息,單元格可能性,分類表,擬合度,估計,似然比檢驗,繼續(xù)。打開條件,全勾,繼續(xù),打開選項,勾選為分級強制條目和移除項目。打開保存,勾選包含協(xié)方差矩陣。確定(總算選完了)。

結果和二項logistic回歸差不多,就是多了一個似然比檢驗,p值小于0.05認為變量有意義。然后我們直接看參數(shù)估計表。假設我們的因變量有n個類,那參數(shù)估計表會給出n-1組的截距,變量1,變量2。我們我們用Zm代表Exp(常量m+am1*變量1+am2*變量2+。。。),那么就有第m類情況發(fā)生的概率為Zn/1+Z2+Z3+……+Zn(如果我們以第一類為參考類別的話,我們就不會有關于第一類的參數(shù),那么第一類就是默認的1,也就是說Z1為1)。


有序回歸(累積logistic回歸):

選擇菜單分析——回歸——有序,打開主面板。因變量,因子,協(xié)變量如何選取就不在重復了。選項對話框默認。打開輸出對話框,勾選擬合度統(tǒng)計,摘要統(tǒng)計,參數(shù)估計,平行線檢驗,估計響應概率,實際類別概率,確定,位置對話框和上文的模型對話框類似,也不重復了。確定。

結果里邊特有的一個表是平行線檢驗表。這個表的p值小于0.05則認為斜率系數(shù)對于不同的類別是不一樣的。此外參數(shù)估計表得出的參數(shù)也有所不同。假設我們的因變量有四個水平,自變量有兩個,那么參數(shù)估計表會給出三個閾值a1,a2,a3(也就是截距),兩個自變量的參數(shù)m,n。計算方程時,首先算三個Link值,Link1=a1+m*x1+n*x2,Link2=a2+m*x1+n*x2,Link3=a3+m*x1+n*x2,(僅有截距不同)有了link值以后,p1=1/(1+exp(link1)),   p1+p2=1/(1+exp(link2)),    p1+p2+p3=1/(1+exp(link3)),    p1+p2+p3+p4=1..    

通過上邊的這幾個方程就能計算出各自的概率了。


Logistic回歸到這里基本就已經結束了。大家一定要記熟公式,弄混可就糟糕了。希望能對你有所幫助呦。


下章內容,probit回歸及非線性回歸。

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

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師考試動態(tài)
數(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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".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 = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+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); }