機器學習(2) 回歸演算法 回歸分析

2021-08-13 08:44:41 字數 2929 閱讀 9569

在統計學中,回歸分析(regression analysis)指的是確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法。回歸分析按照涉及的變數的多少,分為一元回歸和多元回歸分析;按照因變數的多少,可分為

簡單回歸

分析和多重回歸分析;按照

自變數和

因變數之間的關係型別,可分為

線性回歸

分析和非線性回歸

分析。在大資料分析中,回歸分析是一種**性的建模技術,它研究的是因變數(目標)和自變數(**器)之間的關係。這種技術通常用於**分析,時間序列模型以及發現變數之間的因果關係。例如,司機的魯莽駕駛與道路交通事故數量之間的關係,最好的研究方法就是回歸。

有各種各樣的回歸技術用於**。這些技術主要有三個度量(自變數的個數,因變數的型別以及回歸線的形狀)。

1. linear regression線性回歸

在這種技術中,因變數是連續的,自變數可以是連續的也可以是離散的,回歸線的性質是線性的。

線性回歸使用最佳的擬合直線(也就是回歸線)在因變數(y)和乙個或多個自變數(x)之間建立一種關係。

多元線性回歸可表示為y=a+b1*x +b2*x2+ 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(p) = ln(p/(1-p)) =b0+b1x1+b2x2+b3x3....+bkxk

上述式子中,p表述具有某個特徵的概率。你應該會問這樣乙個問題:「我們為什麼要在公式中使用對數log呢?」。

因為在這裡我們使用的是的二項分布(因變數),我們需要選擇乙個對於這個分布最佳的鏈結函式。它就是logit函式。在上述方程中,通過觀測樣本的極大似然估計值來選擇引數,而不是最小化平方和誤差(如在普通回歸使用的)。

3. polynomial regression多項式回歸

對於乙個回歸方程,如果自變數的指數大於1,那麼它就是多項式回歸方程。如下方程所示:

y=a+b*x^2

在這種回歸技術中,最佳擬合線不是直線。而是乙個用於擬合資料點的曲線。

4. stepwise regression逐步回歸

在處理多個自變數時,我們可以使用這種形式的回歸。在這種技術中,自變數的選擇是在乙個自動的過程中完成的,其中包括非人為操作。

這一壯舉是通過觀察統計的值,如r-square,t-stats和aic指標,來識別重要的變數。逐步回歸通過同時新增/刪除基於指定標準的協變數來擬合模型。下面列出了一些最常用的逐步回歸方法:

標準逐步回歸法做兩件事情。即增加和刪除每個步驟所需的**。

向前選擇法從模型中最顯著的**開始,然後為每一步新增變數。

向後剔除法與模型的所有**同時開始,然後在每一步消除最小顯著性的變數。

這種建模技術的目的是使用最少的**變數數來最大化**能力。這也是處理高維資料集的方法之一。

5. ridge regression嶺回歸

當資料之間存在多重共線性(自變數高度相關)時,就需要使用嶺回歸分析。在存在多重共線性時,儘管最小二乘法(ols)測得的估計值不存在偏差,它們的方差也會很大,從而使得觀測值與真實值相差甚遠。嶺回歸通過給回歸估計值新增乙個偏差值,來降低標準誤差。

嶺回歸通過收縮引數λ(lambda)解決多重共線性問題。請看下面的等式:

l2=argmin||y=xβ|| 

+λ||β|| 

在這個公式中,有兩個組成部分。第乙個是最小二乘項,另乙個是β-平方的λ倍,其中β是相關係數向量,與收縮引數一起新增到最小二乘項中以得到乙個非常低的方差。

6. lasso regression套索回歸

它類似於嶺回歸,lasso (least absolute shrinkage and selection operator)也會就回歸係數向量給出懲罰值項。此外,它能夠減少變化程度並提高線性回歸模型的精度。看看下面的公式:

l1=agrmin||y-xβ|| 

+λ||β||

lasso 回歸與ridge回歸有一點不同,它使用的懲罰函式是l1範數,而不是l2範數。這導致懲罰(或等於約束估計的絕對值之和)值使一些引數估計結果等於零。使用懲罰值越大,進一步估計會使得縮小值越趨近於零。這將導致我們要從給定的n個變數中選擇變數。

如果**的一組變數是高度相關的,lasso 會選出其中乙個變數並且將其它的收縮為零。

7.elasticnet回歸

elasticnet是lasso和ridge回歸技術的混合體。它使用l1來訓練並且l2優先作為正則化矩陣。

當有多個相關的特徵時,elasticnet是很有用的。lasso 會隨機挑選他們其中的乙個,而elasticnet則會選擇兩個。

lasso和ridge之間的實際的優點是,它允許elasticnet繼承迴圈狀態下ridge的一些穩定性。

資料探索是構建**模型的必然組成部分。在選擇合適的模型時,比如識別變數的關係和影響時,它應該是首選的一步。比較適合於不同模型的優點,我們可以分析不同的指標引數,如統計意義的引數,r-square,adjusted r-square,aic,bic以及誤差項,另乙個是mallows』 cp準則。這個主要是通過將模型與所有可能的子模型進行對比(或謹慎選擇他們),檢查在你的模型中可能出現的偏差。

交叉驗證是評估**模型最好的方法。在這裡,將你的資料集分成兩份(乙份做訓練和乙份做驗證)。使用觀測值和**值之間的乙個簡單均方差來衡量你的**精度。

如果你的資料集是多個混合變數,那麼你就不應該選擇自動模型選擇方法,因為你應該不想在同一時間把所有變數放在同乙個模型中。

(機器學習筆記一)回歸分析

訓練集 x 表示輸入值 y 表示輸出值 i 表示訓練集中的樣本索引。學習結果 函式 h x y 使得 h x 能夠很好的 y 由於歷史原因 h被稱作假設 hypothesis 如果目標變數是連續的值,我們稱這個學習問題是乙個回歸問題。如果目標變數是很少的幾個離散的值,我們稱它為分類問題。形如關於 x...

機器學習8回歸問題

對於之前在分類問題中有邏輯回歸,而對於這個線性回歸以前一般是先講述,將線性回歸的結果通過函式對映到 0,1 區間,再以0.5作為區分形成分類問題。具體的計算方法,在以前的blogs提到過,參考 下面就直接實戰 跟之前一樣,第一步匯入資料。def loaddataset filename numfea...

《機器學習實戰》學習筆記 10 回歸 嶺回歸

機器學習實戰 學習筆記 10 回歸 嶺回歸 縮減方法可以去除不重要的引數 備註 同樣,為使用嶺回歸和縮減技術,首先需要對特徵做標準化處理,標準化使得每維度下的特徵有相同的重要性,具體 所有特徵減去各自的均值並除以方差 機器學習實戰 回歸 from numpy import def loaddatas...