1. 程式人生 > >資料分析——最小二乘法建立線性迴歸方程(最簡單的一元線性模型為例)

資料分析——最小二乘法建立線性迴歸方程(最簡單的一元線性模型為例)

概述

別看公式多,其實很簡單

最小二乘法其實又叫最小平方法,是一種資料擬合的優化技術。實質上是利用最小誤差的平方尋求資料的最佳匹配函式,利用最小二乘法可以便捷的求得未知的資料,起到預測的作用,並且是的這些預測的資料與實際資料之間的誤差平方和達到最小。一般應用在曲線擬合的目的上。

原理

本篇文章不考慮其他方面的應用,我們用最簡單的例項說明最小二乘法的工作原理與其內在含義。

當我們在研究兩個變數(x,y)之間的相互關係時,往往會有一系列的資料對[(x1,y1),(x2,y2)... (xm,ym)],那麼將這些資料描繪到x-y直系座標中若發現這些點都在一條直線附近時,那麼初始令這條直線方程的表示式為

                                                                     \widehat{Y}_i=a_0+a_1x_i

其中 a_0,a_1 是任意的實數,現在需要讓當 x 取值為 x_i 預測值 Y_i

 與迴歸方程所預測的 \widehat{Y}_i 之間的差值平方最小,但是對於整個迴歸方程而言,就是所有預測值與實際值之間差值平方之和最小。

如果你要是問我,為什麼要用預測值與真實值之間的差值。因為想要需要比較兩個Y值,必須有個不變的因子那就是X,在同一個X下比較兩種Y才有意義。如果你又問,為什麼要平方,那是因為兩個Y值之間做差值總會有正負的性質,而這是一個距離問題,是一個標量,所以平方。

故建立一下方程:

                                                            \sum _{i-1}^n(Y_i-\widehat{Y}_i) = Q(a_0,a_1)

Q為關於預測方程中兩個引數a_0,a_1的函式而已,此時將預測方程(有的人也叫擬合函式)帶入以上公式得到以下方程:

                                                    \sum _{i-1}^n(Y_i-(a_0+a_1x_i)) ^2= Q(a_0,a_1)                                                      

要使的方程Q的取值最小,那麼需要對函式Q分別對a_0,a_1求一階偏導數,並且零偏導之後的值為0。即

                                                  \partial Q/\partial a_0=-2\sum _{i=1}^n(\widehat{Y}_i-a_0-a_1x_i)=0 

                                                \partial Q/\partial a_1=-2\sum _{i=1}^n(\widehat{Y}_i-a_0-a_1x_i)x_1=0

然後,鬱悶了一波,為什麼要等於0才行啊?哎!因為函式Q是一個進行平方擦操作了的,那麼Q大致的曲線就是一個凹形曲線咯,當分別對兩個變數求偏導之後等於零時Q肯定處於曲線的最低點,這樣也滿足了預測值與真實值距離最近的條件了。

接下來就需要對兩個引數進行變換求解了,經過一頓移項變換操作之後得到兩個引數a_0,a_1關於x和y的表示式。

                                                 a_1=\frac{n\sum_{i=1}^nx_iy_i-\sum _{i=1}^nx_i\sum _{i=1}^ny_i }{n\sum _{i=1}^nx_i^2-(\sum _{i=1}^nx_i)^2}

                                                          a_0=\frac{\sum _{i=1}^ny_i}{n}-a_1\frac{\sum _{i=1}^nx_i}{n}

我靠,敲得我頭都暈了眼也花了,公式很難敲,關鍵是態度要到位。

例項應用

該例子資料引用於SPSS生活統計學。

某市欲對貨運總量與工業總產值的數量關係進行研究,以便通過工業總產值預測貨運總量。現將1991-2000年的資料,列入表中,根據這些資料建立迴歸方程。

貨運總量   2.8 2.9 3.2 3.2 3.4 3.2 3.3 3.7 3.9 4.2

工業總值  25  27  29   32  34  36  35  39  42   45

首先觀測這些資料是否具有某種直觀上的特徵,

 由上圖可以直接看出,x與y之間存在著大致的線性關係,所以權當兩者就是線性關係。接下來我們計算我們需要用到的資料計算結果xy,x平方與y平方,詳見下圖。

 將這些結果帶入公式:

                                             a_1=\frac{n\sum_{i=1}^nx_iy_i-\sum _{i=1}^nx_i\sum _{i=1}^ny_i }{n\sum _{i=1}^nx_i^2-(\sum _{i=1}^nx_i)^2}\approx 0.06493

                                                     a_0=\frac{\sum _{i=1}^ny_i}{n}-a_1\frac{\sum _{i=1}^nx_i}{n}\approx 1.1464

那麼線性迴歸的方程即為

                                                 \widehat{Y}_i=a_0+a_1X_i = 1.1644+0.06493X_i

順便配個圖:

這樣線性迴歸的方程就出來了。OK最小二乘法也說了(不是很深,也不是很廣,因為自己很菜),例子應用也說了。那麼本篇到此結束。