Python繪製時間序列資料的時序圖、自相關圖和偏自相關圖
時序圖、自相關圖和偏相關圖是判斷時間序列資料是否平穩的重要依據。
本文涉及的擴充套件庫numpy、pandas、statsmodels一般可以使用pip進行線上安裝,如果安裝失敗,可以到http://www.lfd.uci.edu/~gohlke/pythonlibs/下載相應的whl檔案進行離線安裝。
另外,繪製自相關圖的函式plot_acf()和繪製偏自相關圖的函式plot_pacf()還有更多引數可以使用,請自行挖掘和探索。
from random
import randrange
import numpy
as np
import pandas
as pd
import matplotlib.pyplot as
import matplotlib.font_manager as fm
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
def generateData(startDate, endDate):
df = pd.DataFrame([300+i*30+randrange(50)
for i in range(31)],\
columns=['營業額'],\
index=pd.date_range(startDate, endDate, freq='D'
return df
# 生成測試資料,模擬某商店營業額
data = generateData('20170601',
'20170701')
print(data)
# 繪製時序圖
myfont = fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')
data.plot()
plt.legend(prop=myfont)
plt.show()
# 繪製自相關圖
plot_acf(data).show()
# 繪製偏自相關圖
plot_pacf(data).show()
某次執行得到的隨機資料為:
營業額
2017-06-01 333
2017-06-02 370
2017-06-03 392
2017-06-04 425
2017-06-05 457
2017-06-06 467
2017-06-07 488
2017-06-08 540
2017-06-09 575
2017-06-10 575
2017-06-11 635
2017-06-12 631
2017-06-13 706
2017-06-14 691
2017-06-15 728
2017-06-16 767
2017-06-17 783
2017-06-18 831
2017-06-19 846
2017-06-20 894
2017-06-21 908
2017-06-22 954
2017-06-23 971
2017-06-24 1011
2017-06-25 1051
2017-06-26 1089
2017-06-27 1120
2017-06-28 1118
2017-06-29 1143
2017-06-30 1181
2017-07-01 1240
相應的時序圖為:
從時序圖來看,有明顯的增長趨勢,原始資料屬於不平穩序列。
相應的自相關圖為:
從自相關圖來看,呈現三角對稱形式,不存在截尾或拖尾,屬於單調序列的典型表現形式,原始資料屬於不平穩序列。
相應的偏自相關圖為:
從偏自相關圖形來看,也不存在截尾或拖尾,屬於不平穩序列。
對於不平穩序列而言,要獲得平穩序列的方法之一就是進行差分運算,請參考“相關閱讀”第一條。
----------相關閱讀----------
----------喜大普奔----------
1、繼《Python程式設計基礎》(2017年9月第5次印刷)、《Python程式設計(第2版)》(2017年9月第4次印刷)、《Python可以這樣學》(2017年7月第3次印刷)系列圖書之後,董付國老師新書《Python程式設計開發寶典》已於2017年8月1日在清華大學出版社出版,並於2017年9月進行了第2次印刷。為慶祝新書《Python程式設計開發寶典》全面上架,清華大學出版社聯合“贛江圖書專營”淘寶店推出特價優惠活動,《Python程式設計開發寶典》原價69元,新書上架期間超低價39.8元,可以複製下面的連結使用瀏覽器開啟檢視圖書詳情和購買:
https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3
2、董付國老師新作《中學生可以這樣學Python》已正式出版,很快就會在各大書城全面上架。