数学建模【时间序列】

一、时间序列简介

时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来,本篇将主要介绍时间序列分析中常用的三种模型:季节分解、指数平滑方法和ARIMA模型。还是推荐使用SPSS软件操作。

在 数学建模【多元线性回归】 中我们提到过时间序列,这里再来复习一下。

时间序列数据:对同一对象在不同时间连续观察所取得的数据

  • 从出生到现在,你的体重的数据(每年生日称一次)
  • 中国历年来GDP的数据
  • 在某地方每隔一小时测得的温度数据

时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。

时间序列由两个组成要素构成:

  • 第一个要素是时间要素:年、季度、月、周、日、小时、分钟、秒
  • 第二个要素是数值要素

时间序列根据时间和数值性质的不同,可以分为时期时间序列和时点时间序列。

时期序列中,数值要素反映现象在一-定时期内发展的结果;时点序列中,数值要素反映现象在一定时点上的瞬间水平。

例如:

  1. 从出生到现在,你的体重的数据(每年生日称一次)
  2. 中国历年来GDP的数据
  3. 在某地方每隔一小时测得的温度数据

1和3是时点时间序列;2是时期时间序列。

时期序列可加,时点序列不可加。时期序列中的观测值反映现象在一段时期内发展过程的总量,不同时期的观测值可以相加,相加结果表明现象在更长一段时间内的活动总量;而时点序列中的观测值反映现象在某一瞬间上所达到的水平,不同时期的观测值不能相加,相加结果没有实际意义。

二、适用赛题

一些以时间线为中心的单个对象的预测问题。

三、模型流程

四、流程分析

注:时间序列涉及原理十分复杂,需要深厚的数理统计功底,本篇只做浅显的提及,连模型的具体操作都不做讲解,推荐使用SPSS操作。

1.做时间序列图

时间序列图就是根据时间线画出一个我们关心的值的变化线。如下图

                                                                                                                          图片来自:百度指数

这就是一个搜索次数关于时间线的变化线。

2.判断变动成分

做出图后,要对图进行分析。

因为时间序列是某个指标数值长期变化的数值表现,所以时间序列数值变化背后必然蕴含着数值变换的规律性,这些规律性就是时间序列分析的切入点。

一般情况下,时间序列的数值变化规律有以下四种:

  • 长期变动趋势
  • 季节变动规律
  • 周期变动规律
  • 不规则变动(随机扰动项)

长期趋势:T

长期趋势(Secular trend,T)指的是统计指标在相当长的一段时间内,受到长期趋势影响因素的影响,表现出持续.上升或持续下降的趋势,通常用字母T表示。例如,随着国家经济的发展,人均收入将逐渐提升;随着医学水平的提高,新生儿死亡率在不断下降。

季节趋势:S

季节趋势(Seasonal Variation,S)是指由于季节的转变使得指标数值发生周期性变动。这里的季节是广义的,一般以月、季、周为时间单位,不能以年作单位。例如雪糕和棉衣的销量都会随着季节气温的变化而周期变化;每年的长假(五一、十一、春节)都会引起出行人数的大量增加。

循环变动:C

循环变动(Cyclical Variation,C)与季节变动的周期不同,循环变动通常以若干年为周期,在曲线图上表现为波浪式的周期变动。这种周期变动的特征表现为增加和减少交替出现,但是并不具严格规则的周期性连续变动。最典型的周期案例就是市场经济的商业周期和的整个国家的经济周期。

不规则变动:I

不规则变动(Irregular Variation,I) 是由某些随机因素导致的数值变化,这些因素的作用是不可预知和没有规律性的,可以视为由于众多偶然因素对时间序列造成的影响(在回归中又被称为扰动项)。

以上四种变动就是时间序列数值变化的分解结果。有时这些变动会同时出现在一个时间序列里面,有时也可能只出现一种或几种,这是由引起各种变动的影响因素决定的。正是由于变动组合的不确定性,时间序列的数值变化才那么千变万化。

四种变动与指标数值最终变动的关系可能是叠加关系,也可能是乘积关系。

如果四种变动之间是相互独立的关系,那么叠加模型可以表示为:

Y = T + S + C + I

如果四种变动之间存在相互影响关系,那么应该使用乘积模型:

Y = T × S × C × I

Y:指标数值的最终变动;T:长期趋势变动;S:季节变动;C:循环变动;I:不规则变动

注意事项:

  • 数据具有年内的周期性时才能使用时间序列分解,例如数据是月份数据(周期为12)、季度数据(周期为4),如果是年份数据则不行
  • 在具体的时间序列图上,如果随着时间的推移,序列的季节波动变得越来越大,则反映各种变动之间的关系发生变化,建议使用乘积模型;反之,如果时间序列图的波动保持恒定,则可以直接使用叠加模型;当然,如果不存在季节波动,则两种分解均可以

从注意事项可知,做出时间序列图后判断,如果满足条件就选择时间序列分解模型。

下面进入难理解部分(可以不做具体了解)

3.指数平滑模型

下文来自SPSS官方文档

模型类型。指数平滑法模型分为季节性模型和非季节性模型。季节性模型只有在为活动数据集定义了周期时才可用 (请参见下文的“当前周期性") 。

  • 简单(Simple)。此模型适用于没有趋势或季节性的序列。其唯一的平滑参数是水平。简单指数平滑法与ARIMA模型极为相似,包含零阶自回归、一阶差分、一阶移动平均值,并且没有常数
  • Holt线性趋势(Holt's linear trend)。该模型适用于具有线性趋势并没有季节性的序列。其平滑参数是水平和趋势,不受相互之间的值的约束。Holt模型比Brown模型更通用,但在计算大序列时要花的时间更长。Holt指数平滑法与ARIMA模型极为相似,包含零阶自回归、二阶差分以及二阶移动平均值
  • Brown线性趋势(Brown's linear trend)。该模型适用于具有线性趋势并没有季节性的序列。其平滑参数是水平和趋势,并假定二者等同。因此,Brown 模型是Holt模型的特例。Brown指数平滑法与具有零阶自回归、二阶差分和二阶移动平均值的ARIMA模型极为相似,且移动平均值第二阶的系数等于第一阶的系数二分之一的平方
  • 阻尼趋势(Damped trend)。此模型适用于具有线性趋势的序列,且该线性趋势正逐渐消失并且没有季节性。其平滑参数是水平、趋势和阻尼趋势。阻尼指数平滑法与具有一阶自回归、一阶差分和二阶移动平均值的ARIMA模型极为相似
  • 简单季节性(Simple seasonal)。此模型适用于没有趋势并且季节性影响随时间变动保持恒定的序列。其平滑参数是水平和季节。简单季节性指数平滑法与ARIMA模型极为相似,包含零阶自回归、一阶差分、一阶季节性差分和一阶、p阶和p+1阶移动平均值,其中p是季节性区间中的周期数(对于月数据,p=12)
  • Winters可加性(Winters' additive)。此模型适用于具有线性趋势和不依赖于序列水平的季节性效应的序列。其平滑参数是水平、趋势和季节。Winters可加的指数平滑法与ARIMA模型极为相似,包含零阶自回归、一阶差分、一阶季节性差分和p+1阶移动平均值,其中p是季节性区间中的周期数(对于月数据,p=12)
  • Winters相乘性(Winters' multiplicative)。此模型适用于具有线性趋势和依赖于序列水平的季节性效应的序列。其平滑参数是水平、趋势和季节。Winters的可乘指数平滑法与任何ARIMA模型都不相似

至于具体的各个模型,有兴趣的同学可以到官网查询学习。

4.ARIMA模型

ARIMA属于一元时间序列分析的模型。要学习ARIMA还需要有前提知识,下面给出一个学习路线,要完全弄懂还需要大家自己努力。

路线

  1. 平稳时间序列和白噪声序列
  2. 差分方程和滞后算子
  3. AR模型
  4. MA模型
  5. ARMA模型
  6. ACF和PACF
  7. ARMA模型的估计
  8. AIC和BIC准则
  9. ARIMA模型
  10. SARIMA模型

本篇并未介绍过多应用性的东西,主要是对时间序列的学习路线做了一些指明。因为时间需要的专业知识较多,有兴趣的同学可以自己去学习。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键部署Tesseract-OCR环境C++版本(Windows)

环境:Windows 10 工具:git vcpkg vscode cmake 库:Tesseract 一键部署Tesseract-OCR环境C版本(Windows) 分享这篇文章的原因很简单,就是为了让后续的朋友少走弯路。自己在搜索相关C版本的tesseract部署时…

Vue class和style绑定:动态美化你的组件

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

wps由于找不到krpt.dll,无法继续执行代码的解决方法

遇到由于找不到krpt.dll,无法继续执行代码的问题时,理解如何修复这个问题变得至关重要。本文会教大家krpt.dll的恢复流程,并介绍该DLL文件的相关属性。我们将一步步指导你如何处理缺失文件的情况,让你能够解决阻碍代码正常运行的障碍&#xf…

round四舍五入在python2与python3版本间区别

round()方法返回数值的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: round( x ,n) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一个数值,表示小数点后保留多少位 返回值 该方法返回 数值x 的小数点四舍五入到n个数字 …

部署LVS负载均衡集群架构

目录 一、ipvsadm 工具 二、NAT模式下部署LVS负载均衡 1、部署NFS共享存储服务器 1.1 安装NFS软件 1.2 新建共享目录和站点文件 1.3 设置共享策略 2、部署节点服务器1 2.1 安装并启动nginx软件 2.2 挂载共享目录到网页站点目录 2.3 修改网关 3、部署节点服务器2 3.…

ubuntu 20.04 安装 huggingface transformers 环境

1. 安装 cuda 大多数新发布的大语言模型使用了较新的 PyTorch v2.0 版本,Pytorch 官方认为 CUDA 最低版本是 11.8 以及匹配的 GPU 驱动版本。详情见Pytorch官方 如下图: 1.1 下载 cuda cuda 12.1 官方网站: 下载: $wget htt…

17-任务状态

任务状态 实时操作系统的核心就是高效的管理各个任务与任务之间的通信。 任务状态通常分为以下四种: 就绪(Ready) 运行(Running) 阻塞(Blocked) 挂起态(Suspended) 阻塞:如果当…

【JavaScript】JavaScript 变量 ① ( JavaScript 变量概念 | 变量声明 | 变量类型 | 变量初始化 | ES6 简介 )

文章目录 一、JavaScript 变量1、变量概念2、变量声明3、ES6 简介4、变量类型5、变量初始化 二、JavaScript 变量示例1、代码示例2、展示效果 一、JavaScript 变量 1、变量概念 JavaScript 变量 是用于 存储数据 的 容器 , 通过 变量名称 , 可以 获取 / 修改 变量 中的数据 ; …

【SpringCloud】微服务重点解析

微服务重点解析 1. Spring Cloud 组件有哪些? 2. 服务注册和发现是什么意思?Spring Cloud 如何实现服务注册和发现的? 如果写过微服务项目,可以说做过的哪个微服务项目,使用了哪个注册中心,常见的有 eurek…

计算机网络(基础篇)复习笔记——体系结构/协议基础(持续更新中......)

目录 1 计算机网络基础相关技术Rip 路由更新操作 2 体系结构(OSI 7层, TCP/IP4层)应用层运输层网络层IPv4无分类域间路由选择 CIDRIPV6 数据链路层循环冗余校验CRC协议设备 物理层传输媒体信道复用技术宽带接入技术数据通信 3 网络局域网(以太网Ethernet) 4 通信过程编码:信道极…

【c++】string模拟实现

string类的接口 namespace zjw {class string{public:typedef char* iterator;typedef const char* const_iterator;private:char* _str;int _size;int _capacity;};这里的迭代器直接使用原生指针来封装。 _str为指向string数组的首地址的指针。 _size为string数组的大小。 …

Python实例☞组织结构案例

实例一&#xff1a; ❶要求☞ 使用while循环模拟用户登录 ❷程序代码☞ i1 while i<4: nameinput("请输入您的姓名&#xff1a;") passwardinput("请输入你的密码&#xff1a;") if name"鯨殤" and passward"88888": print(&quo…