python时间序列滞后命令_[python] 时间序列分析之ARIMA

1 时间序列与时间序列分析

在生产和科学研究中,对某一个或者一组变量 进行观察测量,将在一系列时刻 所得到的离散数字组成的序列集合,称之为时间序列。

时间序列分析是根据系统观察得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。时间序列分析常用于国民宏观经济控制、市场潜力预测、气象预测、农作物害虫灾害预报等各个方面。

2 时间序列建模基本步骤

获取被观测系统时间序列数据;

对数据绘图,观测是否为平稳时间序列;对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列;

经过第二步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数ACF 和偏自相关系数PACF ,通过对自相关图和偏自相关图的分析,得到最佳的阶层 p 和阶数 q

由以上得到的 ,得到ARIMA模型。然后开始对得到的模型进行模型检验。

3 ARIMA实战解剖

原理大概清楚,实践却还是会有诸多问题。相比较R语言,Python在做时间序列分析的资料相对少很多。下面就通过Python语言详细解析后三个步骤的实现过程。

文中使用到这些基础库: 。 对其调用如下

from __future__ import print_function

import pandas as pd

import numpy as np

from scipy import stats

import matplotlib.pyplot as plt

import statsmodels.api as sm

from statsmodels.graphics.api import qqplot

3.1 获取数据

这里我们使用一个具有周期性的测试数据,进行分析。

数据如下:

dta=[10930,10318,10595,10972,7706,6756,9092,10551,9722,10913,11151,8186,6422,

6337,11649,11652,10310,12043,7937,6476,9662,9570,9981,9331,9449,6773,6304,9355,

10477,10148,10395,11261,8713,7299,10424,10795,11069,11602,11427,9095,7707,10767,

12136,12812,12006,12528,10329,7818,11719,11683,12603,11495,13670,11337,10232,

13261,13230,15535,16837,19598,14823,11622,19391,18177,19994,14723,15694,13248,

9543,12872,13101,15053,12619,13749,10228,9725,14729,12518,14564,15085,14722,

11999,9390,13481,14795,15845,15271,14686,11054,10395]

dta=pd.Series(dta)

dta.index = pd.Index(sm.tsa.datetools.dates_from_range('2001&

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值