Chapter 9 Linear Regression
本篇是第九章,內容是回歸分析(主要以線性回歸為主)。回歸分析是數理統計、數理分析中最基礎(也可以說是最重要)的一個分析,所以這一章內容相對來說也較多。
1 變量間的關系
- 確定型關系vs不確定型關系
函數關系——一一對應的確定型關系設有兩個變量x和y,變量y隨變量x一起變化, 并完全依賴于x,當變量x取某個數值時,y依確定的關系取相應的值,則稱y是x的函數,記為y=f(x),其中x稱為自變量,y稱為因變量各觀測點落在一條線上。
相關關系(correlation)——變量間關系不能用函數關系精確表達。一個變量的取值不能由另一個變量唯一確定。當變量x取某個值時, 變量y的取值可能有幾個。各觀測點分布在直線周圍。
相關關系包括了線性相關(正相關、負相關)、非線性相關、完全相關(正相關、負相關)、不相關。

除了如上的圖,可以看下面的鏈接——關于相同統計量不同數據的一篇外文。
相關系數(correlation coefficient)
- 對變量之間關系密切程度的度量(只關心密切程度,無關因果關系);
- 對兩個變量之間線性相關程度的度量稱為簡單相關系數;
- 若相關系數是根據總體全部數據計算的,稱為總體相關系數,記為ρ;
- 若是根據樣本數據計算的,則稱為樣本相關系數,記為 r。
總體相關系數的計算公式:
相關系數特點
- 無量綱(Unitfree);
- ρ的取值范圍是 [-1,1];
- |ρ|=1,為完全相關(ρ=1為完全正相關;ρ=-1為完全負相關);
- ρ=0,不存在線性相關關系;
- -1≤ρ<0,為負相關,0<ρ≤1,為正相關;
- |ρ|越趨于1表示線性關系越密切;|ρ|越趨于0表示線性關系越不密切;
- 若X與Y相互獨立,則ρ=0,但ρ=0,X與Y不一定相互獨立;
- 若ρ= 0,且X與Y服從正態分布,則X與Y相互獨立。
樣本相關系數計算公式:
樣本相關系數特點
- 無量綱(Unitfree);
- r的取值范圍是 [-1,1];
- |r|=1,為完全相關(r=1為完全正相關;r=-1為完全負相關);
- r=0,不存在線性相關關系;
- -1≤r<0為負相關,0<r≤1為正相關;
- |r|越趨于1表示線性關系越密切;|r|越趨于0表示線性關系越不密切;
對變量之間關系密切程度的度量,只關心密切程度,無關因果關系。
比如撐傘的人數和降雨量的相關系數非常高。但是我們不能說因為撐傘的人多了,所以降雨量大。
r的抽樣分布
r的抽樣分布隨總體相關系數和樣本容量的大小而變化。當樣本數據來自服從正態分布的總體時,隨著n的增大,r的抽樣分布趨于正態分布,尤其是在總體相關系數ρ很小或接近0時,趨于正態分布的趨勢非常明顯。而當ρ遠離0時,除非n非常大,否則r的抽樣分布呈現一定的偏態。當ρ為較大的正值時, r呈現左偏分布;當ρ為較小的負值時, r 呈現右偏分布。只有當ρ接近于0,而樣本容量n很大時,才能認為r是接近于正態分布的隨機變量。
相關系數的顯著性檢驗步驟
檢驗兩個變量之間是否存在線性相關關系,等價于對回歸系數β1的檢驗。采用R. A. Fisher提出的t檢驗。
檢驗的步驟為:
2 回歸分析和簡單線性回歸分析
2.1 回歸分析
什么是回歸分析(Regression)?
從一組樣本數據出發,確定變量之間的數學關系式。對這些關系式的可信程度進行各種統計檢驗,并從影響某一特定變量的諸多變量中找出哪些變量的影響顯著, 哪些不顯著。利用所求的關系式,根據一個或幾個變量的取值來預測或控制另一個特定變量的取值, 并給出這種預測或控制的精確程度。
回歸分析與相關分析的區別
相關分析中,變量x變量y處于平等的地位;回歸分析中,變量y稱為因變量,處在被解釋的地位,x稱為自變量,用于預測因變量的變化;
相關分析中所涉及的變量x和y都是隨機變量;回歸分析中,因變量y是隨機變量,自變量x可以是隨機變量,也可以是非隨機的確定變量;
相關分析主要是描述兩個變量之間線性關系的密切程度;回歸分析不僅可以揭示變量x對變量y的影響大小,還可以由回歸方程進行預測和控制。
回歸模型(regression model)——回答“變量之間是什么樣的關系?”方程中運用1個數值型因變量(響應變量)作為被預測的變量;1個或多個數值型或分類型自變量 (解釋變量)作為用于預測的變量。主要用于預測和估計。回歸模型的類型包括一元回歸模型(線性和非線性)和多元回歸模型(線性和非線性)。
接下來先從簡單線性回歸分析講起。
2.2 簡單線性回歸分析
簡單線性回歸(Simple Linear Regression)——涉及一個自變量的回歸,因變量y與自變量x之間為線性關系。被預測或被解釋的變量稱為因變量(dependent variable),用y表示;用來預測或用來解釋因變量的一個或多個變量稱為自變量(independent variable),用x表示。因變量與自變量之間的關系用一個線性方程來表示。
描述因變量y如何依賴于自變量x和誤差項ε的方程稱為回歸模型(Regression Model,定義如前)。
(1)簡單線性回歸模型的表示形式
y是x的線性函數(部分)加上誤差項(residual/random error term)。線性部分反映了由于x的變化而引起的y的變化。誤差項ε是隨機變量。反映了除x和y之間的線性關系之外的隨機因素對y的影響,是不能由x和y之間的線性關系所解釋的變異性。β0和β1稱為模型的參數(interception, slope)。
(2)簡單線性回歸模型的基本假定
誤差項ε是一個期望值為0的隨機變量,即E(ε)=0。對于一個給定的x值,y的期望值為
(3)簡單線性回歸方程(regression equation)
描述y的平均值或期望值如何依賴于x的方程稱為回歸方程;簡單線性回歸方程的形式如下
方程的圖示是一條直線,也稱為直線回歸方程。β0是回歸直線在y軸上的截距(interception),是當x=0時y的期望值。β1是直線的斜率(slope),稱為回歸系數,表示當x每變動一個單位時,y的平均變動值。
(4)估計的回歸方程(estimated regression equation)
(5)最小二乘估計
在r語言中,簡單線性回歸的代碼如下:
modele<-lm(e~a)
(7)回歸直線的擬合優度
變差
因變量 y 的取值是不同的, y 取值的這種波動稱為變差。 變差來源于兩個方面:
離差平方和的分解(三個平方和的關系與意義)
從左至右分別為SST,SSR,SSE。
所以就有SST=SSR+SSE。
總平方和(SST)——反映因變量的 n 個觀察值與其均值的總離差;
回歸平方和(SSR)——反映自變量 x 的變化對因變量 y 取值變化的影響,或者說,是由于x與y之間的線性關系引起的y的取值變化,也稱為可解釋的平方和;
殘差平方和(SSE)——反映除x以外的其他因素對y取值的影響,也稱為不可解釋的平方和或剩余平方和。
判定系數R2(coefficient of determination)
回歸平方和占總離差平方和的比例。
估計標準誤差(standard error of estimate)
顯著性檢驗
- 線性關系的顯著性檢驗:檢驗自變量與因變量之間的線性關系是否顯著,即檢驗x與y之間是否具有線性關系,或者說,檢驗自變量x對因變量y的影響是否顯著;
- 回歸系數的顯著性檢驗:檢驗回歸系數是否不等于0;
- 在簡單線性回歸中,線性關系的顯著性檢驗等價于回歸系數的顯著性檢驗。
線性關系的檢驗
將回歸均方(MSR)同殘差均方(MSE)加以比較, 應用F檢驗來分析二者之間的差別是否顯著。
回歸均方:回歸平方和SSR除以相應的自由度(自變量的個數p);
殘差均方:殘差平方和SSE除以相應的自由度(n-p-1)。
回歸系數的檢驗(檢驗步驟)
顯著性檢驗的幾點注意
顯著性關系的結論不意味著因果關系。顯著性關系的結論也不能推出線性關系的結論,僅能說在x的樣本觀測之范圍內,x和y是相關的,而且一個線性關系只揭示了y的變異的主要部分。當樣本容量很大時,對于小的b1值也能得到統計上是顯著的結果。
3 利用回歸方程進行估計和預測
根據自變量x的取值估計或預測因變量y的取值。
估計或預測的類型
(1)點估計:y的平均值的點估計,y的個別值的點估計;
(2)區間估計:y的平均值的置信區間估計,y的個別值的預測區間估計。
(1)點估計
對于自變量x的一個給定值x0,根據回歸方程得到因變量y的一個估計值^y0。
點估計值有y的平均值的點估計和y的個別值的點估計。在點估計條件下,平均值的點估計和個別值的的點估計是一樣的,但在區間估計中則不同。
(2)區間估計
點估計不能給出估計的精度, 點估計值與實際值之間是有誤差的, 因此需要進行區間估計。對于自變量x的一個給定值$x_0$,根據回歸方程得到因變量y的一個估計區間。區間估計有兩種類型:置信區間估計(confidence interval estimate)和預測區間估計(prediction interval estimate)。
影響區間寬度的因素
其實在R語言里主要用predict.lm函數來進行區間估計。代碼樣例如下:
con<-predict.lm(modele,h,interval="confidence",level=0.95)
其中interval控制是置信區間(參數填confidence)、預測區間(參數填prediction)或者是不做區間估計,level是置信水平,接著用R繪制一個簡單的回歸和置信區間的圖,這里先給出如何繪制置信區間band的代碼,完整代碼還是老規矩,在這一部分筆記寫完后給出。
polygon(c(h[,1], rev(h[,1])), c(con[,3], rev(con[,2])),border="red",lwd=1,lty = c("dashed", "solid"))

4 殘差分析
殘差(residual)——因變量的觀測值與根據估計的回歸方程求出的預測值之差,用e表示。
反映了用估計的回歸方程去預測而引起的誤差。
殘差檢驗的目的
- 檢驗線性的假設是否成立;
- 確定有關誤差項ε的假定是否成立(正態分布;方差為常數;獨立性)。
- 檢測有影響的觀測值。
殘差圖(residual plot)
- 表示殘差的圖形(關于x的殘差圖,關于y的殘差圖,標準化殘差圖)。
- 用直方圖或正態概率圖檢驗正態性。
標準化殘差(standardized residual)
標準化殘差圖
用以直觀地判斷誤差項服從正態分布這一假定是否成立。
- 若假定成立, 標準化殘差的分布也應服從正態分布。
- 在標準化殘差圖中, 大約有95%的標準化殘差在-2到+2之間。
變換
數據變換的問題在前面第七章擬合優度檢驗提過,那么什么時候做變換?
如果從散點圖觀察發現殘差是自變量的函數,通過變換可能可以解決問題。
做什么變換?觀察殘差與因變量觀測值的均值的關系:
- 如果殘差的標準差與因變量觀測值的均值有線性關系,用log變換;
- 如果殘差的方差與因變量觀測值的均值有線性關系,用square root變換;
- 如果殘差的標準差與因變量觀測值的均值的平方有線性關系,用inverse變換;
- 如果殘差的標準差與因變量觀測值的均值的冪有線性關系,用power變換。
序列相關(自相關)
當數據是按時間順序采集的,有可能引起誤差項之間的相關(Serial correlation,autocorrelation)。
這里介紹一個相關的杜賓-瓦特森(Durbin-Watson)檢驗統計量:
是否遺漏了重要的對因變量有時序影響的自變量,有時可通過引入度量觀測次數的自變量解決該問題。這部分屬于時間序列分析的范疇,這里就不進一步闡述了。
在R語言中,線性回歸方程殘差圖繪制非常簡單。模型擬合過程會自動給出四個殘差可視化相關的圖。繪制方法如下:
layout(matrix(c(1,2,3,4),nrow=2,byrow=T))
plot(modele)
結果如圖

異常值(outlier)與識別
如果某一個點與其他點所呈現的趨勢不相吻合,這個點就有可能是異常點。
- 如果異常值是一個錯誤的數據, 比如記錄錯誤造成的, 應該修正該數據, 以便改善回歸的效果;
- 如果是由于模型的假定不合理, 使得標準化殘差偏大, 應該考慮采用其他形式的模型,比如非線性模型;
- 如果完全是由于隨機因素而造成的異常值, 則應該保留該數據。
在處理異常值時, 若一個異常值是一個有效的觀測值, 不應輕易地將其從數據集中予以剔除。
- 異常值也可以通過標準化殘差來識別;
- 如果某一個觀測值所對應的標準化殘差較大, 就可以識別為異常值;
- 一般情況下,當一個觀測值所對應的標準化殘差小于-2或大于+2時,就可以將其視為異常值。
有影響的觀測值
如果某一個或某一些觀測值對回歸的結果有強烈的影響,那么該觀測值或這些觀測值就是有影響的觀測值。
一個有影響的觀測值可能是:一個異常值, 即有一個值遠遠偏離了散點圖中的趨勢線;對應一個遠離自變量平均值的觀測值;或者是這二者組合而形成的觀測值。
如果有影響的觀測值是一個錯誤的數據,比如記錄錯誤造成的, 應該修正該數據,以便改善回歸的效果。
如果有影響的觀測值是一個有效的數據則應該保留它, 可以幫助我們分析模型的假定是否合理。
杠桿率點(leverage point)
如果自變量存在一個極端值, 該觀測值則稱為高杠桿率點(high leverage point),在簡單回歸中,第i個觀測值的杠桿率用$h_i$表示,其計算公式為:
如果一個觀測值的杠桿率hi>n/6,就可以將該觀測值識別為有高杠桿率的點;
一個有高杠桿率的觀測值未必是一個有影響的觀測值, 它可能對回歸直線的斜率沒有什么影響。
5 多元線性回歸(multiple regression model)
多元線性回歸(multiple regression model)
多元回歸模型的基本假定
多元回歸方程(multiple regression equation)
二元回歸方程的幾何表達——回歸面。

估計的多元回歸的方程(estimated multiple regression equation)
參數的最小二乘法
多重判定系數(multiple coefficient of determination)
回歸平方和占總平方和的比例,計算公式為
因變量取值的變差中, 能被估計的多元回歸方程所解釋的比例。
修正多重判定系數(adjusted multiple coefficient of determination)
估計標準誤差s
對誤差項ε的標準差σ的一個估計值。衡量多元回歸方程的擬合優度。計算公式為
線性關系檢驗
檢驗因變量與所有自變量之間的線性關系是否顯著,也被稱為總體的顯著性檢驗。檢驗方法是將回歸均方和(MSR)同離差均方和(MSE)加以比較,應用F檢驗來分析二者之間的差別是否顯著。
- 如果是顯著的, 因變量與自變量之間存在線性關系;
- 如果不顯著, 因變量與自變量之間不存在線性關系。
回歸系數的檢驗(檢驗步驟)
- 線性關系檢驗通過后,對各個回歸系數進行檢驗。
- 對每一個自變量單獨應用 t 檢驗統計量進行檢驗。
回歸系數的推斷(置信區間)
回歸系數在(1-α)%置信水平下的置信區間為
回歸系數的抽樣標準差
6 多重共線性(multicollinearity)
回歸模型中兩個或兩個以上的自變量彼此相關。多重共線性帶來的問題有:可能會使回歸的結果造成混亂, 甚至會把分析引入歧途;可能對參數估計值的正負號產生影響, 特別是各回歸系數的正負號有可能同我們預期的正負號相反。
多重共線性的識別
- 檢測多重共線性的最簡單的一種辦法是計算模型中各對自變量之間的相關系數, 并對各相關系數進行顯著性檢驗;
若有一個或多個相關系數顯著, 就表示模型中所用的自變量之間相關,存在著多重共線性。- 如果出現下列情況,暗示存在多重共線性:
模型中各對自變量之間顯著相關。
當模型的線性關系檢驗(F檢驗)顯著時,幾乎所有回歸系數的t檢驗卻不顯著。
回歸系數的正負號與預期的相反。
檢測多重共線性(Variance Inflationary Factor)
多重共線性(問題的處理)
將一個或多個相關的自變量從模型中剔除,使保留的自變量盡可能不相關。
如果要在模型中保留所有的自變量,則應避免根據t統計量對單個參數進行檢驗,對因變量值的推斷(估計或預測)的限定在自變量樣本值的范圍內。
7 定性自變量的回歸
虛擬變量(dummy variable)
定性自變量————只有兩個水平的定性自變量或有兩個以上水平的定性自變量。
虛擬變量——用數字代碼表示的定性自變量。
虛擬變量的取值為0,1。
虛擬變量的個數
8 非線性回歸
(1)二階回歸模型(Quadratic Regression Model)——當散點圖如下所示,可考慮二次回歸模型。

二階回歸模型的顯著性檢驗
(2)交互作用
交互作用——兩個自變量共同作用對因變量產生的潛在影響。
交互作用顯著性檢驗
(3)其他非線性回歸
因變量y與x之間不是線性關系,可通過變量代換轉換成線性關系,用最小二乘法求出參數的估計值。但是并非所有的非線性模型都可以化為線性模型。
- 雙曲線

- 冪函數曲線

- 對數曲線

- 指數曲線

- S型曲線

9 建立回歸模型
得到描述因變量與一個或一個以上自變量之間關系的估計的回歸方程。目的是建立一個基于最好自變量集合的模型。找到一個適合的描述變量關系之間關系的函數。選擇模型應包含的變量。
- 儉約的模型–用盡可能少的變量來提供足夠精度的預測。
- 將不重要的變量除去更容易對模型進行解釋。
- 發生多重共線性的可能變小。
變量選擇Variable Selection
有些變量的作用不是很大,SSE 不會隨著變量個數的增加而增加,但MSE=SSE/(n-k-1) 有可能會隨著變量
個數的增加而增加。最小的MSE可作為最優變量選擇的一個準則,但需考慮所有子集 (2^p個)。
檢驗增加變量是否適宜的F統計
F越大,說明增加變量減少預測誤差的效果越顯著。
變量選擇過程
- 向前選擇(Forward Selection)
- 從沒有自變量的模型開始。
- 如果所有的F統計量的p-值大于預先設定的終止值,說明增加任一變量效果不顯著,停止。
- 否則,加入具有最大F統計量值的變量。
- 重新回歸, Go to Step 2。
- 后向消元(Backward Elimination)
- 從包含所有自變量的模型開始。
- 如果所有的F統計量的p-值小于預先設定的終止值,說明減少任一變量效果顯著,停止。
- 否則,刪除具有最小F統計量值的變量。
- 重新回歸, Go to Step 2。
- 逐步回歸(Stepwise regression procedure)
向前選擇和后向消元的結合。
1.先檢查是否有變量需從模型中刪除。
2.再檢查增加一個變量是否能改善模型。
3.重復以上過程。
注意: α進≤α出,否則F進<F<F出,會導致無限循環。- 最佳子集回歸(Best-subset approach)
對所有可能的自變量組合進行估計。找出具有最大的修正判定系數$adj.R^2$和最小的估計誤差標準差$s_ε$。
10 回歸中的常見錯誤
(1)沒有檢驗線性關系假設
畫散點圖。
如果不是線性的,檢驗其它非線性。
用線性關系描述非線性關系會引起誤導。
(2)只看結果不看圖表
要將畫散點圖作為回歸分析的一部分。
檢驗回歸直線與實際觀測值間的關系。
對自動回歸來說這一步更為重要。
(3)用回歸系數判定變量的重要性
回歸系數依賴于自變量的量綱,因此系數的大小與變量的重要性無關。
例如,將秒變為微秒沒有改變任何事實,但是變量的系數卻有所改變。
(4)沒有確定置信區間
觀察值是隨機樣本,所以回歸結果有一定隨機性。
不確定置信區間,不可能理解參數的真正含義。
(5)沒有計算判定系數
沒有$R^2$,很難確定多少變異是由回歸解釋的。
即使$R^2$看起來很好,安全起見還應做F-test。
(6)錯誤解釋相關系數
判定系數是R2。
相關系數是R。
R2給出變異由回歸解釋的百分比,不是R。
如:R =0.5,R2=0.25——回歸解釋了25%的變異,不是50%。
(7)使用強相關的自變量
模型同時包括兩強相關的自變量會降低回歸模型的顯著性。
要盡可能的了解自變量間的關系。
(8)用回歸模型預測觀測值范圍之外的區域
回歸是基于某一特定觀測樣本的。
在樣本觀測值范圍內能提供較為精確的估計。
(9)觀測值取值范圍太小
回歸只有在觀測值取值范圍附近預測的結果比較好。
如果不在常用的范圍內取值,回歸模型用處不大。
(10)包括太多的自變量
變量越多的模型不一定越好。
有可能出現多重共線性。
(11)認為好的預測變量是好的控制變量
相關關系不一定因果關系:A與B相關,并不意味著可以通過改變A來控制B。
(12)線性回歸結果會給人以誤導
為了提供一個簡練的總結,回歸過程中舍棄了一些信息。
有時一些重要的特征也舍棄了——看圖形表示可以告訴我們是否有問題。
11 Logistic 回歸
Logistic回歸提出的目的是為了解決二值化數據的回歸問題。那么為什么簡單線性回歸模型不適合二值化數據的回歸呢?詳細原因可見如下圖。

二值化變量是“yes”或者"no"的數據。可以被編碼為1和0,也就是說不會有其他的變異數值。所以對于這種情況模型的要求是:模型的邊界為0和1,模型可以輸出的是一個在這類或者另一類的概率。我們想要的是一個實際值落入這類或者另一類的概率大小。而理想的模型是很好的估計0和1,或者換句話說,結果是0或1。所以解決方案就是Logistic回歸。

Logistic的基本形式為
典型案例:
城市增長問題,城市化預測模擬,
常見的問題
- 都有一個二值化(或分類)變量:
- 都涉及到預測的思想機會,概率,比例或百分比。
- 不像其他的預測情況,y值是有界的。
Logistic 回歸與簡單線性回歸
logistic回歸是一種統計技術,可以用二值化變量問題中。回歸雖有相似之處,但它不同于普通最小二乘法。識別重要和相似之處是兩種技術的區別。