← 返回 2026-02-26

函数连续分解:一种用于非平稳时间序列C1连续分解的JAX加速框架 Functional Continuous Decomposition

Teymur Aghayev 📅 2026-02-24 👍 2 2026-07-13 08:35
信号处理 函数拟合 时间序列分析 神经网络加速

提出FCD框架实现C1连续的时间序列参数化分解

前置知识

C1连续性

C1连续性要求函数在边界点不仅函数值相等,而且一阶导数也相等。对于时间序列分解,这意味着相邻分段之间的过渡不仅平滑,而且斜率也连续,这对于物理可解释性和特征提取至关重要。数学上,如果在分段边界x_k处,满足f(x_k^-) = f(x_k^+)且f'(x_k^-) = f'(x_k^+),则称该函数在该处具有C1连续性。

FCD的核心创新正是通过代数方法强制保证C1连续性,这是理解算法如何实现无缝分段拟合的关键

Levenberg-Marquardt优化

Levenberg-Marquardt算法是一种用于非线性最小二乘问题的迭代优化方法,结合了梯度下降法和高斯-牛顿法的优点。它通过引入阻尼因子lambda在梯度下降(大lambda)和高斯-牛顿(小lambda)之间自适应切换,求解系统JT J + (lambda + alpha)I * Delta p = -JT r,其中J是残差关于参数的雅可比矩阵,r是残差向量,Delta p是参数更新量。该方法在参数优化和曲线拟合中非常稳定高效。

FCD使用JAX加速的LM算法进行分段参数优化,理解这一算法有助于理解FCD如何高效拟合复杂的数学函数

经验模态分解EMD

Empirical Mode Decomposition(EMD)是一种用于分解非平稳信号的自适应方法。它通过递归的筛选过程,识别信号的所有局部极大值和极小值,使用三次样条插值构建上包络和下包络,然后减去包络的均值来提取本征模态函数(IMF)。这一过程递归进行直到所有模态被提取出来。EMD能够有效地将信号分解为不同的时间尺度模式,但缺乏解析形式f(t)、连续的导数,且由于递归性质存在误差传播问题。

EMD是FCD要改进的传统方法之一,理解EMD的局限性有助于理解FCD的核心动机和创新点

分段函数拟合

分段函数拟合是将一个复杂信号划分为多个连续的分段,在每个分段内用特定的数学函数来拟合数据。每个分段有自己的参数,但为了保证整体的连续性,分段边界处的参数通常需要满足约束条件。这种方法能够捕捉信号在不同时间段的局部特征,同时保持整体的结构信息。分段的关键在于如何确定分段边界、选择合适的拟合函数、以及如何处理分段间的连续性约束。

FCD的核心思想正是分段函数拟合,理解这一概念有助于理解FCD的算法框架和实现细节

JAX加速

JAX是一个用于数值计算的高性能Python库,支持自动微分和Just-In-Time(JIT)编译。JAX能够将Python函数编译成优化的XLA(Accelerated Linear Algebra)代码,在CPU和GPU上高效执行。通过JIT编译,JAX可以在首次运行时编译函数,后续运行时直接使用编译后的代码,从而显著提升性能。JAX还支持向量化操作和并行计算,非常适合批量处理大规模数值计算任务。

FCD使用JAX加速LM优化和并行模式拟合,理解JAX有助于理解FCD如何实现高效的大规模时间序列分解

研究动机

现有的信号处理技术在处理非平稳时间序列数据时存在显著局限性。B样条和三次样条虽然高效平滑,但缺乏参数可解释性,只能提供平滑的信号拟合而无法解析导数和积分。Savitzky-Golay滤波器是非参数滤波器,在固定长度的滑动窗口上执行局部最小二乘多项式拟合,但受限于静态窗口架构,无法展示连续分解、优化拟合、导数和参数。经验模态分解(EMD)虽然能够有效地分解信号,但缺乏解析形式f(t)、连续导数,且由于递归性质存在误差传播问题。这些传统算法都无法提供具有C1连续性的函数分解,无法满足物理分析和特征提取的需求。在自动驾驶速度分析、EEG信号处理、金融分析等领域,需要同时捕捉信号的局部和全局模式,获得优化的函数值、参数、导数和积分,但现有方法无法同时满足这些需求。

本文的目标是本文的目标是提出一个名为Functional Continuous Decomposition(FCD)的新框架,用于将非平稳时间序列数据分解为M个具有C1连续性的模式。该框架应该能够:(1)使用指定的数学函数对每个分段进行参数化拟合,输出包含优化的拟合、函数导数、积分和参数;(2)通过代数方法固定两个参数来强制保证C0和C1连续性,确保整体连续拟合;(3)支持用户自定义数学函数、初始猜测、分段设置、Levenberg-Marquardt参数和特定的C0、C1导数连续性设置;(4)实现高保真重建和高效率分解,在可接受的计算时间内处理大规模数据集;(5)提供物理可解释的结果,包括优化的函数值、导数和积分,适用于物理分析和特征提取。

与已有工作不同的是,本文的独特切入角度在于将传统的分段函数拟合与现代优化技术相结合,同时保证了函数分解的连续性和物理可解释性。与EMD等非参数方法不同,FCD为每个模式提供了显式的解析形式f(t)和连续的导数,避免了误差传播。与B样条和Savitzky-Golay等平滑算法不同,FCD提供了参数可解释性,能够输出优化的拟合函数、导数、积分和参数。最重要的是,FCD通过代数方法固定两个参数来强制保证C1连续性,这是现有方法无法实现的。这种连续性不仅使得分解结果在视觉上平滑,而且对于物理应用(如速度分析、EEG信号处理)至关重要,因为它保证了信号在边界处的物理一致性。此外,FCD使用JAX加速的Levenberg-Marquardt优化和并行模式拟合,实现了高效率的大规模时间序列分解,这是传统方法无法比拟的。

核心方法

FCD框架的整体思路是将原始时间序列数据分解为从高频噪声到全局趋势的多个层次模式,每个模式都使用指定的数学函数进行分段拟合,并通过代数方法保证分段间的C1连续性。首先,对原始数据进行归一化处理,使用均值mu和长度依赖的标准差sigma_N进行自适应标准化,确保算法的数值稳定性。然后,根据数据长度N自适应地确定模式数量M,每个模式m使用均匀分段,分段数量随着算法向长期趋势方向进展而减少。接下来,对每个分段进行局部平移,将x值转换为局部坐标,提高数值稳定性和参数的物理可解释性。之后,使用JAX加速的Levenberg-Marquardt算法在每个分段上拟合指定的数学函数y = f(x, p),其中p是参数向量。为了保证连续性,两个参数被固定并从p中排除,而是在计算残差时从向量p中的剩余参数代数推导出来。最后,通过重叠前向拟合机制提高优化稳定性,并对优化后的参数进行反缩放以保持物理意义和单位。

FCD的核心创新点是通过代数方法固定两个参数来强制保证分段间的C0和C1连续性,同时使用JAX加速的Levenberg-Marquardt优化进行高效的参数拟合。具体来说,对于分段k > 1,固定的连续性参数通过以下方程求解:f(0, p_k) = f(x_{k-1,l}, p_{k-1})用于求解固定值参数,f'(0, p_k) = f'(x_{k-1,l}, p_{k-1})用于求解固定导数参数。对于具有线性偏移项(ax + b)的函数,b可以作为固定值参数,a可以作为固定导数参数来保证分段间的连续性。这种代数约束方法使得Levenberg-Marquardt优化器只能探索物理一致的解,确保了精确的连续性。另一个关键创新是重叠前向拟合机制:在每个批次中优化s+1个分段,但最后一个分段被丢弃并作为下一个批次第一个分段的初始猜测,这样可以有效地解决误差传播和频繁的不稳定性问题。此外,FCD使用JAX的JIT编译和XLA加速数学运算,并行模式拟合和批量优化,实现了高效率的大规模时间序列分解。

方法步骤详情

FCD方法分为四个主要阶段:(1)数据归一化:原始x和y数据集使用自适应标准缩放进行归一化,计算公式为z = (x - mu) / sigma_N,其中标准差sigma_N依赖于数据集长度N,使用缩放因子sf = 0.01控制样本密度,即sigma_N = sigma / (N * sf),这确保了Levenberg-Marquardt算法的高稳定性。(2)均匀分段和模式计算:将原始信号X = {x_1, x_2, x_3, ..., x_N}分解为M个层次模式,从最嘈杂的模式开始到全局趋势模式。模式数量M通过对数函数自适应确定:M = log_2((N/alpha)/beta) + 1,其中alpha是分段数量的初始除数(默认alpha = 5),beta定义最小分段数(默认beta = 4)。对于每个模式,计算分段边界索引,使用线性插值将每个模式的分段数量插入到数据集范围[0, N]中。(3)局部平移:为了确保高数值稳定性和更好的参数物理可解释性,每个分段的x值被转换为局部坐标:hat_x = x - x_k,其中x_k是当前分段边界k处的绝对x值。(4)Levenberg-Marquardt优化和连续性强制:使用JAX加速的Levenberg-Marquardt算法在每个分段上拟合指定的数学函数y = f(x, p),通过批量处理模式并行拟合。为了确保分段边界x_k处的连续性,通过代数方法固定两个参数,根据前一分段在分段边界处的y值和导数求解。固定的连续性参数通过以下方程计算:f(0, p_k) = f(x_{k-1,l}, p_{k-1})和f'(0, p_k) = f'(x_{k-1,l}, p_{k-1})。(5)重叠前向拟合:在每个批次中优化s+1个分段,但最后一个分段被丢弃并分配为下一个批次第一个分段的初始猜测,这样可以有效地解决误差传播和频繁的不稳定性问题。(6)参数反缩放:分解完成后,优化后的参数必须适当地反缩放以保持物理意义和单位。通过将缩放方程x和y代回模型函数中,导出反缩放公式。

技术新颖性

FCD的技术新颖性体现在多个方面。首先,FCD提供了一种全新的保证C1连续性的分段函数拟合方法,通过代数方法固定两个参数来强制保证分段间的C0和C1连续性,这是现有方法无法实现的。这种连续性不仅使得分解结果在视觉上平滑,而且对于物理应用至关重要,因为它保证了信号在边界处的物理一致性。其次,FCD使用JAX加速的Levenberg-Marquardt优化和并行模式拟合,实现了高效率的大规模时间序列分解,算法具有线性计算复杂度O(n),其中n是信号长度。第三,FCD支持高度可配置性,用户可以定义自定义数学函数(通过SymPy集成)、初始猜测、调整分段、Levenberg-Marquardt参数和设置特定的C0、C1导数连续性设置。第四,FCD提供了完整的函数分析输出,包括优化的拟合、导数、积分和参数,这对于物理分析和特征提取至关重要。第五,FCD可以应用于各种领域,包括物理、医学、金融分析和机器学习,其中它常用于信号时间模式的分析、优化参数、导数和积分的分解。

FCD example on Bitcoin 1-minute data
Figure 1: FCD example on Bitcoin 1-minute data

实验结果

FCD框架在准确性和计算速度方面都取得了优异的性能。在准确性测试中,FCD在30个不同波动性、结构和规模的数据集上测试了所有默认模型,包括6个加密货币市场(BTC、ETH、SOL、ADA、DOGE、XRP)在秒、分钟、小时和日时间间隔上的数据,以及6个其他数据集(2条平线数据、线性、三次函数数据和2个不同尺度的加密货币数据集)。主要测量指标是分段SRMSE,计算公式为SRMSE_k = sqrt((1/N_k) * sum_{i=1}^{N_k} (y_i - hat_y_i)^2) / sigma_y。实验结果表明,所有模型的平均分段SRMSE为0.735,其中6参数正弦模型达到0.568,三次多项式模型达到0.774。在速度测试中,FCD在不同数据点数量(N = 10到100,000)和两个特定函数(三次和6参数正弦函数)上进行了测试。对于三次模型,首次运行由于JAX JIT编译较慢,后续运行速度显著提升:N = 1,000时首次运行2.247秒,后续运行0.469秒;N = 10,000时首次运行6.659秒,后续运行3.568秒;N = 100,000时首次运行37.116秒,后续运行27.382秒。对于6参数正弦函数,速度稍慢:N = 1,000时首次运行3.341秒,后续运行1.289秒;N = 10,000时首次运行8.420秒,后续运行4.617秒;N = 100,000时首次运行50.549秒,后续运行43.167秒。这些结果表明FCD具有线性计算复杂度O(n),能够高效处理大规模数据集。

Accuracy Metrics of the FCD Algorithm
Table 1: Accuracy Metrics of the FCD Algorithm
Computational Performance on cubic model
Table 2: Computational Performance on cubic model
Computational Performance on 6-parameter sine function
Table 3: Computational Performance on 6-parameter sine function
Comparison of Velocity Functions across FCD Modes and Segments
Table 4: Comparison of Velocity Functions across FCD Modes and Segments
CNN Performance Comparison (UCI Household Power)
Table 5: CNN Performance Comparison (UCI Household Power)
CNN Performance Comparison (EEG Dataset)
Table 6: CNN Performance Comparison (EEG Dataset)
Decomposition of UAH-DriveSet velocity dataset
Figure 2: Decomposition of UAH-DriveSet velocity dataset
Normalized derivative of decomposition for UAH-DriveSet velocity dataset
Figure 3: Normalized derivative of decomposition for UAH-DriveSet velocity dataset
Decomposition performed on EEG data with sine model
Figure 4: Decomposition performed on EEG data with sine model
Optimized Frequency for EEG dataset
Figure 5: Optimized Frequency for EEG dataset
Optimized Amplitude for EEG dataset
Figure 6: Optimized Amplitude for EEG dataset
Integral of decomposition for EEG dataset
Figure 7: Integral of decomposition for EEG dataset
Epoch counts across all iterations and training set sizes for EEG comparison
Figure 8: Epoch counts across all iterations and training set sizes for EEG comparison
Epoch counts at all iterations and training set sizes for Household Power comparison
Figure 9: Epoch counts at all iterations and training set sizes for Household Power comparison
查看结构化数据
任务指标本文基线提升
时间序列分解准确性 分段SRMSE 0.735(所有模型平均),0.568(6参数正弦),0.774(三次多项式) 无直接基线,传统方法(B-splines、SG、EMD)无法提供分段SRMSE 首次提供具有C1连续性的参数化分解,SRMSE指标适用于局部动态评估
CNN训练效率(UCI Household Power) 收敛轮数(10,000训练样本) 38.2轮(FCD-CNN) 46.0轮(标准CNN) 17%更快收敛,同时RMSE从1.0961降至1.0647(2.9%提升)
CNN训练效率(EEG数据集) 收敛轮数(10,000训练样本) 38.0轮(FCD-CNN) 79.8轮(标准CNN) 52%更快收敛,同时RMSE从7.8166降至7.4657(4.5%提升)
计算性能 处理速度(1,000数据点,三次模型) 0.469秒(后续运行) 无直接基线,传统方法无法提供C1连续分解 线性时间复杂度O(n),JAX加速实现高效大规模处理

局限与改进

FCD虽然提供了高灵活性,但其稳定性高度依赖于初始猜测的质量、模型的复杂性以及稳定的连续性参数。框架提供了常用模型的默认预设和初始猜测,但使用不稳定的固定参数、函数或不准确的初始猜测可能导致减速和数值不稳定性。在使用自定义设置时,用户需要参考技术文档以确保正确使用。另一个重要限制是,根据定义,用于精确连续性的代数推导参数无法通过边界进行约束,这可能在某些物理应用中限制模型的灵活性。此外,FCD的计算开销虽然相对较低,但仍高于简单的平滑算法(如Savitzky-Golay),特别是在使用复杂函数时。例如,6参数正弦波的计算时间是三次模型的2-3倍。在CNN训练应用中,FCD-CNN的总运行时间由于FCD分解的开销而较高:对于N=5000,分解需要22秒;对于N=10000,需要39秒;对于N=20000,需要74秒。虽然FCD特征提取可以完全并行化,并且在更复杂的深度网络中训练通常持续数小时或数天时会提供显著的速度优势,但对于小型模型或实时应用可能成为瓶颈。此外,FCD目前只支持到C1连续性,某些应用可能需要更高阶的连续性(如C2连续性),这是FCD目前无法提供的。

独立分析的弱点

FCD在几个方面存在改进空间。首先,虽然FCD提供了高保真重建,但在处理极端波动性或非平稳性数据时可能需要更多的模式或更复杂的函数,这会增加计算开销。作者提到了在某些情况下使用不稳定固定参数、函数或不准确初始猜测可能导致减速和数值不稳定性,这表明FCD在处理边界情况时的鲁棒性有待提高。改进方向可以是开发更智能的初始猜测策略,或者引入自适应的连续性参数选择机制,根据数据的局部特性动态调整固定参数的选择。其次,FCD目前只支持到C1连续性,某些物理应用(如曲率连续的轨迹规划)可能需要更高阶的连续性(如C2连续性)。改进方向可以是扩展框架以支持Cn连续性,通过代数方法固定更多参数来保证更高阶的导数连续性。第三,FCD在CNN训练应用中,虽然加速了收敛,但总运行时间由于FCD分解的开销而较高。改进方向可以是进一步优化FCD的并行化实现,或者开发增量式FCD算法,避免对每个训练窗口都进行完整的分解。第四,FCD的计算复杂度虽然是线性的,但在处理超大规模数据集(如N>1,000,000)时可能仍然不够高效。改进方向可以是引入更高效的分段策略,或者开发分布式FCD实现,利用多机多GPU加速大规模数据分解。

未来方向

作者提出的未来工作方向包括改进FCD的准确性、速度,并扩展框架以提供Cn连续性和更广泛的默认函数。具体来说,作者计划专注于FCD的实时实现,这对于自动驾驶、高频交易等应用至关重要。为了实现实时FCD,需要进一步优化算法效率,包括改进JIT编译策略、开发更高效的并行化实现、以及利用硬件加速(如GPU/TPU)。另一个重要的方向是扩展框架以支持Cn连续性,通过代数方法固定更多参数来保证更高阶的导数连续性。这将为曲率连续的轨迹规划、高精度物理模拟等应用提供支持。作者还计划增加更广泛的默认函数和预设,包括更多类型的数学函数(如小波函数、分形函数等)和更智能的初始猜测策略。基于FCD的成果,未来还可以探索更多应用领域,如强化学习中的状态表示学习、因果推断中的潜在变量分解、以及多模态数据融合中的跨模态模式对齐。另一个有前景的方向是将FCD与深度学习更紧密地结合,开发端到端的可微分FCD层,使得FCD参数可以直接在神经网络中优化,从而实现更强大的表示学习能力。

复现评估

FCD的复现性评估如下:作者提到完整的实现和技术文档可以在这里访问,但没有在论文中提供具体的GitHub链接或代码仓库,这给复现带来了不确定性。实验在Windows 10 64位操作系统、Python 3.9、JAX库、Intel i7-10700 CPU、16GB DDR4-3200 RAM和NVIDIA RTX 3050 GPU上进行,这个硬件配置相对标准,大多数研究实验室都能够获得。然而,由于缺乏开源代码和数据集,复现难度较高。测试数据集包括加密货币市场数据(BTC、ETH、SOL、ADA、DOGE、XRP)在不同时间间隔的数据,UAH-DriveSet数据集(速度数据),EEG信号数据集,以及UCI Household Power Demand数据集。除了UCI数据集是公开的,其他数据集的获取可能需要额外的工作,特别是加密货币数据需要从特定平台下载。算法的核心是JAX加速的Levenberg-Marquardt优化,这需要一定的JAX编程经验和对优化算法的深入理解。论文提供了详细的算法描述和数学公式,但没有提供完整的伪代码或实现细节,这使得复现工作需要更多的时间和技术能力。总的来说,FCD的复现性中等偏低,主要原因是缺乏开源代码和数据集,但论文提供了足够的技术细节和数学描述,经验丰富的研究人员应该能够基于这些信息实现算法。