當前位置:編程學習大全網 - 編程語言 - STL:A Seasonal-Trend Decomposition procedure Based on Loess

STL:A Seasonal-Trend Decomposition procedure Based on Loess

2.1 LOESS回歸:

STL主要依賴LOESS方法來做回歸,本小節首先介紹壹下該非參數回歸方法。

LOESS為局部加權非參數回歸,做數學和算法相關工作的同學都知道“局部”的意思,它就是當妳想回歸壹個點時,在該點的周圍畫壹個圓,將鄰居樣本圈進來,之後利用鄰居樣本的加權求和得到目標點的回歸值。更重要的是,回歸每壹個目標點的時候,對鄰居樣本的權重都不相同,這個就是局部的意思,每個點都不壹樣。那麽非參數呢?它指的是沒有假設數據樣本應該服從什麽樣的關系,例如壹般我們做回歸會假設y=3x 2這樣的因變量-自變量關系,但是在非參數回歸中,是沒有這個的,它“局部”的回歸得到目標點的回歸值,不存在壹個參數(如y=3x 2中的3)應用全部的情況。

具體的,LOESS是怎麽做的呢?首先假設有壹個序列x1,x2,...xn,回歸壹個值x6時,

(1)以x6為中心確定壹個區間,寬度q可靈活掌握;

(2)定義區間內鄰居的權重,權重由權數函數確定;

(3)區間內的散點擬合直線或曲線,具體取決於參數d(d=1意味著直線,d=2意味著二階)

(4)擬合之後得到目標點的值。

對序列中的每壹個點都做這樣的擬合,擬合後的數據就是loess回歸的結果。

2.2 STL分解:

(1)首先展示STL的算法:

(2)然後解釋其中的變量值:

整體上以上這些參數設置的時候,要理解STL能做周期和趨勢分解的壹個本質邏輯:之所以能做周期擬合,是因為其中做了子序列平滑,就是說把周期中每壹個位置的點拿出來,因為是規律性的,所以原則上每壹個子序列都應該是越平滑越好,那怎麽才能盡可能得到壹個平滑的回歸線呢?那就是窗口取大壹點,這樣受局部影響才小。而做趨勢擬合的時候就不壹樣了,窗口取太大會導致趨勢被抑制,取太小會將周期和余項的分量回歸進來,所以要取得“合適”,也參考以上的公式。至於除了這兩個主要步驟之外,為什麽做那麽多次loess回歸,也就是通過多次平滑、回歸,能越來越精確的將趨勢分量和周期分量區分開,而不至於混淆。

原文請參考論文:A Seasonal-Trend Decomposition procedure Based on Loess

  • 上一篇:2023年為什麽學習Java編程?
  • 下一篇:六年級下冊信息技術教學工作計劃
  • copyright 2024編程學習大全網