如何对时间序列预测建模

2024-05-09 20:54

1. 如何对时间序列预测建模

时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。
它一般采用曲线拟合和参数估计方法(如非线性最小二乘法)进行。时间序列分析常用在国民经济宏观控制、区域综合发展规划、经营管理、市场潜量预测、气象预报、水文预报、地震前兆预报、农作物病虫灾害预报、环境污染控制、生态平衡、天文学和海洋学等方面。

(一)根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列都不是平稳序列。
(二)对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。
(三)根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定序列适合AR模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。
(四)进行参数估计,检验是否具有统计意义。
(五)进行假设检验,诊断残差序列是否为白噪声。
(六)利用已通过检验的模型进行预测分析。

如何对时间序列预测建模

2. 时间序列模型参数估计可用什么估计

时间序列分析(Time series analysis)是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。

时间序列是按时间顺序的一组数字序列。时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展。时间序列分析是定量预测方法之一,它的基本原理:一是承认事物发展的延续性。应用过去数据,就能推测事物的发展趋势。二是考虑到事物发展的随机性。任何事物发展都可能受偶然因素影响,为此要利用统计分析中加权平均法对历史数据进行处理。该方法简单易行,便于掌握,但准确性差,一般只适用于短期预测。时间序列预测一般反映三种实际变化规律:趋势变化、周期性变化、随机性变化。
时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。它一般采用曲线拟合和参数估计方法(如非线性最小二乘法)进行。时间序列分析常用在国民经济宏观控制、区域综合发展规划、企业经营管理、市场潜量预测、气象预报、水文预报、地震前兆预报、农作物病虫灾害预报、环境污染控制、生态平衡、天文学和海洋学等方面。

一个时间序列通常由4种要素组成:趋势、季节变动、循环波动和不规则波动。
趋势:是时间序列在长时期内呈现出来的持续向上或持续向下的变动。
季节变动:是时间序列在一年内重复出现的周期性波动。它是诸如气候条件、生产条件、节假日或人们的风俗习惯等各种因素影响的结果。
循环波动:是时间序列呈现出得非固定长度的周期性变动。循环波动的周期可能会持续一段时间,但与趋势不同,它不是朝着单一方向的持续变动,而是涨落相同的交替波动。
不规则波动:是时间序列中除去趋势、季节变动和周期波动之后的随机波动。不规则波动通常总是夹杂在时间序列中,致使时间序列产生一种波浪形或震荡式的变动。只含有随机波动的序列也称为平稳序列。

时间序列建模基本步骤是:
①用观测、调查、统计、抽样等方法取得被观测系统时间序列动态数据。
②根据动态数据作相关图,进行相关分析,求自相关函数。相关图能显示出变化的趋势和周期,并能发现跳点和拐点。跳点是指与其他数据不一致的观测值。如果跳点是正确的观测值,在建模时应考虑进去,如果是反常现象,则应把跳点调整到期望值。拐点则是指时间序列从上升趋势突然变为下降趋势的点。如果存在拐点,则在建模时必须用不同的模型去分段拟合该时间序列,例如采用门限回归模型。
③辨识合适的随机模型,进行曲线拟合,即用通用随机模型去拟合时间序列的观测数据。对于短的或简单的时间序列,可用趋势模型和季节模型加上误差来进行拟合。对于平稳时间序列,可用通用ARMA模型(自回归滑动平均模型)及其特殊情况的自回归模型、滑动平均模型或组合-ARMA模型等来进行拟合。当观测值多于50个时一般都采用ARMA模型。对于非平稳时间序列则要先将观测到的时间序列进行差分运算,化为平稳时间序列,再用适当模型去拟合这个差分序列。

用随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。由于在多数问题中,随机数据是依时间先后排成序列的,故称为时间序列。它包括一般统计分析(如自相关分析、谱分析等),统计模型的建立与推断,以及关于随机序列的最优预测、控制和滤波等内容。经典的统计分析都假定数据序列具有独立性,而时间序列分析则着重研究数据序列的相互依赖关系。后者实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。例如,用x(t)表示某地区第t个月的降雨量,{x(t),t=1,2,…}是一时间序列。对t=1,2,…,T,记录到逐月的降雨量数据x(1),x(2),…,x(T),称为长度为T的样本序列。依此即可使用时间序列分析方法,对未来各月的雨量x(T+l)(l=1,2,…)进行预报。时间序列分析在第二次世界大战前就已应用于经济预测。二次大战中和战后,在军事科学、空间科学和工业自动化等部门的应用更加广泛。
就数学方法而言,平稳随机序列(见平稳过程)的统计分析,在理论上的发展比较成熟,从而构成时间序列分析的基础。

3. 时间序列建模分析

时序数据的特点:
   1.时间序列数据依赖于时间,但不一定是时间的严格函数。
   2.时间序列数据每时刻上的值具有一定的随机性,不可能完全准确地用历史值去预测。
   3.时间序列数据前后时刻(但不一定是相邻时刻)的数值往往具有相关性。
   4.从整体上看,时间序列往往会呈现出某种趋势性或出现周期性变化的现象。
  
 分类:
   按研究对象分类:一元时间序列和多元时间序列。
   按时间参数分类:离散时间序列和连续时间序列。
   按统计特性分类:平稳时间序列和非平稳时间序列。
   按分布规律分类:高斯型时间序列和非高斯型时间序列
  
 1.统计时序分析
   1. 频域分析
   2. 时域分析
  
 2.平稳时间序列检验
   什么是平稳时间序列?这就需要我们从概率统计的角度来定义。一般来讲,平稳时间序列有两种定义,分别是:严平稳时间序列和宽平稳时间序列。其中,严平稳要求序列所有的统计性质都不会随着时间的推移而发生变化。宽平稳则认为只要保证序列 [二阶矩]( https://en.wikipedia.org/wiki/Moment_(mathematics)  平稳,就代表序列稳定。显然,严平稳比宽平稳的条件严格。严平稳是对序列联合分布的要求,以保证序列所有的统计特征都相同。
  
 关于序列平稳性的检验,一般有两种方法,分别是:图检验和假设检验。图检验是根据时序图和自相关图显示的特征作出判断,因其操作简便而运用广泛。简单来讲,如果一张时序图呈现出明显的增长和下降趋势,那么就一定不平稳。
                                          
 3.自相关图
  
 4.纯随机性检验
   怎样判断一个平稳序列是否随机呢?这就会用到纯随机性检验。纯随机性检验的过程中,一般会涉及到两个统计量,分别是:Q 统计量和 LB 统计量(Ljung-Box)。但由于 LB 统计量是 Q 统计量的修正,所以业界通常所称的 Q 统计量也就是 LB 统计量。
  
 Python 中,我们可以利用 statsmodels 统计计算库中的 acorr_ljungbox() 函数计算 LB 统计量,该函数默认会返回 LB 统计量和 LB 统计量的 P 值。如果 LB 统计量的 P 值小于 0.05,我们则认为该序列为非随机序列,否则就为随机序列。
  
 5.ARMA介绍及建模
   ARMA 模型的全称是自回归移动平均模型,它是目前最常用的拟合平稳序列的模型。ARMA 模型一般又可以被细分为 AR 自回归模型,MA 移动平均模型和 ARMA 三类。

时间序列建模分析