本文來自同步博客。
P.S. 不知道簡書怎么顯示數學公式。所以如果覺得文章下面格式亂的話請自行跳轉到上述鏈接。后續我將不再對數學公式進行截圖,畢竟行內公式截圖的話排版會很亂。看原博客地址會有更好的體驗。
上一篇文章介紹如何使用sklearn
進行線性回歸預測。接下來本文將深入原理,了解線性回歸是如何工作的。
基礎概念
線性回歸為何叫線性?實際上,像在處理Google的股票統計數據時,我們使用線性回歸是在這堆數據所在的N維空間中找到一條線來描述這些數據的規律,因此才叫線性回歸。這個過程稱為擬合,這條線成為擬合線。
這條擬合線上的某個數據點或多或少都會偏離實際統計的值。實際統計數據和擬合線對應數據的差叫殘差。很明顯,殘差可以反映模型的預測誤差。
但是殘差有正有負的,不方便計算。而且實際運用中我們不需要關注殘差的正負,因為正負并不能描述誤差的大小程度。為了降低計算復雜性,我們使用這個差值的平方進行計算。你可能會想到,差值的平方不是把差值給改了嗎,沒關系嗎?答案是:數據確實變了,但沒影響。因為我們真正使用的是殘差的絕對值,用它描述誤差大小的程度,而對這個絕對值進行平方后有同樣的效果,畢竟y = |x| 與y = x^2有同樣的單調性。
結合上述平方的想法,為了讓預測更加準確,我們應該選擇一條線,能夠使得線上每個點與實際數據的殘差平方的總和最小。這樣的線才能叫最佳擬合線。
構建模型
接下來就是利用統計數據和上述原理來構建模型,也就是找最佳擬合線。
二維空間中,直線可以表示為:
我們已經有通過統計得到的很多份數據Xi和Yi,接下來的目標就是利用這些數據求解參數a和b。
求解過程暫時不展開,請參考這個講述求解參數的文章。最終得到的結果如下圖所示:
至此即可得到最佳擬合線的參數,代回直線方程中就可以作為預測模型,可用于對新的X進行計算從而預測出對應的Y。其中,
表示X的平均值。
同理。
上述的這種方法稱為最小二乘法(Least Squares)。擴展到N維空間,最小二乘法依舊可用,不過我怕陷入數學的漩渦暫時不敢繼續深入。除此之外,在線性回歸中求解參數的方法還有“梯度下降法(Gradient Descent)”。
R方理論評估模型
在前一篇文章中提到了模型的準確性accuracy
一詞。實際上accuracy
在統計學中應該稱為“可決系數”,它的計算方法有兩種。在這里我嘗試介紹R方理論作為計算方法。
R方的計算方法如下:
這個式子用1減去y的殘差平方和與y的總方差的比值,y減去widehat{y}也就是殘差,是擬合方程中對數據尚不能解釋到的部分,用1減去不能解釋的部分,那么剩下的就是可以解釋的部分。也就是說自變量解釋了因變量變動的百分比的多少,那么R^2 的值肯定是越大越好,意味著該模型把y的變動解釋得好,R^2的范圍顯然是0到1。