11 KiB
小论文
1.背景意义这边需要改。
2.卡尔曼滤波这边,Q、R不明确 / 真实若干时刻的测量值可以是真实值;但后面在线预测的时候仍然传的是真实值,事实上无法获取=》 考虑用三次指数平滑,对精确重构出来的矩阵谱分解,得到的特征值作为'真实值',代入指数平滑算法中进行在线更新,执行单步计算。
4.这块有问题,没提高秩性,没说除了ER模型外的移动模型如RWP
特征值精度预估
1. 噪声随机变量与协方差
符号 | 含义 |
---|---|
w_i |
第 i 个过程噪声样本 |
v_j |
第 j 个观测噪声样本 |
Q |
过程噪声的真实方差(协方差矩阵退化) |
R |
观测噪声的真实方差(协方差矩阵退化) |
说明:
在矩阵形式的 Kalman Filter 中,通常写作
w_k\sim\mathcal N(0,Q),\quad v_k\sim\mathcal N(0,R).
这里为做统计检验,把
w_i, v_j
当作样本,Q,R
就是它们在标量情况下的方差。
2. 样本统计量
符号 | 含义 |
---|---|
N_w,\;N_v |
过程噪声样本数和观测噪声样本数 |
\bar w |
过程噪声样本均值 |
\bar v |
观测噪声样本均值 |
s_w^2 |
过程噪声的样本方差估计 |
s_v^2 |
观测噪声的样本方差估计 |
定义:
\bar w = \frac1{N_w}\sum_{i=1}^{N_w}w_i,\quad s_w^2 = \frac1{N_w-1}\sum_{i=1}^{N_w}(w_i-\bar w)^2,
\bar v = \frac1{N_v}\sum_{j=1}^{N_v}v_j,\quad s_v^2 = \frac1{N_v-1}\sum_{j=1}^{N_v}(v_j-\bar v)^2.
3. 方差比的 F
分布区间估计
-
构造
F
统计量F = \frac{(s_w^2/Q)}{(s_v^2/R)} = \frac{s_w^2}{s_v^2}\,\frac{R}{Q} \sim F(N_w-1,\,N_v-1).
-
置信区间(置信度 $1-\alpha$)
查得F_{L}=F_{\alpha/2}(N_w-1,N_v-1),\quad F_{U}=F_{1-\alpha/2}(N_w-1,N_v-1),
则
\begin{align*} P\Big\{F_{\rm L}\le F\le F_{\rm U}\Big\}=1-\alpha \quad\Longrightarrow \quad P\Big\{F_{\rm L}\,\le\frac{s_w^2}{s_v^2}\,\frac{R}{Q}\le F_{\rm U}\,\Big\}=1-\alpha. \end{align*}
-
解出
\frac{R}{Q}
的区间P\Bigl\{\,F_{L}\,\frac{s_v^2}{s_w^2}\le \frac{R}{Q}\le F_{U}\,\frac{s_v^2}{s_w^2}\Bigr\}=1-\alpha.
令
\theta_{\min}=\sqrt{\,F_{L}\,\frac{s_v^2}{s_w^2}\,},\quad \theta_{\max}=\sqrt{\,F_{U}\,\frac{s_v^2}{s_w^2}\,}.
4. 卡尔曼增益与误差上界
在标量情况下(即状态和观测均为1维),卡尔曼增益公式可简化为:
K = \frac{P_k H^T}{HP_k H^T + R} = \frac{HP_k}{H^2 P_k + R}
针对我们研究对象,特征值滤波公式的系数都属于实数域。$P_{k-1}$是由上次迭代产生,因此可以$FP_{k-1}F^T$看作定值,则$P_k$的方差等于$Q$的方差,即:
\text{var}(P_k) = \text{var}(Q)
令 c = H
, $m = 1/H$(满足 $cm = 1$),则:
K = \frac{cP_k}{c^2 P_k + R} = \frac{1}{c + m(R/P_k)} \quad R/P_k\in[\theta_{\min}^2,\theta_{\max}^2].
则极值为
K_{\max}=\frac{1}{c + m\,\theta_{\min}^2},\quad
K_{\min}=\frac{1}{c + m\,\theta_{\max}^2}.
通过历史数据计算预测误差的均值:
E(x_k' - x_k) \approx \frac{1}{M} \sum_{m=1}^{M} (x_k^{l(m)} - x_k^{(m)})\\
定义误差上界
\xi
=\bigl(K_{\max}-K_{\min}\bigr)\;E\bigl(x_k'-x_k\bigr)
=\Bigl(\tfrac1{c+m\,\theta_{\min}^2}-\tfrac1{c+m\,\theta_{\max}^2}\Bigr)
\,E(x_k'-x_k).
若令 $c,m=1$,可写成
\xi
=\frac{(\theta_{\max}-\theta_{\min})\,E(x_k'-x_k)}
{(c^2+\theta_{\min})(c^2+\theta_{\max})}.
量化噪声方差估计的不确定性,进而评估卡尔曼滤波器增益的可能波动,并据此给出滤波误差的上界.
指数平滑法
指数平滑法(Single Exponential Smoothing)
指数平滑法是一种对时间序列进行平滑和短期预测的简单方法。它假设近期的数据比更久之前的数据具有更大权重,并用一个平滑常数 $\alpha$($0<\alpha\leq1$)来控制“记忆”长度。
-
平滑方程:
S_t = \alpha\,x_t + (1-\alpha)\,S_{t-1}
- $x_t$:时刻
t
的实际值 - $S_t$:时刻
t
的平滑值(也可作为对x_{t+1}
的预测) S_1
的初始值一般取x_1
- $x_t$:时刻
-
举例:
假设一产品过去 5 期的销量为 $[100,;105,;102,;108,;110]$,取 $\alpha=0.3$,初始平滑值取 $S_1=x_1=100$:S_2=0.3\times105+0.7\times100=101.5
S_3=0.3\times102+0.7\times101.5=101.65
S_4=0.3\times108+0.7\times101.65\approx103.755
S_5=0.3\times110+0.7\times103.755\approx106.379
因此,对第 6 期销量的预测就是 $S_5\approx106.38$。
二次指数平滑法(Holt’s Linear Method)
当序列存在趋势(Trend)时,单次平滑会落后。二次指数平滑(也称 Holt 线性方法)在单次平滑的基础上,额外对趋势项做平滑。
-
水平和趋势平滑方程:
\begin{cases} L_t = \alpha\,x_t + (1-\alpha)(L_{t-1}+T_{t-1}), \\[6pt] T_t = \beta\,(L_t - L_{t-1}) + (1-\beta)\,T_{t-1}, \end{cases}
- $L_t$:水平(level)
- $T_t$:趋势(trend)
- $\alpha, \beta$:平滑常数,通常 $0.1$–
0.3
-
预测公式:
\hat{x}_{t+m} = L_t + m\,T_t
其中
m
为预测步数。 -
举例:
用同样的数据 $[100,105,102,108,110]$,取 $\alpha=0.3,;\beta=0.2$,初始化:L_1 = x_1 = 100
T_1 = x_2 - x_1 = 5
接下来计算:
-
$t=2$:
L_2=0.3\times105+0.7\times(100+5)=0.3\times105+0.7\times105=105
T_2=0.2\times(105-100)+0.8\times5=0.2\times5+4=5
-
$t=3$:
L_3=0.3\times102+0.7\times(105+5)=0.3\times102+0.7\times110=106.4
T_3=0.2\times(106.4-105)+0.8\times5=0.2\times1.4+4=4.28
-
$t=4$:
L_4=0.3\times108+0.7\times(106.4+4.28)\approx0.3\times108+0.7\times110.68\approx110.276
T_4=0.2\times(110.276-106.4)+0.8\times4.28\approx0.2\times3.876+3.424\approx4.199
-
$t=5$:
L_5=0.3\times110+0.7\times(110.276+4.199)\approx0.3\times110+0.7\times114.475\approx112.133
T_5=0.2\times(112.133-110.276)+0.8\times4.199\approx0.2\times1.857+3.359\approx3.731
预测第 6 期 (
m=1
):\hat{x}_6 = L_5 + 1\times T_5 \approx 112.133 + 3.731 = 115.864
小结
- 单次指数平滑适用于无明显趋势的序列,简单易用。
- 二次指数平滑(Holt 方法)在水平外加趋势成分,适合带线性趋势的数据,并可向未来多步预测。
通过选择合适的平滑参数 \alpha,\beta
并对初值进行合理设定,即可在实践中获得较好的短期预测效果。
三次指数平滑法概述
三次指数平滑法在二次(Holt)方法的基础上又加入了对季节成分的平滑,适用于同时存在趋势(Trend)和季节性(Seasonality)的时间序列。
主要参数及符号
- $m$:季节周期长度(例如季度数据 $m=4$,月度数据 $m=12$)。
- $\alpha, \beta, \gamma$:水平、趋势、季节三项的平滑系数,均在
(0,1]
之间。 - $x_t$:时刻
t
的实际值。 - $L_t$:时刻
t
的水平(level)平滑值。 - $B_t$:时刻
t
的趋势(trend)平滑值。 - $S_t$:时刻
t
的季节(seasonal)成分平滑值。 - $\hat x_{t+h}$:时刻
t+h
的h
步预测值。
平滑与预测公式(加法模型)
\begin{aligned}
L_t &= \alpha\,(x_t - S_{t-m}) + (1-\alpha)\,(L_{t-1}+B_{t-1}),\\
B_t &= \beta\,(L_t - L_{t-1}) + (1-\beta)\,B_{t-1},\\
S_t &= \gamma\,(x_t - L_t) + (1-\gamma)\,S_{t-m},\\
\hat x_{t+h} &= L_t + h\,B_t + S_{t-m+h_m},\quad\text{其中 }h_m=((h-1)\bmod m)+1.
\end{aligned}
- 加法模型 适用于季节波动幅度与水平无关的情况;
- 乘法模型 则把"$x_t - S_{t-m}$"改为"$x_t / S_{t-m}$"、"$S_t$"改为"$\gamma,(x_t/L_t)+(1-\gamma),S_{t-m}$"并在预测中用乘法。
计算示例
假设我们有一个周期为 m=4
的序列,前 8 期观测值:
x = [110,\;130,\;150,\;95,\;120,\;140,\;160,\;100].
取参数 $\alpha=0.5,;\beta=0.3,;\gamma=0.2$。
初始值按常见做法设定为:
-
L_0 = \frac{1}{m}\sum_{i=1}^m x_i = \tfrac{110+130+150+95}{4}=121.25
. -
趋势初值
B_0 = \frac{1}{m^2}\sum_{i=1}^m (x_{m+i}-x_i) = \frac{(120-110)+(140-130)+(160-150)+(100-95)}{4\cdot4} = \frac{35}{16} \approx 2.1875.
-
季节初值 $S_i = x_i - L_0$,即
[-11.25,\;8.75,\;28.75,\;-26.25]
对应 $i=1,2,3,4$。
下面我们演示第 5 期($t=5$)的更新与对第 6 期的预测。
t |
x_t |
计算细节 | 结果 |
---|---|---|---|
已知初值 | |||
0 | – | L_0=121.25,\;B_0=2.1875 |
|
1–4 | – | S_{1\ldots4}=[-11.25,\,8.75,\,28.75,\,-26.25] |
|
5 | 120 | L_5=0.5(120-(-11.25)) +0.5(121.25+2.1875) |
\approx127.3438 |
B_5=0.3(127.3438-121.25)+0.7\cdot2.1875 |
\approx3.3594 |
||
S_5=0.2(120-127.3438)+0.8\cdot(-11.25) |
\approx-10.4688 |
||
预测 h=1 |
– | \hat x_6 = L_5 + 1\cdot B_5 + S_{6-4}\;(=S_2=8.75) |
\approx139.45 |
解读:
- 期 5 时,剔除上周期季节影响后平滑得到新的水平 $L_5$;
- 由水平变化量给出趋势 $B_5$;
- 更新第 5 期的季节因子 $S_5$;
- 期 6 的一步预测综合了最新水平、趋势和对应的季节因子,得 $\hat x_6\approx139.45$。
总结思考
- 如果你把预测值
\hat x_{t+1}
当作"新观测"再去更新状态,然后再预测 $\hat x_{t+2}$,这种"预测—更新—预测"的迭代方式会让模型把自身的预测误差也当作输入,不断放大误差。 - 正确做法是——在时刻
t
得到L_t,B_t,S_t
后,用上面的直接公式一次算出所有未来 $\hat x_{t+1},\hat x_{t+2},\dots$,这样并不会"反馈"误差,也就没有累积放大的问题。
或者,根据精确重构出来的矩阵谱分解,得到的特征值作为'真实值',进行在线更新,执行单步计算。
实时估计 为什么不用AI 能做预测 ,对于完全随机网络没有用 复杂度高 需要数据训练 算力时间
图神经
可以搞多维特征
AI对结构预测不准, 特征
为什么要等随机网络稳定?这里其实是一个假设,稳定下来:RWP 在足够长时间后满足 Birkhoff 点态遍历定理,节点的取样分布趋于稳态,并且对每个时刻都是同分布!!!然后可以应用那个结论。