
文章插图
输出结果如下:

文章插图
仅仅获取了"No1"数据并绘制如下图所示图形:

文章插图
5.Groupby操作Pandas具有灵活分组功能,工作方式类似于SQL中分组和Excel透视表,为进行分组,我们添加一组索引对应季度表,代码如下:

文章插图
输出结果如下所示:

文章插图
三. 时间序列算法-ARIMA
作者本来想通过下面代码导入雅虎财经数据,但是没有成功,最终选择自定义数据进行ARIMA算法实验 。
时间序列是通过曲线拟合和参数估计来建立 数学模型的理论方法,基本步骤如下:
(1).获取被观测系统时间序列数据;
(2).对数据绘图观测是否为平稳时间序列、非平稳d阶差分;
(3).得平稳时间序列,求其自相关系数ACF和偏自相关系数PACF,通过自相关和偏相关图分析,得到最佳阶层p和结束q;
(4).由d、q、p得到ARIMA模型,然后进行检验 。
1.获取数据导入库

文章插图
代码从2001年到2090年共有90组数据,然后按照年份进行时间序列统计(freq='A'年份),输出结果如下所示:

文章插图
绘制图形如下:

文章插图
2.时间序列差分d
ARIMA模型要求是平稳型,如果是非平稳型的时间序列需要先做时间序列的差分,得到一个平稳的时间序列 。如果时间序列做d次差分才能得到一个平稳序列,则可使用ARIMA(p,d,q)模型,其中d表示差分次数 。代码如下:
主要调用df.diff(1)实现一阶差分的效果,此数据一阶和二阶差分的结果类似,均值和方差基本问题,这里的差分d值就取1 。

文章插图
得到的平稳图形如下图所示:

文章插图
3.合适的q和p值
得到一个平稳的时间序列后,需要选择合适的ARIMA模型,即ARIMA模型中的p和q值 。
注意:这里需要调用"pip install statsmodels"安装统计数学分析的包,有时您的版本过低会导致错误(尤其是Anaconda 2.7版本),则需要调用"pip install --upgrade statsmodels"升级包至0.8版本 。
代码如下:

文章插图
输出结果如下所示,主要 调用plot_acf和plot_pacf函数 。

文章插图
四. 时间序列预测分析最后给出选择ARIMA(8,0)模型对未来10年数据进行的代码 。代码如下:

文章插图

文章插图
输出相关ARIMA(8,0)系数和预测的2090-2100年结果如下所示:

文章插图
输出图形如下所示,可以看到后面绿色部分为预测值,根据前面的波动规律近似得到 。

文章插图
推荐阅读
- 黑客界决战紫禁之巅 你盗我8225份数据库 我公布你的真实身份
- Python数据分析,生成随机数据文件
- 淘宝买家订单数据怎么导出来 淘宝买家订单导出到excel
- 天然肉苁蓉的功效
- 淘宝等级为什么会下降 淘宝号周平均点数怎么下降
- 通过淘宝生意参谋可以得到哪些数据 淘宝生意参谋手机版怎么开通
- 淘宝店铺发布宝贝数量
- 数码|UP主“何同学”再上热搜:把3D打印机玩出花了
- 散列 关于哈希函数你应该知道的东西
- MAX、MIN、SMALL、LARGE 全面盘点EXCEL中最大最小值函数
