本篇是第九章,內容是迴歸分析(主要以線性迴歸爲主)。迴歸分析是數理統計、數理分析中最基礎(也能夠說是最重要)的一個分析,因此這一章內容相對來講也較多。安全
- 肯定型關係vs不肯定型關係 函數關係——一一對應的肯定型關係設有兩個變量x和y,變量y隨變量x一塊兒變化, 並徹底依賴於x,當變量x取某個數值時,y依肯定的關係取相應的值,則稱y是x的函數,記爲y=f(x),其中x稱爲自變量,y稱爲因變量各觀測點落在一條線上。 相關關係(correlation)——變量間關係不能用函數關係精確表達。一個變量的取值不能由另外一個變量惟一肯定。當變量x取某個值時, 變量y的取值可能有幾個。各觀測點分佈在直線周圍。
相關關係包括了線性相關(正相關、負相關)、非線性相關、徹底相關(正相關、負相關)、不相關。app
除了如上的圖,能夠看下面的連接——關於相同統計量不一樣數據的一篇外文。dom
相關係數(correlation coefficient)函數
- 對變量之間關係密切程度的度量(只關心密切程度,無關因果關係);
- 對兩個變量之間線性相關程度的度量稱爲簡單相關係數;
- 若相關係數是根據整體所有數據計算的,稱爲整體相關係數,記爲ρ;
- 如果根據樣本數據計算的,則稱爲樣本相關係數,記爲 r。
整體相關係數的計算公式:編碼
相關係數特色.net
- 無量綱(Unitfree);
- ρ的取值範圍是 [-1,1];
- |ρ|=1,爲徹底相關(ρ=1爲徹底正相關;ρ=-1爲徹底負相關);
- ρ=0,不存在線性相關關係;
- -1≤ρ<0,爲負相關,0<ρ≤1,爲正相關;
- |ρ|越趨於1表示線性關係越密切;|ρ|越趨於0表示線性關係越不密切;
- 若X與Y相互獨立,則ρ=0,但ρ=0,X與Y不必定相互獨立;
- 若ρ= 0,且X與Y服從正態分佈,則X與Y相互獨立。
樣本相關係數計算公式:3d
樣本相關係數特色code
- 無量綱(Unitfree);
- r的取值範圍是 [-1,1];
- |r|=1,爲徹底相關(r=1爲徹底正相關;r=-1爲徹底負相關);
- r=0,不存在線性相關關係;
- -1≤r<0爲負相關,0<r≤1爲正相關;
- |r|越趨於1表示線性關係越密切;|r|越趨於0表示線性關係越不密切;
對變量之間關係密切程度的度量,只關心密切程度,無關因果關係。 好比撐傘的人數和降雨量的相關係數很是高。可是咱們不能說由於撐傘的人多了,因此降雨量大。blog
r的抽樣分佈 r的抽樣分佈隨整體相關係數和樣本容量的大小而變化。當樣本數據來自服從正態分佈的整體時,隨着n的增大,r的抽樣分佈趨於正態分佈,尤爲是在整體相關係數ρ很小或接近0時,趨於正態分佈的趨勢很是明顯。而當ρ遠離0時,除非n很是大,不然r的抽樣分佈呈現必定的偏態。當ρ爲較大的正值時, r呈現左偏分佈;當ρ爲較小的負值時, r 呈現右偏分佈。只有當ρ接近於0,而樣本容量n很大時,才能認爲r是接近於正態分佈的隨機變量。 相關係數的顯著性檢驗步驟 檢驗兩個變量之間是否存在線性相關關係,等價於對迴歸係數β1的檢驗。採用R. A. Fisher提出的t檢驗。 檢驗的步驟爲:
什麼是迴歸分析(Regression)?
從一組樣本數據出發,肯定變量之間的數學關係式。對這些關係式的可信程度進行各類統計檢驗,並從影響某一特定變量的諸多變量中找出哪些變量的影響顯著, 哪些不顯著。利用所求的關係式,根據一個或幾個變量的取值來預測或控制另外一個特定變量的取值, 並給出這種預測或控制的精確程度。
迴歸分析與相關分析的區別
相關分析中,變量x變量y處於平等的地位;迴歸分析中,變量y稱爲因變量,處在被解釋的地位,x稱爲自變量,用於預測因變量的變化; 相關分析中所涉及的變量x和y都是隨機變量;迴歸分析中,因變量y是隨機變量,自變量x能夠是隨機變量,也能夠是非隨機的肯定變量; 相關分析主要是描述兩個變量之間線性關係的密切程度;迴歸分析不只能夠揭示變量x對變量y的影響大小,還能夠由迴歸方程進行預測和控制。
迴歸模型(regression model)——回答「變量之間是什麼樣的關係?」方程中運用1個數值型因變量(響應變量)做爲被預測的變量;1個或多個數值型或分類型自變量 (解釋變量)做爲用於預測的變量。主要用於預測和估計。迴歸模型的類型包括一元迴歸模型(線性和非線性)和多元迴歸模型(線性和非線性)。 接下來先從簡單線性迴歸分析講起。
簡單線性迴歸(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取值的影響,也稱爲不可解釋的平方和或剩餘平方和。
斷定係數R²(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值也能獲得統計上是顯著的結果。
根據自變量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"))
殘差(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,就能夠將該觀測值識別爲有高槓杆率的點; 一個有高槓杆率的觀測值未必是一個有影響的觀測值, 它可能對迴歸直線的斜率沒有什麼影響。
多元線性迴歸(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-α)%置信水平下的置信區間爲
迴歸係數的抽樣標準差
迴歸模型中兩個或兩個以上的自變量彼此相關。多重共線性帶來的問題有:可能會使迴歸的結果形成混亂, 甚至會把分析引入歧途;可能對參數估計值的正負號產生影響, 特別是各回歸係數的正負號有可能同咱們預期的正負號相反。 多重共線性的識別
- 檢測多重共線性的最簡單的一種辦法是計算模型中各對自變量之間的相關係數, 並對各相關係數進行顯著性檢驗; 如有一個或多個相關係數顯著, 就表示模型中所用的自變量之間相關,存在着多重共線性。
- 若是出現下列狀況,暗示存在多重共線性: 模型中各對自變量之間顯著相關。 當模型的線性關係檢驗(F檢驗)顯著時,幾乎全部迴歸係數的t檢驗卻不顯著。 迴歸係數的正負號與預期的相反。
檢測多重共線性(Variance Inflationary Factor)
多重共線性(問題的處理) 將一個或多個相關的自變量從模型中剔除,使保留的自變量儘量不相關。 若是要在模型中保留全部的自變量,則應避免根據t統計量對單個參數進行檢驗,對因變量值的推斷(估計或預測)的限定在自變量樣本值的範圍內。
虛擬變量(dummy variable) 定性自變量————只有兩個水平的定性自變量或有兩個以上水平的定性自變量。 虛擬變量——用數字代碼表示的定性自變量。 虛擬變量的取值爲0,1。 虛擬變量的個數
(1)二階迴歸模型(Quadratic Regression Model)——當散點圖以下所示,可考慮二次迴歸模型。
二階迴歸模型的顯著性檢驗
(2)交互做用 交互做用——兩個自變量共同做用對因變量產生的潛在影響。
交互做用顯著性檢驗
(3)其餘非線性迴歸 因變量y與x之間不是線性關係,可經過變量代換轉換成線性關係,用最小二乘法求出參數的估計值。可是並不是全部的非線性模型均可以化爲線性模型。
- 雙曲線
- 冪函數曲線
- 對數曲線
- 指數曲線
- S型曲線
獲得描述因變量與一個或一個以上自變量之間關係的估計的迴歸方程。目的是創建一個基於最好自變量集合的模型。找到一個適合的描述變量關係之間關係的函數。選擇模型應包含的變量。
- 儉約的模型–用盡量少的變量來提供足夠精度的預測。
- 將不重要的變量除去更容易對模型進行解釋。
- 發生多重共線性的可能變小。
變量選擇Variable Selection
有些變量的做用不是很大,SSE 不會隨着變量個數的增長而增長,但MSE=SSE/(n-k-1) 有可能會隨着變量 個數的增長而增長。最小的MSE可做爲最優變量選擇的一個準則,但需考慮全部子集 (2^p個)。
檢驗增長變量是否適宜的F統計
F越大,說明增長變量減小預測偏差的效果越顯著。 變量選擇過程
- 向前選擇(Forward Selection)
- 後向消元(Backward Elimination)
- 逐步迴歸(Stepwise regression procedure) 向前選擇和後向消元的結合。 1.先檢查是否有變量需從模型中刪除。 2.再檢查增長一個變量是否能改善模型。 3.重複以上過程。 注意: α進≤α出,不然F進<F<F出,會致使無限循環。
- 最佳子集迴歸(Best-subset approach) 對全部可能的自變量組合進行估計。找出具備最大的修正斷定係數$adj.R^2$和最小的估計偏差標準差$s_ε$。
(1)沒有檢驗線性關係假設
畫散點圖。 若是不是線性的,檢驗其它非線性。 用線性關係描述非線性關係會引發誤導。
(2)只看結果不看圖表
要將畫散點圖做爲迴歸分析的一部分。 檢驗迴歸直線與實際觀測值間的關係。 對自動迴歸來講這一步更爲重要。
(3)用迴歸係數斷定變量的重要性
迴歸係數依賴於自變量的量綱,所以係數的大小與變量的重要性無關。 例如,將秒變爲微秒沒有改變任何事實,可是變量的係數卻有所改變。
(4)沒有肯定置信區間
觀察值是隨機樣本,因此迴歸結果有必定隨機性。 不肯定置信區間,不可能理解參數的真正含義。
(5)沒有計算斷定係數
沒有$R^2$,很難肯定多少變異是由迴歸解釋的。 即便$R^2$看起來很好,安全起見還應作F-test。
(6)錯誤解釋相關係數
斷定係數是R²。 相關係數是R。 R²給出變異由迴歸解釋的百分比,不是R。 如:R =0.5,R²=0.25——迴歸解釋了25%的變異,不是50%。
(7)使用強相關的自變量
模型同時包括兩強相關的自變量會下降回歸模型的顯著性。 要儘量的瞭解自變量間的關係。
(8)用迴歸模型預測觀測值範圍以外的區域
迴歸是基於某一特定觀測樣本的。 在樣本觀測值範圍內能提供較爲精確的估計。
(9)觀測值取值範圍過小
迴歸只有在觀測值取值範圍附近預測的結果比較好。 若是不在經常使用的範圍內取值,迴歸模型用處不大。
(10)包括太多的自變量
變量越多的模型不必定越好。 有可能出現多重共線性。
(11)認爲好的預測變量是好的控制變量 相關關係不必定因果關係:A與B相關,並不意味着能夠經過改變A來控制B。
(12)線性迴歸結果會給人以誤導
爲了提供一個簡練的總結,迴歸過程當中捨棄了一些信息。 有時一些重要的特徵也捨棄了——看圖形表示能夠告訴咱們是否有問題。
Logistic迴歸提出的目的是爲了解決二值化數據的迴歸問題。那麼爲何簡單線性迴歸模型不適合二值化數據的迴歸呢?詳細緣由可見以下圖。
二值化變量是「yes」或者"no"的數據。能夠被編碼爲1和0,也就是說不會有其餘的變異數值。因此對於這種狀況模型的要求是:模型的邊界爲0和1,模型能夠輸出的是一個在這類或者另外一類的機率。咱們想要的是一個實際值落入這類或者另外一類的機率大小。而理想的模型是很好的估計0和1,或者換句話說,結果是0或1。因此解決方案就是Logistic迴歸。
Logistic的基本形式爲
典型案例: 城市增加問題,城市化預測模擬,
常見的問題
- 都有一個二值化(或分類)變量:
- 都涉及到預測的思想機會,機率,比例或百分比。
- 不像其餘的預測狀況,y值是有界的。
Logistic 迴歸與簡單線性迴歸
logistic迴歸是一種統計技術,能夠用二值化變量問題中。迴歸雖有類似之處,但它不一樣於普通最小二乘法。識別重要和類似之處是兩種技術的區別。