时间序列数据

一、时间序列定义

        时间序列(Time Series)是指一个变量在不同时间点上的取值序列,表示该变量随时间变化的状态。时间序列可以用公式表示为:

$X(t)=\{x_{1},x_{2},x_{3},...,x_{n}\}$

其中,t表示时间,x_i是在时间t_i上的观测值。从表达式可以发现,时间序列是一组按时间顺序排列的数值数据点的集合,每个数据点由一个时间戳和对应的观测值构成。时间序列的关键特点在于数据点之间的时间间隔通常是固定的,且数据点的顺序至关重要。

二、时间序列要素

  1. 时间索引(Time Index):每个数据点都有一个对应的时间戳(如日期、时间),这使得数据点之间有明确的时间顺序。
  2. 等间隔数据点(Equidistant Data Points):时间序列中的数据点通常是在等间隔的时间点上收集的,例如每天、每小时、每分钟等。
  3. 趋势(Trend):时间序列中长期的上升或下降趋势。
  4. 季节性(Seasonality):在固定的时间周期内(如一年、一周)数据会重复出现的模式。
  5. 周期性(Cycles):在非固定的时间间隔内数据会重复出现的模式。
  6. 随机性(Randomness):不可预测的变化或噪声。

三、数据重要性质

        在拿到时间序列数据后,首要依次分析的是其平稳性和随机性。时间序列的平稳性体现在样本拟合出的曲线在未来一段时间内仍然能够以现有的形态和趋势发展下去,这对于数据的分析(例如:预测)有着重要意义。而时间序列数据的随机性体现在序列各项之间的相关性,如果所得的数据是纯随机序列,即序列在进行完全无序的随机波动,那么一般将其看作没有信息可提取的数据。在对时间序列数据的平稳性和随机性进行分析之前,首先要了解时间序列的重要统计性质:

  • 均值:表示时间序列在各个时刻取值的平均值,其数学表达式如下

        $\mu_{\mathrm{t}}=\mathrm{EX_{t}}=\int_{-\infty}^{\infty}\mathrm{xdF_{t}(x)}$

  • 方差:表示时间序列在各个时刻围绕其均值波动的平均程度,其数学表达式如下

        $\sigma_{\mathrm{t}}^{2}=\mathrm{DX_{t}}=\mathrm{E}\left(\mathrm{X_{t}}-\mu_{\mathrm{t}}\right)^{2}=\int_{-\infty}^{\infty}\left(\mathrm{x}-\mu_{\mathrm{t}}\right)^{2}\mathrm{dF_{t}}\left(\mathrm{x}\right)$

  • 自协方差:表示时间序列中任何两个时刻的直接相关性,其数学表达式如下

        $\gamma(\mathrm{t},\mathrm{s})=\mathrm{E}\left[\left(\mathrm{X}_{\mathrm{t}}-\mu_{\mathrm{t}}\right)\left(\mathrm{X}_{\mathrm{s}}-\mu_{\mathrm{s}}\right)\right]$

  • 自相关系数:同样表示时间序列中任意两个时刻的直接相关性,其数学表达式如下

        \mathrm{p(t,s)=\frac{\gamma(t,s)}{\sqrt{DX_t\cdot DX_s}}}

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):通过计算固定窗口内数据点的平均值来平滑数据。

        ${SMA}_t=\frac1n\sum_{i=0}^{n-1}x_{t-i}$

  • 指数平滑 (Exponential Smoothing):通过对过去的数据点赋予指数递减的权重来平滑数据。

        SES_t=\alpha x_t+(1-\alpha)\mathrm{SES}_{t-1}

3. 分解 (Decomposition)

分解方法将时间序列分解为趋势(Trend)、季节性(Seasonality)和随机(Residual)成分。

  • 加法模型 (Additive Model):适用于数据的季节性和趋势成分不随时间变化的情况。

        $x_t=T_t+S_t+R_t$

  • 乘法模型 (Multiplicative Model):适用于数据的季节性和趋势成分随时间变化的情况。

        x_t=T_t\times S_t\times R_t

4. 自回归 (Autoregression, AR)

自回归模型用过去的值来预测当前值,假设时间序列中的当前值与之前的几个值有关。

x_t=\phi_1x_{t-1}+\phi_2x_{t-2}+\cdots+\phi_px_{t-p}+\epsilon_t

其中,\phi_{i}是模型参数,\epsilon_t是白噪声。

5. 移动平均 (Moving Average, MA)

移动平均模型用过去的误差项来预测当前值。

$x_t = \mu + \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \cdots + \theta_q \epsilon_{t-q}$

其中,\theta_{i}是模型参数,$\epsilon_t$是白噪声。

6. 自回归移动平均 (ARMA)

ARMA模型结合了自回归(AR)和移动平均(MA)模型,适用于平稳时间序列。

$x_t = \phi_1 x_{t-1} + \cdots + \phi_p x_{t-p} + \epsilon_t + \theta_1 \epsilon_{t-1} + \cdots + \theta_q \epsilon_{t-q}$

7. 自回归积分移动平均 (ARIMA)

ARIMA模型适用于非平稳时间序列,通过差分操作将其转化为平稳序列再进行分析。

(1-B)^dx_t=\phi(B)\epsilon_t+\theta(B)

其中,B是滞后算子,d 是差分次数。

8. 季节性自回归积分移动平均 (SARIMA)

SARIMA模型在ARIMA模型的基础上增加了对季节性成分的处理。

$(1-B)^{d}(1-B^{s})^{D}x_{t}=\phi(B)\Phi(B^{s})\epsilon_{t}+\theta(B)\Theta(B^{s})$

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通过卷积操作处理时间序列数据,具有较好的平行处理能力。

时间序列数据Transformer是一种基于Transformer架构的模型,专门用于处理时间序列数据。它在处理时间序列数据时,能够捕捉到数据中的时间依赖关系和序列间的关联性。下面是时间序列数据Transformer的一般介绍: 1. 输入表示:时间序列数据Transformer的输入通常是一个二维矩阵,其中每一行表示一个时间步,每一列表示一个特征。这样的输入形式可以包含多个时间序列,每个时间序列可以有不同的特征。 2. 嵌入层:与传统的Transformer类似,时间序列数据Transformer也会使用嵌入层将输入的离散特征转换为连续向量表示。这样可以更好地处理离散特征。 3. 位置编码:为了捕捉时间序列数据中的时间信息,时间序列数据Transformer会引入位置编码。位置编码是一种向量表示,用于表示每个时间步的位置信息,以便模型能够感知到时间上的顺序。 4. 多头自注意力机制:时间序列数据Transformer使用多头自注意力机制来学习输入序列中不同位置之间的依赖关系。通过自注意力机制,模型可以自动地关注到与当前位置相关的其他位置。 5. 编码器层:时间序列数据Transformer通常包含多个编码器层,每个编码器层由多头自注意力机制和前馈神经网络组成。这些编码器层可以帮助模型逐步地提取输入序列中的特征表示。 6. 解码器层(可选):对于一些任务,如时间序列预测,时间序列数据Transformer还可以包含解码器层。解码器层可以根据已有的历史信息来预测未来的时间步。 7. 输出层:最后,时间序列数据Transformer通过一个线性变换和激活函数将编码器层的输出映射到最终的预测结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值