在时间序列问题上,机器学习被广泛应用于分类和预测问题。当有预测模型来预测未知变量时,在时间充当独立变量和目标因变量的情况下,时间序列预测就出现了。

预测值可以是潜在雇员的工资或银行账户持有人的信用评分。任何正式引入统计数据的数据科学都会遇到置信区间,这是某个模型确定性的衡量标准。

因此,预测一段时间内某些数据的价值需要特定的技术,并且需要多年的发展。

由于每种都有其特殊用途,必须注意为特定应用选择正确的技术。预测人员在技术选择中发挥作用,他们越了解预测可能性的范围,公司的预测工作就越有可能取得成果。

其方法的选择取决于预测的背景、历史数据的相关性和可用性、所需的准确度、预测的时间段、对企业的预测成本以及分析所需的时间。

影响预测的因素

· 增加或减少趋势

· 季节性

· 数据集的大小

时间序列的组成部分与数据本身一样复杂。随着时间的增加,获得的数据也会增加。有时候更多的数据并不意味着更多的信息,但是更大的样本避免了由于随机采样而产生的误差。

因此,对于每个应用程序,使用的技术都会发生变化。

来源:数据科学博客

在本文中,我们列出了最广泛使用的时间序列预测方法,只需一行代码就可以在Python中使用它们:

  1. Autoregression(AR)

AR方法在先前时间步骤中模拟为观察的线性函数。

模型的表示法涉及指定模型p的顺序作为AR函数的参数。

from statsmodel.tsa.ar_model import AR

  1. Autoregressive Moving Average(ARMA)

ARMA方法结合了自回归(AR)模型和移动平均(MA)模型。

from statsmodel.tsa.arima_model import ARMA

  1. Autoregressive Integrated Moving Average(ARIMA)

ARIMA方法结合自回归(AR)和移动平均(MA)模型以及序列的差分预处理步骤以使序列静止,称为积分。

from statsmodel.tsa.arima_model import ARIMA

  1. Seasonal Autoregressive Integrated Moving-Average (SARIMA)

SARIMA方法将序列中的下一步建模为先前时间步骤的差异观测值、误差、差异性季节观测值和季节性误差的线性函数。

它结合了ARIMA模型,能够在季节性水平上执行相同的自回归、差分和移动平均建模。

from statsmodel.tsa.statespace.sarimax import SARIMAX

  1. Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)

SARIMAX是SARIMA模型的扩展,还包括外生变量的建模。

SARIMAX方法还可用于使用外生变量对包含的模型进行建模,例如ARX,MAX,ARMAX和ARIMAX。

from statsmodel.tsa.statespace.sarimax import SARIMAX

  1. Vector Autoregression (VAR)

向量自回归方法使用AR模型。AR是多个并行时间序列的推广。

from statsmodel.tsa.vector_ar.var_model import VAR

  1. Vector Autoregression Moving-Average (VARMA)

这是ARMA对多个并行时间序列的推广,例如,多变量时间序列。

from statsmodel.tsa.statespace.varmax import VARMAX

  1. Vector Autoregression Moving-Average with Exogenous Regressors(VARMAX)

VARMAX是VARMA模型的扩展,它还包括外生变量的建模。它是ARMAX方法的多变量版本。

  1. Holt Winter’s Exponential Smoothing (HWES)

HWES是在先前时间步骤的观测的指数加权线性函数,将考虑趋势和季节性因素。

from statsmodel.tsa.holtwinters import ExponentialSmoothing

只需一行代码!Python中9大时间序列预测模型的更多相关文章

  1. c# 输出excel、word实例只需一行代码

    第一.首先下载 WindICFrameNet.dll 下载地址:http://pan.baidu.com/s/1dDBqC9r 第二.前台代码 <div style="display: ...

  2. 【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。

    Eclipse中导入外部jar包 在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可. 工具/原料 Eclipse 需要 ...

  3. 漂浮广告代码兼容ie、firefox,多个漂浮不冲突,调用只需两行代码

    原文:漂浮广告代码兼容ie.firefox,多个漂浮不冲突,调用只需两行代码 将广告内容放在div中,设置一个id,然后用下面方法调用var adcls=new AdMove("div的id ...

  4. Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码

    *注意:全文代码可左右滑动观看 在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的. 一般发邮件 ...

  5. Python制作动态二维码只需要一行代码!炒鸡简单!

    分享一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. 用法比较简单,直接通过pip安装即可. pip3 install myq ...

  6. Python中两大神器&exec() &eval()

    一.神器1 -- 内置函数eval eval是python中的内置函数,它的作用是将字符串变为所对应的表达式,也相当于一个功能代码加双引号变为字符串,而eval又将字符串转为相应的功能,它在使用过程中 ...

  7. 利用ImageAI库只需几行python代码超简实现目标检测

    目录 什么是目标检测 目标检测算法 Two Stages One Stage python实现 依赖 安装 使用 附录 什么是目标检测 目标检测关注图像中特定的物体目标,需要同时解决解决定位(loca ...

  8. 一行代码为UITextField添加收键盘功能

    iOS开发中收键盘是十分常用的功能,只需一行代码即可为ViewController添加工具条收键盘功能 更重要的是使用catogory,无代码污染. 代码 // UITextField+keyboar ...

  9. 「Python实用秘技08」一行代码解析地址信息

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第8期 ...

随机推荐

  1. 笔记:Java虚拟机运行时数据区

    Java虚拟机在执行Java程序的过程中会把它管的内存划分为以下若干个不同的区域: 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器:由于Java虚拟机的 ...

  2. CODING 敏捷实践完全指南

    你好,欢迎使用 CODING! 这份最佳实践将帮助你掌握 CODING 敏捷管理工具,更好地实践敏捷开发流程. 更多实践案例持续更新中 什么是敏捷研发 敏捷研发是涉及整个软件工程的理念与实践,它的核心 ...

  3. Android8.0通知

    android里面经常会使用Notification来显示通知的消息,一般使用NotificationManager来创建通知消息 NotificationManager manger = (Noti ...

  4. android 请求接口报错 org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.90:9090 refused

    No Network Security Config specified, using platform defaultI/System.out: org.apache.http.conn.HttpH ...

  5. Python之路【第六篇】:Python迭代器、生成器、面向过程编程

    阅读目录 一.迭代器 1.迭代的概念 #迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 代码如下: while True: ...

  6. CASE 表达式

    通过本篇文章我们来学习一下CASE表达式的基本使用方法. CASE表达式有简单 CASE表达式(simple case expression)和搜索 CASE表达式(searched caseexpr ...

  7. SQL 高效运行注意事项(一)

    设计SQL后,应使用explain命令检查SQL,看是否使用到索引,是否存在filesort,重点检查检索的行数(rows)是否太大. 一般来说. 1.rows<1000,是在可接受的范围内的. ...

  8. IO_ADDRESS()的实现【转】

    上面我们说了如何去在系统中自己实现一个设置系统寄存器的一个方法,上面归根到底要进行物理地址到虚拟地址的映射 现在我们就说说IO_ADDRESS()的实现 #define __REG32ALI(addr ...

  9. Web Deploy配置及其使用VS进行Web部署

    前言: 因为公司一直比较保守所以一直都使用的是window 2008 R2版本的服务器,所以今天要讲的是在Window 2008 R2下如何配置Web Deploy. Web Deploy介绍: We ...

  10. vue.js window.removeEventListener 移除

    vue项目中的小坑记录下,想要移除window的addEventListener,需要把后面的function挂在到this上,removeEventListener 和 addEventListen ...