数学建模day15-时间序列分析

这篇具有很好参考价值的文章主要介绍了数学建模day15-时间序列分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来,本讲将主要介绍时间序列分析中常用的三种模型:季节分解、指数平滑方法和ARIMA模型,并将结合Spss软件对时间序列数据进行建模。

注:本文源于数学建模学习交流相关公众号观看学习视频后所作

时间序列

时间序列数据:

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

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


时间序列概念

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

时间序列由两个组成要素构成:
(1)第一个要素是时间要素: 年、季度、月、周、日、小时、分钟、秒
(2)第二个要素是数值要素

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

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

区分时期和时点时间序列

例如:
(1)从出生到现在,你的体重的数据(每年生日称一次)。
(2)中国历年来GDP的数据。
(3)在某地方每隔一小时测得的温度数据。
                (1)和(3)是时点时间序列;(2)是时期时间序列

时期序列可加,时点序列不可加。

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


时间序列分解

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

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

一个时间序列往往是以上四类变化形式的叠加。

长期趋势:T

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

季节趋势:S

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

百度指数 (baidu.com)

循环变动:C

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

不规则变动:I

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

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

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

叠加模型和乘积模型

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

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

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

注意: 

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


小例子

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

随着时间变化,搜索美赛数据的季节波动越来越大,那么使用乘积模型会更精确。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

随着时间变化,销售数据的季节波动越来越大,那么使用乘积模型会更精确。

Spss操作

Spss处理时间序列中的缺失值

(1) 缺失值发生在时间序列的开头或者尾部,可采用直接删除的方法。
(2)缺失值发生在序列的中间位置,则不能删除(删除后原有的时间序列会错位),可采用替换缺失值的方法。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

替换缺失值的五种方法

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


Spss定义时间变量

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

时间序列图(时序图)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

季节性分解

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

结果解读

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

画出分解后的时序图

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


 时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

建立时间序列分析模型

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

指数平滑模型(Spss官方文档)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


 

Simlpe模型

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

关于平滑系数𝛼的选取原则:
(1)如果时间序列具有不规则的起伏变化,但长期趋势接近一个稳定常数,α值一般较小(取0.05‐0.02之间)
(2)如果时间序列具有迅速明显的变化倾向,则α应该取较大值(取0.3‐0.5)
(3)如果时间序列变化缓慢,亦应选较小的值(一般在0.1‐0.4之间)实际上,Spss的专家建模如果选择了Simple模型用来估计,那么软件会帮我们自动选取一个适合的平滑系数使得预测误差最小。


简单指数平滑法预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


线性趋势模型(linear trend)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

参考:7.2 Trend methods | Forecasting: Principles and Practice (2nd ed) (otexts.com)


阻尼趋势模型(Damped trend)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


霍特趋势和阻尼趋势预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

7.2 Trend methods | Forecasting: Principles and Practice (2nd ed) (otexts.com)


简单季节性(Simple seasonal)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

7.4 A taxonomy of exponential smoothing methods | Forecasting: Principles and Practice (2nd ed) (otexts.com)


温特加法模型(Winters' additive)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

Forecasting: Principles and Practice (otexts.com)


温特乘法模型(Winters' multiplicative)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

Forecasting: Principles and Practice (otexts.com)


温特加法和乘法预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

Forecasting: Principles and Practice (otexts.com)


一元时间序列分析的模型

        下面的这些概念只介绍一个大概,要完全弄懂还需要大家课后自己努力。如果实在学习这小部分有困难,大家可以选择放弃理论部分,不用细究每一个细节和概念,我们的重心可以放在运用上。

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


时间序列的平稳性(stationary series)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

一些时间序列的图形

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

差分方程

        将某个时间序列变量表示为该变量的滞后项、时间和其他变量的函数,这样的一个函数方程被称为差分方程

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

差分方程的齐次部分:只包含该变量自身和它的滞后项的式子。

差分方程的特征方程

差分方程的齐次部分:只包含该变量自身和它的滞后项的式子。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

这p个解的模长(实根取绝对值,虚根取模)的大小决定了形为ARMA(p,q)模型的{}是否平稳

滞后算子

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


MA模型、AR模型和ARMA(p,q)模型 

AR(p)模型(auto regressive)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

AR(p)模型平稳的条件

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

小例子

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


 

MA(q)模型(moving average)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

MA模型和AR模型的关系

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

MA(q)模型的平稳性

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

只要q是常数,那么MA(q)模型一定是平稳的。


 

ARMA(p,q)模型

        自回归移动平均模型(Autoregressive Moving Average,ARMA),就是设法将自回归过程AR和移动平均过程MA结合起来,共同模拟产生既有时间序列样本数据的那个随机过程的模型。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

ARMA(p,q)模型的平稳性

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


ACF自相关系数

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

PACF偏自相关函数

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

AR(1)模型(系数符号相反)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

Walter Enders《Applied Econometric Time Series Fourth Edition》

MA(1)和AR(2)模型

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

ARMA(1,1)模型和总结表格

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

ARMA模型的识别

        图1和图2上均有两条蓝色的线,其表示假设检验对应的上下临界值,如果自相关系数或偏自相关系数位于这两条线内,则认为它们与0没有显著的差异。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

正确识别ARMA模型的阶数太难了

ARMA模型的估计

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

ARMA模型的极大似然估计:第四章 极大似然估计 - 百度文库 (baidu.com)


模型选择:AIC和BIC准则(选小原则)

        过拟合问题:加入的参数个数越多,模型拟合的效果越好,但这却是以提高模型复杂度为代价的。因此,模型选择要在模型复杂度与模型对数据的解释能力之间寻求最佳平衡。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

AIC和BIC是选小原则,我们要选择使得AIC或BIC最小的模型。
(BIC对于模型的复杂程度的惩罚系数更大,因此BIC往往比AIC选择的模型更简洁)


检验模型是否识别完全

        估计完成时间序列模型后,我们需要对残差进行白噪声检验,如果残差是白噪声,则说明我们选取的模型能完全识别出时间序列数据的规律,即模型可接受;如果残差不是白噪声,则说明还有部分信息没有被模型所识别,我们需要修正模型来识别这一部分的信息。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


 

ARIMA(p,d,q)模型

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

ARIMA(1,1,1)时间序列图

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

x <‐ arima.sim(list(order = c(1,1,1), ar = 0.6, ma=‐0.5), n = 100)

ARIMA(1,2,1)时间序列图

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

x <‐ arima.sim(list(order = c(1,2,1), ar = 0.6, ma=‐0.5), n = 100)


SARIMA(Seasonal ARIMA)模型

        到目前为止,我们只关注非季节性数据和非季节性ARIMA模型。然而,ARIMA模型也能够对广泛的季节数据进行建模。
        季节性ARIMA模型是通过在ARIMA模型中包含额外的季节性项而生成的,其形式如下:

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


Spss时间序列建模的思路

下面的步骤是自己在思考建模的过程,不是写在论文中的:

(1)处理数据的缺失值问题、生成时间变量并画出时间序列图;
(2)数据是否为季度数据或者月份数据(至少有两个完整的周期,即两年),如果是的话则要观察图形中是否存在季节性波动。
(3)根据时间序列图大致判断数据是否为平稳序列(数据围绕着均值上下波动,无趋势和季节性)
(4)打开Spss,分析‐‐时间序列预测—创建传统模型(高版本的Spss可能才有这个功能),看看Spss专家建模器得出的最优的模型类型。
(5)如果最后的结果是ARIMA(p,0,q)模型,那么我们就可以画出时间序列的样本ACF和PACF图形进行分析;如果得到的是ARIMA(p,1,q)模型,我们可以先对数据进行1阶差分后再用ACF和PACF图形分析;如果得到的结果与季节性相关,那么我们可以考虑使用时间序列分解。


例题1:销量数据预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

前期准备工作

下面的步骤是自己在思考建模的过程,不是写在论文中的:

(1)数据为季度数据(有四个周期),从图中看出也有季节性波动,即第二季度的销量较高,第四季度较低;
(2)根据时间序列图可知数据不平稳,有向上的趋势;
(3)Spss的专家建模给出的最合适的模型是温特加法模型;
(4)温特加法模型意味着原时间序列数据含有线性趋势和稳定的季节成分,我们可以使用加法时间序列分解;
(5)利用Spss我们可以对未来两年的销售数据进行预测。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

Spss时间序列建模器

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

默认在所有的指数平滑模型和ARIMA模型中选择合适的模型。

自动检测异常值的方法

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

操作步骤

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

注:
(1)预测值和拟合值是不相同的,预测值是将样本外年份的数据带入模型计算得到的,而拟合值是将样本的年份重新带入模型计算得到的。
(2)这里保留残差的ACF和PACF图形可以帮助我们判断残差是否为白噪声,即该时间序列是否能被模型识别完全。

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

常用的评价指标

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

参数估计值表格

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

白噪声进行残差检验

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

预测的结果和效果图

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


例题2:人口数据预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

预测结果

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

残差的白噪声检验

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

预测效果图形

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


 

例题3:上证指数预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

直接进行专家建模的结果

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

剔除异常值后重新建模

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

预测效果

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析


例题4:GDP增速预测

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

用所有数据进行预测(剔除异常值)

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

出错的原因

课后作业

数学建模day15-时间序列分析,数学建模,数学建模,时间序列分析

结语

没有结语,挺多的今天,好好看好好学ヾ( ̄▽ ̄)Bye~Bye~文章来源地址https://www.toymoban.com/news/detail-803751.html

到了这里,关于数学建模day15-时间序列分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模--时间序列分析

    目录 1.时间序列 2.平稳时间序列 差分方程 滞后因子 时序平稳性  自回归模型AR(P) 滑动平均模型 MA(q) 自回归移动平均模型ARMA(p,q) 3.matlab时序分析 garchset函数 garchfit函数 4.案例分析         时间序列分析是一种数据分析方法,它研究的对象是代表某一现象的一串随时间

    2024年02月12日
    浏览(44)
  • 数学建模-时间序列预测步骤

    目录 数据 第一步:定义时间 第二步:创建传统模型 结果 论文下笔 GG 点击条件,点击 离群值全部勾选 点击统计 点击图 保存 选项   由于我们的数据中不存在缺失值,且为季度数据,则可以作出时间序列图 从图中可以看出,销量数据存在递增趋势并且有很明显的季节性波动

    2024年01月19日
    浏览(55)
  • 数学建模:ARMA时间序列预测

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 时间序列是按时间顺序的一组数字序列 时间序列的特点: 现实的、真实的一组数据,时间序列背后是某一现象的变化规律,时间序列预测就是学习之前的规律来预测后面的值 判断时间序列数据 是否平稳 ,若非平稳需要做 差

    2024年02月11日
    浏览(43)
  • 数学建模——时间序列预测(股价预测)

    完整数据及代码:数学建模+时间序列预测+LSTM+股票数据分析-机器学习文档类资源-CSDN下载          股票数据由代码、简称、时间、开盘价、收盘价、最高价、最低价、前收盘价、成交量、成交金额、PE、市净率、换手率组成,其中,代码、简称、时间不用于建模,PE、市

    2024年02月05日
    浏览(51)
  • 数学建模常用模型(六):时间序列预测

    时间序列预测是数学建模中的一个重要领域,用于预测时间序列数据中未来的趋势和模式。时间序列预测可以帮助我们了解数据的演变规律,做出合理的决策和规划。 这是我自己总结的一些代码和资料(本文中的代码以及参考书籍等),放在github上供大家参考: https://githu

    2024年02月13日
    浏览(42)
  • 数学建模——确定性时间序列分析方法

    目录 介绍 确定性时间序列分析方法 1、时间序列的常见趋势 (1)长期趋势 (2)季节变动 (3)循环变动 (4)不规则变动 常见的时间序列模型有以下几类 2、时间序列预测的具体方法 2.1 移动平均法 案例1 【符号说明】  【预测模型】 2.2 一次指数平滑预测法 (1)预测模型

    2024年02月05日
    浏览(59)
  • 【数学建模】《实战数学建模:例题与讲解》第十讲-时间序列预测(含Matlab代码)

    本系列侧重于例题实战与讲解,希望能够在例题中理解相应技巧。文章开头相关基础知识只是进行简单回顾,读者可以搭配课本或其他博客了解相应章节,然后进入本文例题实战,效果更佳。 如果这篇文章对你有帮助,欢迎点赞与收藏~ 时间序列预测是一种预测方法,它通过

    2024年02月03日
    浏览(53)
  • 数学建模系列-预测模型(三)时间序列预测模型

    目录 前言 1 时间序列定义 1.1 朴素法 1.2 简单平均法 1.3 移动平均法 1.4 指数平滑法 1.4.1 一次指数平滑  1.4.2 二次指数平滑 1.4.3 三次指数平滑 1.5 AR模型 1.6 MA模型 1.7 ARMA模型 1.8 ARIMA模型 1.9 SARIMA模型         时间序列的目的:进行预测, 根据已有的时间序列数据预测未来

    2024年02月07日
    浏览(50)
  • 数学建模--时间序列预测模型的七种经典算法的Python实现

    目录 1.开篇版权提示 2.时间序列介绍  3.项目数据处理 4.项目数据划分+可视化 5.时间预测序列经典算法1:朴素法 6.时间预测序列经典算法2: 简单平均法 7.时间预测序列经典算法3:移动平均法 8.时间预测序列经典算法4:简单指数法  9.时间预测序列经典算法5:Holt线性趋势法

    2024年02月10日
    浏览(45)
  • 金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包