應用時間序列法預測收入

遊資網發表於2020-01-16
應用時間序列法預測收入

每年快到年末的時候,我都會做一件事情:預估新的一年的資料,包含收入、人數、費用、利潤等等。

針對不同的遊戲、不同的使用者,不同的歷史資料規律,所採取的預估方法各不相同。本篇跟大家分享其中一種方法:用時間序列方法預估未來收入。

一、時間序列定義及特點

時間序列簡單的說就是各時間點上形成的數值序列,時間序列分析就是通過觀察歷史資料預測未來的值。

時間序列中的時間因素,可以是小時、天、周、月、年,或任何固定的時間間隔,依據具體的業務場景而定。

時間序列資料用於描述現象隨時間發展變化的特徵,一般地,時間序列預測法具有如下的三個基本特點:

(1)假設事物發展趨勢會延伸到未來;

(2)預測所依據的資料具有不規則性;

(3)不考慮事物發展之間的因果關係;

二、時間序列預測步驟

時間序列含有不同的成分,如趨勢、季節性、週期性和隨機性等。對於一個具體的時間序列,它可能含有上述中的一種成分,也可能同時含有幾種成分,含有不同成分的時間序列所用的預測方法是不同的。預測步驟:

第一步:確定時間序列所包含的成分,確定時間序列的型別。

第二步:找出適合此類時間序列的預測方法。

第三步:對可能的預測方法進行評估,以確定最佳預測方案。

第四步:利用最佳預測方案進行預測。

三、例項

R語言、python、spss、EXCEL均能做時間序列分析,本篇將介紹常用的R語言時間序列ARIMA模型進行預測,具體步驟如下:

1、安裝forecast包

forecast包是一個封裝的ARIMA統計軟體包,在預設情況下,R沒有預裝forecast包,因此需要先安裝該包

install.packages("forecast")

2、匯入forecast包

library(forecast)

3、匯入原始資料

此處虛擬了一組收入資料,從2017年開始以月為單位的收入資料,共有36條。

應用時間序列法預測收入

4、識別模型

4.1檢視趨勢圖

應用時間序列法預測收入

應用時間序列法預測收入

4.2繪製時間序列圖

由上圖可見,該序列還不平穩,先做一次Log平滑,再做一次二階差分:

應用時間序列法預測收入

應用時間序列法預測收入

4.3使用decompose函式對資料進行分解

可分成季節部分、趨勢部分、隨機部分三種

應用時間序列法預測收入

應用時間序列法預測收入

4.4 引數估計

auto.arima提供的最佳模型為ARIMA(0,1,1)(0,0,1)[12],我們可以同時測試兩個模型,看看哪個更適合。

應用時間序列法預測收入


說明:在對該序列進行差分前,此處省略了檢視ACF和PACF。

5、預測2020年每月收入

5.1根據auto.arima提供的最佳模型,選擇ARIMA(0,1,1)來預估

應用時間序列法預測收入

應用時間序列法預測收入


5.2根據auto.arima提供的最佳模型,選擇ARIMA(0,0,1)來預估

應用時間序列法預測收入

應用時間序列法預測收入

顯然,使用第二個模型引數預估的結果不符合整體的規律,因此將第一個預測結果作為本次的預估收入,即下圖的藍色曲線為預測結果。

應用時間序列法預測收入

四、總結:

時間序列預測法其實是一種迴歸預測方法,屬於定量預測。

基本原理是:一方面承認事物發展的延續性,運用過去時間序列的資料進行統計分析,推測出事物的發展趨勢;另一方面充分考慮到偶然因素影響而產生的隨機性,為了消除隨機波動的影響,利用歷史資料進行統計分析,並對資料進行適當處理,進行趨勢預測。


作者:黎湘豔  
來源:資料驅動遊戲
原地址:https://mp.weixin.qq.com/s/l9J3VitvfwdTMpRXxx0X4Q

相關文章