时间序列预测

news2024/11/13 21:56:51

问题简介

简单来说,时间序列是按照时间顺序,按照一定的时间间隔取得的一系列观测值,比如我们上边提到的国内生产总值,消费者物价指数,利率,汇率,股票价格等等。时间间隔可以是日,周,月,季度,年等。
那么如何进行时间序列分析分析呢?通常来说我们尝试找出序列值在过去所呈现的特征模式,假定这种模式在未来能够持续,进而对未来进行预测。时间序列基本特征包括:趋势性,序列相关性,随机性

基本概念

趋势性是指序列整体上呈现单调性,如平稳、上涨或下跌,先提一句,ARMA模型是平稳的时间序列模型,在建模前必须去除趋势性。
序列相关性是指当期的序列值和前期某个或某些序列值线性相关
随机性是指序列在一定程度上呈现不确定性,由于模型并不能捕捉到现实世界中的所有特征,总会有一些噪声的存在,这些噪声我们称之为白噪声
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常用模型

白噪声序列

在这里插入图片描述
在这里插入图片描述

自回归模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

移动平均模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自回归移动平均模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自回归求和移动平均模型(ARIMA)模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

预测评价指标

ME (误差 ): Mean(Actual Predict)

MAE( 绝对误差 ) : Mean(abs(Actual Predict))

MAPE( 百分比误差 ): Mean(abs(Actual Predict)/Actual)

MSE( 均方误差平方和: Mean((Actual Predict)^2)

RMSE( 标准差): Sqrt(Mean((Actual Predict)^2))

在评价指标的选取上,通常会结合分析的需求以及其他的时间序列模型方法,选择某个评价指标进而选择使该评价指标最小的模型方法。

Box-Jenkins建模流程

在这里插入图片描述
首先进行平稳性的判断,如果该序列是平稳的则直接进入第二步模型的识别,否则需要差分处理。在识别模型后,我们估计模型的参数。参数估计出来后我们要判断该模型的是否合理,主要通过检验残差序列是否为白噪声序列进行白噪声序列是没有相关性的,也就意味着我们的模型已经把相关因素都提取出来了,可以用于后续的预测,否则我们的模型需要调整。最后我么能使用模型进行预测。下面我们具体来看一下每个步骤的细节:
在这里插入图片描述
在这里插入图片描述

单位根检验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:单位根检验分为两种过程:平稳或者不平稳。
单位根检验的过程:先检验带截距和趋势的单位根过程,这时有两个结果。

  1. 检验显示平稳,那么应该搞清楚是什么状态的平稳,这时看时间趋势的检验结果,如果拒接原假设(不带趋势),那么检验结束,时间序列是趋势平稳,如果不拒接原假设,则认为不存在时间趋势,继续进行有截距的单位根检验,和时间趋势的检验相似,如果拒绝原假设(不带截距),可以判断时间序列截距平稳,这时如果不拒绝原假设,这时进行不带趋势和截距的单位根检验,检验结果一般平稳。
  2. 检验显示不平稳,直接进行带截距的单位根检验,如果结果平稳,则判断是什么状态的平稳,如果不平稳继续进行检验, 即不带截距和趋势的单位根检验,根据AIC,BC和SIC最小的个数判断是什么单位根过程。
    ADF python操作
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

深度学习方法

LSTM

循环神经网络

相较于循环神经网络大家应该更熟悉全连接神经网络和卷积神经网络,以及它们的训练和使用。他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列;当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。这时,就需要用到深度学习领域中另一类非常重要神经网络:循环神经网络(Recurrent Neural Network)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LSTM

为什么LSTM优于RNN?

这里就牵扯到梯度消失和爆炸的问题了,上面那个最基础版本的RNN,我们可以看到,每一时刻的隐藏状态都不仅由该时刻的输入决定,还取决于上一时刻的隐藏层的值,如果一个句子很长,到句子末尾时,它将记不住这个句子的开头的内容详细内容。

LSTM通过它的“门控装置”有效的缓解了这个问题,这也就是为什么我们现在都在使用LSTM而非普通RNN。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

优化思路

1.利用优化算法(粒子群、遗传算法…)优化超参数

2.优化误差反向传播过程中的经典随机梯度下降算法(Adam)

多层LSTM(nested two(n)-layer LSTM model)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

双向LSTM(Bi-LSTM)

在这里插入图片描述
在这里插入图片描述
即正向计算时,隐藏层的 s t s_t st s t - 1 s_{t-1} st1 有关;反向计算时,隐藏层的 s t s_t st s t + 1 s_{t+1} st1 有关:
在这里插入图片描述
文末有python例子

随机LSTM(RLSTM)

在这里插入图片描述
参考文献

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字IC设计 Synopsys EDA Tools的安装补充

数字IC Synopsys 七件套的Ubuntu安装步骤 推荐大佬的安装教程,本人亲测可用,在这里表示十分感谢! 数字IC设计的第一步——Synopsys EDA Tools的安装 跟着大佬的教程仔细点可以一步到位的! 在这里备忘本人遇到的几个粗心导致的问…

浅谈Spring IoC容器

目录 1.IoC容器 2.依赖注入 1.IoC容器 IOC: Inversion of Control,是一种设计思想。 在spring框架中,Spring 通过IoC容器进行管理所有Java对象的实例化和初始化,控制对象与对象之间的依赖关系。 IoC管理的对象称为Bean,它与使…

“华为杯”研究生数学建模竞赛2005年-【华为杯】A题:行车时间估计和最优路线选择(附获奖论文)

赛题描述 A: Highway Traveling time Estimate and Optimal Routing Ⅰ Highway traveling time estimate is crucial to travelers. Hence, detectors are mounted on some of the US highways. For instance, detectors are mounted on every two-way six-lane highways o…

MySQL 百万级数据,如何做分页查询?

随着业务的增长,数据库的数据也呈指数级增长,拿订单表为例,之前的订单表每天只有几千个,一个月下来不超过十万。而现在每天的订单大概就是2w,目前订单表的数据已经达到了700w。这带来了各种各样的问题,今天…

国产ETL工具/ETL 产品 (BeeDI ) 集团财务 双向同步 审核平台

项目需求核心 实时同步、双向同步、部分同步、日志解析同步、断点续传 项目需求概要 35分公司财务数据实时同步汇总中心平台 🔛 中心平台财务数据实时同步分发35分公司 项目需求内容 35分公司数据中部分表数据同步到中心库对应表,10张表分公司表年数…

【MyBatis】mybatis缓存机制

1. 缓存基础知识:缓存: cache缓存的作用: 通过减少IO的方式, 来提高程序的执行效率mybatis缓存包括:一级缓存: 讲话查询的数据存储到SqlSession中二级缓存: 将查询的数据存储到SqlSessionFactory中或者集成第三方的缓存: 比如EhCache...mybatis缓存只针对DQL语句, 也就是说缓存…

【1145. 二叉树着色游戏】

来源:力扣(LeetCode) 描述: 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不…

WPF使用AvalonEdit实现代码高亮显示、搜索、替换功能

很多工程软件拥有自己定义的脚本语言,作为程序员用惯了具有高亮显示和智能提示功能的编辑器,所以针对特定的脚本自己开发一个编辑器。主要采用WPF、C#语言以及AvalonEdit控件。 文章目录AvlonEdit控件实现自定义高亮显示实现文本搜索实现文本替换自定义搜…

磁疗效果因“病”而异,坚持=胜利!

磁疗在我国具有悠久的历史早在春秋战国时期,就有神医扁鹊运用磁疗治病的记载。 北京军区总医院理疗科主任,中华生物磁学研究会秘书长周万松认为,关于磁场改善血液循环这一点是肯定的,磁场可以扩张血管、加速血流、改善血液循环。但…

【H5游戏】-整一个简单的解压小游戏【抽纸巾】

专栏简介 💒个人主页 📰专栏目录 点击上方查看更多内容 📖心灵鸡汤📖社会不相信庸俗,成功需要汗水和寂寞铸就。无数次的质疑或是嘲笑,这些都无所谓,记住自己是谁,自己想要什么就…

Django的信号机制解读

Django的信号 Django的信号机制不同于Linux的信号机制,Django 中的信号用于在框架执行操作时解耦。当某些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Django的信号主要包含以下三个要素: 发送者(sender&#xff0…

网络隔离后的文件传输怎么解决?深度解析4种主流方案

网络隔离对于很多企业来说并不陌生,出于数据安全的考虑,为了隔离有害的网络和可能的网络攻击,越来越多的企业在内部进行了网络隔离。隔离的形态和方式有多种,总体上主要以物理隔离和逻辑隔离为主。网络隔离可以一定程度上甚至彻底…

功能测试环境搭建

前言新年好呀大家,大家都复工了吗~小编已经在搬砖中了😶在假期中小编学习了一点功能测试方面知识,打算写篇博客记录下来,希望这篇博客可以帮到需要的朋友。流程图一、测试计划测试计划需要在所有的测试工作之前进行,一…

HTTP协议(2)

1)当我们在浏览器上面输入一个搜狗搜索的网址之后,浏览器就会给搜狗的服务器发送了一个HTTP请求,这样咱们的搜狗的服务器就会返回一个HTTP响应; 2)当这个响应结果被浏览器解析之后,就展示成了我们目前所看到的页面内容&#xff0c…

20230203英语学习

What Is a Dog Anyway? 狗的争议性起源:到底怎么定义“狗” The geographer Jared Diamond has called domestication the worst mistake humans ever made. And yet, the first domestication — the turning of wolves into dogs — was an impressive feat.Hu…

java对象的比较

上一章中关于PriorityQueue的使用要注意: 1. PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出 ClassCastException异常 2. 不能插入null对象,否则会抛出NullPointerException 3. 没有容量限制…

C/C++ 内存泄漏检测

C/C 内存泄漏检测内存泄漏的两个问题使用宏定义覆盖 malloc 和 free 函数使用 hook 钩子最近学习了 C/C 内存泄漏检测的相关知识,写博客记录一下。 内存泄漏的两个问题 是否有内存泄漏?内存泄漏是在代码的哪一行? 检测内存泄漏主要从上面两…

数据库系统概念 | 第十三章:事务管理 | 事务特性(ACID)| 冲突可串行化

文章目录📚事务的概念🐇事务定义🐇事务界定🐇事务特性(ACID)🐇一个简单的事务模型📚存储器结构📚事务的原子性和持久性🐇几种常见的事务状态🐇事务…

MDA260-16-ASEMI整流模块MDA260-16

编辑-Z MDA260-16在MDA封装里采用的2个芯片,是一款单臂共阳极整流模块。MDA260-16的浪涌电流Ifsm为11000A,漏电流(Ir)为15mA,其工作时耐温度范围为-40~150摄氏度。MDA260-16采用GPP硅芯片材质,里面有2颗芯片组成。MDA260-16的电性…

转行大数据开发应该怎么学习

转行进入大数据,首先需要了解的就是大数据是做什么,工作内容,然后就是找个完整的学习路线跟着去学习了,大数据的学习内容也是不少的~ 简单来说,分为6步,大数据开发入门,大数据核心基础&#xf…