首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TPAMI 2025 | TEFN: 基于证据理论的时间序列预测网络

TPAMI 2025 | TEFN: 基于证据理论的时间序列预测网络

作者头像
时空探索之旅
发布2025-10-11 13:44:44
发布2025-10-11 13:44:44
2100
代码可运行
举报
文章被收录于专栏:时空探索之旅时空探索之旅
运行总次数:0
代码可运行

论文标题:Time Evidence Fusion Network: Multi-source View in Long-Term Time Series Forecasting

作者:Tianxiang Zhan, Yuanpeng He, Yong Deng, Zhen Li, Wenjie Du, Qingsong Wen

机构:电子科技大学, 北京大学, 中国移动, PyPOTS Research, Squirrel Ai Learning

论文发表:IEEE Transactions on Pattern Analysis and Machine Intelligence(TPAMI)

arXiv链接https://arxiv.org/abs/2405.06419

IEEE链接https://ieeexplore.ieee.org/document/11120455

代码https://github.com/ztxtech/Time-Evidence-Fusion-Network

TL; DR:TEFN 是一种基于证据理论的新型时间序列预测模型,它将时间维度和通道维度视为不同的信息源,通过基本概率分配(BPA)模块捕捉多变量时间序列数据的不确定性,并采用新颖的多源信息融合方法,实现了与最先进方法相当的性能,同时保持了显著更低的复杂性和训练时间。TEFN现已集成到开源时序建模工具箱PyPOTS (https://pypots.com ,覆盖50+深度学习算法和170+开源时序数据集) 中,支持开箱即用,并利用PyPOTS框架将TEFN的backbone拓展到其他分析任务 (如插补),我们在本文章结尾提供了PyPOTS中的TEFN在预测和插补任务上的使用示例。

关键词:时间序列预测,证据理论,信息融合,神经网络,长期预测

点击文末阅读原文跳转本文arXiv链接

摘要

时间证据融合网络(TEFN)从信息融合的角度提出了一种新颖的主干架构。具体而言,TEFN 引入了基于证据理论的基本概率分配(BPA)模块,从通道和时间维度捕捉多变量时间序列数据的不确定性。此外,开发了一种新颖的多源信息融合方法,有效整合了来自 BPA 输出的两个不同维度,从而提高了预测准确性。最后,通过实验证明,TEFN 实现了与最先进方法相当的性能,同时保持了显著更低的复杂性和减少的训练时间。

信息融合

主要工作和创新点

  1. 基于证据理论的主干网络:设计了一种新颖的 BPA 模块,用于从简单数据结构中提取潜在分布。
  2. 多源信息融合视角:将多变量时间序列的时间维度和通道维度视为不同的信息源,分别进行处理和融合。
  3. 轻量级高效模型:TEFN 在保持高预测准确性的同时,显著降低了模型复杂度和训练时间。
  4. 高鲁棒性和可解释性:由于 BPA 模块基于模糊理论,TEFN 具有较高的可解释性,同时在超参数选择时表现出较小的误差波动。

证据理论的应用优势

时间序列数据具有固有的不确定性和模糊性,传统的概率方法难以直接表达这种不确定性。证据理论(也称为 Dempster-Shafer 理论)提供了一个比传统概率理论更灵活的框架,它使用质量函数(mass function)而非概率分布来表示不确定性。这种方法能够更好地处理不完整和不确定的信息。

证据理论基于辨识框架(Frame of Discernment, FOD),它包含了所有互斥且穷尽的命题集合。对于任意一个命题 ,其质量函数 表示对命题 的信任程度,满足以下条件:

其中 表示空集,代表不可能事件。

在时间序列预测中,不同维度(时间和通道)可能包含不同类型的信息,将它们视为不同的信息源并使用证据理论进行建模,可以更有效地处理这些信息的融合。质量函数允许模型表达"不知道"或"不确定"的状态,这是传统概率方法难以做到的。

证据理论的核心优势在于:

  1. 不确定性表达能力:相比于传统概率,证据理论能够更自然地表达"不确定"或"未知"的状态,这对于处理复杂时间序列中的模糊信息至关重要。例如,对于一个时间序列的未来值,模型可能无法确定它属于某个特定区间,但可以表达对该区间的信任程度。
  2. 信息融合能力:证据理论提供了一套成熟的数学框架来融合来自不同源的信息,这对于处理多变量时间序列非常有用。多个信息源可以通过 Dempster 合成规则进行融合,形成更全面的判断。
  3. 可解释性:基于质量函数的决策过程更加透明,有助于理解模型的决策依据。每个命题的质量值直接反映了模型对该命题的信任程度。

模糊理论与隶属度函数

模糊理论是处理不确定性和模糊性的另一种数学框架,它通过隶属度函数来描述元素属于某个模糊集合的程度。在 TEFN 中,模糊理论与证据理论相结合,用于构建基本概率分配(BPA)模块。

模糊集合与隶属度函数

模糊集合 是由隶属度函数 定义的,该函数将论域 中的每个元素 映射到区间 中的一个值,表示 属于 的程度:

其中:

  • 表示 完全不属于
  • 表示 完全属于
  • 表示 部分属于

常见的隶属度函数包括三角形隶属度函数、梯形隶属度函数和高斯隶属度函数等。在 TEFN 中,使用线性隶属度函数作为 BPA 模块的基础:

其中 和 是可学习的参数。

模糊理论与证据理论的结合

在 TEFN 中,模糊理论与证据理论的结合体现在 BPA 模块的设计中。具体而言,输入数据通过隶属度函数映射到不同模糊集的隶属度,这些隶属度值随后被用作证据理论中的质量函数值。

考虑一个简单的例子,假设辨识框架为 ,对应的幂集为 。对于输入值 ,通过两个三角形隶属度函数 和 计算其对模糊集 和 的隶属度,然后将这些值归一化为质量函数:

其中 表示 同时属于 和 的程度。

需要注意的是,模糊理论仅仅是生成 BPA 的一种方式。在实际应用中,BPA 的构造可以根据具体问题和数据特性采用不同的方法。除了基于模糊理论的线性隶属度函数外,还可以使用各种非线性函数来生成质量函数。

在 TEFN 中,选择线性隶属度函数主要是出于计算效率和模型简洁性的考虑。线性函数不仅计算简单,而且具有良好的可解释性。尽管线性函数在表达复杂非线性关系方面存在局限性,但在时间序列预测任务中,它已经能够有效地捕捉数据中的不确定性信息。

此外,使用线性函数作为 BPA 生成机制使得 TEFN 本质上成为一个线性模型,这在一定程度上限制了其对高度非线性时间序列的建模能力。然而,这也带来了模型稳定性和计算效率的优势。在实际应用中,可以根据数据的特性选择合适的 BPA 生成函数,以在模型复杂度和表达能力之间取得平衡。

这种结合方式使 TEFN 能够同时利用模糊理论处理不确定性的能力和证据理论进行信息融合的优势。

模糊集合与隶属度函数

图中展示了两个模糊集合及其隶属度函数,输入值 通过隶属度函数映射到不同的模糊集,这些映射值随后用于构建质量函数。

DSR(Dempster 合成规则)的局限性

尽管 DSR 是证据理论中经典的融合方法,但 TEFN 选择不使用 DSR,主要原因如下:

DSR 的数学定义

Dempster 合成规则(DSR)用于融合两个独立的证据源 和 ,其数学定义为:

其中归一化因子 定义为:

这里 表示两个证据源之间的冲突程度。

DSR 的局限性分析

  1. 计算复杂性:DSR 的计算复杂度较高,特别是当涉及高维数据时,点对点的质量函数相乘会导致计算成本显著增加。对于包含 个元素的辨识框架,幂集的大小为 ,因此计算复杂度为 。
  2. 精度损失:在高维数据处理中,由于有限精度的限制,DSR 可能导致精度损失。特别是在归一化过程中,当冲突系数 接近 1 时,可能导致数值不稳定。
  3. 对极端分布敏感:DSR 对极端分布(某个元素的质量值接近 1)非常敏感,这可能导致融合结果被单个分布主导,从而失去其他分布的信息。考虑以下经典示例: 假设有两个质量函数 和 ,辨识框架为 : 应用 DSR 进行融合时,首先计算冲突系数 : 然后计算归一化后的结果: 可以看出,尽管两个证据源都对各自支持的命题有很高的置信度(0.99),但由于它们支持完全不同的命题,导致冲突系数 非常接近 1。在归一化后,融合结果完全集中在 命题上,而失去了原始证据源的重要信息。这种现象称为"冲突悖论",表明 DSR 在处理高度冲突的证据时可能产生不合理的结果。

因此,TEFN 采用了基于期望的融合方法,通过直接加总时间 BPA 和通道 BPA 的结果来完成预测,避免了引入额外的融合层,同时保持了计算效率和准确性。这种方法不仅降低了计算复杂度,还提高了模型的稳定性。

BPA 模块与卷积操作的差异

传统的卷积操作是一种信息压缩过程,它通过滤波器提取输入数据的关键特征。而 BPA 模块则是一种信息扩展过程,它将输入数据映射到一个事件空间中的质量分布。

具体而言:

  • 卷积操作:通过加权求和的方式,将局部区域的信息压缩为一个特征值,是一个信息浓缩过程。
  • BPA 模块:将每个输入值映射到多个模糊集的隶属度,从而扩展为一个质量分布,是一个信息发散过程。

卷积与BPA对比

这种区别使得 BPA 能够更好地处理时间序列中的不确定性,因为它考虑了事件空间中所有可能的组合,而不是仅仅关注局部特征。与传统的基于统计或深度学习的方法相比,TEFN 通过证据理论提供了一种全新的建模视角,能够更有效地处理时间序列中的不确定性和模糊性。

模型架构

TEFN 的结构本质上很简单,仅由两个 BPA 模块组成,类似于使用两个卷积核。整体结构如图所示:

TEFN整体结构

TEFN 的主要组成部分包括:

时间归一化和反归一化

为了加速收敛到局部最优并提高训练效率,TEFN 采用了受 Stationary 模型启发的归一化技术。该过程计算时间序列 每个片段的均值 和方差 ,然后进行归一化和反归一化操作。

均值计算公式:

方差计算公式:

归一化操作:

反归一化操作:

时间维度投影

TEFN 使用线性层 project()将维度投影到扩展维度,将长度为 的输入时间序列 转换为长度为 的序列 ,其中 代表预测范围的长度。这个操作可以形式化为:

其中 是权重矩阵, 是偏置项。

基本概率分配模块(BPA)

在 TEFN 中,利用证据理论的原理对时间序列数据中固有的不确定性和模糊性进行建模。根据证据理论,时间序列的每个维度都可以在共同的事件空间中表示为质量函数。通过参数化模糊隶属函数,模型能够捕捉输入时间序列的模糊特征,其中每个维度在事件空间内生成一个质量分布。

BPA 操作可以理解为维度的增加,新维度的大小与幂集相同。这种操作将原始元素在幂集上的不同表示进行扩展。最简单的生成函数是线性函数,可以理解为模糊隶属函数:

其中:

  • 表示时间序列的维度,包括时间维度 和通道维度
  • 和 对应于 内的特定维度
  • 表示事件空间维度的索引
  • 和 是隶属函数的斜率和截距参数

BPA 模块的操作如图所示:

BPA模块操作

需要注意的是,BPA 操作不是矩阵乘法,而是对每个元素使用不同参数进行乘法运算,然后将结果组合成一个新维度。图中对应于不同时间步的值被扩展到事件空间中模糊集隶属函数度量的质量。

期望融合

TEFN 通过期望融合方法整合来自时间和通道维度的质量分布,生成统一的预测。该方法避免了使用 DSR(Dempster-Shafer Rule)的计算复杂性和对极端分布的敏感性。

融合过程定义如下:

在上述公式中,期望融合的完整形式包含参数 与变换后的质量函数 的乘积。但在最终实现中这些参数并没有被简单地设置为 1,而是将 与 的乘积视为一个整体,记为 。这种处理方式具有以下优势:

  1. 统一表示:将权重 和质量函数 合并为一个新的质量函数 ,简化了数学表达,同时保持了模型的表达能力。
  2. 参数学习:通过神经网络的端到端训练, 的影响被隐式地编码在最终的质量函数 中,而不需要显式地维护和优化这些权重参数。
  3. 计算效率:避免了显式的乘法运算,直接使用合并后的质量函数进行求和,提高了计算效率。

最终的归一化预测结果通过加总不同维度的结果获得:

该方法直接将时间 BPA 和通道 BPA 的结果相加,无需复杂的乘法运算,从而提高了计算效率。

实验

数据集

研究中使用了五个代表性和广泛使用的数据集:

  • Electricity:电力消耗数据集
  • ETT(4 个子集):电力变压器温度数据集
  • Exchange:汇率数据集
  • Traffic:交通流量数据集
  • Weather:气象数据集

对比基线模型

与多种模型进行了比较,包括:

  • 基于 Transformer 的模型:iTransformer、Crossformer、FEDformer、ETSformer、Stationary、Autoformer
  • 线性模型:Rlinear、DLinear、LightTS
  • 其他模型:TiDE、TimesNet

实验结果

实验结果表明,TEFN 在多个真实数据集上实现了最先进的性能。

预测误差

长期预测任务可视化

效率分析

TEFN 是一个紧凑的模型,与 Transformer 的参数相比非常轻量。在 Electricity-96 任务中,TEFN 用极少的参数实现了低预测误差,同时具有最短的单样本迭代时间,表现出高效率。

模型效率比较

可解释性分析

TEFN 的可解释性源于其对模糊逻辑和证据流理论的基础依赖,以及其 BPA 和模糊推理过程的透明性。通过分析隶属函数的形状和参数,用户可以清楚地了解模型对数据特征的感知及其对预测的影响。

可解释性

结论

TEFN 是一种用于长期时间序列预测的新方法,特别适用于处理大型数据集。通过将不同通道和时间点视为不同的信息源,使用证据理论构建基本概率分配并丢弃不相关信息,实现了显著的计算负担减少,使 TEFN 能够在可接受的时间范围内高效地处理和预测。该模型的参数效率、鲁棒性和可解释性使其成为处理大型复杂数据集的时间序列预测任务的有价值工具。

PyPOTS 中的 TEFN 使用示例

TEFN 模型已经集成到 PyPOTS(Python toolbox for data mining on Partially-Observed Time Series)库中,支持插值(imputation)和预测(forecasting)两个任务。以下是使用 PyPOTS 库中 TEFN 模型的代码示例:

安装 PyPOTS

首先,需要安装 PyPOTS 库:

代码语言:javascript
代码运行次数:0
运行
复制
# via pip
pip install pypots            # the first time installation
pip install pypots --upgrade  # update pypots to the latest version
# install from the latest source code with the latest features but may be not officially released yet
pip install https://github.com/WenjieDu/PyPOTS/archive/main.zip

# via conda
conda install conda-forge::pypots  # the first time installation
conda update  conda-forge::pypots  # update pypots to the latest version

# via docker
docker run -it --name pypots wenjiedu/pypots  # docker will auto pull our built image and run a instance for you
# after things settled, you can run python in the container to access the well-configured environment for running pypots
# if you'd like to detach from the container, press ctrl-P + ctrl-Q
# run `docker attach pypots` to enter the container again.

1. 时间序列插值(Imputation)示例

TEFN 模型可以用于填补时间序列中的缺失值:

代码语言:javascript
代码运行次数:0
运行
复制
import numpy as np
from benchpots.datasets import preprocess_physionet2012
from pygrinder import calc_missing_rate
from pypots.imputation import TEFN
from pypots.nn.functional import calc_mae

# 准备数据集
data = preprocess_physionet2012(subset='set-a', rate=0.1)
train_X, val_X, test_X = data["train_X"], data["val_X"], data["test_X"]
print(f"训练集形状: {train_X.shape}")  # (样本数, 时间步长, 特征数)
print(f"验证集形状: {val_X.shape}")
print(f"测试集形状: {test_X.shape}")
print(f"训练集中缺失值比例: {calc_missing_rate(train_X):.1%}")

# 组织数据集用于 PyPOTS 模型输入
train_set = {"X": train_X}  # 训练集中,只需将不完整的时间序列放入
val_set = {
    "X": val_X,
    "X_ori": data["val_X_ori"],  # 验证集中,需要提供真实值用于评估
}
test_set = {"X": test_X}  # 测试集中,只提供需要插值的不完整时间序列

# 测试集的真实值用于最终评估
test_X_ori = data["test_X_ori"]  # 包含真实值的完整序列
indicating_mask = np.isnan(test_X) ^ np.isnan(test_X_ori)  # 标记测试集中缺失但原始数据中存在的值

# 初始化 TEFN 模型
_, n_steps, n_features = train_X.shape
tefn = TEFN(
    n_steps=n_steps,
    n_features=n_features
)

# 训练模型
tefn.fit(train_set, val_set)

# 对测试集进行插值
evaluation = tefn.impute(test_set)

# 计算插值结果的 MAE 指标
mae = calc_mae(evaluation, np.nan_to_num(test_X_ori), indicating_mask)
print(f"TEFN 插值的 MAE: {mae:.4f}")

2. 时间序列预测(Forecasting)示例

TEFN 模型也可以用于进行时间序列预测:

代码语言:javascript
代码运行次数:0
运行
复制
import benchpots
import pypots
from pypots.forecasting import TEFN
from pypots.nn.functional import calc_mse

# 准备数据集
dataset = benchpots.datasets.preprocess_ett('ETTh1', 0, 96)  # 加载 ETTh1 数据集

# 组织数据集用于 PyPOTS 模型输入
train_set = {"X": dataset["train_X"][:-1, :, :], "X_pred": dataset["train_X"][1:, :, :]}
val_set = {"X": dataset["val_X"][:-1, :, :], "X_pred": dataset["val_X"][1:, :, :]}
test_set = {"X": dataset["test_X"][:-1, :, :], "X_pred": dataset["test_X"][1:, :, :]}

print(f"训练集特征形状: {train_set['X'].shape}")  # (样本数, 输入时间步长, 特征数)

# 获取数据参数
n_steps = train_set['X'].shape[1]  # 输入时间步长
n_features = train_set['X'].shape[2]  # 输入特征数
n_pred_steps = test_set['X'].shape[1]
n_pred_features = test_set['X'].shape[2]

# 初始化 TEFN 预测模型
tefn = TEFN(
    n_steps=n_steps,
    n_features=n_features,
    n_pred_steps=n_pred_steps,
    n_pred_features=n_pred_features,
    optimizer=pypots.optim.adam.Adam(lr=1e-2)
)

# 训练模型
tefn.fit(train_set, val_set)

# 使用模型进行预测
predictions = tefn.forecast(test_set)

# 计算预测的 MSE 指标
mse = calc_mse(predictions, test_set['X_pred'])
print(f"TEFN 预测的 MSE: {mse:.4f}")

通过以上示例,我们可以看到 TEFN 模型在 PyPOTS 库中提供了简洁而强大的接口,支持在插值和预测两个任务上的应用。用户可以根据自己的需求调整模型参数,实现高效的时间序列分析和预测。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 时空探索之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • 主要工作和创新点
  • 证据理论的应用优势
  • 模糊理论与隶属度函数
    • 模糊集合与隶属度函数
    • 模糊理论与证据理论的结合
  • DSR(Dempster 合成规则)的局限性
    • DSR 的数学定义
    • DSR 的局限性分析
  • BPA 模块与卷积操作的差异
  • 模型架构
    • 时间归一化和反归一化
    • 时间维度投影
    • 基本概率分配模块(BPA)
    • 期望融合
  • 实验
    • 数据集
    • 对比基线模型
    • 实验结果
  • 效率分析
  • 可解释性分析
  • 结论
  • PyPOTS 中的 TEFN 使用示例
    • 安装 PyPOTS
    • 1. 时间序列插值(Imputation)示例
    • 2. 时间序列预测(Forecasting)示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档