时间序列

  • 确定性时间序列分析方法
  • 移动平均法
  • 简单移动平均法
  • 加权移动平均法
  • 趋势移动平均法
  • 指数平滑法
  • 一次指数平滑法
  • 二次指数平滑法
  • 三次指数平滑法
  • 差分指数平滑法
  • 一阶差分指数平滑法
  • 二阶差分指数平滑法
  • 具有季节性特点的时间序列的预测
  • 平稳时间序列模型
  • 时间序列的基本概念
  • ARMA模型的构建及预测
  • ARMA模型构建
  • ARMA(p , q)序列的预报
  • 时间序列的Matlab相关工具箱及命令


参考材料:《数学建模算法与应用(第二版)》

将预测对象按照时间顺序排列起来,构成一个所谓的时间序列,从所构成的这一组时间序列过去的变化规律,推断今后的可能性和变化趋势,变化规律,就是时间序列预测法

时间序列是一种回归模型。基于原理:承认事物发展的延续性,充分考虑偶然因素影响而产生的随机性。
时间序列分析法是根据过去的变化趋势预测未来的发展,它的前提是假定事物的过去延续到未来。
缺点:不能反映事物内在联系,不能分析两个因素的相关关系,只适用于短期预测。

确定性时间序列分析方法

一个时间序列往往是以下几类变化形式的叠加或耦合:

  1. 长期趋势变动。
  2. 季节变动。
  3. 循环变动。
  4. 不规律变动。

通常用 Tt 表示长期趋势项, St 表示季节变动项, Ct 表示循环变动趋势项, Rt 表示随机干扰项。
常见的确定性时间序列模型有:

  1. 加法模型
    yt = Tt + St +Ct +Rt
  2. 乘法模型
    yt = Tt * St * Ct * Rt
  3. 混合模型
    yt = Tt * St + Rt,
    yt = St + Tt * Ct * Rt

式中:yt 为观测目标的观测记录,均值 E(Rt) = 0,方差 Var(Rt) 。

下面是一些具体方法:

移动平均法

简单移动平均法

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模


最近 N 期序列值的平均值作为未来各期的预测结果。一般 N 取值范围:5 ≤ N ≤ 200 。 当历史序列的基本趋势变化不大且序列中随机变动成分较多时, N 的取值应较大一些。否则 N 的取值应小一些。在有确定的季节变动周期的资料中,移动平均的项数应取周期长度。选择最佳 N 值的一个有效方法是,比较若干模型的预测误差。预测标准误差最小者为好。

移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。

加权移动平均法

把各期数据等同看待是不尽合理的,应考虑各期数据的重要性,对近期数据给予较大的权重,这就是加权移动平均法的基本思想。

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_差分_02

趋势移动平均法

简单移动平均法和加权移动平均法,在时间序列没有明显的趋势变动时,能够准确反映实际情况。但当时间序列出现直线增加或减少的变动趋势时,用简单移动平均法和加权移动平均法来预测就会出现滞后偏差。因此,需要进行修正,修正的方法是作二次移动平均,利用移动平均滞后偏差的规律来建立直线趋势的预测模型。这就是趋势移动

平均法。

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_03


趋势移动平均法对于同时存在直线趋势与周期波动的序列,是一种既能反映趋势变化,又可以有效地分离出来周期变动的方法。

指数平滑法

一次指数平滑法

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_差分_04


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_matlab_05


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_时间序列_06


加权系数的选择

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_matlab_07


α 值应根据时间序列的具体性质在 0~1 之间选择。具体如何选择一般可遵循下列原则:

①如果时间序列波动不大,比较平稳,则α 应取小一点,如(0.1~0.5)。以减少修正幅度,使预测模型能包含较长时间序列的信息;

②如果时间序列具有迅速且明显的变动倾向,则α 应取大一点,如(0.6~0.8)。使预测模型灵敏度高一些,以便迅速跟上数据的变化。

在实用上,类似移动平均法,多取几个α 值进行试算,看哪个预测误差小,就采用哪个。

初始值的确定
当时间序列的数据较多,比如在 20 个以上时,初始值对以后的预测值影响很少,可选用第一期数据为初始值。如果时间序列的数据较少,在 20个以下时,初始值对以后的预测值影响很大,这时,就必须认真研究如何正确确定初始值。一般以最初几期实际值的平均值作为初始值。

二次指数平滑法

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_时间序列_08

三次指数平滑法

当时间序列的变动表现为二次曲线趋势时,则需要用三次指数平滑法。三次指数平滑是在二次指数平滑的基础上,再进行一次平滑,其计算公式为:

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_时间序列_09

差分指数平滑法

当时间序列的变动具有直线趋势时,用一次指数平滑法会出现滞后偏差,其原因在于数据不满足模型要求。因此,我们也可以从数据变换的角度来考虑改进措施,即在运用指数平滑法以前先对数据作一些技术上的处理,使之能适合于一次指数平滑模型,以后再对输出结果作技术上的返回处理,使之恢复为原变量的形态。差分方法是改变数据变动趋势的简易方法。

一阶差分指数平滑法

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_10


指数平滑值实际上是一种加权平均数。因此把序列中逐期增量的加权平均数(指数平滑值)加上当前值的实际数进行预测,比一次指数平滑法只用变量以往取值的加权平均数作为下一期的预测更合理。从而使预测值始终围绕实际值上下波动,从根本上解决了在有直线增长趋势的情况下,用一次指数平滑法所得出的结果始终落后于实际值的问题。

二阶差分指数平滑法

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_11

具有季节性特点的时间序列的预测

季节可是自然季节,也可以是某种产品的销售季节等。
季节系数法
具体计算步骤略。

平稳时间序列模型

这里的平稳是宽平稳,其特性是序列的统计不随时间的平移而变化,即均值和协方差不随时间的平移而变化

时间序列的基本概念

4个定义:

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_时间序列_12

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_13


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_时间序列_14

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_15

ARMA模型的构建及预测

ARMA时间序列,是一种重要的平稳时间序列,分为三种类型:

  • AR序列,即自回归序列
  • MA序列,即移动平均序列
  • ARMA序列,即自回归移动平均序列

ARMA模型构建

(1)ARMA模型定阶的AIC准则

(2)ARMA模型的参数估计

(3)ARMA模型检验的χ2

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_时间序列_16


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_matlab_17


Matlab中作 Ljung - Box 检验的函数为 lbqtesst

ARMA(p , q)序列的预报

AR§序列的预报

预报差分方程:

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_18

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_19

MA(q)与ARMA(p , q)序列的预报

java LSMT 基于时间建模的多特征的数值预测 建模时间序列_数学建模_20


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_算法_21


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_差分_22


java LSMT 基于时间建模的多特征的数值预测 建模时间序列_matlab_23

时间序列的Matlab相关工具箱及命令

Matlab时间序列的相关命令在系统辨识(System Identification)工具箱、计量经济学(Econometrics)工具箱和金融(Financial)工具箱。
命令等等再补。。。