時間序列預(yù)測對不少公司來說是一個難題的創(chuàng)新?
2021-08-16
今年3月發(fā)布的時候用過,最近才想起來看...
首先,它是一個工業(yè)級的應(yīng)用,在時間序列預(yù)測的模型上不是一個很大的創(chuàng)新。
我記得今年參加貓眼電影票房預(yù)測的內(nèi)部分享時,我坐在一個外賣PM旁邊。最后,對方問我有沒有辦法預(yù)測外賣的訂單量。當時想了想,比如Holt- ,或者deep LSTM,好像沒那么容易解釋。
時間序列預(yù)測對大多數(shù)公司都有必要的需求,例如電子商務(wù)預(yù)測GMV,外賣O2O預(yù)測量波動以促進容量分配,酒店預(yù)測客房和夜間量以調(diào)整定價和銷售等等。但總的來說,時間序列預(yù)測對很多公司來說都是一個難題。主要原因是時間序列預(yù)測本身除了是玄學(fog)之外,還需要分析師兼具深厚的專業(yè)領(lǐng)域知識()和時間序列建模的統(tǒng)計知識。此外,時間序列模型的調(diào)優(yōu)也是一項相對復(fù)雜繁瑣的工作。
就是這種背景下的產(chǎn)品。時間序列建模的一些常用流程和參數(shù),用于讓不懂統(tǒng)計學的業(yè)務(wù)分析人員能夠快速構(gòu)建出滿足自己需求的相對實用的模型。
許多業(yè)務(wù)活動都有特定的時間依賴模式。作者以上述用戶創(chuàng)建的“事件”()為例:
可以看到用戶創(chuàng)建的事件數(shù)量具有明顯的時間序列特征:多個周期性、趨勢、假期效應(yīng)和一些異常值。
然后作者使用了R包中的幾種常用的時間序列預(yù)測技術(shù)(指數(shù)平滑等)來建模,效果很恐怖:
圖1是,圖2是指數(shù)平滑,圖3是,圖4是。
模型結(jié)構(gòu)
本質(zhì)是一個加法模型,基本形式如下:
哪里
這是一個趨勢項目,
是句號stan概率編程工具,
這是一個節(jié)日項目,
是誤差項,服從正態(tài)分布。
趨勢模型
兩個趨勢模型用于
:飽和增長模型()和分段線性模型()。兩種模型都包含不同程度的假設(shè)和一些調(diào)整平滑度的參數(shù),并通過選擇變化點來預(yù)測趨勢變化()。具體推導不寫,只寫最終形式:
:
:
時期模型
使用傅里葉級數(shù)()建立周期模型:
N的調(diào)整起到了低通濾波(low-pass)的作用。筆者表示,對于年周期和周周期,分別選擇N為10和3,效果更好。
假期和緊急情況模型
節(jié)假日需要用戶提前指定stan概率編程工具,每個節(jié)假日包括前后幾天。模型的形式如下(感覺像虛擬變量):
模型性能
還是用上面的例子,作者給出了模型擬合和預(yù)測能力:
似乎比之前用R做的效果好很多,而且不需要用戶有很強的統(tǒng)計背景就可以輕松建模。
同時支持將模型分解為單獨的組件,實現(xiàn)簡單,只需要調(diào)用一行代碼nts:
適用范圍
顯然,它只適用于具有明顯內(nèi)部規(guī)律(或模式)的商業(yè)行為數(shù)據(jù)。
雖然日常數(shù)據(jù)系列通常用于官方案例,但也支持更短的時間段,例如小時數(shù)據(jù)。
但是對于沒有明顯趨勢和周期性的時間序列,預(yù)測是不合適的。比如有同學曾經(jīng)預(yù)測滬深300...更不用說有效市場假說(EMH),它否定了歷史數(shù)據(jù)擬合未來價格的可能性。即使市場有規(guī)律,也不能用一般模型簡單地線性分解。進入趨勢和周期。
我自己首先嘗試根據(jù)內(nèi)部歷史數(shù)據(jù)對公司風險控制的潛在損失做一個簡單的預(yù)測,但顯然沒有證據(jù)可以解釋過去的序列特征(如風險集中度、外部環(huán)境影響、公司級合并等)會在2017年重演。所以充其量只是用來寫周報,為2017年的風控預(yù)算做點小貢獻...
總結(jié)
是一個比較好用的預(yù)測工具,特別適合像我這樣持有ets和auto的人。他們懶得自動確定順序和選擇模型(逃……
對業(yè)務(wù)分析師非常友好,因為原理很簡單,而且很容易上手R和。
通??梢越o出很好的預(yù)測結(jié)果。比如我對某些業(yè)務(wù)條線的交易數(shù)據(jù)進行了預(yù)測,發(fā)現(xiàn)大部分都可以,“春節(jié)效應(yīng)”等中國特色也能更準確。