回歸分析是一種預測性的建模技術,它研究的是因變量(目標)和自變量(預測器)之間的關係。這種技術通常用於預測分析,時間序列模型以及發現變量之間的因果關係。
使用曲線/線來擬合這些數據點,在這種方式下,從曲線或線到數據點的距離差異最小。
1.線性回歸(Linear Regression)
線性回歸通常是人們在學習預測模型時首選的技術之一。在這種技術中,因變量是連續的,自變量可以是連續的也可以是離散的,回歸線的性質是線性的。線性回歸使用最佳的擬合直線(也就是回歸線)在因變量(Y)和一個或多個自變量(X)之間建立一種關係。
用一個方程式來表示它,即 Y=a+b*X + e,其中a表示截距,b 表示直線的斜率,e 是誤差項。這個方程可以根據給定的預測變量(s)來預測目標變量的值。
使用最小二乘法得到一個最佳的擬合線,對於觀測數據,它通過最小化每個數據點到線的垂直偏差平方和來計算最佳擬合線。因為在相加時,偏差先平方,所以正值和負值沒有抵消。
多重共線性會增加係數估計值的方差,使得在模型輕微變化下,估計非常敏感。結果就是係數估計值不穩定,在多個自變量的情況下,我們可以使用向前選擇法,向後剔除法和逐步篩選法來選擇最重要的自變量。
2.邏輯回歸(Logistic Regression)
邏輯回歸是用來計算「事件=Success」和「事件=Failure」的概率。當因變量的類型屬於二元(1 / 0,真/假,是/否)變量時,我們就應該使用邏輯回歸。這裡,Y的值從0到1,它可以用下方程表示。
odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence
ln(odds) = ln(p/(1-p))
logit§ = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3…+bkXk
你應該會問這樣一個問題:我們為什麼要在公式中使用對數log呢?
因為在這裡我們使用的是的二項分布(因變量),我們需要選擇一個對於這個分布最佳的連結函數。它就是Logit函數。在上述方程中,通過觀測樣本的極大似然估計值來選擇參數,而不是最小化平方和誤差(如在普通回歸使用的)。
3.多項式回歸(Polynomial Regression)
對於一個回歸方程,如果自變量的指數大於 1,那麼它就是多項式回歸方程。如下方程所示:y=a+b*x^2
在這種回歸技術中,最佳擬合線不是直線。而是一個用於擬合數據點的曲線。
雖然會有一個誘導可以擬合一個高次多項式並得到較低的錯誤,但這可能會導致過擬合。你需要經常畫出關係圖來查看擬合情況,並且專注於保證擬合合理,既沒有過擬合又沒有欠擬合。
明顯地向兩端尋找曲線點,看看這些形狀和趨勢是否有意義。更高次的多項式最後可能產生怪異的推斷結果。
4.逐步回歸(Stepwise Regression)
在處理多個自變量時,我們可以使用這種形式的回歸。在這種技術中,自變量的選擇是在一個自動的過程中完成的,其中包括非人為操作。
這一壯舉是通過觀察統計的值,如 R-square,t-stats 和 AIC 指標,來識別重要的變量。逐步回歸通過同時添加/刪除基於指定標準的協變量來擬合模型。
標準逐步回歸法做兩件事情。即增加和刪除每個步驟所需的預測
向前選擇法從模型中最顯著的預測開始,然後為每一步添加變量
向後剔除法與模型的所有預測同時開始,然後在每一步消除最小顯著性的變量
這種建模技術的目的是使用最少的預測變量數來最大化預測能力。這也是處理高維數據集的方法之一
嶺回歸分析是一種用於存在多重共線性(自變量高度相關)數據的技術。在多重共線性情況下,儘管最小二乘法(OLS)對每個變量很公平,但它們的差異很大,使得觀測值偏移並遠離真實值。嶺回歸通過給回歸估計上增加一個偏差度,來降低標準誤差。
上面,我們看到了線性回歸方程。還記得嗎?它可以表示為:y=a+bx
y=a+bx+e (error term), [error term is the value needed to correct for a prediction error between the observed and predicted value]
=> y=a+y= a+ b1x1+ b2x2+…+e, for multiple independent variables.
在一個線性方程中,預測誤差可以分解為2個子分量。一個是偏差,一個是方差。預測錯誤可能會由這兩個分量或者這兩個中的任何一個造成。在這裡,我們將討論由方差所造成的有關誤差。
嶺回歸通過收縮參數 λ(lambda)解決多重共線性問題。看下面的公式:
在這個公式中,有兩個組成部分。第一個是最小二乘項,另一個是 β2(β-平方)的 λ 倍,其中 β 是相關係數。為了收縮參數把它添加到最小二乘項中以得到一個非常低的方差。
除常數項以外,這種回歸的假設與最小二乘回歸類似。它收縮了相關係數的值,但沒有達到零,這表明它沒有特徵選擇功能,這是一個正則化方法,並且使用的是L2正則化。
它類似於嶺回歸。Lasso (Least Absolute Shrinkage and Selection Operator)也會懲罰回歸係數的絕對值大小。此外,它能夠減少變化程度並提高線性回歸模型的精度。看看下面的公式:
Lasso 回歸與 Ridge 回歸有一點不同,它使用的懲罰函數是絕對值,而不是平方。這導致懲罰(或等於約束估計的絕對值之和)值使一些參數估計結果等於零。使用懲罰值越大,進一步估計會使得縮小值趨近於零。這將導致我們要從給定的n個變量中選擇變量。
ElasticNet 是 Lasso 和 Ridge 回歸技術的混合體。它使用 L1 來訓練並且 L2 優先作為正則化矩陣。當有多個相關的特徵時,ElasticNet 是很有用的。Lasso 會隨機挑選他們其中的一個,而 ElasticNet 則會選擇兩個。
在高度相關變量的情況下,它會產生群體效應;選擇變量的數目沒有限制,它可以承受雙重收縮。除了這 7 個最常用的回歸技術,你也可以看看其他模型,如 Bayesian、Ecological 和 Robust 回歸。
在多類回歸模型中,基於自變量和因變量的類型,數據的維數以及數據的其它基本特徵的情況下,選擇最合適的技術非常重要。以下是你要選擇正確的回歸模型的關鍵因素:
新手可以按照這個邏輯選擇:如果結果是連續的,就使用線性回歸。如果是二元的,就使用邏輯回歸!
SPSS 做因子分析,輸出結果中有一項 Kaiser-Meyer-Olkin Measure of Sampling Adequacy. 它的值是在 [ 0, 1] 範圍內,這個值大於 0.5 就證明原數據中的指標適合使用因子分析算法進行建模,小於 0.5 要不重新計算指標,要不換算法。SPSS 做多元線性回歸,輸出結果中的擬合度過低,說明指標與結果之間的相關性並不明顯,要不重新計算指標,要不換算法。
路徑:【文件】–【打開】–【數據】–【更改文件類型,找到你的數據】–【打開】–【然後會蹦出下圖左中的篩選框,基本使用默認值就行,點確定】
【分析】–【回歸】–【線性】–【將因變量與自變量添加到對應的地方】–【其他都使用默認值】–【確定】
R表示擬合優度(goodness of fit),用來衡量模型的擬合程度,越接近 1 越好
R方表示決定係數,用於反映模型能夠解釋的方差佔因變量方差的百分比,越接近 1 越好
調整R方是考慮自變量之間的相互影響之後,對決定係數R方的校正,比R方更加嚴謹,越接近 1 越好
標準估計的誤差是誤差項 ε 的方差 σ2的一個估計值,越小越好
小效應:R (0.1~0.3),對應 R方(0.01~0.09)
中等效應:R (0.3~0.5),對應 R方(0.09~0.25)
大效應:R (0.5~1),對應 R方(0.25~1)
Anova表示方差分析結果,主要看 F 和 顯著性值,為方差分析的結果,F檢驗的重點在 顯著性值,具體大小不重要,其 F 值對應的顯著性值小於 0.05 就可以認為回歸方程是有用的。
綜上所有的輸出結果,說明 AQI、Precipitation與Longitude 的擬合效果還挺理想的。
SPSS 給出的回歸方程:Y = -15.6 -0.034 * Precipitation + 1.12 * Longitude