前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python绘制时间序列数据的时序图、自相关图和偏自相关图

Python绘制时间序列数据的时序图、自相关图和偏自相关图

作者头像
Python小屋屋主
发布2018-04-16 16:00:26
5.6K0
发布2018-04-16 16:00:26
举报
文章被收录于专栏:Python小屋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 plt 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

相应的时序图为:

从时序图来看,有明显的增长趋势,原始数据属于不平稳序列。

相应的自相关图为:

从自相关图来看,呈现三角对称形式,不存在截尾或拖尾,属于单调序列的典型表现形式,原始数据属于不平稳序列。

相应的偏自相关图为:

从偏自相关图形来看,也不存在截尾或拖尾,属于不平稳序列。

对于不平稳序列而言,要获得平稳序列的方法之一就是进行差分运算,请参考“相关阅读”第一条。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档