鍵.png)
使用這些基本 REST API 最佳實(shí)踐構(gòu)建出色的 API
如上所述,回歸分析估計了兩個或多個變量之間的關(guān)系。下面,讓我們舉一個簡單的例子來理解它:
比如說,在當(dāng)前的經(jīng)濟(jì)條件下,你要估計一家公司的銷售額增長情況。現(xiàn)在,你有公司最新的數(shù)據(jù),這些數(shù)據(jù)顯示出銷售額增長大約是經(jīng)濟(jì)增長的2.5倍。那么使用回歸分析,我們就可以根據(jù)當(dāng)前和過去的信息來預(yù)測未來公司的銷售情況。
使用回歸分析的好處良多。具體如下:
回歸分析也允許我們?nèi)ケ容^那些衡量不同尺度的變量之間的相互影響,如價格變動與促銷活動數(shù)量之間聯(lián)系。這些有利于幫助市場研究人員,數(shù)據(jù)分析人員以及數(shù)據(jù)科學(xué)家排除并估計出一組最佳的變量,用來構(gòu)建預(yù)測模型。
有各種各樣的回歸技術(shù)用于預(yù)測。這些技術(shù)主要有三個度量(自變量的個數(shù),因變量的類型以及回歸線的形狀)。我們將在下面的部分詳細(xì)討論它們。
對于那些有創(chuàng)意的人,如果你覺得有必要使用上面這些參數(shù)的一個組合,你甚至可以創(chuàng)造出一個沒有被使用過的回歸模型。但在你開始之前,先了解如下最常用的回歸方法:
它是最為人熟知的建模技術(shù)之一。線性回歸通常是人們在學(xué)習(xí)預(yù)測模型時首選的技術(shù)之一。在這種技術(shù)中,因變量是連續(xù)的,自變量可以是連續(xù)的也可以是離散的,回歸線的性質(zhì)是線性的。
線性回歸使用最佳的擬合直線(也就是回歸線)在因變量(Y)和一個或多個自變量(X)之間建立一種關(guān)系。
用一個方程式來表示它,即Y=a+b*X+e,其中a表示截距,b表示直線的斜率,e是誤差項。這個方程可以根據(jù)給定的預(yù)測變量(s)來預(yù)測目標(biāo)變量的值。
一元線性回歸和多元線性回歸的區(qū)別在于,多元線性回歸有(>1)個自變量,而一元線性回歸通常只有1個自變量。現(xiàn)在的問題是“我們?nèi)绾蔚玫揭粋€最佳的擬合線呢?”。
如何獲得最佳擬合線(a和b的值)?
這個問題可以使用最小二乘法輕松地完成。最小二乘法也是用于擬合回歸線最常用的方法。對于觀測數(shù)據(jù),它通過最小化每個數(shù)據(jù)點(diǎn)到線的垂直偏差平方和來計算最佳擬合線。因為在相加時,偏差先平方,所以正值和負(fù)值沒有抵消。
我們可以使用R-square指標(biāo)來評估模型性能。想了解這些指標(biāo)的詳細(xì)信息,可以閱讀:模型性能指標(biāo)Part 1,Part 2。
要點(diǎn):
1.自變量與因變量之間必須有線性關(guān)系。
2.多元回歸存在多重共線性,自相關(guān)性和異方差性。
3.線性回歸對異常值非常敏感。它會嚴(yán)重影響回歸線,最終影響預(yù)測值。
4.多重共線性會增加系數(shù)估計值的方差,使得在模型輕微變化下,估計非常敏感。結(jié)果就是系數(shù)估計值不穩(wěn)定
5.在多個自變量的情況下,我們可以使用向前選擇法,向后剔除法和逐步篩選法來選擇最重要的自變量。
邏輯回歸是用來計算“事件=Success”和“事件=Failure”的概率。
當(dāng)因變量的類型屬于二元(1 / 0,真/假,是/否)變量時,我們就應(yīng)該使用邏輯回歸。這里,Y的值從0到1,它可以用下方程表示。
odds= p/ (1-p) = probability of event occurrence / probability of not event occurrenceln(odds) = ln(p/(1-p))logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3….+bkXk
上述式子中,p表述具有某個特征的概率。你應(yīng)該會問這樣一個問題:“我們?yōu)槭裁匆诠街惺褂脤?shù)log呢?”。
因為在這里我們使用的是的二項分布(因變量),我們需要選擇一個對于這個分布最佳的連結(jié)函數(shù)。它就是Logit函數(shù)。在上述方程中,通過觀測樣本的極大似然估計值來選擇參數(shù),而不是最小化平方和誤差(如在普通回歸使用的)。
要點(diǎn):1.它廣泛的用于分類問題。2.邏輯回歸不要求自變量和因變量是線性關(guān)系。它可以處理各種類型的關(guān)系,因為它對預(yù)測的相對風(fēng)險指數(shù)OR使用了一個非線性的log轉(zhuǎn)換。3.為了避免過擬合和欠擬合,我們應(yīng)該包括所有重要的變量。有一個很好的方法來確保這種情況,就是使用逐步篩選方法來估計邏輯回歸。4.它需要大的樣本量,因為在樣本數(shù)量較少的情況下,極大似然估計的效果比普通的最小二乘法差。5.自變量不應(yīng)該相互關(guān)聯(lián)的,即不具有多重共線性。然而,在分析和建模中,我們可以選擇包含分類變量相互作用的影響。6.如果因變量的值是定序變量,則稱它為序邏輯回歸。
7.如果因變量是多類的話,則稱它為多元邏輯回歸。
對于一個回歸方程,如果自變量的指數(shù)大于1,那么它就是多項式回歸方程。如下方程所示:y=a+b*x^2
在這種回歸技術(shù)中,最佳擬合線不是直線。而是一個用于擬合數(shù)據(jù)點(diǎn)的曲線。
重點(diǎn):
雖然會有一個誘導(dǎo)可以擬合一個高次多項式并得到較低的錯誤,但這可能會導(dǎo)致過擬合。你需要經(jīng)常畫出關(guān)系圖來查看擬合情況,并且專注于保證擬合合理,既沒有過擬合又沒有欠擬合。
下面是一個圖例,可以幫助理解:
明顯地向兩端尋找曲線點(diǎn),看看這些形狀和趨勢是否有意義。更高次的多項式最后可能產(chǎn)生怪異的推斷結(jié)果。
在處理多個自變量時,我們可以使用這種形式的回歸。在這種技術(shù)中,自變量的選擇是在一個自動的過程中完成的,其中包括非人為操作。
這一壯舉是通過觀察統(tǒng)計的值,如R-square,t-stats和AIC指標(biāo),來識別重要的變量。逐步回歸通過同時添加/刪除基于指定標(biāo)準(zhǔn)的協(xié)變量來擬合模型。
下面列出了一些最常用的逐步回歸方法:
這種建模技術(shù)的目的是使用最少的預(yù)測變量數(shù)來最大化預(yù)測能力。這也是處理高維數(shù)據(jù)集的方法之一。
嶺回歸分析是一種用于存在多重共線性(自變量高度相關(guān))數(shù)據(jù)的技術(shù)。在多重共線性情況下,盡管最小二乘法(OLS)對每個變量很公平,但它們的差異很大,使得觀測值偏移并遠(yuǎn)離真實(shí)值。嶺回歸通過給回歸估計上增加一個偏差度,來降低標(biāo)準(zhǔn)誤差。
上面,我們看到了線性回歸方程。還記得嗎?它可以表示為:
y=a+b*x這個方程也有一個誤差項。完整的方程是:
y=a+b*x+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.
在一個線性方程中,預(yù)測誤差可以分解為2個子分量。一個是偏差,一個是方差。預(yù)測錯誤可能會由這兩個分量或者這兩個中的任何一個造成。在這里,我們將討論由方差所造成的有關(guān)誤差。
嶺回歸通過收縮參數(shù)λ(lambda)解決多重共線性問題。看下面的公式:
在這個公式中,有兩個組成部分。第一個是最小二乘項,另一個是β2(β-平方)的λ倍,其中β是相關(guān)系數(shù)。為了收縮參數(shù)把它添加到最小二乘項中以得到一個非常低的方差。
要點(diǎn):1.除常數(shù)項以外,這種回歸的假設(shè)與最小二乘回歸類似;2.它收縮了相關(guān)系數(shù)的值,但沒有達(dá)到零,這表明它沒有特征選擇功能3.這是一個正則化方法,并且使用的是L2正則化。
它類似于嶺回歸,Lasso (Least Absolute Shrinkage and Selection Operator)也會懲罰回歸系數(shù)的絕對值大小。此外,它能夠減少變化程度并提高線性回歸模型的精度。看看下面的公式:
Lasso 回歸與Ridge回歸有一點(diǎn)不同,它使用的懲罰函數(shù)是絕對值,而不是平方。這導(dǎo)致懲罰(或等于約束估計的絕對值之和)值使一些參數(shù)估計結(jié)果等于零。使用懲罰值越大,進(jìn)一步估計會使得縮小值趨近于零。這將導(dǎo)致我們要從給定的n個變量中選擇變量。
要點(diǎn):1.除常數(shù)項以外,這種回歸的假設(shè)與最小二乘回歸類似;2.它收縮系數(shù)接近零(等于零),這確實(shí)有助于特征選擇;
3.這是一個正則化方法,使用的是L1正則化;
如果預(yù)測的一組變量是高度相關(guān)的,Lasso 會選出其中一個變量并且將其它的收縮為零。
ElasticNet是Lasso和Ridge回歸技術(shù)的混合體。它使用L1來訓(xùn)練并且L2優(yōu)先作為正則化矩陣。當(dāng)有多個相關(guān)的特征時,ElasticNet是很有用的。Lasso 會隨機(jī)挑選他們其中的一個,而ElasticNet則會選擇兩個。
Lasso和Ridge之間的實(shí)際的優(yōu)點(diǎn)是,它允許ElasticNet繼承循環(huán)狀態(tài)下Ridge的一些穩(wěn)定性。
要點(diǎn):1.在高度相關(guān)變量的情況下,它會產(chǎn)生群體效應(yīng);2.選擇變量的數(shù)目沒有限制;
3.它可以承受雙重收縮。
除了這7個最常用的回歸技術(shù),你也可以看看其他模型,如Bayesian、Ecological和Robust回歸。
當(dāng)你只知道一個或兩個技術(shù)時,生活往往很簡單。我知道的一個培訓(xùn)機(jī)構(gòu)告訴他們的學(xué)生,如果結(jié)果是連續(xù)的,就使用線性回歸。如果是二元的,就使用邏輯回歸!然而,在我們的處理中,可選擇的越多,選擇正確的一個就越難。類似的情況下也發(fā)生在回歸模型中。
在多類回歸模型中,基于自變量和因變量的類型,數(shù)據(jù)的維數(shù)以及數(shù)據(jù)的其它基本特征的情況下,選擇最合適的技術(shù)非常重要。以下是你要選擇正確的回歸模型的關(guān)鍵因素:
1.數(shù)據(jù)探索是構(gòu)建預(yù)測模型的必然組成部分。在選擇合適的模型時,比如識別變量的關(guān)系和影響時,它應(yīng)該首選的一步。
2. 比較適合于不同模型的優(yōu)點(diǎn),我們可以分析不同的指標(biāo)參數(shù),如統(tǒng)計意義的參數(shù),R-square,Adjusted R-square,AIC,BIC以及誤差項,另一個是Mallows’ Cp準(zhǔn)則。這個主要是通過將模型與所有可能的子模型進(jìn)行對比(或謹(jǐn)慎選擇他們),檢查在你的模型中可能出現(xiàn)的偏差。
3.交叉驗證是評估預(yù)測模型最好額方法。在這里,將你的數(shù)據(jù)集分成兩份(一份做訓(xùn)練和一份做驗證)。使用觀測值和預(yù)測值之間的一個簡單均方差來衡量你的預(yù)測精度。
4.如果你的數(shù)據(jù)集是多個混合變量,那么你就不應(yīng)該選擇自動模型選擇方法,因為你應(yīng)該不想在同一時間把所有變量放在同一個模型中。
5.它也將取決于你的目的。可能會出現(xiàn)這樣的情況,一個不太強(qiáng)大的模型與具有高度統(tǒng)計學(xué)意義的模型相比,更易于實(shí)現(xiàn)。
6.回歸正則化方法(Lasso,Ridge和ElasticNet)在高維和數(shù)據(jù)集變量之間多重共線性情況下運(yùn)行良好。
線性回歸有四個假設(shè):
殘差是指預(yù)測值與觀測值之間的誤差。它測量數(shù)據(jù)點(diǎn)與回歸線的距離。它是通過從觀察值中減去預(yù)測值的計算機(jī)。
殘差圖是評估回歸模型的好方法。它是一個圖表,在垂直軸上顯示所有殘差,在 x 軸上顯示特征。如果數(shù)據(jù)點(diǎn)隨機(jī)散布在沒有圖案的線上,那么線性回歸模型非常適合數(shù)據(jù),否則我們應(yīng)該使用非線性模型。
兩者都是回歸問題的類型。兩者的區(qū)別在于他們訓(xùn)練的數(shù)據(jù)。
線性回歸模型假設(shè)特征和標(biāo)簽之間存在線性關(guān)系,這意味著如果我們獲取所有數(shù)據(jù)點(diǎn)并將它們繪制成線性(直線)線應(yīng)該適合數(shù)據(jù)。
非線性回歸模型假設(shè)變量之間沒有線性關(guān)系。非線性(曲線)線應(yīng)該能夠正確地分離和擬合數(shù)據(jù)。
找出數(shù)據(jù)是線性還是非線性的三種最佳方法:
當(dāng)某些特征彼此高度相關(guān)時,就會發(fā)生多重共線性。相關(guān)性是指表示一個變量如何受到另一個變量變化影響的度量。
如果特征 a 的增加導(dǎo)致特征 b 的增加,那么這兩個特征是正相關(guān)的。如果 a 的增加導(dǎo)致特征 b 的減少,那么這兩個特征是負(fù)相關(guān)的。在訓(xùn)練數(shù)據(jù)上有兩個高度相關(guān)的變量會導(dǎo)致多重共線性,因為它的模型無法在數(shù)據(jù)中找到模式,從而導(dǎo)致模型性能不佳。所以在訓(xùn)練模型之前首先要盡量消除多重共線性。
異常值是值與數(shù)據(jù)點(diǎn)的平均值范圍不同的數(shù)據(jù)點(diǎn)。換句話說,這些點(diǎn)與數(shù)據(jù)不同或在第 3 標(biāo)準(zhǔn)之外。
線性回歸模型試圖找到一條可以減少殘差的最佳擬合線。如果數(shù)據(jù)包含異常值,則最佳擬合線將向異常值移動一點(diǎn),從而增加錯誤率并得出具有非常高 MSE 的模型。
MSE 代表均方誤差,它是實(shí)際值和預(yù)測值之間的平方差。而 MAE 是目標(biāo)值和預(yù)測值之間的絕對差。
MSE 會懲罰大錯誤,而 MAE 不會。隨著 MSE 和 MAE 的值都降低,模型趨向于一條更好的擬合線。
在機(jī)器學(xué)習(xí)中,我們的主要目標(biāo)是創(chuàng)建一個可以在訓(xùn)練和測試數(shù)據(jù)上表現(xiàn)更好的通用模型,但是在數(shù)據(jù)非常少的情況下,基本的線性回歸模型往往會過度擬合,因此我們會使用 l1 和l2 正則化。
L1 正則化或 lasso 回歸通過在成本函數(shù)內(nèi)添加添加斜率的絕對值作為懲罰項。有助于通過刪除斜率值小于閾值的所有數(shù)據(jù)點(diǎn)來去除異常值。
L2 正則化或ridge 回歸增加了相當(dāng)于系數(shù)大小平方的懲罰項。它會懲罰具有較高斜率值的特征。
l1 和 l2 在訓(xùn)練數(shù)據(jù)較少、方差高、預(yù)測特征大于觀察值以及數(shù)據(jù)存在多重共線性的情況下都很有用。
它是指最佳擬合線周圍的數(shù)據(jù)點(diǎn)的方差在一個范圍內(nèi)不一樣的情況。它導(dǎo)致殘差的不均勻分散。如果它存在于數(shù)據(jù)中,那么模型傾向于預(yù)測無效輸出。檢驗異方差的最好方法之一是繪制殘差圖。
數(shù)據(jù)內(nèi)部異方差的最大原因之一是范圍特征之間的巨大差異。例如,如果我們有一個從 1 到 100000 的列,那么將值增加 10% 不會改變較低的值,但在較高的值時則會產(chǎn)生非常大的差異,從而產(chǎn)生很大的方差差異的數(shù)據(jù)點(diǎn)。
方差膨脹因子(vif)用于找出使用其他自變量可預(yù)測自變量的程度。
讓我們以具有 v1、v2、v3、v4、v5 和 v6 特征的示例數(shù)據(jù)為例。現(xiàn)在,為了計算 v1 的 vif,將其視為一個預(yù)測變量,并嘗試使用所有其他預(yù)測變量對其進(jìn)行預(yù)測。如果 VIF 的值很小,那么最好從數(shù)據(jù)中刪除該變量。因為較小的值表示變量之間的高相關(guān)性。
逐步回歸是在假設(shè)檢驗的幫助下,通過移除或添加預(yù)測變量來創(chuàng)建回歸模型的一種方法。它通過迭代檢驗每個自變量的顯著性來預(yù)測因變量,并在每次迭代之后刪除或添加一些特征。它運(yùn)行n次,并試圖找到最佳的參數(shù)組合,以預(yù)測因變量的觀測值和預(yù)測值之間的誤差最小。
它可以非常高效地管理大量數(shù)據(jù),并解決高維問題。
我們用一個回歸問題來介紹這些指標(biāo),我們的其中輸入是工作經(jīng)驗,輸出是薪水。下圖顯示了為預(yù)測薪水而繪制的線性回歸線。
平均絕對誤差 (MAE) 是最簡單的回歸度量。它將每個實(shí)際值和預(yù)測值的差值相加,最后除以觀察次數(shù)。為了使回歸模型被認(rèn)為是一個好的模型,MAE 應(yīng)該盡可能小。
MAE的優(yōu)點(diǎn)是:簡單易懂。結(jié)果將具有與輸出相同的單位。例如:如果輸出列的單位是 LPA,那么如果 MAE 為 1.2,那么我們可以解釋結(jié)果是 +1.2LPA 或 -1.2LPA,MAE 對異常值相對穩(wěn)定(與其他一些回歸指標(biāo)相比,MAE 受異常值的影響較小)。
MAE的缺點(diǎn)是:MAE使用的是模函數(shù),但模函數(shù)不是在所有點(diǎn)處都可微的,所以很多情況下不能作為損失函數(shù)。
MSE取每個實(shí)際值和預(yù)測值之間的差值,然后將差值平方并將它們相加,最后除以觀測數(shù)量。為了使回歸模型被認(rèn)為是一個好的模型,MSE 應(yīng)該盡可能小。
MSE的優(yōu)點(diǎn):平方函數(shù)在所有點(diǎn)上都是可微的,因此它可以用作損失函數(shù)。
MSE的缺點(diǎn):由于 MSE 使用平方函數(shù),結(jié)果的單位是輸出的平方。因此很難解釋結(jié)果。由于它使用平方函數(shù),如果數(shù)據(jù)中有異常值,則差值也會被平方,因此,MSE 對異常值不穩(wěn)定。
均方根誤差(RMSE)取每個實(shí)際值和預(yù)測值之間的差值,然后將差值平方并將它們相加,最后除以觀測數(shù)量。然后取結(jié)果的平方根。因此,RMSE 是 MSE 的平方根。為了使回歸模型被認(rèn)為是一個好的模型,RMSE 應(yīng)該盡可能小。
RMSE 解決了 MSE 的問題,單位將與輸出的單位相同,因為它取平方根,但仍然對異常值不那么穩(wěn)定。
上述指標(biāo)取決于我們正在解決的問題的上下文, 我們不能在不了解實(shí)際問題的情況下,只看 MAE、MSE 和 RMSE 的值來判斷模型的好壞。
如果我們沒有任何輸入數(shù)據(jù),但是想知道他在這家公司能拿到多少薪水,那么我們能做的最好的事情就是給他們所有員工薪水的平均值。
R2 score 給出的值介于 0 到 1 之間,可以針對任何上下文進(jìn)行解釋。它可以理解為是擬合度的好壞。
SSR 是回歸線的誤差平方和,SSM 是均線誤差的平方和。我們將回歸線與平均線進(jìn)行比較。
如果我們模型的 R2 得分為 0.8,這意味著可以說模型能夠解釋 80% 的輸出方差。也就是說,80%的工資變化可以用輸入(工作年限)來解釋,但剩下的20%是未知的。
如果我們的模型有2個特征,工作年限和面試分?jǐn)?shù),那么我們的模型能夠使用這兩個輸入特征解釋80%的工資變化。
R2的缺點(diǎn):
隨著輸入特征數(shù)量的增加,R2會趨于相應(yīng)的增加或者保持不變,但永遠(yuǎn)不會下降,即使輸入特征對我們的模型不重要(例如,將面試當(dāng)天的氣溫添加到我們的示例中,R2是不會下降的即使溫度對輸出不重要)。
上式中R2為R2,n為觀測數(shù)(行),p為獨(dú)立特征數(shù)。Adjusted R2解決了R2的問題。
當(dāng)我們添加對我們的模型不那么重要的特性時,比如添加溫度來預(yù)測工資…..
當(dāng)添加對模型很重要的特性時,比如添加面試分?jǐn)?shù)來預(yù)測工資……
文章轉(zhuǎn)自微信公眾號@算法進(jìn)階