前言
此前寫過一些有關預測技術的文章,然而對于從事需求計劃預測工作的人員而言,依舊存在諸多疑問。即便掌握了相應的預測技術與模型,他們在實際操作中仍不知該如何運用。例如,什么時候適合采用移動平均法,什么時候又該運用指數平滑法呢?實際上,選用合適的預測技術或者預測模型,應當依據數據的形態以及其所蘊含的規律來確定。這就要求我們必須先深入了解自身數據具備哪些規律和特點,這些規律和特點呈現出何種形態,進而依據這些特征去尋找適配的模型和預測技術。
為預測數據挑選恰當的預測模型和方法,其中一個最為關鍵的步驟就是考量預測數據的不同形態。數據形態可能是較為明顯的,也可能是相對隱蔽的。而判斷數據形態最直接的途徑就是借助圖表圖形進行觀測。所以,當我們獲取到數據時,或許最為重要的事情就是將數據轉化為可視化圖表。這樣做能夠幫助我們判別數據的特點和規律,畢竟通過圖表能夠最輕易地發現數據的基本特征,像基本模式以及異常觀測結果等。有時候,圖表還能夠對數據中的某些變化給出可能的解釋。
一、 什么是數據形態(Data Pattern)?
數據形態就是數據所呈現的特征,通過圖形描述出的形狀。通常一個數據通常包含水平,趨勢,季節,周期和噪音或異常值等一個或多個成分,或者多個成分組合起來的,通過圖形可以將這些特性描述或展示出來,給我們直觀的感受,使我們可以通過圖形進行直接的判斷出數據的模式。如圖:

圖1A:水平模式;圖1B:趨勢模式;圖1C: 季節模式;圖1D:季節趨勢(不規則趨勢)
二、 水平(Stationary,通常用L (Level)表示):當隨著時間的推移所觀察的數據圍繞恒定水平或均值波動時,就會存在水平模式。
一種產品的銷售隨時間推移既不增加也不減少的平穩狀態就屬于這種類型,比如,我們的日常消費品牙膏牙刷等,被視為具有水平模式。 舉例說明,下圖是某款洗發水的兩年的歷史銷售,雖然銷售量在每個月份之間有波動,但是,兩年的銷量總體是比較平衡的,沒有明顯的增長或者下降趨勢,也明顯不存在季節性。而這些波動,我們可以認為是隨機干擾因素,我們可以通過移動平均或者指數平滑把它們平滑掉。

圖2:某洗發水兩年的歷史銷售量
對于這樣的水平數據形態,合適的預測模型就是移動平均或者簡單指數平滑了,通過平滑,將隨機干擾因素去除掉,呈現平穩的數據模式。

圖3:洗發水的移動平均與指數平滑Minitab上的預測結果
三、 趨勢(Trend):趨勢是代表時間序列在較長一段時間內的增長或下降的形態。
許多宏觀經濟變量,如美國國民生產總值 (GNP)、就業和工業生產等都表現出趨勢行為。比如下圖,道瓊斯指數2024年的日收盤價格,從年初的37,000多點到年末收盤42,000多點,雖然有短期波動,但是屬于長期增長的形態。

圖4:道瓊斯指數日收盤價 但很多時候,數據的增長,并不是屬于穩定的增長的形態,中間可能會有大的漲跌的情況,并不如像道瓊斯指數這樣長期穩定的增長。比如下圖近5年的中國勞動力成本數據:

圖5:中國勞動成本2020-2024,數據來源: 來源: CKGSB Cheung Kong Graduate School of Business 趨勢形態的數據模式,可以用霍爾特(Holt)或布朗線性等趨勢指數平滑模型進行預測,或通過二次移動平均或多次移動平均方法,如果數據是比較線性增長的模式,也可以通過一元線性回歸分析進行預測。如果是非線性趨勢,需要考慮其他更復雜的預測技術與模型,如增長曲線法;指數模型;ARIMA(Box-Jenkins)等方法。
四、周期 (Cyclical):當數據表現出上升和下降的周期性波動,且這些波動不是固定周期時,就存在周期性(C)模式。
周期性成分是圍繞趨勢的波浪狀波動,通常受到總體經濟狀況的影響。諸如汽車、鋼鐵和大型家用電器的銷售等產品都會表現出這種類型的模式。周期性成分(如果存在)通常會在幾年內完成一個周期。周期性波動通常受到經濟擴張和收縮(通常稱為經濟周期)變化的影響。如下圖我國的載貨汽車生產量,就呈現一定的經濟周期。

圖6:中國載貨汽車生產量2004-2023 數據來源:國家統計局國家數據網
我們可以看到2008年金融危機作為一 個周期的起點,到2022年跌入下一個相對的低谷。當然我們可以把從2008到2015年,和從2015到2022年看作為兩個周期。
可能20年的周期還不夠長,我們再來看一下,美國從1976年到2024年的汽車銷售總量:

圖7:美國從1976年到2024年的月汽車銷售總量,數據來源: FRED網站(圣路易斯聯邦儲備銀行)
從圖表上我們可以看到1980到1990一個周期,1991到2008一個經濟周期,2009到2021年一個經濟周期,我們都知道2008年美國次貨危機引起的全球的金融危機,而雖然2020年1 月暴發的新冠疫情,但似乎只是短期影響,直到2021年9月才真正進入低俗。
季節性和周期性模式的主要區別在于,前者具有恒定的長度并且定期重復出現,而后者在長度上會有所變化。此外,周期的平均長度通常比季節性的平均長度要長,而且周期的幅度也通常更加多變。
周期成分一般跟隨經濟周期,而經濟周期卻不如季節性那么有固定的時間規律容易捕捉,所以要預測周期性的成分并不容易,周期成分可以通過移動平均法將之分離出來,經典分解法、X-12等統計方法產生的目的就是捕捉長期的經濟周期規律,但是效果不如預測專家們所預期的那樣,因為影響經濟周期的因素是非常難以預見到的,偶然的因素太多。
五. 季節(Seasonal):當一系列數據受到季節性因素的影響(例如,一年中的季度、月份或星期幾)時,就存在季節性(S)模式。
與我們生活中相關的大多數產品都存在季節性,比如飲料,服裝、與季節密切相關的農產品等,與我們的節假日相關的產品,每年春節相關的禮品和家庭用品等,相關客運方面的服務與產品等。比如下圖某品牌男士背心的銷售,就存在著明顯的季節性,每年5月份(考慮到經銷商的提前進貨期)達到最大的銷售量,而在年初1、2月份達到最低點。

圖8:某男士背心兩年半的銷售
因為我們大多數的產品都具有季節性模式,所以季節性的預測技術是我們必須要掌握的。具有季節性的數據通??梢允褂梅纸夥?、Winters(季節趨勢)指數平滑法、 X-12普查法、 ARIMA 模型(BOX-JENKINS博克斯一詹金斯法)等模型與方法進行預測。如果季節性不存在明顯的趨勢的情況,則可以使用簡單季節模型,只要將季節指數分解出來就可以了。
六、大多數時間序列數據,包含多個成分,是趨勢,季節,周期和噪音等幾個成分的組合。
下圖顯示了趨勢、季節性和周期性的特點。這樣的時間序列數據使預測是序列數據中常見的各種模式。最常用的方法是將模式中存在的季節S、趨勢T、周期C和噪音I各個成分分離出來,把噪音去除掉,再把必要的成分組合起來,如把季節和趨勢組合起來成為預測模型,則常用的方法之一如經典分解法就是非常好的,也比較容易掌握的方法等。

圖9:MDOT MVA(馬里蘭州機動車管理局) 新車與二手車月銷售量
但其實很多數據更加復雜,長期來看,序列數據是不平穩的,在趨勢有不斷的漲跌,還包含季節性特征和一些異常值等,使我們不容易直接從圖形上找到其中的模式,如下圖:

圖10:渦輪機、發電機和其他電力傳輸設備等制造商新訂單總量($Million) 數據來源: FRED網站(圣路易斯聯邦儲備銀行)

圖11:汽車制造業制造商的汽車總庫存($million) 數據來源: FRED網站(圣路易斯聯邦儲備銀行)
圖10從長期看,雖然沒有明顯的漲跌,但是長期內的波動卻非常的大,似乎還隱含著一定的季節性,而圖11就存在非常明顯的漲跌,且極具不規律,同時似乎也隱含著季節性。 這樣的時間序列數據模式,有時我們很難直接從圖形上進行判斷得出規律,需要通過其他的方法來幫助我們做更準確的判斷。對于時間序列的判斷,我需要引入另一個概念,就是ACF, Autocorrelation的縮寫,中文叫自相關函數。那么ACF是什么含義呢?簡單的說,由于我們的時間序列存在著某種模式,所以每個數據之間是相關的,存在某種相關關系,通過該時間序列數據的滯后階數與前一序列的比例關系判斷序列的相關程度,通常用rk表示,所以它也叫序列相關。關于自相關函數ACF,已經涉及到一些基礎的統計專業知識了,由于篇幅的關系,將在下一篇中專門介紹。
注:本文中本人采用了很多的美國的一些行業的統計數據,數據來自美國政府的一些官方網站,這么做的原因不是本人崇洋媚外,而是我們國家和政府機構的官方數據相對有限和不夠完善,無法取到我想要的數據,另外很多的行業專業數據都不是免費的,而是收費昂貴,希望未來我們的國家和政府也可以將這方面的統計信息完善和規范起來,并能給廣大老百姓提供相關免費的行業和專業的數據。


