CN111626764A - 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置 - Google Patents
基于Transformer+LSTM神经网络模型的商品销量预测方法及装置 Download PDFInfo
- Publication number
- CN111626764A CN111626764A CN202010275150.9A CN202010275150A CN111626764A CN 111626764 A CN111626764 A CN 111626764A CN 202010275150 A CN202010275150 A CN 202010275150A CN 111626764 A CN111626764 A CN 111626764A
- Authority
- CN
- China
- Prior art keywords
- neural network
- transformer
- data
- lstm
- network model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Transformer+LSTM神经网络模型的商品销量预测方法及装置。在维护历史数据中的内部和外部特征时,采用Word2Vector来编码天气信息。并创新性的提出采用Transformer+LSTM的神经网络模型来解决销量预测中其他模型对历史特征提取不充分的弊端。为验证Transformer+LSTM的神经网络结构的有效性,模型结合实际大卖场历史数据进行训练,通过实验结果得出Transformer+LSTM确实可以解决单纯使用RNN或者LSTM神经网络中无法充分提取历史特征的问题。同时,在Transformer+LSTM的神经网络结构中,只采用Transformer部分的Encoder部分,并使用LSTM替代Transformer的Decoder部分。实验结果表明,Transformer的Encoder部分在提取历史特征上有很好的优势,而LSTM对时间序列数据拥有很好的解码能力。
Description
技术领域
本发明涉及计算机科学领域的时间序列问题,特别涉及一种基于Transformer+LSTM神经网络模型的商品销量预测方法及装置。
背景技术
伴随着“新零售”的兴起,实体经济与新技术之间的结合变得越来越密切。为了使新技术可以为实体经济更好的赋能,本专利采用计算机人工智能领域中的深度学习算法,在基于实体大卖场的历史数据的基础之上建立销量预测模型。在建立的销量模型的前提下,以达到大卖场可以利用模型预测得到结果指导卖场进货和销量。
销量预测本质上是时间序列问题。时间序列分析是复杂非线性动态系统建模与预测的一类问题。为达到好的建模效果,需要从两个方面去考虑,数据的特征工程以及算法模型的优化。
但目前在销量预测方面的研究中,对于特征工程的建立以及算法模型优化方面都未能实现较为理想的结果。比方说,天气情况会直接影响人们作出是否出门的决定,像酷热或者大雨的天气,非必要情况下,人们一般会选择留在家中,这肯定会对商品的销售产生影响,而目前的销量预测研究中,并没有充分的考虑这一点。另外,在对销售历史数据的分析中,由于算法模型不够完善,也经常会导致对于历史数据中的特征提取不充分。
发明内容
为了解决天气编码不充分的情况,本发明提出来采用Word2Vector中的CBOW网络结构来编码天气。为了解决对历史数据中的特征提取不充分的情况,本发明提出了采用Transformer+LSTM相结合的方法,在充分提取历史特征的同时也兼顾了对时间序列预测的能力。
为了实现上述技术目的,本发明的技术方案是,
一种基于Transformer+LSTM神经网络模型的商品销量预测方法,包括以下步骤:
构建特征工程:
获取历史商品销售订单数据,以从历史商品销售订单数据中提取内部影响因素,同时从客观环境记录中提取外部影响因素;
数据预处理:
将历史商品销售订单数据和特征工程划分成训练数据集、验证数据集和测试数据集,之后将数据分别进行标准化处理,
建立初始Transformer+LSTM神经网络模型:
Transformer+LSTM神经网络模型包括Transformer的Encoder,并用LSTM代替Transformer的Decoder,
其中Transformer的Encoder部分提取历史数据中的特征,LSTM依据Encoder提取到的历史数据中的特征进行解码预测,
Transformer的Encoder设置在纵向部分,包含两个Encoder,
Transformer的Encoder中的Multi-Attention包含两个Attention,即2-Attention,
Transformer的LSTM解码部分,由单层的LSTM神经网络实现对Encoder部分提取的历史数据中的特征进行解码的功能,
Transformer+LSTM商品销量预测模型采用MSE作为损失函数;
确定Transformer+LSTM神经网络模型:
在训练阶段将训练数据集输入到Transformer+LSTM神经网络模型,训练模型的神经网络参数,
在验证阶段将验证数据集输入到构建好的Transformer+LSTM神经网络模型,来微调模型的神经网络参数,
在测试阶段将测试数据集输入到构建好的Transformer+LSTM神经网络模型,由测试数据中的自变量输入值输入到训练好的神经网络模型得到测试结果,在满足预测精度要求时确定模型,以进行销量预测。
所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,所述的特征工程包括:通过从历史商品销售订单数据中提取内部影响因素,包括打折金额、销售利润和销售总金额;通过从客观环境记录中提取对商品销售环节产生影响的外部影响因素,包括天气信息、节假日信息和日期属性。
所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,在将特征工程划分成训练数据集、验证数据集和测试数据集前,还包括将外部影响因素中的天气信息采用Word2Vector编码成天气信息向量的步骤:
将从外部环境采用网络爬虫采集到的历史文字天气信息,采用LabelEncoder的方法,编码成数字信息表示的天气信息;
使用LabelEncoder编码后的数字天气信息,将设定好的窗口大小单位的上下文天气信息输入到Word2Vector的输入层神经,在Word2Vector的输出层是当前要编码的天气信息,通过训练神经网络得到的中间层的向量即当前这天依据上下文的天气信息编码得到的天气向量。
所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,所述数据标准化处理,包括以下步骤:
使用Z-Score标准化的方式,将训练、验证、测试阶段的数据分别进行标准化处理:
通过求出不同阶段数据的均值与方差,然后让每个阶段的数据减去每个阶段对应的均值,再除以每个阶段的方差,来达到对每个阶段的数据标准化的目的。
所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,在确定Transformer+LSTM神经网络模型时,包括以下步骤:
训练阶段,将标准化之后的数据分批次输入到Transformer+LSTM神经网络中进行神经网络参数的训练:
使用标准化后的训练数据依据特征输入到Transformer的第一个Encoder部分进行特征提取;
第一个Encoder部分提取到的特征信息,给到纵向的第二个Encoder进行特征的再次提取;
第二个Encoder的输出的特征信息给到解码部分的两个隐状态向量:C、H状态;
LSTM依据采用Encoder提取的特征信息初始化的隐状态,来一步步随时间迭代输出预测结果;
使用预测得到的值输入到损失函数中与真实值进行对比,来反向梯度调整神经网络中的参数,以提高预测精度;
验证阶段,依据小批次验证数据来微调Transformer+LSTM神经网络的参数:
验证阶段在每批次训练阶段的数据训练完之后执行,通过输入验证数据集,基于Transformer+LSTM神经网络模型得到验证输出值,通过预测值与真实值之间的差距来微调神经网络的参数;
测试阶段,使用经训练和验证阶段得到的Transformer+LSTM神经网络,输入测试数据集以得到输出的测试预测值;将测试预测值在MAPE评价指标中评估神经网络模型的预测精度,当预测精度达到要求时确定模型,以进行销量预测。
一种基于Transformer+LSTM神经网络模型的商品销量预测装置,包括:
特征工程构建模块:
用于获取历史商品销售订单数据,以从历史商品销售订单数据中提取内部影响因素,同时从客观环境记录中提取外部影响因素;
数据预处理模块:
用于将历史商品销售订单数据和特征工程划分成训练数据集、验证数据集和测试数据集,之后将数据分别进行标准化处理,
初始Transformer+LSTM神经网络模型建立模块:
用于建立初始Transformer+LSTM神经网络模型,包括Transformer的Encoder,并用LSTM代替Transformer的Decoder,
其中Transformer的Encoder部分提取历史数据中的特征,LSTM依据Encoder提取到的历史数据中的特征进行解码预测,
Transformer的Encoder设置在纵向部分,包含两个Encoder,
Transformer的Encoder中的Multi-Attention包含两个Attention,即2-Attention,
Transformer的LSTM解码部分,由单层的LSTM神经网络实现对Encoder部分提取的历史数据中的特征进行解码的功能,
Transformer+LSTM商品销量预测模型采用MSE作为损失函数;
Transformer+LSTM神经网络模型确立模块:
用于在训练阶段将训练数据集输入到Transformer+LSTM神经网络模型,训练模型的神经网络参数,
在验证阶段将验证数据集输入到构建好的Transformer+LSTM神经网络模型,来微调模型的神经网络参数,
在测试阶段将测试数据集输入到构建好的Transformer+LSTM神经网络模型,由测试数据中的自变量输入值输入到训练好的神经网络模型得到测试结果,在满足预测精度要求时确定模型,以进行销量预测。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,所述的特征工程包括:通过从历史商品销售订单数据中提取内部影响因素,包括打折金额、销售利润和销售总金额;通过从客观环境记录中提取对商品销售环节产生影响的外部影响因素,包括天气信息、节假日信息和日期属性。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,其数据预处理模块还用于将外部影响因素中的天气信息采用Word2Vector编码成天气信息向量:
将从外部环境采用网络爬虫采集到的历史文字天气信息,采用LabelEncoder的方法,编码成数字信息表示的天气信息;
使用LabelEncoder编码后的数字天气信息,将设定好的窗口大小单位的上下文天气信息输入到Word2Vector的输入层神经,在Word2Vector的输出层是当前要编码的天气信息,通过训练神经网络得到的中间层的向量即当前这天依据上下文的天气信息编码得到的天气向量。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,数据预处理模块,在进行数据标准化处理时,是使用Z-Score标准化的方式,将训练、验证、测试阶段的数据分别进行标准化处理:
通过求出不同阶段数据的均值与方差,然后让每个阶段的数据减去每个阶段对应的均值,再除以每个阶段的方差,来达到对每个阶段的数据标准化的目的。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,Transformer+LSTM神经网络模型确立模块,用于实现以下阶段:
训练阶段,将标准化之后的数据分批次输入到Transformer+LSTM神经网络中进行神经网络参数的训练:
使用标准化后的训练数据依据特征输入到Transformer的第一个Encoder部分进行特征提取;
第一个Encoder部分提取到的特征信息,给到纵向的第二个Encoder进行特征的再次提取;
第二个Encoder的输出的特征信息给到解码部分的两个隐状态向量:C、H状态;
LSTM依据采用Encoder提取的特征信息初始化的隐状态,来一步步随时间迭代输出预测结果;
使用预测得到的值输入到损失函数中与真实值进行对比,来反向梯度调整神经网络中的参数,以提高预测精度;
验证阶段,依据小批次验证数据来微调Transformer+LSTM神经网络的参数:
验证阶段在每批次训练阶段的数据训练完之后执行,通过输入验证数据集,基于Transformer+LSTM神经网络模型得到验证输出值,通过预测值与真实值之间的差距来微调神经网络的参数;
测试阶段,使用经训练和验证阶段得到的Transformer+LSTM神经网络,输入测试数据集以得到输出的测试预测值;将测试预测值在MAPE评价指标中评估神经网络模型的预测精度,当预测精度达到要求时确定模型,以进行销量预测。
本发明的技术效果在于,采用Word2Vector中的CBOW网络结构编码历史天气信息,以达到完善训练数据特征工程的目的。将编码后的天气信息以及其他特征数据传入Transformer+LSTM中,采用Transformer中的Encoder来提取历史数据中的特征,采用LSTM来拟合时间序列预测部分。充分考虑Transformer中的Encoder在提取特征上面的优势以及LSTM在拟合时间序列上面的优势,以达到销量预测模型更加精准以及稳定的目的。
附图说明
图1为Word2Vector中CBOW的网络结构
图2为Self-Attention的网络结构
图3为Transformer中的Encoder部分网络结构
图4为LSTM神经元结构
图5为Transformer+LSTM网络结构
具体实施方式
为了解决天气编码不充分的情况,本实施例采用Word2Vector中的CBOW网络结构来编码天气。为了解决对历史数据中的特征提取不充分的情况,本实施例采用Transformer+LSTM相结合的方法,在充分提取历史特征的同时也兼顾了对时间序列预测的能力。
本实施例实现的基于Transformer+LSTM神经网络模型的商品销量预测方法,包括以下步骤:
构建特征工程:
获取历史商品销售订单数据,以从历史商品销售订单数据中提取内部影响因素,同时从客观环境记录中提取外部影响因素。其中本实施例中所指的特征工程中,内部影响因素包括打折金额、销售利润和销售总金额。外部影响因素,包括天气信息、节假日信息和日期属性。
数据预处理:
由于天气信息一般都是以文字来表示,比如说晴、小雨等,而其他特征工程的表示形式都是数字,所以要对天气信息进行处理,以转换成数字形式。本实施例中,采用Word2Vector来将天气信息编码成天气信息向量。具体来说,处理过程为:
将从外部环境采用网络爬虫采集到的历史文字天气信息,采用LabelEncoder的方法,编码成数字信息表示的天气信息;
使用LabelEncoder编码后的数字天气信息,将设定好的窗口大小单位的上下文天气信息输入到Word2Vector的输入层神经,在Word2Vector的输出层是当前要编码的天气信息,通过训练神经网络得到的中间层的向量即当前这天依据上下文的天气信息编码得到的天气向量。
其中本实施例中,Word2Vector编码天气信息采用CBOW的神经网络结构。窗口设定为7,在编码天气信息时,是采用当前天气信息的前3天以及后3天的天气信息作为神经网络的输入层的输入。Word2Vector中的中间层对应编码的天气向量信息,中间层的神经元设置为2,编码生成后的天气信息的向量长度为2。
将历史商品销售订单数据和特征工程划分成训练数据集、验证数据集和测试数据集。在进行划分时,可以参照6:3:1的比例来进行划分,即训练数据集占六成,验证数据集三成,剩下的为测试数据集。
然后对划分完的数据分别进行标准化处理,本实施例中是使用Z-Score标准化的方式,将训练、验证、测试阶段的数据分别进行标准化处理:
通过求出不同阶段数据的均值与方差,然后让每个阶段的数据减去每个阶段对应的均值,再除以每个阶段的方差,来达到对每个阶段的数据标准化的目的。
接下来建立初始Transformer+LSTM神经网络模型:
Transformer+LSTM神经网络模型包括Transformer的Encoder,并用LSTM代替Transformer的Decoder。
其中Transformer的Encoder部分提取历史数据中的特征,LSTM依据Encoder提取到的历史数据中的特征进行解码预测。
Transformer的Encoder设置在纵向部分,包含两个Encoder。
Transformer的Encoder中的Multi-Attention包含两个Attention,即2-Attention。
Transformer的LSTM解码部分,由单层的LSTM神经网络实现对Encoder部分提取的历史数据中的特征进行解码的功能。
Transformer+LSTM商品销量预测模型采用MSE作为损失函数。
最后通过训练、验证和测试,来确定Transformer+LSTM神经网络模型。
包括以下步骤:
训练阶段,将标准化之后的数据分批次输入到Transformer+LSTM神经网络中进行神经网络参数的训练,其中训练阶段的神经网络参数调整的学习率为0.005。包括以下步骤:
使用标准化后的训练数据依据特征输入到Transformer的第一个Encoder部分进行特征提取;
第一个Encoder部分提取到的特征信息,给到纵向的第二个Encoder进行特征的再次提取;
第二个Encoder的输出的特征信息给到解码部分的两个隐状态向量:C、H状态;
LSTM依据采用Encoder提取的特征信息初始化的隐状态,来一步步随时间迭代输出预测结果;
使用预测得到的值输入到损失函数中与真实值进行对比,来反向梯度调整神经网络中的参数,以提高预测精度。
验证阶段,依据小批次验证数据来微调Transformer+LSTM神经网络的参数:
验证阶段在每批次训练阶段的数据训练完之后执行,通过输入验证数据集,基于Transformer+LSTM神经网络模型得到验证输出值,通过预测值与真实值之间的差距来微调神经网络的参数,以使预测值尽量靠近真实值。
测试阶段,使用经训练和验证阶段得到的Transformer+LSTM神经网络,输入测试数据集以得到输出的测试预测值;将测试预测值在MAPE评价指标中评估神经网络模型的预测精度,当预测精度达到要求时确定模型,以进行销量预测。MAPE是通过将真实值与预测值的差值与真实值相比的绝对值来作为模型预测的误差百分比,相当于预测值相较于真实的偏离百分比。
本实施例公开的基于Transformer+LSTM神经网络模型的商品销量预测装置,包括:
特征工程构建模块:
用于获取历史商品销售订单数据,以从历史商品销售订单数据中提取内部影响因素,同时从客观环境记录中提取外部影响因素;
数据预处理模块:
用于将历史商品销售订单数据和特征工程划分成训练数据集、验证数据集和测试数据集,之后将数据分别进行标准化处理,
初始Transformer+LSTM神经网络模型建立模块:
用于建立初始Transformer+LSTM神经网络模型,包括Transformer的Encoder,并用LSTM代替Transformer的Decoder,
其中Transformer的Encoder部分提取历史数据中的特征,LSTM依据Encoder提取到的历史数据中的特征进行解码预测,
Transformer的Encoder设置在纵向部分,包含两个Encoder,
Transformer的Encoder中的Multi-Attention包含两个Attention,即2-Attention,
Transformer的LSTM解码部分,由单层的LSTM神经网络实现对Encoder部分提取的历史数据中的特征进行解码的功能,
Transformer+LSTM商品销量预测模型采用MSE作为损失函数;
Transformer+LSTM神经网络模型确立模块:
用于在训练阶段将训练数据集输入到Transformer+LSTM神经网络模型,训练模型的神经网络参数,
在验证阶段将验证数据集输入到构建好的Transformer+LSTM神经网络模型,来微调模型的神经网络参数,
在测试阶段将测试数据集输入到构建好的Transformer+LSTM神经网络模型,由测试数据中的自变量输入值输入到训练好的神经网络模型得到测试结果,在满足预测精度要求时确定模型,以进行销量预测。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,所述的特征工程包括:通过从历史商品销售订单数据中提取内部影响因素,包括打折金额、销售利润和销售总金额;通过从客观环境记录中提取对商品销售环节产生影响的外部影响因素,包括天气信息、节假日信息和日期属性。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,其数据预处理模块还用于将外部影响因素中的天气信息采用Word2Vector编码成天气信息向量:
将从外部环境采用网络爬虫采集到的历史文字天气信息,采用LabelEncoder的方法,编码成数字信息表示的天气信息;
使用LabelEncoder编码后的数字天气信息,将设定好的窗口大小单位的上下文天气信息输入到Word2Vector的输入层神经,在Word2Vector的输出层是当前要编码的天气信息,通过训练神经网络得到的中间层的向量即当前这天依据上下文的天气信息编码得到的天气向量。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,数据预处理模块,在进行数据标准化处理时,是使用Z-Score标准化的方式,将训练、验证、测试阶段的数据分别进行标准化处理:
通过求出不同阶段数据的均值与方差,然后让每个阶段的数据减去每个阶段对应的均值,再除以每个阶段的方差,来达到对每个阶段的数据标准化的目的。
所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,Transformer+LSTM神经网络模型确立模块,用于实现以下阶段:
训练阶段,将标准化之后的数据分批次输入到Transformer+LSTM神经网络中进行神经网络参数的训练:
使用标准化后的训练数据依据特征输入到Transformer的第一个Encoder部分进行特征提取;
第一个Encoder部分提取到的特征信息,给到纵向的第二个Encoder进行特征的再次提取;
第二个Encoder的输出的特征信息给到解码部分的两个隐状态向量:C、H状态;
LSTM依据采用Encoder提取的特征信息初始化的隐状态,来一步步随时间迭代输出预测结果;
使用预测得到的值输入到损失函数中与真实值进行对比,来反向梯度调整神经网络中的参数,以提高预测精度;
验证阶段,依据小批次验证数据来微调Transformer+LSTM神经网络的参数:
验证阶段在每批次训练阶段的数据训练完之后执行,通过输入验证数据集,基于Transformer+LSTM神经网络模型得到验证输出值,通过预测值与真实值之间的差距来微调神经网络的参数;
测试阶段,使用经训练和验证阶段得到的Transformer+LSTM神经网络,输入测试数据集以得到输出的测试预测值;将测试预测值在MAPE评价指标中评估神经网络模型的预测精度,当预测精度达到要求时确定模型,以进行销量预测。
在数据特征工程部分,结合实际销量场景以及历史的销量数据分析得出,只有把历史数据的相关属性描述清楚,才可以建立起稳定和精准的预测系统。在本文中,同时考虑了历史数据的内部影响因素与外部影响因素。内部因素是指由于大卖场本身销量产生的相关历史数据:打折金额、销量总金额以及历史数据。外部因素是指客观存在的一些外在属性,从客观外部影响大卖场内部销量:天气、节假期、日期属性。其中日期属性中考虑了当前日期对应的是:这一年的第几个月、这个月的第几周、这个周的第几天。另外,在互联网采集回来的历史天气信息是中文描述,虽然采用独热编码的方式也可以对天气进行编码处理来表示天气信息,然而独热编码的缺点也是显而易见的,由于天气之间是有相似度的。比如“晴”可能和“阴”的相似度要比“晴”与“大雨”之间的相似度要大。如果只采用独热编码的话,难以表示这些天气之间的相似度大小,并且天气之间的转变趋势独热编码也是无法表达。为了解决独热编码的问题,本实施例中采用了Word2Vector中的CBOW网络结构来编码历史的天气,可以很好的解决独热编码难以表示天气相似度以及转变趋势的问题。
算法模型优化部分。由于销量预测本质上是一个时间序列问题,为此在实验之初选择了使用LSTM神经网络来进行建模,从实验结果得出,使用LSTM在提取历史数据中的特征上还有很多不足的地方。LSTM是使用三个“门”以及两个隐藏状态来传递以及记录历史数据中的信息特征,然而LSTM的问题是当随着时间的拉长一些越久的特征反而会慢慢的在“门”结构的选择之下慢慢的遗忘,同时LSTM使用两个隐藏状态向量来记录之前的历史信息,由于隐藏状态是一个固定长度的向量保存的状态也是一个固定值。为了解决LSTM的遗忘以及对历史特征的保存不足的问题。本实施例中采用Transformer中的Encoder来提取历史数据中的特征,Transformer中的Encoder部分包含有Self-Attention,采用Self-Attention来提取避免LSTM在提取历史数据中的特征的不足。在Self-Attention机制机制中首先将输入值分别并行通过三个Layer,这样形成当前时刻输入值的Query vector,Keyvector,Value vector,将本时刻的Query vector值与其他时刻的Key vector值进行相乘得到当前时刻的(Query vector)*(Key vector)的相似度。然后传递给Softmax,Softmax就将分数标准化,这样加起来保证为1。这个Softmax分数决定了每个时刻的输入值在该位置表达的程度,Softmax值越高的位置对用的贡献度也会越高。其中Softmax函数如下:
其中,vi是分类器前级输出单元的输出。i表示类别索引,总的类别个数为C,对应到本发明专利中就是Self-Attention中剩下时刻与当前时刻的相似度类别。si表示的是当前元素的指数与所有元素指数和的比值。通过这个Softmax函数就可以将多分类的输出数值转化为相对概率。Self-Attention结构图如图2。通过Self-Attention机制解决了LSTM在训练阶段不能很好的利用历史特征的问题,但是LSTM本身是有顺序的迭代神经网络,在LSTM迭代的同时也会记录这些时刻的前后位置信息,为此在Transformer输入的同时加入了PositionalEncoding来表示神经网络的相对位置信息。这是Transformer的Encoder部分,使用Encoder来提取特征,而Decoder部分依然采用LSTM部分,只不过这时候传入的隐藏层的状态是Encoder提取更加完整的特征。进而LSTM在Decoder部分利用带有Self-Attention机制的Encoder部分提取的历史特征来进一步构建模型做预测部分。Transformer+LSTM结构图如图5。
根据销量预测的实际需求,利用Transformer+LSTM来训练历史销量数据和历史数据相关内部和外部影响因素。历史销量数据采用从实际大卖场采集的历史销量数据,历史销量数据相关的内部影响因素从历史销量数据统计中提取,外部影响因素则是采取从网络爬取的历史客观信息,比如:历史天气、历史节假日属性、历史日期属性。刚开始选用了独热编码将从网络上爬取的历史天气信息进行编码处理,然而采用独热编码的缺点是无法将历史天气的转变趋势表示进向量中,直接导致的结果就是无法很好的表示天气之间的相似距离。接下里采用了Word2Vector中的CBOW网络结构对外部影响因素中的天气因素进行了编码处理。CBOW网络结构如图1。将从网络上爬取的历史天气信息以时间窗口单位的长度通过CBOW的神经网络输入层,通过隐藏层到达输出层,其中输入层输入的是要编码时刻的前后时刻天气信息,输出层对应真实值当前时刻的天气,从输入层到隐藏层再到输出层,通过损失函限定,反向调整CBOW神经网络隐藏层的参数权重,得到的隐藏层参数的权重就是要编码的当前时刻的天气信息,使用CBOW隐藏层的参数矩阵来表示天气信息,接下来采用历史天气文本数据,通过训练好的CBOW历史天气神经网络,得到天气编码向量。
将编码好的天气向量以及其他外部影响因素与内部影响因素相结合作为Transformer+LSTM的输入。由于Transformer的Encoder中Self-Attention是采用并行的方式计算每个时刻与剩下时刻的相似度,这样计算的方式的后果是历史数据之间的位置关系没有了,为了将历史数据中的位置关系也考虑进来,采用在Transformer输入值之后通过一层网络结构来学习历史数据之间的相对位置关系,并将学习到的位置信息的结果与原始的输入值相加一起作为Transformer中Encoder部分的输入。在Encoder部分数据首先流入Multi-HeadAttention,Multi-HeadAttention由多个Self-Attention组成。流入Self-Attention的输入值会通过三个不同的Layer形成三个向量:query(Q)、keys(K)、values(V)。Attention功能可以看成是将query和一系列key-value对映射成输出,query,keys,values和output都是向量。output是values的加权和,对每个value设置的权重是通过计算query和其对应的key的相关函数(compatibility function)得到的。将Multi-HeadAttention输出向量与最初的输入向量通过Add层以及LayerNormalization层,Add层起到两层神经网络结果相加的作用,LayerNormalization起到层归一化的作用。之后将Add&LayerNormalization层的输出输入到一个前馈层神经网络FeedForward,前馈层神经网络起到的作用是,为Multi-HeadAttention的输出加入非线性变化部分。然后将FeedForward层的输出与Multi-HeadAttention的输出再次通过Add&LayerNormalization层。最后得到使用Transformer中的Encoder编码的历史数据特征部分。
将通过Transformer中的Encoder部分提取的历史数据特征传递给LSTM的C和H状态进行短暂的预测部分。在Transformer+LSTM神经网络结构中,采用LSTM替代Transformer的Decoder部分。由于LSTM在拟合时间序列数据方面的优势,所以采用LSTM替代Transformer的Decoder部分来解码历史销量数据中的特征,并运用到预测中。LSTM的网络结构如图4。LSTM有三个“门”结构:输入门、遗忘门、输出门,两个隐藏状态:C、H状态。在输入门中同时输入的是ht-1以及xt,其中ht-1是上一时刻的状态h,而x是当前时刻的输入。
输入门:
z=tanh(Wz[ht-1,xt])
根据前一时刻的状态ht-1以及本时刻的输入xt共同考虑计算得到输入门的状态值z。
i=sigmoid(Wi[ht-1,xt])
根据前一时刻的状态ht-1以及本时刻的输入xt共同考虑计算得到当前输入值以多大的比重输入到LSTM输入门内,将i*z得到输入门的值。
遗忘门:
f=tanh(Wf[ht-1,xt])
根据前一时刻的状态ht-1以及本时刻的输入xt共同考虑计算得到遗忘门的状态值f,将遗忘门的状态值乘以前一时刻的状态值ct-1:
f*ct-1
得到遗忘门的输出状态值,将遗忘门的状态值与输入门的状态值相加得到本时刻的状态值:
ct=f*ct-1+i*z
输出门:
σ=sigmoid(Wσ[ht-1,xt])
根据前一时刻的状态ht-1以及本时刻的输入xt共同考虑计算得到当前输入值以多大的比重输出到LSTM输入门内,将本时刻的新状态ct与σ通过tanh函数激活之后得到本时刻的状态ht。将得到的ct和ht作为下一时刻LSTM神经元的输入状态值,不断的迭代执行,这也是LSTM为什么善于拟合时间序列的优势所在。
在本实施例中,将Transformer的Encoder提取历史数据得到的历史数据特征Encoderoutput传给LSTM的初始C和H状态,利用Encoderoutput带来LSTM之前提取的C和H状态。这样既保留了Transformer的Encoder在提取历史特征上面的优势,同时在解码预测上也考虑了LSTM在拟合时间序列数据上面的优势。故本方案能够准确有效的对商品销量进行预测。
Claims (10)
1.一种基于Transformer+LSTM神经网络模型的商品销量预测方法,其特征在于,包括以下步骤:
构建特征工程:
获取历史商品销售订单数据,以从历史商品销售订单数据中提取内部影响因素,同时从客观环境记录中提取外部影响因素;
数据预处理:
将历史商品销售订单数据和特征工程划分成训练数据集、验证数据集和测试数据集,之后将数据分别进行标准化处理;
建立初始Transformer+LSTM神经网络模型:
Transformer+LSTM神经网络模型包括Transformer的Encoder,并用LSTM代替Transformer的Decoder,
其中Transformer的Encoder部分提取历史数据中的特征,LSTM依据Encoder提取到的历史数据中的特征进行解码预测,
Transformer的Encoder设置在纵向部分,包含两个Encoder,
Transformer的Encoder中的Multi-Attention包含两个Attention,即2-Attention,
Transformer的LSTM解码部分,由单层的LSTM神经网络实现对Encoder部分提取的历史数据中的特征进行解码的功能,
Transformer+LSTM商品销量预测模型采用MSE作为损失函数;
确定Transformer+LSTM神经网络模型:
在训练阶段将训练数据集输入到Transformer+LSTM神经网络模型,训练模型的神经网络参数,
在验证阶段将验证数据集输入到构建好的Transformer+LSTM神经网络模型,来微调模型的神经网络参数,
在测试阶段将测试数据集输入到构建好的Transformer+LSTM神经网络模型,由测试数据中的自变量输入值输入到训练好的神经网络模型得到测试结果,在满足预测精度要求时确定模型,以进行销量预测。
2.如权利要求1所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,其特征在于,所述的特征工程包括:通过从历史商品销售订单数据中提取内部影响因素,包括打折金额、销售利润和销售总金额;通过从客观环境记录中提取对商品销售环节产生影响的外部影响因素,包括天气信息、节假日信息和日期属性。
3.如权利要求2所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,其特征在于,在将特征工程划分成训练数据集、验证数据集和测试数据集前,还包括将外部影响因素中的天气信息采用Word2Vector编码成天气信息向量的步骤:
将从外部环境采用网络爬虫采集到的历史文字天气信息,采用LabelEncoder的方法,编码成数字信息表示的天气信息;
使用LabelEncoder编码后的数字天气信息,将设定好的窗口大小单位的上下文天气信息输入到Word2Vector的输入层神经,在Word2Vector的输出层是当前要编码的天气信息,通过训练神经网络得到的中间层的向量即当前这天依据上下文的天气信息编码得到的天气向量。
4.如权利要求1所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,其特征在于,所述数据标准化处理,包括以下步骤:
使用Z-Score标准化的方式,将训练、验证、测试阶段的数据分别进行标准化处理:
通过求出不同阶段数据的均值与方差,然后让每个阶段的数据减去每个阶段对应的均值,再除以每个阶段的方差,来达到对每个阶段的数据标准化的目的。
5.如权利要求1所述的基于Transformer+LSTM神经网络模型的商品销量预测方法,其特征在于,在确定Transformer+LSTM神经网络模型时,包括以下步骤:
训练阶段,将标准化之后的数据分批次输入到Transformer+LSTM神经网络中进行神经网络参数的训练:
使用标准化后的训练数据依据特征输入到Transformer的第一个Encoder部分进行特征提取;
第一个Encoder部分提取到的特征信息,给到纵向的第二个Encoder进行特征的再次提取;
第二个Encoder的输出的特征信息给到解码部分的两个隐状态向量:C、H状态;
LSTM依据采用Encoder提取的特征信息初始化的隐状态,来一步步随时间迭代输出预测结果;
使用预测得到的值输入到损失函数中与真实值进行对比,来反向梯度调整神经网络中的参数,以提高预测精度;
验证阶段,依据小批次验证数据来微调Transformer+LSTM神经网络的参数:
验证阶段在每批次训练阶段的数据训练完之后执行,通过输入验证数据集,基于Transformer+LSTM神经网络模型得到验证输出值,通过预测值与真实值之间的差距来微调神经网络的参数;
测试阶段,使用经训练和验证阶段得到的Transformer+LSTM神经网络,输入测试数据集以得到输出的测试预测值;将测试预测值在MAPE评价指标中评估神经网络模型的预测精度,当预测精度达到要求时确定模型,以进行销量预测。
6.一种基于Transformer+LSTM神经网络模型的商品销量预测装置,其特征在于,包括:
特征工程构建模块:
用于获取历史商品销售订单数据,以从历史商品销售订单数据中提取内部影响因素,同时从客观环境记录中提取外部影响因素;
数据预处理模块:
用于将历史商品销售订单数据和特征工程划分成训练数据集、验证数据集和测试数据集,之后将数据分别进行标准化处理;
初始Transformer+LSTM神经网络模型建立模块:
用于建立初始Transformer+LSTM神经网络模型,包括Transformer的Encoder,并用LSTM代替Transformer的Decoder,
其中Transformer的Encoder部分提取历史数据中的特征,LSTM依据Encoder提取到的历史数据中的特征进行解码预测,
Transformer的Encoder设置在纵向部分,包含两个Encoder,
Transformer的Encoder中的Multi-Attention包含两个Attention,即2-Attention,
Transformer的LSTM解码部分,由单层的LSTM神经网络实现对Encoder部分提取的历史数据中的特征进行解码的功能,
Transformer+LSTM商品销量预测模型采用MSE作为损失函数;
Transformer+LSTM神经网络模型确立模块:
用于在训练阶段将训练数据集输入到Transformer+LSTM神经网络模型,训练模型的神经网络参数,
在验证阶段将验证数据集输入到构建好的Transformer+LSTM神经网络模型,来微调模型的神经网络参数,
在测试阶段将测试数据集输入到构建好的Transformer+LSTM神经网络模型,由测试数据中的自变量输入值输入到训练好的神经网络模型得到测试结果,在满足预测精度要求时确定模型,以进行销量预测。
7.如权利要求5所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,其特征在于,所述的特征工程包括:通过从历史商品销售订单数据中提取内部影响因素,包括打折金额、销售利润和销售总金额;通过从客观环境记录中提取对商品销售环节产生影响的外部影响因素,包括天气信息、节假日信息和日期属性。
8.如权利要求6所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,其特征在于,数据预处理模块还用于将外部影响因素中的天气信息采用Word2Vector编码成天气信息向量:
将从外部环境采用网络爬虫采集到的历史文字天气信息,采用LabelEncoder的方法,编码成数字信息表示的天气信息;
使用LabelEncoder编码后的数字天气信息,将设定好的窗口大小单位的上下文天气信息输入到Word2Vector的输入层神经,在Word2Vector的输出层是当前要编码的天气信息,通过训练神经网络得到的中间层的向量即当前这天依据上下文的天气信息编码得到的天气向量。
9.如权利要求6所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,其特征在于,数据预处理模块,在进行数据标准化处理时,是使用Z-Score标准化的方式,将训练、验证、测试阶段的数据分别进行标准化处理:
通过求出不同阶段数据的均值与方差,然后让每个阶段的数据减去每个阶段对应的均值,再除以每个阶段的方差,来达到对每个阶段的数据标准化的目的。
10.如权利要求6所述的基于Transformer+LSTM神经网络模型的商品销量预测装置,其特征在于,Transformer+LSTM神经网络模型确立模块,用于实现以下阶段:
训练阶段,将标准化之后的数据分批次输入到Transformer+LSTM神经网络中进行神经网络参数的训练:
使用标准化后的训练数据依据特征输入到Transformer的第一个Encoder部分进行特征提取;
第一个Encoder部分提取到的特征信息,给到纵向的第二个Encoder进行特征的再次提取;
第二个Encoder的输出的特征信息给到解码部分的两个隐状态向量:C、H状态;
LSTM依据采用Encoder提取的特征信息初始化的隐状态,来一步步随时间迭代输出预测结果;
使用预测得到的值输入到损失函数中与真实值进行对比,来反向梯度调整神经网络中的参数,以提高预测精度;
验证阶段,依据小批次验证数据来微调Transformer+LSTM神经网络的参数:
验证阶段在每批次训练阶段的数据训练完之后执行,通过输入验证数据集,基于Transformer+LSTM神经网络模型得到验证输出值,通过预测值与真实值之间的差距来微调神经网络的参数;
测试阶段,使用经训练和验证阶段得到的Transformer+LSTM神经网络,输入测试数据集以得到输出的测试预测值;将测试预测值在MAPE评价指标中评估神经网络模型的预测精度,当预测精度达到要求时确定模型,以进行销量预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010275150.9A CN111626764A (zh) | 2020-04-09 | 2020-04-09 | 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010275150.9A CN111626764A (zh) | 2020-04-09 | 2020-04-09 | 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111626764A true CN111626764A (zh) | 2020-09-04 |
Family
ID=72273013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010275150.9A Pending CN111626764A (zh) | 2020-04-09 | 2020-04-09 | 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626764A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653142A (zh) * | 2020-12-18 | 2021-04-13 | 武汉大学 | 优化深度Transformer网络的风电功率预测方法及系统 |
CN113688822A (zh) * | 2021-09-07 | 2021-11-23 | 河南工业大学 | 一种时序注意力机制场景图像识别方法 |
CN114596120A (zh) * | 2022-03-15 | 2022-06-07 | 江苏衫数科技集团有限公司 | 一种商品销量预测方法、系统、设备及存储介质 |
CN114791993A (zh) * | 2022-05-16 | 2022-07-26 | 江苏大学 | 一种动力电池组soh预测方法及系统 |
CN114841268A (zh) * | 2022-05-06 | 2022-08-02 | 国网江苏省电力有限公司营销服务中心 | 基于Transformer和LSTM融合算法的异常电力客户识别方法 |
CN117272839A (zh) * | 2023-11-20 | 2023-12-22 | 北京阿迈特医疗器械有限公司 | 基于神经网络的支架压握性能预测方法及装置 |
CN117557289A (zh) * | 2023-11-20 | 2024-02-13 | 大头(广州)软件技术有限公司 | 一种基于智能营销场景的餐饮数据建模方法及系统 |
-
2020
- 2020-04-09 CN CN202010275150.9A patent/CN111626764A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653142A (zh) * | 2020-12-18 | 2021-04-13 | 武汉大学 | 优化深度Transformer网络的风电功率预测方法及系统 |
CN113688822A (zh) * | 2021-09-07 | 2021-11-23 | 河南工业大学 | 一种时序注意力机制场景图像识别方法 |
CN114596120A (zh) * | 2022-03-15 | 2022-06-07 | 江苏衫数科技集团有限公司 | 一种商品销量预测方法、系统、设备及存储介质 |
CN114596120B (zh) * | 2022-03-15 | 2024-01-05 | 江苏衫数科技集团有限公司 | 一种商品销量预测方法、系统、设备及存储介质 |
CN114841268A (zh) * | 2022-05-06 | 2022-08-02 | 国网江苏省电力有限公司营销服务中心 | 基于Transformer和LSTM融合算法的异常电力客户识别方法 |
CN114791993A (zh) * | 2022-05-16 | 2022-07-26 | 江苏大学 | 一种动力电池组soh预测方法及系统 |
CN117272839A (zh) * | 2023-11-20 | 2023-12-22 | 北京阿迈特医疗器械有限公司 | 基于神经网络的支架压握性能预测方法及装置 |
CN117272839B (zh) * | 2023-11-20 | 2024-02-06 | 北京阿迈特医疗器械有限公司 | 基于神经网络的支架压握性能预测方法及装置 |
CN117557289A (zh) * | 2023-11-20 | 2024-02-13 | 大头(广州)软件技术有限公司 | 一种基于智能营销场景的餐饮数据建模方法及系统 |
CN117557289B (zh) * | 2023-11-20 | 2024-04-16 | 大头(广州)软件技术有限公司 | 一种基于智能营销场景的餐饮数据建模方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111626764A (zh) | 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置 | |
CN110070183B (zh) | 一种弱标注数据的神经网络模型训练方法及装置 | |
CN109284506B (zh) | 一种基于注意力卷积神经网络的用户评论情感分析系统及方法 | |
CN109902293B (zh) | 一种基于局部与全局互注意力机制的文本分类方法 | |
CN111400620B (zh) | 基于时空嵌入Self-Attention的用户轨迹位置预测方法 | |
CN111127146B (zh) | 基于卷积神经网络与降噪自编码器的信息推荐方法及系统 | |
CN112884551B (zh) | 一种基于近邻用户和评论信息的商品推荐方法 | |
CN112579778A (zh) | 基于多层次的特征注意力的方面级情感分类方法 | |
CN112819604A (zh) | 基于融合神经网络特征挖掘的个人信用评估方法与系统 | |
CN111626785A (zh) | 一种基于结合注意力的cnn-lstm网络基金价格预测方法 | |
US20230215166A1 (en) | Few-shot urban remote sensing image information extraction method based on meta learning and attention | |
CN113139850A (zh) | 一种缓解数据稀疏性和商品冷启动的商品推荐模型 | |
CN110837888A (zh) | 一种基于双向循环神经网络的交通缺失数据补全方法 | |
CN110956309A (zh) | 基于crf和lstm的流程活动预测方法 | |
CN112527966A (zh) | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 | |
CN113255366A (zh) | 一种基于异构图神经网络的方面级文本情感分析方法 | |
CN113360848A (zh) | 一种时序数据预测方法及装置 | |
CN112766603A (zh) | 一种交通流量预测方法、系统、计算机设备及存储介质 | |
CN113947182A (zh) | 基于双阶段堆叠图卷积网络的交通流预测模型构建方法 | |
CN116596150A (zh) | 基于多分支自注意力的Transformer霍克斯过程模型的事件预测方法 | |
CN114582448A (zh) | 基于预训练语言模型的疫情病例信息抽取框架构建方法 | |
CN113609326B (zh) | 基于外部知识和目标间关系的图像描述生成方法 | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
CN112580848A (zh) | 一种基于pt-lstm的时间序列预测系统与方法 | |
CN117078007A (zh) | 一种融合尺度标签的多尺度风控系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |