作者 | 時序人 責編 | 張文
頭圖 | CSDN 下載自東方 IC
上篇我們講了時間序列預測,其中提到了時序預測模型與回歸預測模型的不同。換句話說,時序預測模型依賴於數值在時間上的先後順序,是回歸模型中的一部分。
回歸分析是確定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法。是一種預測性的建模技術,它研究的是因變量(Y)和自變量(X)之間的關係。例如不同的施肥量對苗木高生長的關係、中國人的消費習慣對美國經濟的影響等等。回歸分析衡量自變量對因變量 Y 的影響能力,進而可以用來預測因變量的發展趨勢。
本文為大家描述時間序列的回歸方法。簡單來說,時間序列的回歸分析需要我們分析歷史數據,找到歷史數據演化中的特徵與模式,其主要分為線性回歸分析和非線性回歸分析兩種類型。
模型構建與驗證
回歸分析多採用機器學習方法,我們首先需要明確機器學習(或深度學習)模型構建與驗證的主體思路:
分析數據構建數據特徵,將數據轉化為特徵樣本集合;
明確樣本與標籤(Label),劃分訓練集與測試集;
比較不同模型在相同的訓練集中的效果,或是相同模型的不同參數在同一個訓練集中擬合的效果;
在驗證樣本集中驗證模型的準確度,通過相關的結果評估公式選擇表現最好同時沒有過擬合的模型。
線性模型
回歸就是使用若干已知的樣本對公式參數的估計。,這裡的回歸函數可以是任意函數,其中線性回歸的模型如下所示:
其中,是訓練樣本集合中樣本的各個維度,a,b,c,d是模型中的未知參數。
通過對線性模型的訓練,可以較好的得到模型中各個變量之間的關係。
常用的線性模型有:線性回歸、多項式回歸、嶺回歸、套索回歸等等,下面為大家簡單介紹。
線性回歸(Linear Regression)
線性回歸是最為人熟知的建模技術,是人們學習如何做預測時的首選方法之一。在此技術中,因變量是連續的,自變量可以是連續的也可以是離散的。回歸的本質是線性的。
線性回歸通過使用最佳的擬合直線(又被稱為回歸線),建立因變量(Y)和一個或多個自變量(X)之間的關係。
它的表達式為:,其中 w 直線斜率,e 為誤差項。如果給出了自變量 X,就能通過這個線性回歸表達式計算出預測值,即因變量 Y。
圖 | 線性回歸擬合樣本點示意圖
多元線性回歸與一元線性回歸的區別在於,多元線性回歸有大於 1 個自變量,而一元線性回歸只有 1 個自變量。接下來的問題是「如何獲得最佳擬合直線(確定 a 和 b 值)?」
這個問題可以使用最小二乘法(Least Square Method)輕鬆解決。最小二乘法是一種擬合回歸線的常用算法。它通過最小化每個數據點與預測直線的垂直誤差的平方和來計算,優化的目標函數如下:
使用各種優化方法,求解向量,得到線性模型中的相關參數,在使用逐點預測的方式,得到相應的預測結果。
劃重點:
自變量和因變量之間必須滿足線性關係。
多元回歸存在多重共線性,自相關性和異方差性。
線性回歸對異常值非常敏感。異常值會嚴重影響回歸線和最終的預測值。
多重共線性會增加係數估計的方差,並且使得估計對模型中的微小變化非常敏感。結果是係數估計不穩定。
在多個自變量的情況下,我們可以採用正向選擇、向後消除和逐步選擇的方法來選擇最重要的自變量。
多項式回歸(Polynomial Regression)
對應一個回歸方程,如果自變量的指數大於 1,則它就是多項式回歸方程:
。
在多項式回歸中,最佳的擬合線不是直線,而是擬合數據點的曲線。
劃重點:
雖然可能會有一些誘導去擬合更高階的多項式以此來降低誤差,但是這樣容易發生過擬合。應該畫出擬合曲線圖形,重點放在確保曲線反映樣本真實分布上。下圖是一個例子,可以幫助我們理解。
圖 | 欠擬合(紅) / 正常擬合(藍) / 過擬合(綠)
尤其要注意曲線的兩端,看看這些形狀和趨勢是否有意義。更高的多項式可以產生怪異的推斷結果。
逐步回歸(Stepwise Regression)
當我們處理多個獨立變量時,就使用逐步回歸。在這種技術中,獨立變量的選擇是藉助於自動過程來完成的,不涉及人工幹預。
逐步回歸的做法是觀察統計值,例如 R-square、t-stats、AIC 指標來辨別重要的變量。基於特定標準,通過增加/刪除協變量來逐步擬合回歸模型。常見的逐步回歸方法如下所示:
標準的逐步回歸做兩件事,每一步中增加或移除自變量。
前向選擇從模型中最重要的自變量開始,然後每一步中增加變量。
反向消除從模型所有的自變量開始,然後每一步中移除最小顯著變量。
這種建模技術的目的是通過使用最少的自變量在得到最大的預測能力。它也是處理高維數據集的方法之一。
嶺回歸(Ridge Regression)
嶺回歸是當數據遭受多重共線性(獨立變量高度相關)時使用的一種技術。在多重共線性中,即使最小二乘估計是無偏差的,但是方差很大,使得觀察值遠離真實值。嶺回歸通過給回歸估計中增加額外的偏差度,能夠有效減少方差。
在線性方程中,預測誤差可以分解為兩個子分量。首先是由於偏頗,其次是由於方差。預測誤差可能由於這兩個或兩個分量中的任何一個而發生。這裡將討論由於方差引起的誤差。嶺回歸通過收縮參數 λ 解決了多重共線性問題。請看下面的方程式:
上面這個公式中包含兩項。第一個是最小平方項,第二個是係數 β 的平方和項,前面乘以收縮參數 λ。增加第二項的目的是為了縮小係數 β 的幅值以減小方差。
劃重點:
除非不假定正態性,嶺回歸與最小二乘回歸的所有假設是一樣的。
嶺回歸縮小了係數的值,但沒有達到零,這表明它沒有特徵選擇特徵。
這是一個正則化方法,使用了 L2 正則化。
套索回歸(Lasso Regression)
類似於嶺回歸,套索回歸懲罰的是回歸係數的絕對值。此外,它能夠減少變異性和提高線性回歸模型的準確性。請看下面的方程式:
套索回歸不同於嶺回歸,懲罰函數它使用的是係數的絕對值之和,而不是平方。這導致懲罰項(或等價於約束估計的絕對值之和),使得一些回歸係數估計恰好為零。施加的懲罰越大,估計就越接近零。實現從 n 個變量中進行選擇。
劃重點:
除非不假定正態性,套索回歸與最小二乘回歸的所有假設是一樣的。
套索回歸將係數收縮到零(正好為零),有助於特徵選擇。
這是一個正則化方法,使用了 L1 正則化。
如果一組自變量高度相關,那麼套索回歸只會選擇其中一個,而將其餘的縮小為零。
彈性回歸(ElasticNet Regression)
彈性回歸是嶺回歸和套索回歸的混合技術,它同時使用 L2 和 L1 正則化。當有多個相關的特徵時,彈性網絡是有用的。套索回歸很可能隨機選擇其中一個,而彈性回歸很可能都會選擇:
權衡嶺回歸和套索回歸的一個優點是它讓彈性回歸繼承了一些嶺回歸在旋轉狀態下的穩定性。
劃重點:
在高度相關變量的情況下,它支持群體效應。
它對所選變量的數目沒有限制
它具有兩個收縮因子和。
非線性模型
在之前的文章中介紹過時序統計學模型(AR、ARMA、ARIMA)模型,建模的思路源於針對當前觀測點的最近P個點和最近Q個點的誤差值進行建模,結構如下:
在利用相應的數學工具進行求解,具體的原理文章,請見《TS技術課堂 | 時間序列統計分析》
而在現實背景中,很多數據並不是嚴格按照線性關係刻畫的。為了兼顧模型的可解釋性,很多工作將非線性的數據進行各種變換(冪函數變換、倒數變換、指數變換、對數變換、Box-Cax等)將一個非線性問題轉換成一個呈現線性關係的問題,再利用相應的模型進行解決。
常見的可以進行非線性回歸預測的機器學習算法模型有:邏輯回歸,樹回歸,神經網絡模型等等。下面為大家簡單介紹。
邏輯回歸
邏輯回歸用來計算事件成功(Success)或者失敗(Failure)的概率。當因變量是二進位(0/1,True/False,Yes/No)時,應該使用邏輯回歸。這裡,Y 的取值範圍為 [0,1],它可以由下列等式來表示:
其中,p 是事件發生的概率。你可能會有這樣的疑問:為什麼在等式中使用對數 log 呢?因為我們這裡使用的二項分布(因變量),所以需要選擇一個合適的激活函數能夠將輸出映射到 [0,1] 之間,Logit 函數滿足要求。在上面的等式中,通過使用最大似然估計來得到最佳的參數。
劃重點:
邏輯回歸廣泛用於分類問題。
邏輯回歸不要求因變量和自變量之間是線性關係,它可以處理多類型關係,因為它對預測輸出進行了非線性 log 變換。
為了避免過擬合和欠擬合,我們應該涵蓋所有有用的變量。實際中確保這種情況的一個好的做法是使用逐步篩選的方法來估計邏輯回歸。
訓練樣本數量越大越好,因為如果樣本數量少,最大似然估計的效果就會比最小二乘法差。
自變量不應相互關聯,即不存在多重共線性。然而,在分析和建模中,我們可以選擇包含分類變量相互作用的影響。
如果因變量的值是序數,則稱之為序數邏輯回歸。
如果因變量是多類別的,則稱之為多元邏輯回歸。
回歸樹
分類與回歸樹(Classification and Regression Tree, CART)是一種經典的決策樹,可以用來處理涉及連續數據的分類或者回歸任務。其主要思想是將自變量的取值空間切分為若干個碎塊,並假設這個空間碎塊內的所有樣本的因變量取值接近(甚至相同)。
圖 | 回歸樹的案例
假設已經將空間劃分成M個區域,並且在每個區域內用常量!!!!對對應的區塊進行建模:
優化的目標函數採用誤差平方和的極小值作為衡量標準,推導得到最佳的,其恰好是在區域中的平均值:
從所有的數據開始,考慮一個分裂變量j和分裂點s,並定義一對半平面:
然後搜索分裂變量j和分裂點s,它求解:
對於任意的j和s,內部極小化可以用下式求解:
找到最好的分裂,數據從而可以劃分成兩個結果區域。每個區域再不斷重複分裂過程,直到最小絕對偏差(LAD)或者最小二乘偏差(LSD)最小。
後來很多樹模型,在回歸樹的基礎上,結合集成學習,更進一步提升了擬合能力,包括我們嘗嘗在競賽中看到的分類任務大殺器GBDT/XGBoost等。
神經網絡模型
深度學習方法近年來逐漸替代機器學習方法,成為人工智慧與數據分析的主流,因為其可以構建多層深層的結構,實現相比線性方法更加複雜的擬合方式,包括:循環神經網絡/卷積神經網絡/基於注意力機制的模型等等。