目录
1.背景介绍及应用
- 金融领域:股票价格预测、财务报表分析、货币汇率预测等。
- 商业领域:销售预测、市场需求分析、库存管理等。
- 天气预报:气温预测、降水量预测、风力强度预测等。
- 医疗领域:疾病发病率预测、医疗资源分配等。
- 通信领域:网络流量预测、服务器负载预测等。
2.时间序列核心概念与联系
- 时间序列:时间序列是一组按照时间顺序排列的观测值。这些观测值通常是连续的,或者是离散的。
- 趋势:趋势是时间序列中长期内不变或变化的方向和速度。例如,一个城市的人口数量可能在过去几十年中呈现出增长的趋势。
- 季节性:季节性是时间序列中短期内周期性变化的现象。例如,一个商业企业的销售额可能在每年的四个季度内呈现出波动。
- 残差:残差是时间序列中去除趋势和季节性后的余数。残差通常是随机的,且具有零均值和常数方差。
- 时间序列分析方法:根据不同的分析方法,时间序列分析可以分为以下几类:
- 直接方法:例如移动平均、累积和等。
- 差分方法:例如首差、二差等。
- 指数方法:例如指数移动平均、指数差分等。
- 分析方法:例如趋势分析、季节分析等。
- 预测方法:例如自回归、移动平均、自回归移动平均等。
3.核心算法原理、步骤、数学模型公式详解
3.1直接方法
3.1.1 移动平均
移动平均(Moving Average,MA)是一种常用的时间序列分析方法,它通过计算给定时间范围内观测值的平均值来平滑原始数据。移动平均可以有效减弱数据中的噪声和噪声,从而提高预测准确性。
M A t = ∑ i = − k k y t − i 2 k + 1 MAt = \frac{\sum{i=-k}^{k} y_{t-i}}{2k+1} MAt=2k+1∑i=−kkyt−i
其中,
M
A
t
MAt
MAt 表示时间点
t
t
t 的移动平均值,
y
t
−
i
y{t-i}
yt−i 表示时间点
t
−
i
t-i
t−i 的观测值,
k
k
k 是移动平均窗口的大小。
2
k
+
1
2k+1
2k+1 求和项数量
∑
i
=
−
k
k
y
t
−
i
\sum{i=-k}^{k} y_{t-i}
∑i=−kkyt−i它用于计算从
t
−
k
t−k
t−k 到
t
+
k
t+k
t+k(包括
t
−
k
t−k
t−k 和
t
+
k
t+k
t+k,如果
k
k
k 不是0)的所有 y 值的总和
3.1.2 累计和
累积和(Cumulative Sum,CUSUM)是一种用于检测时间序列中异常变化的方法。它通过计算观测值之间的累积和来找出异常值。
C
U
S
U
M
t
=
∑
i
=
1
t
(
y
i
−
μ
y
)
CUSUMt = \sum{i=1}^{t} (yi - \mu_y)
CUSUMt=∑i=1t(yi−μy)
其中,
C
U
S
U
M
t
CUSUMt
CUSUMt 表示时间点
t
t
t 的累积和,
y
i
yi
yi 表示时间点
i
i
i 的观测值,
μ
y
\mu_y
μy 表示观测值的均值。
3.2 差分方法
3.2.1 首差
首差(First Difference,FD)是一种用于去除时间序列趋势的方法。它通过计算连续观测值之间的差值来去除趋势。
F
D
t
=
y
t
−
y
t
−
1
FDt = yt - y_{t-1}
FDt=yt−yt−1
其中, F D t FDt FDt 表示时间点 t t t 的首差, y t yt yt 表示时间点 t t t 的观测值, y t − 1 y_{t-1} yt−1 表示时间点 t − 1 t-1 t−1 的观测值。
3.2.2 二差
二差(Second Difference,SD)是一种用于去除时间序列季节性的方法。它通过计算连续首差值之间的差值来去除季节性。
S
D
t
=
F
D
t
−
F
D
t
−
1
SDt = FDt - FD_{t-1}
SDt=FDt−FDt−1
其中,
S
D
t
SDt
SDt 表示时间点
t
t
t 的二差,
F
D
t
FDt
FDt 表示时间点
t
t
t 的首差,
F
D
t
−
1
FD_{t-1}
FDt−1 表示时间点
t
−
1
t-1
t−1 的首差。
3.3指数方法
3.3.1 指数移动平均
指数移动平均(Exponential Moving Average,EMA)是一种权重平滑方法,它通过计算给定时间范围内观测值的指数平均值来平滑原始数据。指数移动平均可以有效减弱数据中的噪声和噪声,从而提高预测准确性。
E
M
A
t
=
α
y
t
+
(
1
−
α
)
E
M
A
t
−
1
EMAt = \alpha yt + (1-\alpha) EMA_{t-1}
EMAt=αyt+(1−α)EMAt−1
其中, E M A t EMAt EMAt 表示时间点 t t t 的指数移动平均值, y t yt yt 表示时间点 t t t 的观测值, E M A t − 1 EMA_{t-1} EMAt−1 表示时间点 t − 1 t-1 t−1 的指数移动平均值, α \alpha α 是权重因子,取值范围为 0 ≤ α ≤ 1 0 \leq \alpha \leq 1 0≤α≤1
指数移动平均的计算是递归的,即你需要知道前一个时间点的 EMA 值来计算当前时间点的 EMA 值。然而,对于时间序列的第一个数据点,你通常没有前一个 EMA 值。在这种情况下,有几种方法可以初始化 E M A EMA EMA
- 你可以简单地将 E M A 0 EMA_0 EMA0设置为 y 1 y1 y1(即时间序列的第一个观测值)。
- 你可以使用一个简单的移动平均(如前三个或五个观测值的平均值)来初始化
E
M
A
0
EMA_0
EMA0 。
一旦你有了初始的 E M A 0 EMA_0 EMA0,你就可以使用上述递归公式来计算后续时间点的 EMA 值了。
3.3.2指数差分
指数差分(Exponential Differencing,ED)是一种用于去除时间序列趋势的方法。它通过计算连续观测值之间的指数差值来去除趋势。
E
D
t
=
α
y
t
+
(
1
−
α
)
E
D
t
−
1
−
α
y
t
−
1
EDt = \alpha yt + (1-\alpha) ED_{t-1} - \alpha y_{t-1}
EDt=αyt+(1−α)EDt−1−αyt−1
其中,
E
D
t
EDt
EDt 表示时间点
t
t
t 的指数差分,
y
t
yt
yt 表示时间点
t
t
t 的观测值,
E
D
t
−
1
ED_{t-1}
EDt−1 表示时间点
t
−
1
t-1
t−1 的指数差分,
y
t
−
1
y_{t-1}
yt−1 表示时间点
t
−
1
t-1
t−1 的观测值,
α
\alpha
α 是权重因子,取值范围为
0
≤
α
≤
1
0 \leq \alpha \leq 1
0≤α≤1。
4.时间序列优缺点
优点:
- 能够捕捉到时间序列中的趋势、季节性和残差。
- 能够处理不完整和缺失的时间序列数据。
- 能够处理多变量时间序列数据。
缺点:
- 需要对时间序列进行预处理,如去除噪声和平滑。
- 需要选择合适的预测方法和参数。
- 预测结果可能受到随机因素和未知因素的影响。
5.说明
5.1时间序列分析与其他预测方法的区别在于
- 时间序列分析主要关注时间序列数据的趋势、季节性和残差。
- 其他预测方法,如机器学习和深度学习,主要关注输入特征和输出目标之间的关系。
5.2时间序列分析在实际应用中遇到的主要挑战是:
- 数据质量和完整性:时间序列数据可能存在缺失、错误和异常值等问题。
- 数据复杂性:时间序列数据可能包含多个变量、多种类型和多层次。
- 预测准确性:时间序列预测的准确性受随机因素、未知因素和模型误差等因素的影响。
5.3时间序列分析的准确性如何评估?
- 通过对预测结果和实际观测值的比较来评估预测准确性。
- 使用预测误差(如均方误差、均方根误差等)来衡量预测准确性。
- 使用预测准确性指标(如R²、MAPE等)来评估模型性能。