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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代回歸系列(四)| 一個完整的線性回歸是怎樣做的
回歸系列(四)| 一個完整的線性回歸是怎樣做的
2020-09-07
收藏

作者:丁點helper 

來源:丁點幫你

前面的文章主要介紹了回歸的一些關鍵詞,比如回歸系數(shù)、樣本和總體回歸方程、預測值和殘差等,今天我們結合一個案例來看看如何做完整的回歸分析,準確而言,是多重線性回歸(Multiple Linear Regreesion)。

回顧:多重線性回歸

多重線性回歸,一般是指有多個自變量X,只有一個因變量Y。前面我們主要是以簡單線性回歸為例在介紹,兩者的差距主要在于自變量X的數(shù)量,在只有一個X時,就稱簡單線性回歸。

在實際應用中,我們當然很少只納入一個自變量。多重線性回歸一般也叫“多元線性回歸”,我更支持“多重”的叫法,因為“多元”一般也指“因變量Y”有多個。

通過前面的文章,我們知道做線性回歸就是要構建Y與X的線性關系,主要目的有兩個,一是確定X對Y的影響程度(即回歸系數(shù)的計算);二是通過X來預測Y。

這里最重要的一條準則是:Y需要是定量變量,就是類似于“收入”、“得分”等。而對X沒有這樣的要求,可以是定量的,如“教育年限”、“年齡”等;也可以是“性別”、“民族”等分類變量。

案例 從某高校三年級女生體檢的數(shù)據(jù)中,隨機抽取20名作為樣本,數(shù)據(jù)包括體重(kg)、胸圍(cm)、肩寬(cm)及肺活量(L),分析女大學生肺活量的影響因素,數(shù)據(jù)見下表:

首先簡單看看上表的數(shù)據(jù),我們想要研究女生肺活量的影響因素,所以回歸的因變量為“肺活量(Y)”,根據(jù)常識和數(shù)據(jù),這里的Y是定量變量。

搜集的其他數(shù)據(jù)作為潛在的影響因素(X)納入回歸方程,分別是:體重、胸圍、肩寬。我們也能簡單就能判斷這三個自變量都是定量變量。

(對于變量類型如何判斷還不太了解的同學,戳此回顧)

這里進行回歸分析,一是判斷這些X是否都會影響Y(總體回歸系數(shù)是否不為0);二是通過構造的回歸方程,未來根據(jù)X的值計算Y的預測值。

多重線性回歸的SPSS操作

回歸分析用SPSS操作的步驟如下:

SPSS數(shù)據(jù)錄入格式

SPSS回歸分析的菜單(Linear代表線性回歸

回歸操作窗口,Dependent為因變量,Independent為自變量,分別移入

上圖中的“Method”稱作“自變量篩選”方法,我們做線性回歸分析很重要的一點是找Y的影響因素,這里的“找”就意味著“篩選”。

比如本案例我們納入了三個自變量,通過回歸分析,就是要找到那些真正對Y產生影響的變量。最終的結果有可能三個X都有影響,則最終的回歸方程會有三個X,也有可能一個X都沒有。

我們看到Method的下拉菜單有不同的選項:

Enter:將自變量強行全部納入回歸方程,不排除回歸系數(shù)P值大于0.05的情況;

Stepwise、Remove、Backward、Forward,這些都是軟件篩選自變量的方法,雖然名稱不一,但思想相近,主要就是根據(jù)回歸系數(shù)檢驗的P值是否小于0.05(有的是0.1)判斷回歸方程中應不應該有這個變量。

一般來講,沒有哪個篩選方法最優(yōu),但實際應用中常見的是Stepwise和Backward,建議大家自己進行回歸分析時可以更換不同的方法嘗試,選擇自己認為合適的方法。

本案例使用Stepwise法,中文稱為“逐步法”或“步進法”。

多重線性回歸的結果分析

以下為SPSS分析結果展示:

表1:回歸方程的擬合程度

上表最左側一列為“Model”,表示的是SPSS篩選變量的過程,因為我們選擇的是stepwise,所以每進行一步,即每篩選一個變量,就稱為一個Model,比如Model"1"表示只納入1個自變量,Model“2”表示納入2個,“3”表示納入3個,”4“表示最終模型剔除了一個自變量,僅納入2個自變量。

表格第2-4列分別為”R、R Square、Adjusted R Square“,一般的教科書講的很多,表示的是回歸方程對因變量的解釋程度,數(shù)值越大,解釋度越高。但它又是一個比較尷尬的數(shù),實際應用簡單參考即可。

表2:回歸方程的整體檢驗

這里的Model和上表1中表示的是同一個意思,代表了包括不同自變量的回歸方程。對于回歸方程的檢驗,一般來講,都是有統(tǒng)計學意義的,看最后一列(Sig.),即P值均小于0.05。

表3:回歸系數(shù)結果

表3中的Model詳細展示了變量的篩選過程,比如在Model 3中,回歸方程將三個自變量”肩寬、體重、胸圍“全部納入,但是發(fā)現(xiàn),”肩寬“這個變量的Sig.(P值)大于0.1了,于是就將它剔除出去,從而得到模型4——只納入”體重和胸圍“兩個自變量,對照后面的P值結果,均小于0.05。

以上只是一種篩選變量的一種方法(Stepwise),通過統(tǒng)計軟件P值自動進行,這并不意味,所有的線性回歸分析均只能通過這種方法篩選,我們常說需要結合專業(yè)知識判斷,在做回歸分析時也不例外。

如果回歸分析的結果與專業(yè)知識相悖,比如根據(jù)專業(yè)知識有影響的變量卻被軟件剔除,那我們首先得慎重思考回歸的結果是否可信,比如是否滿足前文提及的LINE條件,是否出現(xiàn)了多重共線性問題等等;如果經過診斷分析發(fā)現(xiàn)這些問題都不存在,在研究報告或論文中,仍可以如實地報告結果,為后面的研究提供參考。

本案例,我們還是依照統(tǒng)計軟件的結果篩選變量,得到的最終回歸方程為:

根據(jù)上表,我們寫出本研究的回歸方程:

上述結果表示,可以認為體重和胸圍是影響該校一年級女大學生肺活量的主要因素,保持胸圍不變,體重增加1kg,估計肺活量平均增加0.081L(回歸系數(shù)”0.081“的含義,在多重線性回歸分析中也可稱作”偏回歸系數(shù)“);保持體重不變,胸圍增大1cm,估計肺活量平均增加0.046L(回歸系數(shù)”0.046“的含義)。

另外,上表最后一列提供了一個”標準化偏回歸系數(shù)“,這是將XY分別標準化之后再進行回歸分析,如下:

”標準化偏回歸系數(shù)“可以用來比較不同的自變量X對Y的影響程度。本例中,體重和胸圍的標準化偏回歸系數(shù)分別為0.644和0.436,意味著體重對肺活量的影響大于胸圍對肺活量的影響。

以上即為回歸分析的全過程,最后留給大家一個思考題,這里進行的分析,表示的是X和Y的相關關系,還是因果關系?歡迎在評論區(qū)留言討論。

數(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); }