一文搞懂“預測模型”:建模思路,模型分類,應用場景
“建個模型預測一下!”一聽到要建模預測,很多同學都會菊花一緊。可以用來做預測模型很多,但是往往領導們喊著“建個模型”的時候,他丟給你的就孤零零的一行數,形如下圖:
圖片
這咋辦呀!你可能很想說:“就幾個數,咱拍腦袋吧!”,這時候還會被領導批評。那死馬當活馬醫的話,該咋整呢?
一、建模思路
建預測模型有兩個基本思路:因果關系/時間序列
1、基于因果關系建模。比如預測一個用戶是否消費,會把該用戶性別、年齡、過往消費記錄、喜歡什么商品、瀏覽過哪些網頁等可能影響消費的因素視為X,將消費結果視為Y,之后利用數據計算出X與Y的公式。
2、基于時間序列建模。它把待預測的指標(銷售額、用戶數、出貨量等)視為Y,把時間視為X,把待預測指標隨著時間發展而變化的公式計算出來(形如y=ax+b,不過具體形式會更復雜)。
直觀地看,兩種思路需要的數據格式如下:
圖片
顯然,在僅有一行數據的情況下,因果關系預測很難實現。并且一般這種只丟一行數據讓預測的公司,一般數據基建也很稀爛,最多給個業績=訂單數*客單價,很少記錄影響用戶購買的原因。綜上,在只有一列數的情況下,用時間序列法比較省事。
二、建模準備
時間序列法有3種基礎形態(如下圖所示):
圖片
根據不同的形態,可以選擇不同的方法。因此在建模的時候,要先觀察數據形態。比如開頭的例子,顯然同時有季節性+趨勢性(如下圖所示),因此可以用帶趨勢的季節回歸來做。
圖片
三、建模過程
第一步:分別把代表趨勢的自變量(t),代表季節的自變量Q1、Q2、Q3構造出來(如下圖)因變量(Y)就是銷售額。
圖片
第二步:利用回歸模型,計算相關參數,這里直接用Excel的回歸分析功能做。
圖片
第三步:觀察結果,寫出預測模型的公式。
圖片
第四步:代入下一年度的參數,得出預測數值。
圖片
這樣就做完啦!如果領導想看,可以從回歸分析的源頭講起,R平方的計算公式,參數估計原理,F檢驗與t檢驗。非數據出身的領導們一聽這么多專業名詞,對模型的幻想得到了一定程度的滿足,也就能交差了。
四、模型擴展
Excel的回歸分析默認是線性回歸。但有可能X與Y之間不是線性關系,比如公司業務在高速增長階段,隨著時間發展,業績越來越好,此時可能是多項式 or 對數關系。
因此在建模以前,可以先做散點圖,檢查下數據之間的關系。有趣的是,excel在添加趨勢線的時候,可以直接選擇擬合曲線,因此想偷懶的同學,完全可以直接如下圖操作。
圖片
不過要注意的是:R平方并不是唯一判斷標準,在擬合完走勢后,還得關注:
1、是否擬合走勢與原數據走勢明顯不相符
2、是否擬合走勢某些點不合業務邏輯
3、是否擬合走勢近期誤差過大
要先做排除法,剔除這些明顯有問題的。
圖片
如果剔除過后,依然有多個模型符合條件,可以計算每個模型擬合數據 VS 實際數據的均方差(MSE:Mean Squared Error),選一個均方差較小的模型來用。
圖片
當然,時間序列法還有平滑法以及平滑法的各種變體(holter & winter模型),還有ARIMA、LSTM等模型可用,等以后有機會再一一介紹。
小結
本質上看,時間序列法就是模擬過去的走勢,然后按過去的走勢推演。這種做法和我們用肉眼觀察數據走勢,拍腦袋拍個數值沒有思路上的區別,僅僅是用公式替代了肉眼觀察,增加了精確度而已。
不過,話說回來,做預測,本身就是“長袖善舞,多錢善賈”,數據越豐富,預測準確可能性越大。數據貧瘠,那也只能這樣將就下。