跳到主要內容

發表文章

目前顯示的是 3月, 2022的文章

時間序列|淺談供應鏈需求預測 其三:殘差、事件、離群值

前兩篇文章當中,筆者分別提到了時間序列資料的季節週期因子以及趨勢因子,在不同產業以及不同供應鏈環節的需求預測應用實務。而這篇文章,我們就要來談談對基礎時間序列資料解構 ( Time Series Decomposition )的最後一項要素:殘差(Residual),以及在概念上很容易跟其搞混的玩意:包含離群值(Outlier)、異常值(Anomaly)、以及事件(Event)。 # 殘差? 離群值? 異常值? 事件? 造成殘差的原因很多,有些可能事出有因、有些可能剛好只是隨機偏誤。而不同類型的時間序列資料,其隱含的資訊自然也不同。這裡就先簡要說明剛剛提到的幾個觀念詞彙的意涵: 殘差:就是對時間序列資料進行解構,拆離了季節週期以及趨勢項後剩下來的玩意。 離群值:也被稱為極端值,就是與大多數樣本差異甚大的樣本,本身是尚未被拆解的原始資料。 異常值:顧名思義就是異常的樣本。本身也是尚未被拆解的原始資料。 事件:泛指可能導致時間序列資料當中出現離群值、異常值、與殘差的不特定原因。 綜合上述釋義。離群值、異常值、與殘差都是顯示在時間序列資料上的「結果」;而事件則是造成這些結果的原因。而殘差則是離群值與異常值當中 神聖不可分割 的一部份。進一步來談談前三者的關聯,先講講離群值,如果某筆資料被歸納為離群值,那想必是因為該筆資料達成了某些特定條件,使得該資料與其他樣本有很大的差異。 就統計學上經常使用的界定方式為四分位距的 盒狀圖判定方法 、或者是平均數或中位數正負 N 個標準差之類的作法來的取判定門檻,超出這個門檻的就是離群值。 在許多情況下,離群值經常也代表是異常值,但這樣的等價關係並非絕對 。例如:以機器設備的儀表資料而言(例如氣壓計、溫度計、溼度計、震度感測器、聲聞接收器),通常都會有符合其物理意義含的離群值判定範圍,要是出這個範圍,那就真的是異常了。但是在需求預測的時間序列資料上,就不一定了,因為某些波動較大的需求趨勢變動,可能都是事出有因的,而使得某幾筆資料雖落入離群值的範圍當中,但是不代表這些資料就不正常。 這裡指的情況是指從資料面上看起來異常,但是對應到業務面其實是正常的情況。有了上述概念之後,接著才能來談殘差。因為離群值跟異常值,通常與大多數的樣本有著很大的差異。因此,假若某條時間序列資料當中包含了異常值,而我們對整段原始序列資料進行解構之後,通常那一筆異常值資

時間序列|淺談供應鏈需求預測 其二:趨勢與邊界

上一篇文章 當中我們談到,透過對時間序列資料進行解構 ( Time Series Decomposition )來取得當中的趨勢與週期特徵,以及使用季節與週期項來做進一步分析應用時該留意什麼,並且以零售、量販市場;以及餐飲服務、民生用品的供應鏈需求預測實務,來說明季節與週期項的可用性。而這篇文章,我們就要來談談上篇文章還未談完的時間序列解構要素:趨勢項與殘差項。 # 簡單的趨勢估計 時間序列資料當中的趨勢,說起來是個簡單且直觀的玩意,但若要進一步分析與應用,則又有不少學問在。先從簡單的彈起,就 經典的時間序列解構方法 、以及 STL 方法而言,其都是使用 移動平均法 的概念,來替已拆離季節週期成份後的原始序列資料,進行移動平均。既然是移動平均,那麼所採用的平均期數,自然就會影響到拆解出來的趨勢項的結果。一般而言,平均的期數越長、拆解出來的曲線就越趨平穩、短期波動的影響性就會降低。選定一個合適的平均期數,是時間序列趨勢分析的基本功。 然而,只瞭解歷史資料當中的趨勢成份一定是不夠的。透過移動平均來瞭解歷史資料當中的趨勢之後,繼續用它來產生未來的預測值,也是很合理的。而提到移動平均,那當然要提一下它的一個特殊的特殊變形: 指數平滑法 ,能夠依照使用者的需求,彈性調整短期波動對未來的影響幅度。除了移動平均,我們當然也可以用歷史資料直接抓一條 簡單線性迴歸 的直線來做參考,亦或是使用我曾經撰寫過專文介紹的 Theta 模型 ,其代表的都是過去歷史資料的整體趨勢。基本上,如果你的預測結果還比上面這幾項還差,那表示你的預測模型該砍掉重練了。 # 進階的趨勢估計 簡單估計或拆解過去趨勢的方法不勝枚舉,上面提到的都只是一些通俗的基礎方法。但畢竟這系列文章要討論的是對未來的需求預測,而只透過上述簡單方法求出來的預測值,可用性仍十分有限。因此近年,諸如 Prophet 、 Silverkite 等厲害的時間序列預測演算法,就提供了不同類型的趨勢線估計方式,除了最基本的線性加法趨勢之外、還有像是指數型態的非線性趨勢。為了反應歷史資料上,不同時間區段的趨勢變化,這兩種演算法也採用所謂的「Changepoints」的設定,使估計出來的趨勢線能更有效反應歷史資料的趨勢轉折。 此外,也有像 Orbit 這種不採用 Changepoints,而是以平滑的方式輔以其他彈性調整方法來產生趨勢項。