Online Learning Algorithm Based on Streaming Data
This paper proposes an online learning algorithm for the concept drift phenomenon of streaming data. In order to improve the speed and accuracy of prediction, this paper proposes a multi-step prediction regression ensemble model and describes in detail the sample resampling process combined with the clustering algorithm to cope with the high-dimensional and large-scale problems of streaming data. By introducing the resampled samples into an online adaptive framework based on sliding windows and combining them with the multi-step prediction regression model to form the online learning algorithm of this paper, the algorithm can timely identify and handle the concept drift phenomenon. In addition, the paper also proposes a statistical theoretical basis for concept drift to ensure the accuracy of the algorithm. For the intersection traffic flow and website pageview data, this paper proposes the type of concept drift and proposes a Boolean factor for sudden drift, which effectively reduces the adverse effects of sudden drift. In the example evaluation, the method in this paper performs well in both accuracy and stability.
Streaming Data
在大数据时代,流数据的处理和分析成为了研究和应用中的重要课题。流数据通常表现为高速、连续、动态变化的数据流,其主要特点是数据量大且不断变化,要求系统具有较强的实时处理能力。随着信息技术和智能交通系统的快速发展,流数据的处理与分析在多个领域得到了广泛应用。路口车流量和网站浏览量作为两类典型的流数据,具有高速、连续、动态变化等特征。车流量数据对于交通管理和城市规划具有重要意义,而网站浏览量数据则广泛应用于网站优化、广告推荐以及用户行为分析等场景。如何有效、实时地分析流数据,成为了许多研究者面临的挑战。流数据分析不仅需要快速计算,还要求能够适应数据的概念漂移和动态变化。因此,如何设计高效且准确的在线学习算法,已成为流数据处理领域的热点研究方向。
由于流数据具有动态变化的特性,采用多步预测方法能够在一次预测中同时获得多个未来时间点的预测值,从而有效提高预测的效率。通过将多步预测与集成学习相结合,可以进一步增强模型的稳定性与准确性。多步预测不仅优化了流数据处理的速度,还能够提供更加精确的未来趋势预测,从而为决策提供更为可靠的支持。Dolgintseva等人总结了多步预测
此外,针对流数据通常具有高维度和大规模的特点,Wu等人提出了一种新颖的二阶在线特征选择算法
流数据中常常出现的概念漂移
基于上述背景,本文提出了一种面向回归问题的OASW滑动窗口方法的在线自适应学习框架。该框架能够在概念漂移发生时及时调整模型参数,从而保持较高的预测精度。同时,本文详细描述了样本重抽样的过程,首先通过特征选择提取出关键特征,然后将这些特征用于聚类算法,在聚类的基础上进行样本重抽样,获取发生概念漂移的重抽样样本用于在线自适应框架,重训练多步预测回归模型。这样既能克服流数据因规模庞大而导致的高计算成本问题,又能及时捕捉概念漂移的变化,适时调整模型参数,提升模型的准确性和稳定性。此外,本文还针对路口车流量和网站浏览量等数据,分析了不同类型的概念漂移。在处理突变漂移
假设样本量为N,预测步长为H,数据流可表示为: ,且 ,数据包含m个解释变量,即 , 为响应变量。在t时刻,模型的输入为解释变量与响应变量的滞后值、解释变量的H个未来值,即 和 的历史值、 的后续H个时刻的值。设l表示 和 的历史时间戳,对于预测层h,直接预测的模型构建如下:
其中 , , 。
模型表示解释变量与响应变量独立影响 ,将两部分之间的交互关系放入 中。在h遍历整个预测步长H过程中,模型包含了两个函数关系, 表示解释变量与 建立的函数关系,是解释变量与 平行建立的H个Lightgbm基模型;另一个函数关系是响应变量的历史值与 的线性函数关系。
本文考虑流数据的分布会随着时间而发生变化,发生概念漂移。针对流数据 可以表示如下:
是一个未知的时间点,流数据在 时间点上分布发生变化,即发生了概念漂移, 可看作 与其历史值的线性模型常数项,可以提出如下假设: ,通过t检验判断 的显著性,从而判断数据的分布是否发生变化。t统计量为:
将本文实例数据带入计算后,通过在线自适应方法捕捉到的概念漂移发生点,其p值均小于0.05,表明我们有足够的证据拒绝原假设。因此,基于统计显著性的标准,可以得出结论:数据流在统计上发生了概念漂移。这样的结果验证了在线自适应方法在监测和识别概念漂移中的有效性,并进一步证明了数据流在不同时间点上出现了变化,从而影响了模型的预测性能。
Ren Haojie
本文的样本重抽样流程如
为了更好地捕捉流数据分布的变化,提高模型的准确度,同时避免过拟合,我们引入了最近数据和历史数据的结合。最近数据被定义为从概念漂移开始的时间点到当前时间步之间的所有数据。由于最近数据的分布发生了变化,必须将其纳入模型进行重训练。然而,最近数据量较少且具有特殊性,因此我们需要对其进行数据跃迁处理,以增加重训练数据量并减弱其特殊性,从而避免模型过拟合。
为此,我们采用了样本重抽样的方法,从历史数据中提取与最近数据相似的部分,完成数据跃迁。这种方式不仅使得重训练的模型能够充分利用最近数据的最新信息,同时也有效地减少了由于数据量不足和特殊性引起的过拟合问题。
样本重抽样的过程为:首先通过滑动窗口方法遍历数据,并手动选择对聚类有重要作用的特征变量 ,其中 是挑选出的具有聚类作用的变量,考虑到本文提出的多步预测模型是基于线性关系构建响应变量之间的联系,且LightGBM模型也可以近似看作线性模型,因此在判断特征之间的相关性时,使用相关系数是合适的。通过计算数据中变量与变量之间的相关系数,找寻与因变量y相关系数最大的2~3个变量,与因变量y一起作为 ,完成变量的选择,后续用于样本聚类,为样本重抽样做准备。对数据进行标准化,减少量纲对聚类的影响;创建一个UMAP降维器实例,并将其n_components参数设置为多步预测模型输入数据特征维度的0.05倍,使用历史数据对降维模型进行拟合训练。之所以选择UMAP进行降维,是因为在高维数据空间中进行聚类分析会极大增加计算负担,尤其是在在线学习算法中,可能导致实时性要求无法满足。使用UMAP降维能够显著提高计算效率,减少高维数据处理带来的时间消耗。使用MiniBatchKMeans对历史数据进行聚类分析并返回聚类标签N;对于MiniBatchKMeans的参数设置,对于不同的数据集,将n_clusters参数指定为用于聚类特征变量 的个数,对于路口车流量数据,批次大小设置为一天的样本数量;对于网站浏览量数据,批次大小则设定为两天的样本数量,以便更好地适应不同的数据特性。将训练好的降维模型用于最近数据进行降维,将训练好的聚类模型用于最近数据中,得到最近数据的聚类标签M,并得到每个标签所对应的最近数据样本数量,表示为 ,其中 表示最近数据中的类标签, 表示最近数据中对应类的样本数量,且 ;从历史数据聚类标签N中,挑出最近数据聚类标签M,以及其对应的历史数据样本数量,可以表示为 , 表示历史数据中类标签的样本数量。对于最近数据中样本量最多的聚类标签,直接将对应历史数据的同类样本纳入抽样中,也就是 直接放入抽样。对于其他剩余的聚类标签( ),将采用如下方式确定抽样大小:
取历史数据中其他聚类标签( )的最小样本量作为每个标签的最大抽样量,再根据最近数据中聚类标签的样本量与总样本量的比例,随机抽取历史数据中的其他类标签样本,完成样本重抽样。通过这种基于聚类的样本重抽样方法,我们能够使重抽样后的历史数据分布更加接近最近数据的分布,从而充分利用最近数据中的漂移信息,同时避免模型过度拟合。这一过程为历史数据与最近数据之间的跃迁提供了有效支持,为后续在线自适应模型的构建奠定了坚实基础。
Yang
Algorithm. Online adaptation (replacement)
Input: , , : a data stream, the warning and drift thresholds, , : size of sliding window and adaptive window, : sampling function
For Stream:
If S==0 && : |
end if If S==1: ta=Size(W) If :
Regressor retrain regressor on else if || ta== :
|
首先利用已有的历史数据来训练离线模型。随后,利用训练好的模型对流数据进行处理。如果在流过程中检测到漂移,则自适应系统部署专门设计的采样方法,从历史数据中获取采样。然后使用采样的历史数据和最新数据更新模型,以确保准确的预测。
大小为 的滑动窗口和大小为 的自适应窗口, :警告阈值, :漂移阈值。针对上述算法,计算相应的回归准确度,如果准确度下降到一定地步,将视为发生概念漂移,获取重抽样后的历史数据与最近数据进行模型的重训练,以减少概念漂移的损失,能够包容漂移的发生提高回归拟合准确度,减少误差。
在本文的在线多步预测模型的新方法中,我们基于基础模型权重映射提出集成模型,引入了一个模型权重来动态地改变模型,进而改变模型的输出预测,使预测更加准确。该策略针对多步预测中建立的H个基模型,每个时间点的数据均建立H个模型进行预测,那么该数据最终由基模型的加权集成模型来预测。因此,对于给定的基模型i,模型权重即为:
且权重 。考虑将多步预测的模型权重更改为其他模型评估的衡量标准, ,或 时,考察本文在线学习算法在实例评估部分的表现情况,综合衡量模型的决定系数和平均绝对误差,得出模型权重为R方时,实例结果表现最好。
集成模型的权重取决于基模型的准确度,随着流数据的遍历,动态改变着权重矩阵。通过对基模型的集成,使得预测值更加接近真实值,权重的动态改变及时适应概念漂移的出现,提高模型的预测准确度,减少损失。
模型的性能受到
、
、
、
等超参数的影响。为了优化这些超参数,我们使用了粒子群优化算法(PSO)。在超参数优化方法中,粒子群优化算法是一种流行的基于群体的优化算法,它通过群体中个体之间的沟通和合作来检测最优值
PSO比大多数其他超参数优化方法更快,因为它的计算复杂度简单,并且支持并行执行。粒子群算法适用于不同类型的超参数和大型超参数空间,如LightGBM的超参数空间。四个主要的超参数,通过PSO方法进行调优。通过检测这些超参数的最优值,可以获得优化的LightGBM模型,用于准确的流数据分析。
本文提出了针对突变漂移的一个辨别因子。由于突变漂移发生变化迅速且突然,一般的自适应方法没有办法及时考虑到分布突变,于是本文从数据本身方面进行改进,标记数据。定义一个布尔类型的变量,针对目标变量值y的变化,可通过经验人士给出目标变量的合理值,如果超出此合理值,该定义的布尔类型变量为False,其他合理值为True。
其中E为目标变量y值的合理范围。定义此变量的目的是额外提供一个聚类变量,使自适应系统及时识别到样本本身发生的变化,能够有助于突变漂移的检测与自适应。
在本研究中,我们使用了两组不同类型的实际数据进行实例评估。首先,路口车流量数据涵盖了从2015年11月1日至2017年7月1日期间,三个路口每小时车辆通过的数量。该数据集包括时间戳、路口编号以及相应的车流量信息,为我们提供了关于城市交通状况的细致记录。其次,网站浏览量数据自2015年7月1日起,记录了375天内来自八个国家(如法国、英国等)的五大最受欢迎网页的每日浏览量。该数据集反映了不同国家用户的网络访问模式,能够为我们提供关于网站流量和用户行为的深刻见解。以上数据都可以从kaggle网站中获得。通过这些真实的流数据,我们能够对所提出的在线学习算法进行有效评估,分析其在实际应用中的表现与适应性。
概念漂移主要是指解释变量和目标变量之间的关系随时间变化的在线监督学习场景。通常,概念漂移可以分为四种类型
分析实例数据,根据数据均值的分布变化,分析数据中的概念漂移类型。
对于路口车流量数据,从本文方法监测到的第一个概念漂移时刻开始,随着时间的推移,等距样本的均值先趋于稳定,然后逐渐增大,最终趋于稳定,可以判断数据发生了增量漂移。
对于网站浏览量数据,随着时间的推移,等距样本的均值先趋于稳定,然后突然上升、下降,最后再次趋于稳定,且突变前后样本均值不同,可以判断此数据发生了突变漂移。
实验分为两个阶段。首先是离线阶段,在此阶段中,使用历史数据训练批处理模型,生成回归基模型,为接下来的在线阶段做好准备。接下来是在线阶段,模拟模型接收连续数据流的动态环境,使用本文提出的在线学习算法动态更新模型参数,以适应流数据中的概念漂移。为了评估所提出的在线学习算法的性能,我们使用路口车流量数据和网站浏览量数据进行实验,选取了前20%的数据作为历史数据,用于训练模型。随后,使用剩余的数据模拟流数据进行重采样,并应用在线自适应算法进行评估。通过多步预测的准确度和平均绝对误差,来判断本文方法的适用性。
针对上述数据集,最优模型超参数的设置如
数据集 |
模型 |
|
|
|
|
路口车流量数据 |
OASW |
782 |
2360 |
0.978 |
0.941 |
路口车流量数据 |
Replacement |
1300 |
3515 |
0.989 |
0.978 |
网站浏览量数据 |
OASW |
640 |
3132 |
0.982 |
0.949 |
网站浏览量数据 |
Replacement |
658 |
3153 |
0.985 |
0.957 |
对于道路车流量数据集来说,一个时间戳是一小时,24*3个时间戳代表一天。以72为H (预测步长),带入超参数,应用上述本文所提出的在线学习算法,采用R2和MAE来评价模型的性能。R2和MAE的计算公式如下:
R2和MAE的结果表现如
Model |
Replacement |
Offline |
OASW |
ARD |
R2 |
0.89 |
0.48 |
0.82 |
0.86 |
MAE |
2.73 |
4.02 |
3.66 |
5.06 |
自动相关性确定(ARD)回归
可以看出随着流数据样本量的增加,样本数据发生概念漂移,样本分布发生变化,变得不稳定,普通的离线回归模型已经满足不了准确度的需求。采用本文提出的在线学习算法,在发生概念漂移时,对历史数据重采样,将重采样的数据带入本文提出的在线自适应算法中,在样本分布发生变化的时候动态地改变回归模型,及时将准确度提升,减少损失。
图中显示流数据存在大范围的增量漂移,随着样本量越来越大,样本的分布变化越来越明显,准确度逐渐下降,与上述根据样本均值分布展示的增量漂移一致。因此,本文提出的方法可以解决增量漂移,提高准确度。
针对网络浏览量数据,一个时间戳就是一天,但是数据中含有40个来自不同国家的最热网址,也就是说40个时间戳代表一天。以40为H (预测步长),带入超参数,应用上述本文所提出的在线学习算法,计算R2和MAE的值,结果如
表3. 仿真结果
Model |
Replacement |
Offline |
OASW |
ARD |
R2 |
0.92 |
0.75 |
0.90 |
0.91 |
MAE |
0.190 |
0.191 |
0.465 |
0.64 |
随着流数据的增加,在每个时间戳上,离线学习与在线学习算法(本文方法)的R2变化曲线如
针对网站浏览量数据,离线学习模型的准确度在某个时刻出现了显著下降,而在此之前,准确度一直保持较高且稳定的状态。这一变化表明该流数据发生了突变漂移,与上述根据样本均值分布展示的突变漂移一致。实验结果证明,本文提出的方法能够有效应对突变漂移,从而提高模型的准确度。
本文提出了一种高效的在线学习算法,旨在解决流数据中的概念漂移问题,从而提升流数据处理的准确性与稳定性。同时给出了结合多步预测回归模型与样本重抽样的在线自适应框架,并基于统计理论提供了概念漂移的理论依据。在分析路口车流量与网站浏览量数据时,本文探讨了概念漂移的不同类型,并针对突变漂移提出了创新的布尔因子,旨在提高对概念漂移的适应能力。在实例评估中,本文方法展示了较高的精确度与适应能力,显著优于其他算法。但是还有待于判断本文算法对其他类的概念漂移的适应能力。未来的研究可以进一步探讨如何优化算法的计算效率,还可以考虑结合深度学习等技术,探索更加复杂的概念漂移类型和更广泛的应用场景。通过这一研究,本文为流数据分析和预测任务中的在线学习提供了更具实用性的理论支持与算法框架。