在使用python去完成一些数据分析和数据统计方面的需求时,时间序列分析是一个非常常见的方式 。时间序列就是指的一段时间没某一种数据的变化情况,那么使用python去实现时间序列分析就要用到图像绘制的库和数据分析的库了,下文对此有代码示例和解析 。
文章插图
1.首先需要去创建一个空白python文件来进行时间序列分析程序的代码编写,然后打开命令行通过pip工具去下载安装所需要的一些库,示例如下:
# 数据计算库import pandas as pdimport numpy as np# 图形处理库import matplotlib.pyplot as plt2.下载并导入了库之后就可以去通过随机生成的方式去的到一组完全随机的数据,这个数据是用来去替代实际数据完成时间序列分析的 。虽然不具有合理性,但是作为测试数据也足够了,代码如下:
def generate_data(start_date, end_date): df = pd.DataFrame([300 + i * 30 + randrange(50) for i in range(31)], columns=['income'], index=pd.date_range(start_date, end_date, freq='D')) return dfdata = generate_data('20170601', '20170701')data['income'] = data['income'].astype('float64')3.数据获取到了还要去用这个数据画出一个时序图来查看数据是否为平稳序列,如果不是的话还要将其转为平稳序列才可以,示例如下:
data.plot()plot_acf(data).show()data_diff = data.diff()data_diff = data_diff.dropna()4.得到平稳序列的数据之后再使用ARIMA模型作为数据建模的基础去绘制出实际的时间序列分析图了,示例如下:
arima = ARIMA(data, order=(1, 1, 1))result = arima.fit(disp=False)print(result.aic, result.bic, result.hqic)plt.plot(data_diff)plt.plot(result.fittedvalues, color='red')plt.title('ARIMA RSS: %.4f' % sum(result.fittedvalues - data_diff['income']) ** 2)plt.show()以上就是关于“【Python如何实现时间序列分析?代码示例和解析看这里】Python如何实现时间序列分析?代码示例和解析看这里”的全部内容了,想要了解更多python的实用知识和代码示例可以持续关注这个频道,每次更新都会有很多新的知识技术分享给大家 。
推荐阅读
- python import是什么?花三分钟看完你就知道了
- Python支持win10系统吗?Python为什么能在不同平台运行
- 学Python要装虚拟机吗?虚拟机的作用是什么
- python如何安装cvxopt?这篇文章教给你答案
- Python怎么创建文本框?使用Tkinter模块轻松实现
- python如何统计字符串中字母个数?这个方法你一定要学会
- 如何使用python的circle来画空心圆?turtle函数可以实现
- Python怎么创建一个venv环境并激活?四步就可以完成
- Python如何获取字典的键和值?Python读取字典方法
- Python列表和矩阵如何区分?详解列表和矩阵区别