数学建模学习记录——时间序列
一、基本概念
-
时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。
-
时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来。
-
时间序列数据: 对同一对象在不同时间连续观察所取得的数据。
-
时间序列由两个组成要素构成:
- 第一个要素是时间要素; 年、季度、月、周、日、小时、分钟、秒
- 第二个要素是数值要素。
-
时间序列根据时间和数值性质的不同,可以分为时期时间序列和时点时间序列。 时期序列可加,时点序列不可加。
二、时间序列分解
时间序列的数值变化规律
以上四种变动就是时间序列数值变化的分解结果。有时这些变动会同 时出现在一个时间序列里面,有时也可能只出现一种或几种,这是由引起 各种变动的影响因素决定的。正是由于变动组合的不确定性,时间序列的 数值变化才那么千变万化。 四种变动与指标数值最终变动的关系可能是叠加关系,也可能是乘积关系。
下面以某产品销售预测为例,学习一下如何确定季节成分,并从序列中将季节成分剔除。
Spss处理时间序列中的缺失值
第一件事,就是要确保数据的完整性!!
-
缺失值发生在时间序列的开头或者尾部,可采用直接删除的方法
-
缺失值发生在序列的中间位置,则不能删除(删除后原有的时间序列会错位), 可采用替换缺失值的方法。
-
Spss替换缺失值的五种方法
Spss软件定义时间变量
时间序列图(时序图)
季节性分解
要进行预测,需要将所有的成分分解开,然后才能进行预测,这里先进行季节性分解
结果解读
如果采用乘法分解,那么乘法季节因子的积为1
画出分解后的时序图
三、建立时间序列分析模型
完成分解后,就需要使用具体的模型来进行数据预测 ~
Spss内置专家建模器,会自动选择最合适的模型,使得我们无需深究模型的推导,只需知道模型及其参数所代表的含义即可
指数平滑模型
- Spss官方文档
Simple模型
线性趋势模型(linear trend)
阻尼趋势模型(Damped trend)
霍特趋势和阻尼趋势预测
简单季节性(Simple seasonal)
温特加法模型(Winters’ additive)
温特乘法模型(Winters’ multiplicative)
一元时间序列分析的模型
时间序列的平稳性(stationary series)
差分方程
差分方程的特征方程
滞后算子
AR(p)模型(auto regressive)
注意: 我们讨论的AR(p)模型一定 是平稳的时间序列模型, 如果原数据不平稳也要先转换为平稳的数据才能再进行建模。
- AR(p)模型平稳的条件
- AR(p)模型的重要结论
MA(q)模型(moving average)
只要q是常数,那么MA(q)模型一定是平稳的。
MA模型和AR模型的关系
- 可以将1阶移动平均模型转换为无穷阶的自回归模型,这一性质称为移动平均模型的可逆性;类似的,我们在某些条件下(可逆性条件)也可以将MA(q)模型也转换为无穷阶的自回归过程。
- 一般地,任何经济变量的时间序列都可以自回归过程来描述。但在模型分析的实 践中,为简化估计参数的工作量,我们当然希望模型当中的参数尽可能地少。于是便 有了引进移动平均过程MA(q)的必要。
ARMA(p,q)模型
自回归移动平均模型(Autoregressive Moving Average,ARMA)
,就是设法将自回归过程AR
和移动平均过程MA
结合起来,共同模拟产生既有时间序列样本数据的那个随机过程的模型。ARMA(p,q)
平稳性只和自回归AR(p)
部分有关
ACF自相关系数与PACF偏自相关函数
ARIMA(p,d,q)模型
SARIMA(Seasonal ARIMA)模型
四、Spss时间序列建模思路
- 处理数据的缺失值问题、生成时间变量并画出时间序列图;
- 数据是否为季度数据或者月份数据(至少有两个完整的周期,即两年),如果是的话则要观察图形中是否存在季节性波动。
- 根据时间序列图大致判断数据是否为平稳序列(数据围绕着均值上下波动, 无趋势和季节性)
- 打开Spss,分析‐‐时间序列预测—创建传统模型,看看 Spss专家建模器得出的优的模型类型。
- 如果后的结果是
ARIMA(p,0,q)
模型,那么我们就可以画出时间序列的样本 ACF和PACF图形进行分析;如果得到的是ARIMA(p,1,q)
模型,我们可以先对数据进行 1阶差分后再用ACF和PACF图形分析;如果得到的结果与季节性相关,那么我们可以考虑使用时间序列分解。