
R語言-如何處理違背回歸假設(shè)的問題
我們已經(jīng)花費了不少篇幅來學(xué)習(xí)回歸診斷,你可能會問:“如果發(fā)現(xiàn)了問題,那么能做些什么呢?”有四種方法可以處理違背回歸假設(shè)的問題:
刪除觀測點;
變量變換;
添加或刪除變量;
使用其他回歸方法。
下面讓我們依次學(xué)習(xí)。
8.5.1 刪除觀測點
刪除離群點通常可以提高數(shù)據(jù)集對于正態(tài)假設(shè)的擬合度,而強影響點會干擾結(jié)果,通常也會被刪除。刪除最大的離群點或者強影響點后,模型需要重新擬合。若離群點或強影響點仍然存在,重復(fù)以上過程直至獲得比較滿意的擬合。
不過,我對刪除觀測點持謹(jǐn)慎態(tài)度。若是因為數(shù)據(jù)記錄錯誤,或是沒有遵守規(guī)程,或是受試對象誤解了指導(dǎo)說明,這種情況下的點可以判斷為離群點,刪除它們是十分合理的。
不過在其他情況下,所收集數(shù)據(jù)中的異常點可能是最有趣的東西。發(fā)掘為何該觀測點不同于其他點,有助于你更深刻地理解研究的主題,或者發(fā)現(xiàn)其他你可能沒有想過的問題。我們一些最偉大的進步正是源自于意外地發(fā)現(xiàn)了那些不符合我們先驗認(rèn)知的東西(抱歉,我說得夸張了)。
8.5.2 變量變換
當(dāng)模型不符合正態(tài)性、線性或者同方差性假設(shè)時,一個或多個變量的變換通常可以改善或調(diào)整模型效果。變換多用Y λ 替代Y, λ 的常見值和解釋見表8-5。
若Y是比例數(shù),通常使用logit變換[ln (Y/1-Y )]。
當(dāng)模型違反了正態(tài)假設(shè)時,通??梢詫憫?yīng)變量嘗試某種變換。 car包中的powerTransform()函數(shù)通過λ 的最大似然估計來正態(tài)化變量X λ。代碼清單8-10是對數(shù)據(jù)states的應(yīng)用。
結(jié)果表明,你可以用Murder0.6來正態(tài)化變量Murder。由于0.6很接近0.5,你可以嘗試用平方根變換來提高模型正態(tài)性的符合程度。但在本例中, λ= 1的假設(shè)也無法拒絕(p=0.145),因此沒有強有力的證據(jù)表明本例需要變量變換,這與圖8-9的Q-Q圖結(jié)果一致。
當(dāng)違反了線性假設(shè)時,對預(yù)測變量進行變換常常會比較有用。 car包中的boxTidwell()函數(shù)通過獲得預(yù)測變量冪數(shù)的最大似然估計來改善線性關(guān)系。下面的例子為用州的人口和文盲率來預(yù)測謀殺率,對模型進行了Box-Tidwell變換:
結(jié)果顯示,使用變換Population0.87和Illiteracy1.36能夠大大改善線性關(guān)系。但是對Population(p=0.75)和Illiteracy(p=0.54)的計分檢驗又表明變量并不需要變換。這些結(jié)果與圖8-11的成分殘差圖是一致的。
響應(yīng)變量變換還能改善異方差性(誤差方差非恒定)。在代碼清單8-7中,你可以看到car包中spreadLevelPlot()函數(shù)提供的冪次變換應(yīng)用,不過, states例子滿足了方差不變性,不需要進行變量變換。
謹(jǐn)慎對待變量變換
統(tǒng)計學(xué)中流傳著一個很老的笑話:如果你不能證明A,那就證明B,假裝它就是A。(對于統(tǒng)計學(xué)家來說,這很滑稽好笑。)此處引申的意思是,如果你變換了變量,你的解釋必須基于變換后的變量,而不是初始變量。如果變換得有意義,比如收入的對數(shù)變換、距離的逆變換,解釋起來就會容易得多。但是若變換得沒有意義,你就應(yīng)該避免這樣做。比如,你怎樣解釋自殺意念的頻率與抑郁程度的立方根間的關(guān)系呢?
8.5.3 增刪變量
改變模型的變量將會影響模型的擬合度。有時,添加一個重要變量可以解決我們已經(jīng)討論過的許多問題,刪除一個冗余變量也能達(dá)到同樣的效果。刪除變量在處理多重共線性時是一種非常重要的方法。如果你僅僅是做預(yù)測,那么多重共線性并不構(gòu)成問題,但是如果還要對每個預(yù)測變量進行解釋,那么就必須解決這個問題。最常見的方法就是刪除某個存在多重共線性的變量(某個變量 vif
2 ? ) 。另外一個可用的方法便是嶺回歸——多元回歸的變體,專門用來處理多重共線性問題。
8.5.4 嘗試其他方法
正如剛才提到的,處理多重共線性的一種方法是擬合一種不同類型的模型(本例中是嶺回歸)。其實,如果存在離群點和/或強影響點,可以使用穩(wěn)健回歸模型替代OLS回歸。如果違背了正態(tài)性假設(shè),可以使用非參數(shù)回歸模型。如果存在顯著的非線性,能嘗試非線性回歸模型。如果違背了誤差獨立性假設(shè),還能用那些專門研究誤差結(jié)構(gòu)的模型,比如時間序列模型或者多層次回歸模型。最后,你還能轉(zhuǎn)向廣泛應(yīng)用的廣義線性模型,它能適用于許多OLS回歸假設(shè)不成立的情況。在第13章中,我們將會介紹其中一些方法。至于什么時候需要提高OLS回歸擬合度,什么時候需要換一種方法,這些判斷是很復(fù)雜的,需要依靠你對主題知識的理解,判斷出哪個模型提供最佳結(jié)果。既然提到最佳結(jié)果,現(xiàn)在我們就先討論一下回歸模型中的預(yù)測變量選擇問題。
8.6 選擇“最佳”的回歸模型
嘗試獲取一個回歸方程時,實際上你就面對著從眾多可能的模型中做選擇的問題。是不是所有的變量都要包括?抑或去掉那個對預(yù)測貢獻不顯著的變量?還是需要添加多項式項和/或交互項來提高擬合度?最終回歸模型的選擇總是會涉及預(yù)測精度(模型盡可能地擬合數(shù)據(jù))與模型簡潔度(一個簡單且能復(fù)制的模型)的調(diào)和問題。如果有兩個幾乎相同預(yù)測精度的模型,你肯定喜歡簡單的那個。本節(jié)討論的問題,就是如何在候選模型中進行篩選。注意,“最佳”是打了引號的,因為沒有做評價的唯一標(biāo)準(zhǔn),最終的決定需要調(diào)查者的評判。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10