一、时间序列定义
时间序列(Time Series)是指一个变量在不同时间点上的取值序列,表示该变量随时间变化的状态。时间序列可以用公式表示为:
其中,表示时间,
是在时间
上的观测值。从表达式可以发现,时间序列是一组按时间顺序排列的数值数据点的集合,每个数据点由一个时间戳和对应的观测值构成。时间序列的关键特点在于数据点之间的时间间隔通常是固定的,且数据点的顺序至关重要。
二、时间序列要素
- 时间索引(Time Index):每个数据点都有一个对应的时间戳(如日期、时间),这使得数据点之间有明确的时间顺序。
- 等间隔数据点(Equidistant Data Points):时间序列中的数据点通常是在等间隔的时间点上收集的,例如每天、每小时、每分钟等。
- 趋势(Trend):时间序列中长期的上升或下降趋势。
- 季节性(Seasonality):在固定的时间周期内(如一年、一周)数据会重复出现的模式。
- 周期性(Cycles):在非固定的时间间隔内数据会重复出现的模式。
- 随机性(Randomness):不可预测的变化或噪声。
三、数据重要性质
在拿到时间序列数据后,首要依次分析的是其平稳性和随机性。时间序列的平稳性体现在样本拟合出的曲线在未来一段时间内仍然能够以现有的形态和趋势发展下去,这对于数据的分析(例如:预测)有着重要意义。而时间序列数据的随机性体现在序列各项之间的相关性,如果所得的数据是纯随机序列,即序列在进行完全无序的随机波动,那么一般将其看作没有信息可提取的数据。在对时间序列数据的平稳性和随机性进行分析之前,首先要了解时间序列的重要统计性质:
- 均值:表示时间序列在各个时刻取值的平均值,其数学表达式如下
- 方差:表示时间序列在各个时刻围绕其均值波动的平均程度,其数学表达式如下
- 自协方差:表示时间序列中任何两个时刻的直接相关性,其数学表达式如下
- 自相关系数:同样表示时间序列中任意两个时刻的直接相关性,其数学表达式如下
1.平稳性
平稳时间序列按照限定条件的严格程度可以分为以下两种类型:
- 严平稳时间序列:指时间序列的所有统计性质不会随着时间的推移而发生变化,即其联合概率分布在任何时间间隔都是相同的。
- 宽平稳时间序列:宽平稳时间序列则认为只要时间序列的低阶距(特别是二阶,即均值和方差)平稳,则该时间序列近似平稳。
在现实生活中,时间序列很难满足严平稳时间序列的要求,因此,一般所讲的平稳时间序列在无特殊说明的情况下都是指宽平稳时间序列。给定的时间序列数据在进行平稳性检验后,我们可以将时间序列分为平稳时间序列和非平稳时间序列。对于非平稳时间序列,传统方法一般需要将其转化为平稳时间序列再进行分析。
2.随机性
对于平稳时间序列(若为非平稳时间序列,则转化为平稳时间序列处理),自协方差函数和自相关系数只依赖于时间间隔,而与起点无关。换句话来说,对于相同的时间间隔,平稳时间序列数据的自协方差函数和自相关系数为一个常数。那么,当该常数为0时,此时间序列的相关性则为0,即序列之间不相关。对于这种时间序列,我们认为其是毫无规律的数据,即随机性时间序列,也称为白噪声序列。
四、经典分析方法
时间序列是一种非常重要的数据类型,通过分析时间序列可以发现数据随时间变化的规律,从而进行预测和决策。时间序列分析包括多种方法和工具,如移动平均、指数平滑、自回归、差分、季节性分解、ARIMA模型等。这些方法可以帮助识别数据中的模式、趋势和季节性成分,从而进行预测和决策。
1.描述性分析 (Descriptive Analysis)
描述性分析是时间序列分析的基础,通过图表和统计量来总结和展示数据的基本特征。
- 图表:常用的图表包括折线图(line plot)、柱状图(bar chart)、散点图(scatter plot)等,用于直观展示数据的变化趋势和分布。
- 统计量:包括均值(mean)、中位数(median)、方差(variance)、标准差(standard deviation)等,用于总结数据的中心趋势和分散程度。
2.平滑 (Smoothing)
平滑方法用于减少时间序列数据中的随机波动,揭示数据的长期趋势和季节性成分。
- 简单移动平均 (Simple Moving Average, SMA):通过计算固定窗口内数据点的平均值来平滑数据。
- 指数平滑 (Exponential Smoothing):通过对过去的数据点赋予指数递减的权重来平滑数据。
3. 分解 (Decomposition)
分解方法将时间序列分解为趋势(Trend)、季节性(Seasonality)和随机(Residual)成分。
- 加法模型 (Additive Model):适用于数据的季节性和趋势成分不随时间变化的情况。
- 乘法模型 (Multiplicative Model):适用于数据的季节性和趋势成分随时间变化的情况。
4. 自回归 (Autoregression, AR)
自回归模型用过去的值来预测当前值,假设时间序列中的当前值与之前的几个值有关。
其中,是模型参数,
是白噪声。
5. 移动平均 (Moving Average, MA)
移动平均模型用过去的误差项来预测当前值。
其中,是模型参数,
是白噪声。
6. 自回归移动平均 (ARMA)
ARMA模型结合了自回归(AR)和移动平均(MA)模型,适用于平稳时间序列。
7. 自回归积分移动平均 (ARIMA)
ARIMA模型适用于非平稳时间序列,通过差分操作将其转化为平稳序列再进行分析。
其中,是滞后算子,
是差分次数。
8. 季节性自回归积分移动平均 (SARIMA)
SARIMA模型在ARIMA模型的基础上增加了对季节性成分的处理。
9. 指数平滑状态空间模型 (Exponential Smoothing State Space Model, ETS)
ETS模型结合了趋势和季节性成分,通过状态空间模型进行平滑和预测。
10. 机器学习和深度学习模型
机器学习和深度学习模型在时间序列分析中提供了强大的工具,能够捕捉复杂的非线性关系和长期依赖。选择合适的模型和方法可以显著提高时间序列预测的准确性和鲁棒性。
- 线性回归 (Linear Regression):线性回归是最简单的机器学习模型之一,通过建立输入特征和输出之间的线性关系来进行预测。对于时间序列数据,输入特征通常是前几个时间步的值。
- 决策树 (Decision Trees):决策树通过递归地将数据分割成更小的子集来建立预测模型,适合处理非线性关系。常用的决策树算法有CART(分类和回归树)。
- 支持向量机 (Support Vector Machines, SVM):SVM是一种用于回归和分类的监督学习模型,通过在高维空间中寻找一个超平面来最大化分类边界或最小化回归误差。对于时间序列数据,通常需要转换成特征向量的形式。
- 长短期记忆网络 (LSTM):LSTM是基于循环神经网络(RNN)的一种深度学习模型,擅长处理和预测时间序列数据。
- 时间卷积网络 (Temporal Convolutional Networks, TCN):TCN通过卷积操作处理时间序列数据,具有较好的平行处理能力。