勵志

勵志人生知識庫

stl分解原理

STL(Seasonal and Trend decomposition using Loess)分解是一種用於時間序列數據的分析方法,它將時間序列數據分解為趨勢項季節項殘餘項。這種方法基於Loess(Local Regression, Local Weighting, or LOcally WEighted Scatterplot Smoothing),即局部加權回歸散點平滑法。

STL分解的原理涉及兩個主要的循環:內循環外循環內循環包括以下步驟:

去趨勢(Detrending),即從數據中減去當前趨勢分量的估計值。

周期子序列平滑,使用Loess對每個周期內的子序列進行平滑處理。

對平滑後的周期子序列進行低通濾波處理。

去除平滑周期子序列的低通量,得到季節項。

去周期(Deseasonalizing),即從數據中減去季節項分量。

外循環則引入了一個穩健性權重項,以控制數據中異常值的影響。這個權重項會在內循環的下一個階段中被考慮進去。趨勢分量和季節分量都是在內循環中得到的。由於在每個截口中進行平滑,季節項在重排後可能無法保證相鄰時段的平滑性,因此還需要進行季節項的後平滑,這個後平滑是基於局部二次擬合的,並且不需要在Loess中進行穩健性疊代。

STL分解的參數包括季節性周期(period)、季節性平滑器的長度(season)、趨勢平滑器的長度(trend)等。這些參數的選擇會影響分解的結果,例如,季節性周期通常可以根據數據的類型和特性來確定,而趨勢平滑器的長度通常要大於季節性周期的1-1.5倍。