ARIMA模型

ARIMA模型的全称是自回归移动平均模型,是用来预测时间序列的一种常用的统计模型,一般记作ARIMA(p,d,q)。

ARIMA的适应情况

ARIMA模型相对来说比较简单易用。在应用ARIMA模型时,要保证以下几点:

时间序列数据是相对稳定的,总体基本不存在一定的上升或者下降趋势,如果不稳定可以通过差分的方式来使其变稳定。

非线性关系处理不好,只能处理线性关系

判断时序数据稳定

基本判断方法:稳定的数据,总体上是没有上升和下降的趋势的,是没有周期性的,方差趋向于一个稳定的值。

ARIMA数学表达

ARIMA(p,d,q),其中p是数据本身的滞后数,是AR模型即自回归模型中的参数。d是时间序列数据需要几次差分才能得到稳定的数据。q是预测误差的滞后数,是MA模型即滑动平均模型中的参数。

a) p参数与AR模型

AR模型描述的是当前值与历史值之间的关系,滞后p阶的AR模型可以表示为:

其中u是常数,et代表误差。

b) q参数与MA模型

MA模型描述的是当前值与自回归部分的误差累计的关系,滞后q阶的MA模型可以表示为:

其中u是常数,et代表误差。

c) d参数与差分

一阶差分:

二阶差分:

d) ARIMA = AR+MA

ARIMA模型使用步骤

获取时间序列数据

观测数据是否为平稳的,否则进行差分,化为平稳的时序数据,确定d

通过观察自相关系数ACF与偏自相关系数PACF确定q和p

得到p,d,q后使用ARIMA(p,d,q)进行训练预测

Python调用ARIMA

#差分处理

diff_series = diff_series.diff(1)#一阶

diff_series2 = diff_series.diff(1)#二阶

#ACF与PACF

#从scipy导入包

from scipy import stats

import statsmodels.api as sm

#画出acf和pacf

sm.graphics.tsa.plot_acf(diff_series)

sm.graphics.tsa.plot_pacf(diff_series)

#arima模型

from statsmodels.tsa.arima_model import ARIMA

model = ARIMA(train_data,order=(p,d,q),freq='')#freq是频率,根据数据填写

arima = model.fit()#训练

print(arima)

pred = arima.predict(start='',end='')#预测

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

python arima模型_Python时间序列处理之ARIMA模型的使用讲解相关推荐

  1. arima 公式_时间序列预测之--ARIMA模型

    什么是 ARIMA模型 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model).也记作ARIM ...

  2. python学习模型_python学习笔记(IO模型)

    1.IO模型介绍: io模型一般有五种: * blocking IO * nonblocking IO * IO multiplexing * signal driven IO * asynchron ...

  3. python编辑程序模型_python并发编程之IO模型

    了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调 ...

  4. python用电预测_Python中利用长短期记忆模型LSTM进行时间序列预测分析-预测电力消耗数据...

    此示例中,神经网络用于使用2011年4月至2013年2月期间的数据预测都柏林市议会公民办公室的能源消耗. 每日数据是通过总计每天提供的15分钟间隔的消耗量来创建的. LSTM简介 LSTM(或长期短期 ...

  5. python用电预测_Python时间序列预测实战(电力负荷预测)

    这是我之前工作做的一个项目 import os import pandas as pd import numpy path = "E:/工作/负荷预测/历史负荷数据-每天" #文件 ...

  6. python数据预测_python时间序列预测股票走势

    提示:这只是个训练模型,技术不具备实际意义,入市需谨慎. 首先调用tushare包 import tushare as ts import pandas as pd import matplotlib ...

  7. python决策评价模型_Python 构建并评价分类模型_Python Classify - 树懒学堂

    构建并评价分类模型 分类是指构造一个分类模型,输入样本的特征值,输出对应的类别,将每个样本映射到预先定义好的类别.分类模型建立在已有类标记的数据集上,属于有监督学习.在实际应用场景中,分类算法被用于行 ...

  8. python 按键精灵_python中用ctypes模拟点击的实例讲解

    在小编学习python中的模拟点击之前,我们想要对某一项操作进行自动指令的重复,可以选择大家熟知的按键精灵.那么对比python的模拟点击,小编还是觉得python中使用更加方便.这样说不能让有些小伙 ...

  9. 时间序列预测任务的模型选择最全总结

    在第一部分,将了解多种时间序列的模型,如 经典的时间序列模型 监督学习模型 基于深度学习的模型 在第二部分,将建立几个时间序列模型来预测股市的应用案例,并了解一些时间序列建模技术.这些模型将相互比较, ...

最新文章

  1. 只要一句话、一段文字,想让奥巴马说啥他就说啥
  2. android zip解压缩
  3. 数字信号处理第一章 离散时间信号与系统
  4. JAVA Swing——框架(JFrame、JDialog)位置居于父窗口中央的解决方案
  5. JAVA传入一个字符串,返回一个字符串中的大写字母
  6. 前魅族李楠创办“怒喵科技”,网友:看半天不知道公司干嘛的
  7. 用互联网模式打造智慧城市的“城市云”
  8. 员工入职是一连串事件(转)
  9. memset初始化值的效率秒杀for循环
  10. OneProxy中间件生产使用经验视频分享
  11. abb机器人goto指令用法_详解ABB机器人编程含中英文指令对照
  12. cc2530单片机是几位单片机_cc2530中单片机的通用I/O接口
  13. window xp共享文件夹
  14. python少儿编程竞赛_家长必读!国内外含金量最高的编程比赛全在这了!
  15. Nuxt.js 如何做SEO优化
  16. Bandwagon Host IP Change修改IP
  17. 支持生僻字且自动识别utf-8编码的php汉字转拼音类,支持生僻字且自动识别utf-8编码的php汉字转拼音类...
  18. Java课程设计:考勤管理系统(附源码+调试)
  19. 删除你的所有计算机文件的英文,删除Download和DataStore文件夹中的所有文件
  20. 连接正常(或者能上QQ)但是上不了网

热门文章

  1. matlab机械手ikine函数,关于Mtalab-robotics工具箱中的fkine和ikine两个函数的问题讨论!...
  2. notepad php源码,GitHub - CharlesKiki/Web-Notepad: 这是一个仿制有道云笔记的原生PHP小玩具。...
  3. ygo游戏王卡组_ACG大科普(7)游戏王
  4. Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
  5. SSL双向认证和SSL单向认证的区别
  6. Angular实现灵活的动态创建组件指令
  7. 「javaScript-每三位插入一个逗号实现方式」
  8. 使用Prometheus监控Cloudflare的全球网络
  9. Linux 指令的分类 (man page 可查看)
  10. js 添加事件 attachEvent 和 addEventListener 的区别