1. 引言
随着经济全球化和科技物流的迅速发展,现代企业供应链的科学有效管理已经离不开信息技术的支持。传统的按订单组织货源的供应模式存在一些问题,如库存过高、需求预测不准确、协调成本高、反应速度慢等,这些问题都严重影响了供应链的运作效率和企业的盈利能力。为了解决这些问题,企业需要主动维护客户模型,对客户需求进行精准预测,从而帮助供应商作出正确决策,提高供应链的运作效率和企业的盈利能力。
机器学习算法可以更好地处理非线性、非平稳、异方差等问题,并且具有更高的灵活性和准确性 [1] 。常用的模型有随机森林(Random Forest, RF) [2] ,支持向量回归(Support Vector Regression, SVR) [3] ,梯度提升树(Gradient Boosting Decision Tree, GBDT) [4] 等方式。Candelieri等 [5] 采用并行优化模型对SVM回归的超参数进行了优化,并在用水需求量数据集上进行了短期预测。Chen等 [6] 提出了一种基于XGBoost的学习模型,其采用了多种优化技术,如特征列排序、缺失值处理、块压缩、直方图近似等,来加速模型的训练和预测,并且具有较好的泛化能力和鲁棒性。该模型被数据科学家广泛使用,并且具有高可扩展性,在众多领域取得了很好的成果。但是,XGBoost仍然存在一些局限性,例如在处理大规模数据集时,模型的训练和预测速度可能会受到限制。为了解决这个问题,Ke等 [7] 提出了LightGBM (Light Gradient Boosting Machine)机器学习算法,主要是采用了一些与XGBoost不同的优化技术,如直方图采样、基于梯度单边采样、特征并行和数据并行等,来提高模型的训练和预测速度,并且具有较高的精度和泛化能力。王华勇等 [8] 将LightGBM算法应用于短期负荷预测,证明了该算法具有更高的计算效率以及计算精度。机器学习技术可以帮助企业提高销售预测的准确性和效率,从而更好地制定销售战略和决策 [9] 。
随着计算机计算能力的不断提高,深度学习模型能够自动地从大量的历史销售数据中学习到潜在的模式和趋势,并能够对未来的销售进行时序预测 [10] 。基于此,Hochreiter等 [11] 1997年提出了RNN的改进模型——长短时记忆(Long Short-Term Memory, LSTM)网络模型。LSTM是一种循环神经网络,常用于处理序列数据,如自然语言处理、语音识别、动作识别以及时序预测等任务。尽管LSTM在处理短序列方面表现出色,但在处理高维数据时可能会面临参数量过大的问题 [12] 。为了解决LSTM长时间记忆和训练速度慢等问题,一种特殊的一维卷积神经网络时间卷积网络(Temporal Convolutional Network, TCN) [13] 被提出并广泛应用于时序数据的处理中,它使用了一系列的卷积层和池化层,这使得它能够并行地处理时序数据,并且具有较少的参数和较高的训练效率。翟等 [14] 基于TCN算法对时序数据进行了分析和预测,并通过与其他相关模型在公共数据集上的验证进行了比较。结果表明,相比于LSTM模型,TCN算法具有更好的预测效果。
本文利用数据挖掘技术挖掘各种影响订单量的相关特征,提出基于TCN和LightGBM的供应商主动维护客户构成模型,该模型使用TCN捕捉客户订单数据的时间依赖性,同时利用LightGBM学习非时序的复杂关系特征,以快速捕捉市场变化并提高服务体验,让客户既不断货,也不积压,实现“响应性服务”向“感知响应性主动服务”转变。
2. 基于TCN和LightGBM的供应商主动维护客户构成模型
2.1. 问题定义
N条时间上相关的多变量序列可以表示为:
,
,以
来表示在第i条时间序列j时刻的值。我们做多变量序列预测目标是在给定TGE时间步的序列值
和模型参数
的情况下预测出未来k个时间步序列的每个时刻的值,具体如式(1)所示:
(1)
其中,
为待建的预测模型,
为模型的参数。
2.2. 时间卷积神经网络(TCN)
时序卷积网络(TCN)以卷积神经网络(CNN)模型为基础,使用一维卷积层对序列数据进行局部感知,然后通过堆叠多个卷积层来构建更复杂的模型。在每个卷积层中,卷积核的大小和步幅可以根据数据的特征进行调整。此外,TCN还可以使用残差连接和扩张卷积等技术来进一步提高模型的性能。
2.2.1. 因果卷积
因果卷积(Causal Convolution)是一种卷积操作,它可以在卷积核的前面添加一个因果滤波器(Causal Filter)来保证卷积操作是因果的,即输出只依赖于输入中的过去值,而不依赖于未来值。因果卷积的结构如图1所示。
![](//html.hanspub.org/file/7-2570996x16_hanspub.png?20230707093136046)
Figure 1. The structure of the causal convolution
图1. 因果卷积结构
因果卷积的输入是定义为
,输出定义为
,卷积核为
,如果使用普通的卷积操作,输出序列的每个值
,具体如式(2)所示:
(2)
其中,K是卷积核的宽度,t是当前时刻。
但是,这种卷积操作会使用当前时刻之后的输入值,从而导致输出不是因果的,因此不适用于序列数据的建模。为了解决这个问题,可以使用因果卷积。
在因果卷积中,卷积核的每个元素都只取决于输入序列中的过去值,而与未来值无关。因此,可以修改卷积操作的公式,使用一个因果滤波器c来对输入序列进行调整,具体如式(3)所示:
(3)
其中,
,当
时,
表示在输入序列前面填充了
个0后的结果。这样,
就只依赖于c序列中的过去值,而与未来值无关,从而保证了输出序列的因果性。
由图1可知,在因果卷积中,输出层中的每个样本值都是由上一层中的一些先前样本值组成的加权和。这种加权和的权重随着时间的推移而减小,因为输出信号的每个样本值只能依赖于先前的输入信号样本值。因此,因果卷积中的权重只考虑过去的输入值,而不会考虑未来的值。然而这样网络结构同样也会导致因果卷积对历史信息的覆盖范围不大。因果卷积的感受野随着网络的深度线性增加,扩大模型的感觉,需要堆叠较多的卷积层,容易出现梯度爆炸和过拟合问题。
2.2.2. 扩张卷积
为了扩大因果卷积的扩大网络对输入数据的理解范围,因此引入了扩张卷积。经过扩张后的因果神经网络结构如图2所示。
![](//html.hanspub.org/file/7-2570996x28_hanspub.png?20230707093136046)
Figure 2. The structure of extended causal convolution
图2. 扩张因果卷积结构
由图2可知,在通过扩张卷积后的因果卷积神经网络,下层神经元对于上一层神经元的历史信息的感受野有明显的提升。对于一维数据的输入
和过滤器
,时序T的扩张卷积操作
,具体如式(4)所示:
(4)
其中,n表示卷积核大小,d表示扩张系数,
表示对历史某一信息的定位。
在不改变因果卷积神经网络的深度的情况下,我们可以通过增加卷积核大小和扩张系数两种方法来增加了TCN的接受域。
2.2.3. 残差块
除了改变卷积核大小和扩张系数可以增加TCN的接收域,还可以通过增加隐藏层的数量。然后,深层次的网络会影响模型的训练和发生梯度消失。为了解决这一问题,TCN引用了残差块来解决梯度不稳定的问题。残差块的结构如图3所示。
TCN的残差块主要由两个分支模块组成,一个分支主要包括一系列的卷积操作,另一个分支执行一个简单的1 × 1卷积,来保持其输入通道的数量与扩张因果卷积的输出通道数量的一致性,具体如式(5)所示:
![](//html.hanspub.org/file/7-2570996x34_hanspub.png?20230707093136046)
Figure 3. Internal structure of residual block
图3. 残差块内部结构
(5)
其中,
代表一个激活操作,
表示一系列的卷积操作,主要包括双层的扩张卷积层、权重归一化(Weight Normalization)、ReLU激活函数和随机失活(Dropout)。
具体来说,扩张卷积层主要由上述的因果卷积和扩张卷积组成,用于提取潜在的特征。权重归一化主要用于归一化神经网络中的权重,从而加速网络的收敛速度和提高泛化性能。ReLU激活函数有非常好的收敛性和计算效率。随机失活可以减少过拟合的风险,同时提高模型的泛化能力。
图4所示的是一个由h个残差模块叠加形成的深层TCN。相比于浅层网络,深层网络具有更强的表达能力,因为它可以逐渐提取复杂的特征通过多个非线性层。因此,将多个残差模块堆叠起来可以构建一个更深的网络,从而提高模型的表达能力,使得模型能够更好地拟合时间序列数据。这种深层TCN模型具有更好地捕捉时间序列中的长期依赖关系的能力。
2.3. LightGBM模型
LightGBM是一个基于决策树和提升思想的梯度学习框架,由Ke等人于2017年提出,被广泛用于分类和回归任务。在本文中,我们采用了单边梯度采样(Gradient-Based One-Side Sampling, Goss)排除大部分小梯度的样本,缩小分割点的搜索范围,基于直方图算法寻来找最优的分割点,和采用基于叶子节点增长(Leaf-Wise)的策略,在保证模型精度的前提下同时防止过拟合。
2.3.1. 单边梯度采样
单边梯度采样(Gradient-Based One-Side Sampling, GOSS)是LightGBM中的一种采样策略,用于在训练过程中提高模型的效率。GOSS主要通过两种策略来实现训练效率的提高:一种是对样本进行采样,另一种是对特征进行采样。对于样本采样,GOSS 只对梯度值较小的样本进行采样,这些样本的梯度值很小,相当于已经收敛,因此对于模型的训练没有太大的影响,而对于梯度值较大的样本则全部保留,以保证模型的稳定性。对于特征采样,对于某个特征的某个取值,如果其梯度值较小,则对其进行随机采样,而对于梯度值较大的特征取值,则全部保留,以保证模型的稳定性。这样就可以减少计算量,并且能够使得内存占用更小,因为只需要保存符合条件的样本的梯度信息即可。通过单边梯度采样技术,LightGBM可以在保证模型性能的同时提高训练速度,并且能够应对大规模数据集的训练。
2.3.2. 直方图算法
在传统的梯度提升决策树算法中,每次分裂节点时需要遍历所有的特征进行选择,计算增益后选择最优的特征进行分裂。但是,当数据集非常大时,这个过程会变得非常耗时。而直方图算法通过将数据集按照某个特征进行分块,然后针对每个特征的每个分块计算增益,从而避免了对整个数据集的遍历。这个过程类似于对数据集进行离散化操作,直方图算法通过将原始数据进行离散化,用直方图来近似数据分布的形态,从而加速了决策树的训练过程。直方图算法的增益计算具体如式(6)所示:
(6)
其中,L和R分别表示两个子区间,
和
分别表示第j个样本的梯度和Hessian矩阵,
表示正则化参数,
表示最小分裂增益。
同时LightGBM对直方图算法做了一个做差加速的优化,对于每个样本,计算其在当前特征下的梯度和Hessian值,然后将其与之前的样本的梯度和Hessian值做差,得到当前样本的梯度和Hessian差值。这样,我们就可以通过对样本的梯度和Hessian差值进行累加,而不是对所有样本进行排序,从而计算出每个分割点的增益。
总的来说,采用了直方图优化的方式,LightGBM可以快速地计算出每个特征的梯度和样本数,避免了对整个数据集的扫描,从而降低了计算时间和内存占用。
2.3.3. 叶子节点增长策略
在GBDT模型中,每次迭代都需要计算出所有样本的负梯度,这对于大规模数据集来说是非常耗时的。为了解决这个问题,LightGBM引入了一种新的叶子节点增长策略,采用梯度单边采样和直方图优化的思想,将数据按特征分桶,并按桶计算梯度和样本数,从而提高了计算效率和内存使用效率。它会根据每个叶子的梯度信息和深度限制,选择一个具有最大梯度的样本作为当前叶子的分裂点,并将其分成左右两个子树。这个过程会一直重复,直到达到设定的叶子数目或达到深度限制。其分裂过程如图5所示。
![](//html.hanspub.org/file/7-2570996x44_hanspub.png?20230707093136046)
Figure 5. Leaf-wise tree splitting process
图5. 叶子节点树分裂过程
这一策略不仅可以高效地处理大规模稀疏数据,而且可以自适应地处理不同特征的重要性差异,从而提高了模型的准确性和可解释性。
此外,LightGBM的叶子节点增长策略还支持多线程并行计算,可以进一步提高计算效率。同时,还支持特征并行计算和数据并行计算,可以快速处理大规模数据集和高维特征数据。
2.4. 基于TCN和LightGBM的订单量预测模型
客户订单数据中存在时间相关性特征,而这些特征对于准确快速地预测客户的订单量非常重要。因此,本文提出了一个基于TCN-LightGBM的模型。该模型利用TCN对客户订单数据进行特征提取,TCN是一种结合了CNN的特征提取能力和RNN的时间域建模能力的深度学习网络,它可以有效地捕捉不同时间尺度上的数据依赖关系,并且避免了梯度消失和计算效率低的问题。在提取出时间相关性特征后,本文考虑到实际供应商客户的订单数据规模和复杂性,利用LightGBM对提取的特征进行分类或回归。LightGBM是一种基于决策树的机器学习算法,它可以准确和快速地处理大规模数据,并且具有较强的泛化能力和鲁棒性。通过结合TCN和LightGBM,本文实现了客户订单量的预测,并且在不同场景下进行了验证和评估。基于TCN-LightGBM模型的总体框架如图6所示。
该框架主要由几个步骤构成,
1) 构造特征集:通过整体的竞品和市场消费特征,区域性的竞品和消费特征,以及时序特征等信息,将其构成本文预测模型的输入特征集;
2) 特征预处理:对于时序特征,我们使用one-hot编码来表示其离散的取值;对于非时序特征,我们使用Min-Max归一化来将其数值范围缩放到[0,1]之间。
3) 基于TCN的特征提取:为了有效地提取输入数据的特征,我们使用基于TCN的特征提取网络。TCN是一种利用一维卷积层和残差连接构建的网络,能够捕捉序列数据中的长期依赖关系。通过使用TCN,我们不仅能够挖掘特征中的隐藏信息和时间动态,还能够降低特征的维数,减少后续模型的计算量。
4) 基于LightGBM模型的订单量预测:我们将特征数据划分为训练集、验证集和测试集,分别用于模型的训练、调参和预测。通过多次迭代优化模型参数,我们最终得到了一个较为稳定和准确的LightGBM模型,并将其应用于测试集上,对客户的订单量进行了预测。最后,我们使用了一些评价指标,如均方误差、平均绝对误差等,来评估LightGBM模型的预测性能,并与其他常用的机器学习模型进行了比较。
![](//html.hanspub.org/file/7-2570996x45_hanspub.png?20230707093136046)
Figure 6. The overall framework of the TCN-LightGBM model
图6. TCN-LightGBM模型的总体框架
3. 实验与分析
3.1. 实验数据
为验证本文算法的准确性,通过某快消品生产公司系统中采集2015年到2021年的所有客户数据、产品基本数据以及订单交易数据,导入大数据平台加工处理后进行分析研究。由于采集数据存在分散、孤立和异构问题,因此需要打通多源、异构数据信息交互壁垒,将大量的、不统一的数据碎片进行全面集成与共享。多源数据差异较大,制造企业一般都是直接将加工后的数据存储到数据库中,其它文件类型数据一般存储在文件服务器上。为直接获取这些数据,本文在导入不同数据源和不同结构数据时采用不同的导入工具,将多源数据集中到数据仓库统一管理,为后续数据处理作准备。
3.2. 实验评价指标
均方根误差(Root Mean Squared Error, RMSE)是一种常用于衡量误差的指标,具体如式(7)所示:
(7)
平均绝对值误差(Mean Absolute Error, MAE)是误差绝对值的均值,与RMSE相比,MAE对异常值有更强的鲁棒性,具体如式(8)所示:
(8)
平均百分比误差(Mean Absolute Percentage Error, MAPE)是一种无量纲的误差评价指标,可以直观地反映模型的误差水平,具体如式(9)所示:
(9)
本文中采用平均平方误差(Mean Square Error, MSE)作为模型训练的损失函数。MSE函数曲线处处可导,具有较为稳定的梯度,具体如式(10)所示:
(10)
其中,
与
分别表示实际销售量和预测销售量,n表示测试数据集大小。MSE、RMSE或MAE值越小,预测效果越好。
3.3. 基准模型
本次实验采用以下基准模型:
SVR [3] :SVR是支持向量回归的缩写,是一种基于支持向量机(SVM)的回归模型。SVR的目标是找到一个函数,使得预测值和真实值之间的误差小于一个给定的阈值,并且尽可能地平滑。
LSTM [11] :LSTM是长短期记忆网络,是一种循环神经网络(RNN)的变体。它可以处理长序列数据,解决梯度消失或爆炸的问题。它由输入门、遗忘门、输出门和记忆单元组成,可以学习和存储长期依赖关系。
TCN [13] :TCN是时序卷积网络,是一种卷积神经网络(CNN)的变体。它可以处理不等长的序列数据,具有因果性和稀疏性。它由多层因果卷积层和残差连接组成,可以捕获长期依赖关系。
LightGBM [7] :LightGBM是轻量级梯度提升机,是一种基于树的集成学习算法。它使用基于直方图的算法来加速训练和减少内存消耗。它使用基于叶子的生长策略来增加模型复杂度和减少过拟合。它支持并行学习、类别特征、缺失值处理等特性。
CNN-LightGBM [15] :CNN-LightGBM是一种结合了CNN和LightGBM的混合模型。它可以利用CNN提取特征,并将其作为LightGBM的输入进行分类或回归任务。
3.4. 实验结果与分析
为了评估TCN-LightGBM模型的性能,在本文数据集进行实验,各基准模型参数如表1所示。
![](Images/Table_Tmp.jpg)
Table 1. Benchmark model parameter table
表1. 各基准模型参数表
不同模型的性能对比实验结果如表2所示:
从实验结果可以看出,LightGBM和TCN-LightGBM在三个指标上都取得了最低的数值,说明它们是较为优秀的模型。特别是TCN-LightGBM,在MAPE上达到了2.88%,远低于其他模型。这说明
![](Images/Table_Tmp.jpg)
Table 2. Experimental results of different models
表2. 不同模型实验结果
TCN-LightGBM能够更好地捕捉数据的变化趋势,并且对异常值或离群点不敏感。SVR和CNN-LightGBM在三个指标上都取得了较高的数值,说明它们在预测效果上相对较差。可能是因为SVR和CNN-LightGBM模型在处理非线性、非平稳的时间序列数据时存在一定的局限性。LSTM则处于中等水平,在三个指标上都没有突出或落后。这可能说明LSTM能够一定程度上拟合数据的非线性关系,并且具有一定的鲁棒性。
为验证本文模型的对于预测效果的有效性,本文采用对比实验进行验证,采用SVR、LSTM、TCN、LightGBM、CNN-LightGBM、TCN-LightGBM等不同算法预测结果与实际值进行对比如图7所示。
![](//html.hanspub.org/file/7-2570996x52_hanspub.png?20230707093136046)
Figure 7. Comparison of Prediction Results between TCN-LightGBM and Other Algorithms
图7. TCN-LightGBM与其他算法预测结果对比
从图7可以看出,SVR的预测效果相对较差,主要是因为数据集较大时,随着噪声和异常值的数量也会随着数据集的增大而增加,从而导致SVR模型容易出现过拟合,导致模型的性能较差。LSTM和TCN模型预测效果表现较好,主要是他们适用于序列预测问题,处理序列数据表现相对较好。但在处理长序列时,LSTM的反向传播算法容易出现梯度消失和梯度爆炸问题。梯度消失会导致模型无法学习到长期依赖关系,而梯度爆炸会导致模型不稳定,难以训练。LightGBM模型的预测效果要优于其他个体模型,因其采用了多种针对大数据集的优化策略,可以显著提高模型训练的效率和性能。混合模型中,TCN-LightGBM的预测效果要优于CNN-LightGBM,TCN采用了一些特殊的技巧,如空洞卷积和残差连接,可以更好地捕获序列数据中的长期依赖关系,从而提高弱学习器的性能,进而提高整个集成模型的性能。
综上所述,本次实验中,基于树的集成学习算法LightGBM和时序卷积网络TCN以及它们的混合模型TCN-LightGBM表现出了较高的预测精度和稳定性。
4. 总结与展望
本文提出了一种基于TCN和LightGBM的供应商主动维护客户构成模型,旨在解决传统的被动响应式服务无法满足当今竞争激烈市场需求的问题。该模型结合了时间序列分析和机器学习技术,使用TCN捕捉客户订单数据的时间依赖性,同时利用LightGBM学习非时序的复杂关系特征,对客户需求进行精准预测。在本文数据集上进行实验,通过与SVR、LightGBM、LSTM、TCN和CNN-LightGBM等模型进行对比,本文模型表现出了较高的预测精度和稳定性。
未来的研究方向包括将该模型应用于更广泛的供应链管理领域,进一步提高模型预测准确性和稳定性,同时探索其他机器学习算法和模型架构对于供应商维护客户构成模型的适用性和效果。此外,结合区块链等新兴技术,可以进一步提高供应商与客户之间的交互效率和数据安全性。这些研究将有助于推动供应链管理的数字化和智能化发展,提高企业的市场竞争力和客户满意度。
基金项目
浙江省重点研发计划(2022C01238)。
NOTES
*通讯作者。