Python如何实现时间序列分析?代码示例和解析看这里

在使用python去完成一些数据分析和数据统计方面的需求时,时间序列分析是一个非常常见的方式 。时间序列就是指的一段时间没某一种数据的变化情况,那么使用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的实用知识和代码示例可以持续关注这个频道,每次更新都会有很多新的知识技术分享给大家 。

    推荐阅读