為啥一定要用殘差圖檢查你的回歸分析?

先說殘差圖究竟是什么鬼。

Residual Illustration

殘差圖是指以殘差為縱坐標,以任何其他指定的量為橫坐標的散點圖。(上圖僅是殘差的示意圖,非殘差圖,殘差圖可見下文)

用普通最小二乘法(OLS)做回歸分析的人都知道,回歸分析后的結果一定要用殘差圖(residual plots)來檢查,以驗證你的模型。你有沒有想過這究竟是為什么?殘差圖又究竟是怎么看的呢?

這背后當然有數學上的原因,但是這里將著重于聊聊概念上的理解。從根本上說,隨機性(randomness)和不可預測性(unpredictability)是任何回歸模型的關鍵組成部分,如果你沒有考慮到這兩點,那么你的模型就不可信了,甚至說是無效的。

為什么這么說呢?首先,對于一個有效的回歸模型來說,可以細分定義出兩個基本組成部分:

Response =(Constant + Predictors)+ Error

我想說的是另一種說法,那就是:

響應(Response) = 確定性(Deterministic) + 隨機性(Stochastic)

(有時候真是不得不吐槽下,畢竟是外國人發明的現代科學,中文翻譯過來難眠有混淆視聽之嫌,學術詞匯的理解還是看英文更能清晰本質,一會就會聊到Stochastic就明白為什么這么說)

確定性部分(The Deterministic Portion)

為了完整,先提一下Deterministic這部分。在預測模型中,該部分是由關于預測自變量的函數組成,其中包含了回歸模型中所有可解釋、可預測的信息

隨機誤差(The Stochastic Error)

Stochastic 這個詞很牛逼,其不僅蘊含著隨機性(random),還有不可預測性(unpredictable)。這是很重要的兩點,往往很多朋友都以為有隨機性的特點就夠了,其實不然。這兩點放在一起,就是在告訴我們回歸模型下的預測值和觀測值之間的差異必須是隨機不可預測的。換句話說,在誤差(error)中不應該含有任何可解釋、可預測的信息。

模型中的確定性部分應該是可以很好的解釋或預測任何現實世界中固有的隨機響應。如果你在隨機誤差中發現有可解釋的、可預測的信息,那就說明你的預測模型缺少了些可預測信息。那么殘差圖(residual plots)就可以幫助你檢查是否如此了!

小注:回歸殘差其實是真實誤差(ture error)的估計,就好比回歸系數是真實母體系數(ture population coefficients)的估計。

殘差圖(Residual Plots)

我們可以用殘差圖來估計觀察或預測到的誤差error(殘差residuals)與隨機誤差(stochastic error)是否一致。用一個丟骰子的例子最好理解了。當你丟出去一個六面的骰子時,你不應該能夠預測得到哪面點數向上。然而,你卻可以評估在一系列投擲后,正面向上的數字是否遵循一個隨機模式,你自己心中就會想象出一個隨機散布的殘差圖。如果,有人背著你對骰子做了點手腳,讓六點更頻繁的出現向上,這時你心中的殘差圖看上去就似乎有規律可循,從而不得不修改心中的模型,讓你狐疑骰子一定有問題。

相同的原則也適用于回歸模型。你不應該能夠預測任何給定的觀察或預測結果的錯誤(或者說差別)。你需要確定殘差是否與隨機誤差相互呈現一致性,就像丟骰子一樣,殘差若整體呈現“很古怪”的模式,你就需要回頭修改你的回歸模型了。上面“古怪”究竟怎么看呢?看下文。

話說,OLS回歸模型的隨機誤差到底是什么樣子的呢?首先,殘差不應該成片的很高或很低,而是在擬合值的范圍內,殘差應該以0為中心。換句話說,模型的擬合應該平均散布在被擬合值點附近。而且,在OLS理論中,假設隨機誤差產生的是正態分布的殘差。因此,殘差應該是以對稱的模式,并且在整個擬合范圍內具有恒定均勻的擴散,如下圖python代碼和繪圖:

%matplotlib inline
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
# 給任務單獨分配隨機種子
np.random.seed(sum(map(ord
                       , "anscombe"))) 
import seaborn as sns

anscombe = sns.load_dataset("anscombe")
sns.residplot(x="x", y="y"
              , data=anscombe.query("dataset == 'I'")
              , scatter_kws={"s": 80}) 
Valid residual plot

這是用Seaborn畫的美圖。擬合的好,就是0均值的白噪聲分布$N(0,\sigma^2)$,不含任何人為模態。

下面來看一個有問題的殘差圖。請一定要記住,殘差不應該包含任何可預測的信息

sns.residplot(x="x", y="y"
              , data=anscombe.query("dataset == 'II'")
              , scatter_kws={"s": 80})
Not valid residual plot

在上圖中,你就可以根據擬合值來預測殘差的非零值。例如,擬合值為9的預期殘差為正值,而5和13的擬合值具有負的預期殘差。

殘差中的非隨機模式表明模型的確定部分(預測變量)沒有捕獲一些“泄露”到殘差中的一些可解釋/可預測信息。該圖表明模型幾種沒法解釋的可能性,可能性包括:

  • 一個缺失的變量
  • 模型缺少一個變量的高階項來解釋曲率
  • 模型缺少在已經存在的項之間的相互作用項(交叉項)

由此來回溯去修改模型,以期望修改后的殘差圖是理想中的殘差圖。

除了上述之外,還有兩種預測信息會潛入到了殘差中的方式:

  • 殘差不應該與另外的變量有所相關。如果你可以用另一個變量預測出此殘差圖,那么該變量就應該考慮到你的模型當中。那么就可以通過繪制其他變量的殘差圖,來考察這個問題。
  • 相鄰殘差(Adjacent residuals)不應該相互關聯(殘差的自相關性)。如果你可以使用一個殘差來預測得到下一個殘差,則說明存在一些模型還未捕捉到的可預測信息。通常來說,這種情況涉及時間有序的觀察預測。例子就不舉了。

綜上,若非要一句話小結,那就是要留意兩個細節:正確殘差圖不僅要體現出隨機性(random),還要體現不可預測性(unpredictable)即可。

以上。

Ref:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內容

  • 機器學習是做NLP和計算機視覺這類應用算法的基礎,雖然現在深度學習模型大行其道,但是懂一些傳統算法的原理和它們之間...
    在河之簡閱讀 20,527評論 4 65
  • 介紹 我正在和一位剛剛在印度超市連鎖店擔任運營經理的朋友說話。在我們的討論中,我們開始談論在印度節日(排燈節)開始...
    正在充電Loading閱讀 5,329評論 2 1
  • 不知從哪兒看來的,說當你感到抑郁的時候,就去菜市場看看,感受下菜市場熱騰騰的煙火氣兒,我深以為然。 我家屋后就有個...
    曾經是小黑閱讀 339評論 0 1
  • 海賊王,第十五集講了什么?拼命的目的很簡單,為了正義而已。強手過招是一件過癮的事情,不論在三國水滸里,還是在當今世...
    航海船夫閱讀 518評論 13 0
  • “喂,你好,請問是李先生嗎?” “你好,哪位?” “我是你們這次貴州之行的導游,小冉。” “小冉?咦,我不是讓你們...
    冉不是再閱讀 232評論 0 1