應用時間序列法預測收入
每年快到年末的時候,我都會做一件事情:預估新的一年的資料,包含收入、人數、費用、利潤等等。
針對不同的遊戲、不同的使用者,不同的歷史資料規律,所採取的預估方法各不相同。本篇跟大家分享其中一種方法:用時間序列方法預估未來收入。
一、時間序列定義及特點
時間序列簡單的說就是各時間點上形成的數值序列,時間序列分析就是通過觀察歷史資料預測未來的值。
時間序列中的時間因素,可以是小時、天、周、月、年,或任何固定的時間間隔,依據具體的業務場景而定。
時間序列資料用於描述現象隨時間發展變化的特徵,一般地,時間序列預測法具有如下的三個基本特點:
(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
相關文章
- [譯] 層次時間序列預測法
- 用python做時間序列預測一:初識概念Python
- 用python做時間序列預測九:ARIMA模型簡介Python模型
- 時間序列基本概念、任務、預測方法
- 用Python預測「週期性時間序列」的正確姿勢Python
- 擴散模型的多元化應用:藥物發現、文字生成、時間序列預測等模型
- Facebook時間序列預測演算法Prophet的研究演算法
- 手把手教你用Python的Prophet庫進行時間序列預測Python
- 時間序列預測:探索性資料分析和特徵工程的實用指南特徵工程
- SOFTS: 時間序列預測的最新模型以及Python使用示例模型Python
- BiTCN:基於卷積網路的多元時間序列預測卷積
- 將VAE用於時間序列:生成時間序列的合成資料
- 【時間序列分析】01. 時間序列·平穩序列
- 【機器學習】--時間序列演算法從初識到應用機器學習演算法
- 手把手教你用Prophet快速進行時間序列預測(附Prophet和R程式碼)
- Redis乾貨|解鎖Redis 時間序列資料的應用Redis
- 案例剖析:利用LSTM深層神經網路進行時間序列預測神經網路
- FredNormer: 非平穩時間序列預測的頻域正則化方法ORM
- SiMBA:基於Mamba的跨影像和多元時間序列的預測模型模型
- 時間序列結構變化分析:Python實現時間序列變化點檢測Python
- 谷歌的時間序列預測的基礎模型TimesFM詳解和對比測試谷歌模型
- 時間序列分析
- 技術乾貨 | 解鎖Redis 時間序列資料的應用Redis
- CVPR 2021 | 時間序列疾病預測的因果隱馬爾可夫模型隱馬爾可夫模型
- [譯] 時間序列異常檢測演算法演算法
- NeurIPS 2024 Spotlight | 如何操縱時間序列預測結果?BackTime:全新的時間序列後門攻擊正規化
- 時間序列分析基本思想及時間序列建模步驟
- python 時間序列Python
- 藍橋杯-航班時間(簡單寫法+sscanf的應用)
- Python 時間序列分析Python
- 掌握時間序列特徵工程:常用特徵總結與 Feature-engine 的應用特徵工程
- Oracle裡時間的應用Oracle
- 用R語言進行時間序列ARMA模型分析R語言模型
- 使用LSTMs和Prophet進行時間序列預測你的電子郵箱負載(附程式碼)負載
- 基於Liquid State Machine的時間序列預測:利用儲備池計算實現高效建模UIMac
- 基於WOA最佳化的CNN-LSTM的時間序列迴歸預測matlab模擬CNNMatlab
- 賓夕法尼亞大學:從Twitter留言預測使用者收入
- 時間序列分析(二)--指數平滑