
【連載4】 如何用spss做一般(含虛擬變量)多元線性回歸
回歸一直是個(gè)很重要的主題。因?yàn)樵?a href="http://www.3lll3.cn/" target="_blank">數(shù)據(jù)分析的領(lǐng)域里邊,模型重要的也是主要的作用包括兩個(gè)方面,一是發(fā)現(xiàn),一是預(yù)測(cè)。而很多時(shí)候我們就要通過(guò)回歸來(lái)進(jìn)行預(yù)測(cè)。關(guān)于回歸的知識(shí)點(diǎn)也許不一定比參數(shù)檢驗(yàn),非參數(shù)檢驗(yàn)多,但是復(fù)雜度卻絕對(duì)在其上?;貧w主要包括線性回歸,非線性回歸以及分類回歸。本文主要討論多元線性回歸(包括一般多元回歸,含有虛擬變量的多元回歸,以及一點(diǎn)廣義差分的知識(shí))。請(qǐng)大家不要覺得本人偷奸耍滑,居然只有一個(gè)主題,兩個(gè)半知識(shí)點(diǎn)。相信我,內(nèi)容會(huì)很充實(shí)的。
對(duì)于線性回歸的定義主要是這樣的:線性回歸,是基于最小二乘法原理產(chǎn)生古典統(tǒng)計(jì)假設(shè)下的最優(yōu)線性無(wú)偏估計(jì)。是研究一個(gè)或多個(gè)自變量與一個(gè)因變量之間是否存在某種線性關(guān)系的統(tǒng)計(jì)學(xué)方法。
這個(gè)什么叫線性回歸,什么叫最小二乘法,在在高中數(shù)學(xué)課本里邊就有涉及。我就不重復(fù)了嘿嘿。本質(zhì)上講一元線性回歸是多元線性回歸的一個(gè)特例,因此我們就直接討論多元線性回歸了哈。
為了便于敘述,我們先舉個(gè)例子,假設(shè)我們想研究年齡,體重,身高,和血壓的線性回歸關(guān)系。
打開菜單分析——回歸——線性,打開主對(duì)話框。很容易可以知道在本例中因變量選擇血壓,自變量選擇年齡,身高,體重。然后注意,在因變量那個(gè)框框下邊還有一個(gè)寫著方法的下拉的單選菜單。這個(gè)方法指的是建立多元線性方程的方法,也就是自變量進(jìn)入分析的方法。一共包括五種,進(jìn)入,逐步,刪除,向后,向前。進(jìn)入是最簡(jiǎn)單的一種,就是強(qiáng)迫指定選中的自變量都進(jìn)入方程。其余四個(gè)方法比較復(fù)雜,系統(tǒng)會(huì)依照不同的規(guī)則自動(dòng)的幫助你剔除不合格的自變量,以此保證方程的可靠性。
下邊的選擇變量框框是用來(lái)指定分析個(gè)案的選擇規(guī)則,這個(gè)一般大家是所有的個(gè)案都利用,所以不用管它。再下邊的個(gè)案標(biāo)簽變量,是用來(lái)在圖形中標(biāo)注值得,也不是重點(diǎn)。最下邊的WLS權(quán)重,是在加權(quán)最小二乘法里邊使用的,這里不管它。
介紹完主面板以后我們來(lái)看統(tǒng)計(jì)量選項(xiàng)卡。這張選項(xiàng)卡比較小,一般勾選的主要有估計(jì),模型擬合度,共線性診斷,DW檢驗(yàn)統(tǒng)計(jì)量。其中前兩個(gè)是常規(guī)選項(xiàng),后兩個(gè)是用來(lái)判斷共線性的。(由于方程中有兩個(gè)以上的自變量,如果這些自變量之間存在相關(guān)關(guān)系,就可能導(dǎo)致模型的失敗??赡軙?huì)出現(xiàn)本應(yīng)該與因變量正相關(guān)的變量結(jié)果為負(fù)相關(guān)啊之類的問(wèn)題。這時(shí)候就要看是不是存在多重共線性。)
繼續(xù),單擊繪制。勾選直方圖,正太概率圖。
繼續(xù),單擊保存。勾選預(yù)測(cè)值的未標(biāo)準(zhǔn)化,殘差的未標(biāo)準(zhǔn)化,預(yù)測(cè)區(qū)間的均值,單值,最下邊的包含協(xié)方差矩陣。
繼續(xù)。單擊選項(xiàng)。勾選使用F的概率,在等式中包含常量。
繼續(xù),確定。
結(jié)果的解釋也說(shuō)不上復(fù)雜。首先看模型匯總表的R方,這個(gè)值介于0和1之間,表示你的方程能解釋你的模型的百分之多少,所以越接近1越好啦。然后要看方差分析表。第一行的回歸對(duì)應(yīng)的最后邊的p值會(huì)告訴你這個(gè)方程是不是可信(注意,這個(gè)是整個(gè)方程的基礎(chǔ),這個(gè)p值不合格的話下邊的數(shù)據(jù)都是無(wú)效的)。小于0.05認(rèn)為就是可信的哈。
然后再看下邊的系數(shù)表,這個(gè)表里的p值會(huì)告訴你每個(gè)自變量在這個(gè)方程里是否可信。小于0.05認(rèn)為可信哈。在最前邊的B下邊那一列會(huì)告訴你每個(gè)自變量在方程里的系數(shù)(非標(biāo)準(zhǔn)化系數(shù)的意思是用你原來(lái)的數(shù)據(jù)算出來(lái)的系數(shù),標(biāo)準(zhǔn)系數(shù)的意思是你的數(shù)據(jù)標(biāo)準(zhǔn)化以后算出的系數(shù)。你寫方程時(shí)肯定看非標(biāo)準(zhǔn)化的哈)。圖片的話你的P-P圖上的每個(gè)空心圓都要盡量穿在那個(gè)線上邊,圓心越靠近那個(gè)線越好。
到這里一般多元線性回歸的基本知識(shí)就結(jié)束了。操作不是很難,但是遺憾的是,在實(shí)際生活中,關(guān)于多元線性回歸,還有許多問(wèn)題。最常見的問(wèn)題是這樣的。你為了保險(xiǎn),選了十幾個(gè)變量在模型里邊。這樣的話,可能你的方程確實(shí)解釋了很大一部分模型,但是這除了使方程過(guò)分復(fù)雜以外,還會(huì)引發(fā)嚴(yán)重的多重共線性。所以不要選很多的變量在你的方程里邊?;蛘吣阍谀P屠镞x了五六個(gè)變量,其中一部分p值小于0.05,另一部分大于。而且最要命的是你覺得你的自變量好像都明顯和你的因變量相關(guān)。這個(gè)問(wèn)題在于,有可能你的一部分自變量和你的因變量的相關(guān)性非常強(qiáng),太強(qiáng)了,所以你的其他變量看上去就沒(méi)有那么相關(guān)了。這時(shí)候你需要試試改變你的進(jìn)入方法,改成逐步或者其他什么的。也許可以解決問(wèn)題。
但是不是所有的問(wèn)題都可以用調(diào)整變量,或者改變變量進(jìn)入方法可以解決的。有一些問(wèn)題在于你的自變量的類型。有許多變量都是分類型的,比如你的性別,你是否抽煙,你的健康級(jí)別(不健康,一般,健康,非常健康)之類的。通常來(lái)講,錄入數(shù)據(jù)時(shí)會(huì)使用數(shù)字來(lái)表示特定含義。比如1是男,2是女,比如1,2,3,4來(lái)代表健康級(jí)別等等。一般情況下作分析是沒(méi)有問(wèn)題的,但是在回歸里邊也許不那么適合。
尤其是對(duì)于無(wú)序資料來(lái)說(shuō)。
舉個(gè)例子。季節(jié)。我們用1,2,3,4來(lái)表示四季。假設(shè)我們把這個(gè)變量當(dāng)做一般變量寫到方程里邊,那么我們就有這么個(gè)方程Y=X+X1*a,其中X1是四季變量。那么春季就是X+a,夏季就是X+2a,秋季就是X+3a,冬季就是X+4a,考慮一下,四季之間本來(lái)是沒(méi)有等級(jí)關(guān)系的,但是這個(gè)方程里邊顯示的冬季遠(yuǎn)遠(yuǎn)會(huì)比夏季的值大,那么真實(shí)情況是這樣嗎?很可能不是。因此就會(huì)造成方程的偏差。為了解決這個(gè)問(wèn)題。我們引入虛擬變量的概念。
虛擬變量的設(shè)置方法是這樣的,如果我們有d個(gè)水平,那么我們就設(shè)置d-1個(gè)虛擬變量,選出一個(gè)變量來(lái)做參照,虛擬變量全為0時(shí)為這個(gè)參照變量。虛擬變量有一個(gè)為1時(shí)代表某一個(gè)水平。還拿季節(jié)舉例子,我們有四個(gè)季節(jié),那么我們就設(shè)置三個(gè)虛擬變量,我們使000代表春季,100代表夏,010代表秋,001代表東。那么春季就是參照變量。(實(shí)際上設(shè)置四個(gè)虛擬變量也是可以的,但是結(jié)果一摸一樣)
所以現(xiàn)在我們的一個(gè)代表四季的變量就變成了三個(gè)虛擬變量。我們的方程就變成了Y=X+X1*a+X2*b+X3*c。那么X就是春季的值X+X1就是夏季的值X+X2就是秋季的值X+X3就是冬季的值,是不是更準(zhǔn)確了?
在張文彤老師的spss高級(jí)教程里邊講解到了虛擬變量的用法。但是由于是高級(jí)教程,因此并沒(méi)有提到如何設(shè)置虛擬變量。網(wǎng)上很多博客里邊也沒(méi)有提到這個(gè)問(wèn)題。但是為了完整性,我還是想寫一下吧(畢竟這個(gè)系列的文章沒(méi)有數(shù)據(jù)轉(zhuǎn)換這個(gè)內(nèi)容)。在線性回歸里邊,你需要自己設(shè)定虛擬變量。打開轉(zhuǎn)換——重新編碼為不同變量,把季節(jié)變量(或者行業(yè),地區(qū),或者別的什么)選到輸入變量——輸出變量里邊,名稱里輸入你的新名稱,標(biāo)簽要點(diǎn)一下,點(diǎn)一下更改。單擊下邊的舊值和新值,舊值里邊輸入1,新值輸入1,點(diǎn)添加。然后舊值輸入2,新值輸入0,點(diǎn)添加,以此類推。設(shè)置好一個(gè)虛擬變量以后,設(shè)置第二個(gè)的時(shí)候,記得先把第一個(gè)從右邊的窗口傳回左邊的窗口。有點(diǎn)麻煩,但是在所難免嘛。
然后注意做回歸的時(shí)候,在主面板里邊自變量的第一張僅選擇你的虛擬變量,方法選進(jìn)入。你要確保你的虛擬變量都要一塊進(jìn)到方程里嘛。然后點(diǎn)下一張,選擇其他的數(shù)值變量,方法可以選逐步啊什么的??唇Y(jié)果的時(shí)候前邊已經(jīng)講過(guò)了,虛擬變量改變的就是截距嘛。其他的結(jié)果都和一般的多元線性回歸結(jié)果一樣的。要注意的是就算有的虛擬變量p值合格,有的不合格,你選擇變量的時(shí)候也必須把一個(gè)變量設(shè)置出的所有的虛擬變量選到一塊,要么都要,要么都不要。
虛擬變量主要就是這樣了。但是除了變量類型導(dǎo)致的問(wèn)題以外,還有一個(gè)很嚴(yán)重的問(wèn)題就是多重共線性。雖然我們講,我們要少選幾個(gè)變量,我們要降維,我們要想辦法消減多重共線性。但是不可避免的,我們總是會(huì)碰到變量具有多重共線性的情況。
判斷多重共線性,主要是通過(guò)共線性診斷里的VIF值和DW檢驗(yàn)。VIF介于1到5時(shí),就認(rèn)為沒(méi)有多重共線性。大于10時(shí),認(rèn)為存在嚴(yán)重多重共線性。在這里我們不討論VIF大于10的情況(不然我下篇文章討論什么?),我們要討論的是另一種非常特殊的情況,VIF值合格,但是DW檢驗(yàn)沒(méi)有通過(guò)。這時(shí)候怎么辦?
當(dāng)然你可以假裝沒(méi)有看見DW檢驗(yàn),你繼續(xù)做分析的話。很可能別人也看不出來(lái),但是如果你的老師就是想考考你的廣義差分法呢?
所以我們還是討論一下廣義差分法的操作辦法。
首先你要保存你的變量的殘差,在時(shí)間序列里邊做滯后一期的殘差(就在主面板里),然后把殘差和滯后一期的殘差做回歸,記下它的斜率,在做滯后一期的自變量,因變量。建立新變量=原變量-斜率*滯后一期的變量(所有的自變量,因變量都要算新變量),然后再做回歸。
這上邊就是一次完整的廣義差分法操作過(guò)程。檢查DW,如果不合格,還需要在做一次廣義差分。一般至多做兩三次就可以了。過(guò)程有點(diǎn)復(fù)雜,其實(shí)用eviews做廣義差分會(huì)簡(jiǎn)單許多。CDA數(shù)據(jù)分析師培訓(xùn)
多元線性回歸的內(nèi)容已經(jīng)結(jié)束了。祝大家學(xué)習(xí)愉快!
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問(wèn)題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問(wèn)題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問(wèn)題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10