評價線性模型,R平方是個好裁判嗎? | 協和八

2021-01-18 協和八

在線性模型裡面加上一個新的變量,由於新的變量與已有的變量可能存在相關性,往往會改變已有變量的回歸係數。同樣的道理,如果在線性回歸模型中去掉某個變量,剩下變量的回歸係數也會隨之改變。要想回顧來龍去脈,可以複習上一集《回歸係數不顯著?也許是打開方式不對!》的內容。

這就是說,如果我們構建模型的目的是來研究一些特定的變量與預測值 y 的關係,那麼選擇哪些其它變量包含在模型裡面,對我們最終的結論會有不可忽視的影響。

更進一步來講,在線性模型中選擇包括哪些變量,其實就是選擇模型本身——確定了變量,我們就可以用最小二乘法算出回歸係數, 同時模型的預測值也就確定了。換句話說,選擇變量的過程也就是在構建模型的過程。

那麼,面對一個具體問題的時候,我們到底應該怎樣決定在線性模型中要包含哪些變量?

構建模型,第一步不是打開統計軟體,在裡面搗鼓數據,而是要先熟悉模型要解決和預測的問題背景,根據前人積累起來的經驗,預判一下哪些因素很可能與這一變量有關,以及它們相互之間存在什麼關係,並儘量將這些因素都放到模型裡面。

萬一有些因素沒有數據怎麼辦?所以說,最理想的情況下,是在研究開始之前,就對變量之間的關係以及模型的形式有個比較清晰的判斷,並以此為指導設計實驗,決定哪些變量需要收集數據,要不然到了數據分析的時候才發現漏掉了關鍵的變量,那可就欲哭無淚啦!

構建模型的過程,有點像警察抓罪犯,分析數據的人扮演著警察的角色,罪犯便是我們要找的與因變量有關的因素。 我們要先憑藉已有的背景知識,找出一些可疑變量(犯罪嫌疑人),然後把這些變量加到模型裡面,進行進一步的審問 。

根據咱們看過各種偵探片的劇情,往往第一步找嫌疑人最為重要,如果把真正的罪犯在這一步漏掉了,無論後面如何對嫌疑人審問地多仔細, 也只是徒勞,弄不好還會將好人屈打成招(幾周以前的《天啦嚕!沒考慮到混雜因素,後果會這麼嚴重?》說的就是這事)。

警察審問犯罪嫌疑人,通過判斷嫌疑人的犯罪動機和過程是不是完全符合案情,找出真正的罪犯。我們在模型裡面「審問」可疑變量,先假設這些變量真的與因變量有關,再來看看由這些變量組成的模型能否很好地擬合 y 的數值,只有擬合得好,我們才有證據說明這些嫌疑人是真正的罪犯。擬合得不好呢?那也不要緊,構建模型並不是一錘子買賣,我們還可以根據回歸模型的結果,再進一步做調整。

今天我們要給大家講的,就是怎樣評價一個線性回歸模型整體的好壞。

怎樣知道模型擬合得好不好呢?

其實我們在《回歸線三千,我只取這一條》裡面已經講到了一些。現在我們來回顧一下,以最簡單的單變量線性模型為例:

回歸線的表達式是:

給定 x 取值,其對應的回歸線上的 y 值便是模型預測的 y 值,記為,而模型中誤差項 εi 表達的是預測值與實際值之間的誤差——我們的模型越準確,誤差就會越小。

大家已經知道,線性模型認為這個誤差項滿足正態分布,這樣便可以通過最大似然法,找出了最為合理的 β0 和 β1。給定了 β0 和 β1 以後,對於任意的 xi,因變量 y 的預測值也就確定下來了。

為了衡量模型整體的優劣,我們不妨把每個測量值 yi 和預測值之間的誤差用平方和的形式綜合起來,作為一個初步的評價標準:

我們也提到過,最大似然法找出的解,也恰好具有另外一個意義,就是能最小化誤差平方和。也就是說,只要給定了模型的形式,即模型裡面包含哪些變量,模型的參數就定了,同時誤差平方和的形式也就確定下來了。

誤差平方和越小,說明模型擬合出來的 y 值與真實的 y 值越接近 。而我們用最小二乘法得到的模型,就是這種形式的模型裡最好(誤差平方和最小)的一個。 

但是,我們要解決的問題比這要更進一步——如果我們有多個形式不同的模型,都擬合在同一組數據上,那麼哪個模型最好?

假設我們有兩個模型,都是來預測子女的身高,每個模型都用最大似然法確定了最佳回歸線,如下圖——

左邊的模型用的自變量是父親的身高,誤差平方和 = 1529.6,而右邊的模型是自變量是母親的身高,誤差平方和 = 748.1。 

直觀上右邊的模型比左邊的好,似乎誤差平方和越小,模型就越好,咱們暫且將誤差平方和稱為「模型好壞標準 v0」

僅用誤差平方和來衡量模型擬合得準不準確,有時並不合理 。 例如,同樣預測身高的模型如果只是把身高的單位從釐米變成米,那麼誤差平方和就會縮小10000倍,那麼是否意味著用米作為單位的模型更好?這顯然說不通,因為用米作為單位的模型和用釐米作為單位的模型是等價的。

有沒有什麼辦法來改良誤差平方和,使得模型好壞的標準不會因為變量同時增加或減少幾倍就改變?

一個自然的想法是,既然誤差平方和的絕對值不行,那就用誤差相對於真實值的比值唄。為了能讓分子和分母的單位能夠互相抵消,分母的真實值也取平方和的形式,得到 「模型好壞評分 v1」公式:

與誤差平方和一樣,這個評分越小,模型就擬合得越準確

雖然上面這個評分比 v0 更好,但細細想想也是有問題的。設想一下,如果模型要預測的不是人相對地面的身高,而是相對海平面的身高,數據集裡的所有人都在海拔五百米的山上。這時,模型的對身高的預測值和身高的真實值都同時增加 500 米,所以上面評分公式分子代表的誤差平方和不變,但是分母卻大了好幾個數量級,說明評分變低,得到模型更好。

另外一方面, 我們真正關心的是不同的人身高之間的差異與哪些因素有關,只是改變了測量身高的參考系,不應該改變模型對不同的人身高差異的預測能力,所以上面採用誤差平方和與真實值比值的評分方式也需要改進。

為了使得我們的「模型好壞評分」系統不會因為模型裡的預測值同時增加會減小一個固定值(比如像上面的例子那樣將參考系從地面變成海平面)而改變,可以先將 y 的預測值先減去其平均值(這一過程也叫做中心化),再取平方和,叫做總平方和:

從上面的公式看出,總平方和描述的是預測值 y 在其平均值的波動程度,預測值同時加上或減去一個常數對總平方和並無影響。

用總平方和代替「模型好壞評分 v1」中的分母,我們便可以得到「模型好壞評分 v2」:

作為模型好壞的評分,咱們習慣的是得分越高,模型越好,而「模型好壞評分 v2」是數值越低,模型越好,所以實際應用中,我們可以把它翻個個兒,以 「1 - 模型好壞評分 v2」作為衡量模型對現有數據的解釋能力,它還有一個專門的名字,叫做「模型好壞評分v3」,哦不對,是 R-square( R 平方),記作 R2:

從上面的推導過程可以看出,給定一個模型,R2 不會隨著預測值 y 的單位變化而改變,也不會因為 y 的值一塊兒增加或者減小而變化。

除了這些優點,R2 的取值總是在 0 到 1 之間(具體為什麼,下面會為大家解釋),這使得即使不同的線性模型也能放在同一個尺子下面來衡量好壞。

R2 等於 1 的時候,該模型的誤差平方和等於 0,即模型的預測值與實際值完全相等;R2 等於 0 的時候,說明誤差平方和等於總平方和,這又意味著什麼呢?這還得從總平方和的另外一層意義說起。

在《算術平均數:簡單背後有乾坤》裡面我們提到,如果我們假設每次測量的誤差服從正態分布,在沒有考慮其它因素的情況下,平均值其實是對變量的最大似然估計。在線性模型裡面,沒有任何自變量,只有一個常數的模型, y ~ β0 用最大似然法解出的模型參數 β0 就是 y 的平均值,同時 y 的預測值也是 y 的平均值。

聰明的讀者這時可能已經發現了,如果將總平方和公式中的 y 平均值看作是常數模型對 y 值的預測,總平方和的另外一層意義就是常數模型的誤差平方和。

從這一角度,R2 也可以理解為,正在構建的模型與模型比較,將擬合 y 的誤差降低了多少個百分比。誤差降低越多,說明加入的自變量對擬合 y 幫助越大。

R2 等於 0 的時候,等價於該模型的誤差平方和與常數模型的誤差平方和一樣大,也就是說加上了各種因變量並沒有使得模型預測出來的 y 值更準確,說明模型裡面的這些因變量對預測 y 的值一點幫助也沒有。

那有沒有可能存在誤差平方小於總平方和,也就是說 R2 是負數的可能呢?只要線性模型裡面包含常數項 b0 ,R2 就不可能是負數。

在包含了至少一個因變量的模型裡面,y ~ β0 + β1*xi 用最大似然法找到的回歸係數,使得其誤差平方和小於任何其它 0 和 1 取值時的誤差平方和,當然也包括 β1 = 0,β0 取 y 平均值時候的誤差平方和。

這就意味著,模型 y ~ β0 + β1*xi 的誤差平方和,一定小於或者等於常數模型 y ~ β0 的誤差平方和。

我們還可以換個角度更通俗地理解上面這個結論。如果一個自變量對減小誤差平方和完全沒有幫助,則線性模型會自動放棄使用這一自變量,將它的回歸係數設為 0。

這也就是說,往模型裡面加入新的自變量,模型的誤差平方和只會減小不會增加,從而 R2 只會增加不會減小。

根據上面的討論,只要模型裡面包含了常數項 b0,R2 就不可能是負數,如果你哪天發現你的模型 R2 是負數,那麼一定是你犯了一個技術性的錯誤——忘了在模型裡面加入截距項 b0(嗯,不要問我是怎麼知道的)。

由於往模型裡面加入新的自變量只可能提高 R2,這就使得用 R2 來比較包含不同數量的自變量的模型時候,總會對自變量多的模型比較偏心,這有時候並不合理,在下一集裡,我們會和大家繼續討論更多升級版的「模型好壞標準」。

精選每日一題

更多精選題可回顧歷史推送文末

題目來源:臨床執業醫師資格考試往屆真題

本期主播:閒閒閒兔

點擊下方標題可閱讀本系列任意文章




你真的懂p值嗎?

做統計,多少數據才算夠?(上)

做統計,多少數據才算夠?(下)

提升統計功效,讓評審心服口服!

你的科研成果都是真的嗎?

見識數據分析的「獨孤九劍」

貝葉斯vs頻率派:武功到底哪家強?




數據到手了,第一件事先幹啥?

算術平均數:簡單背後有乾坤

正態分布到底是怎麼來的?




想玩轉t檢驗?你得從這一篇看起

就是要實用!t 檢驗的七十二變

不是正態分布,t 檢驗還能用嗎?

只有15個標本,也能指望 t 檢驗嗎?

樣本分布不正態?數據變換來救場!

數據變換的萬能鑰匙:Box-Cox變換

t 檢驗用不了?別慌,還有神奇的非參數檢驗

只講 p 值,不講效應大小,都是耍流氓!

找出 t 檢驗的效應大小,對耍流氓 say no!

用置信區間,就是這麼(不)自信!

如何確定 t 檢驗的置信區間

優雅秀出你的 t 檢驗,提升Paper逼格!

要做 t 檢驗,這兩口毒奶可喝不得!



第4章  方差分析(ANOVA):多組平均數的比較


要比較三組數據,t 檢驗還能用嗎?

ANOVA在手,多組比較不犯愁

ANOVA的基本招式你掌握了嗎?

ANOVA做出了顯著性?事兒還沒完呢!

聽說,成對t檢驗還有ANOVA進階版?

重複測量ANOVA:你要知道的事兒都在這裡啦

沒聽說過多因素 ANOVA ?那你就可就 OUT 了!

多因素ANOVA=好幾個單因素ANOVA?可沒這麼簡單!

兩個因素相互影響,ANOVA結果該如何判讀?

ANOVA還能搞三四五因素?等等,我頭有點兒暈

要做ANOVA,樣本量多大才夠用




(未完,更新中)

車模航模你玩過,統計學模型你會玩嗎?

如果只能學習一種統計方法,我選擇線性回歸

回歸線三千,我只取這一條

三千回歸線裡選中了你,你靠譜嗎?

自變量不止一個,線性回歸該怎麼做?

回歸係數不顯著?也許是打開方式不對!




媽媽說答對的童鞋才能中獎

統計學的十個誤區,你答對了嗎?




說人話的統計學:一份遲來的邀請


作者:田菊

編輯:黑草烏葉

質控:粉條兒菜


相關焦點

  • 線性回歸分析詳解7:多元回歸方程的精度,R平方與調整後的R平方
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第七章,回歸方程的精度,R平方與調整後的R平方。多元線性回歸分析,我們在求出多元線性回歸方程後,這個方程到底怎麼樣,能不能起到效果,需要對求出的回歸方程進行一系列評價和評估。這些評價和評估,首先要做的,是確認回歸方程的精度。本章,我將分如下三個小節講述回歸方程的精度,歡迎閱讀與探討。我的《線性回歸分析》專欄總目錄見下圖。
  • 深度研究:回歸模型評價指標R2_score
    回歸模型的性能的評價指標主要有:RMSE(平方根誤差)、MAE(平均絕對誤差)、MSE(平均平方誤差)、R2_score。但是當量綱不同時,RMSE、MAE、MSE難以衡量模型效果好壞。這就需要用到R2_score,實際使用時,會遇到許多問題,今天我們深度研究一下。預備知識 搞清楚R2_score計算之前,我們還需要了解幾個統計學概念。
  • 理解並分析R與R平方
    1、R:一般用來度量數據之間的線性相關性,通常分為三種:Spearman,Pearson和kendall,在SPSS中也能直接使用,R的定義如下圖公式(1)所示:(1)R數學公式2、R_square:R_square起源於數學統計上,在一個線性模型中,我們通常使用它去評估該模型線性擬合度的高低,對於R_square的定義如下圖公式(2)所示,其中SST:總平方和(類似於方差)
  • 多元線性回歸的模型解釋、假設檢驗、特徵選擇
    現在有人可能會想,我們也可以用簡單的線性回歸來分別研究我們對所有自變量的輸出。為什麼需要線性回歸從多個輸入變量預測結果。但是,真的是這樣嗎?考慮到這一點,假設你要估算你想買的房子的價格。因此,我們的線性回歸模型現在可以表示為:發現這些常數的值(β)是什麼回歸模型通過最小化誤差函數,擬合最好的行或超平面(根據輸入變量的數量)。這是通過最小化殘差平方和( Residual Sum of Squares)來實現的,殘差平方和是通過將實際結果和預測結果之間的差異平方得到的。
  • 線性回歸擬合優度的度量:R平方
    線性回歸 Y = ax + b 的擬合程度,都是用 R 平方來進行判定,所以本篇文章來梳理 R 平方的具體計算方式
  • [PRML]線性回歸模型--線性基函數模型
    這通常稱為線性回歸(linear regression)。,這個暗示了模型的限制。『tanh』函數的線性組合。取似然函數的對數並利用單元高斯的標準形式,則有:式中平方和誤差函數定義如下:已經寫好了似然函數,下面用似然函數確定
  • 線性回歸模型
    如下圖所示,我們可以通過繪製繪製(x,y)的散點圖的方式來查看x和y之間是否有線性關係,線性回歸模型的目標是尋找一條穿過這些散點的直線,讓所有的點離直線的距離最短。這條完美直線所對應的參數就是我們要找的線性回歸模型參數w1,w2,w3……b
  • 多元線性回歸與模型診斷
    在運用回歸模型後,總誤差可以分解為以下兩種:    1)不能解釋變量誤差(誤差項的平方)註:一元線性回歸的R方比較特殊,為相關係數的平方:②K折交叉檢驗    a.確定模型數量(有n個解釋變量——每個變量選擇有或無,通常有2^n個模型)    b.將數據分成相等數量的k個集合,其中k-1個集合作為訓練集擬合回歸方程,剩下的1個集合作為驗證集;重複進行交叉擬合驗證(總計有k次)。    c.每個模型都採用b的方式進行驗證。
  • r語言多元線性回歸相關性_多元線性回歸調整相關性 - CSDN
    多元線性回歸多元線性回歸的核心問題:應該選擇哪些變量???RSS(殘差平方和)與R2  (相關係數的平方)選擇法:遍歷所有可能的組合,選出使RSS最小,R2  最大的模型。
  • R語言——交叉驗證法計算線性回歸模型擬合優度的第三種R方
    R方和調整R方是判斷回歸模型擬合度的最為方便簡單的指標,一般來說,數值越大代表模型的擬合度越好。R方的缺點很明顯,當我們在回歸模型中加入更多的回歸自變量時,不管這個回歸自變量能否解釋因變量,R方都會增加。為了克服這個缺點,引入了調整R方。兩者的計算方法如下,其中分子為擬合值和實際值的差值的平方的和。大部分的初級和中級的計量課本都只會介紹這兩種R方,但實際上,還存在第三種R方。
  • 深入研究線性回歸
    當我說到「線性回歸」時,大多數人開始想到的是最小二乘法(OLS)。如果你不熟悉這個術語,下面的方程可能會有幫助:學過最小二乘法嗎?如果學過,那麼你就走在正確的道路上了。但是線性回歸不僅僅是最小二乘法。首先,讓我們更仔細地看看最小二乘法。
  • 如何用線性回歸模型做數據分析?
    線性回歸模型分為一元線性回歸與多元線性回歸:區別在於自變量的個數。我們用最小二乘法來確定模型的係數——最小二乘法,它通過最小化誤差的平方和尋找數據的最佳函數匹配,利用最小二乘法可以求得一條直線,並且使得擬合數據與實際數據之間誤差的平方和為最小。
  • 一元線性回歸顯著性檢驗專題及常見問題 - CSDN
    為響應變量觀測值的校正平方和。殘差平方和有n-2 個自由度,因為兩個自由度與得到的實用性。因為稱為模型平方和(或回歸平方和),記為SSR(R: regression),                (11)  因為總平方和反映因變量 y 的波動程度或稱不確定性,在建立了 y 對 x 的線性回歸後,總平方和SST就分解成回歸平方和SSR與殘差平方和SSE這兩部分
  • [PRML]線性分類模型--概率判別模型
    與式13的比較表明,它與線性回歸模型的平方和誤差函數的梯度具有完全相同的形式。需要注意的是,即使數據點的數量比模型中的參數的數量大,只要訓練數據集是線性可分的,問題就會出現。首先,將Newton-Raphson方法應用於具有平方和誤差函數(式12)的線性回歸模型(式3)。
  • 大數據分析為什麼要學習R中的線性建模
    對於大數據分析師來說,能夠建立線性模型是絕對必要的,但是數據分析人員甚至業餘愛好者也可以從線性建模的功能中受益匪淺。R中的線性建模,這是大數據分析師中的新課程,它將從頭開始教你此技能。你準備好動手開始建模嗎?
  • python多重線性回歸分析
    一個簡單的線性回歸模型測試。定義:線性回歸是利用數理統計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。表達形式為y =aX+b,b為誤差服從均值為0的正態分布,a為截距。
  • 機器學習之多元線性回歸模型梯度下降公式與代碼實現(篇二)
    上一篇我們介紹了線性回歸的概述和最小二乘的介紹,對簡單的一元線性方程模型手推了公式和python代碼的實現。退而求其次,我們希望能找到一條比較「好」的位於採樣點中 間的直線。那麼怎麼衡量「好」與「不好」呢?
  • r語言 多元回歸模型_r語言多元回歸模型殘差分析 - CSDN
    1、多元線性回歸模型1.1多元回歸模型與多元回歸方程設因變量為y,k個自變量分別為,描述因變量y如何依賴於自變量和誤差項ε的方程稱為多元回歸模型。其一般形式可表示為:式中,為模型的參數,ε為隨機誤差項。
  • 回歸分析中R方和調整R方的區別
    介紹當我開始我的數據科學之旅時,我探索的第一個算法是線性回歸。在理解了線性回歸的概念和算法的工作原理之後,我非常興奮地使用它並在問題陳述中做出預測。我相信你們大多數人也會這麼做的。但是一旦我們建立了模型,下一步是什麼呢?接下來是棘手的部分。
  • r中回歸結果怎麼判定模型好壞_lasso回歸 模型好壞 - CSDN
    模型構建之前都有假定,模型構建的好不好、是否合適都取決於模型是否符合假定,當然更核心的還是要關注模型在業務場景的應用,這才是建模的最主要的目的。,則需要考慮模型好不好、行不行,即必須要進行模型診斷,任何一個模型都有一個正常、期待的樣子,即假定,模型建好後都應該看下模型擬合的結果是否符合假定,建模不是很難的過程,困難的點在於數據是否符合假定的衡量。