一种大数据驱动的供应链需求预测方法
技术领域
本发明涉及机器学习、大数据处理技术领域,尤其基于多模型融合供应链需求预测算法。
背景技术
在电商产业链中,为提升用户物流服务体验,供应链协同将货品提前准备在全球各个市场的本地仓,可有效降低物流时间,极大提升用户体验。不同于国内电商物流情况,出海电商的产品生产和销售地区是全球化的,商品的采购,运输,海关质检等,整个商品准备链路需要更长的时间。在大数据和人工智能技术快速发展的新时代背景下,运用大数据分析和算法技术,精准预测远期的商品销售,为供应链提供数据基础,将能够为出海企业建立全球化供应链方案提供关键的技术支持。
发明内容
为了解决上述问题,本发明提供一种大数据驱动的供应链需求预测方法。
本发明采用的技术方案如下:
一种大数据驱动的供应链需求预测方法,包括以下步骤:
101.对商品数据进行数据预处理操作;
102.根据商品历史销售数据划分数据集;
103.对划分的数据集进行特征工程构建操作;
104.对构建的特征进行特征选择;
105.建立机器学习模型,并进行模型融合操作;
106.通过构建的模型,预测商品未来一周的销量。
本发明主要通过对商品在用户的表现数据、商品信息、商品销售数据、商品sku映射表、商品促销价格表和平台活动时间表进行预处理和分析提取特征,建立机器学习模型并进行线性加权模型融合,从而准确预测商品未来一周的销量,为供应链提供数据基础和企业建立全球化供应链方案提供关键的技术支持。
上述步骤101对商品数据进行数据预处理操作具体步骤为:
由于商品数据中的价格和销量部分有缺失,若采取直接过滤的方法会丢失很多商品信息。从这里出发,把缺失的商品的价格和销量用同一类商品最近一周的价格和销量的均值进行填充。
具体地,步骤102根据商品历史销售数据划分数据集具体步骤为:
考虑到商品的销售量会受到节日、天气等因素的影响,我们统计商品历史一年每天的销量,然后过滤掉商品日销售量高于前三天商品日销售量均值3倍的天的数据。从这里出发,对过滤后的商品一年历史销售数据采用滑窗法,以7天为一个周期进行滑窗,从而构建多个训练窗口,扩大训练集数量。其中,验证集的构建采取5折交叉验证的方式,其中4份作为训练数据,1份作为验证数据。
所述步骤103对划分的数据集进行特征工程构建操作具体步骤为:
1031.基础特征:在商品信息数据中,商品销售价格、商品吊牌价格、商品在售天数、商品品牌、商品季节属性,其中连续型的属性首先可以直接作为特征处理;而对于不连续的属性,采取独热编码,编码后的特征全部为数值型,可以作为特征处理。
1032.时序特征:很多商品售卖都受时间的影响,往往存在时间衰减的关系,时间越近,影响因素越重要。考虑这一因素,对商品销量的最大值、最小值、均值、中位数、总和分别以最后1、2、3、5、7、10、14、21、28、35天的数据进行统计,以此来统计商品在不同时间内的销量信息。
1033.组合特征:LightGBM模型训练完成后可以输出特征的重要性,特征重要性越大,即判别性越高,使用基础特征和时序特征中特征重要性排名前40的特征构建了组合特征:将这40个特征两两相除可以得到1000个组合特征,然后使用LightGBM对这1000个组合特征单独训练模型,训练完成后得到特征重要性的排序,将特征重要性最高的前600个组合特征添加到原始特征体系中。
1034.排序特征:排序特征主要用比较不同商品的销售情况,把时序特征里面统计的所有商品销量的最大值、最小值、均值、中位数和总和进行全局排序和局部排序,全局排序是指把所有商品放在一起进行排序,局部排序是指把同一类商品的进行排序。
所述步骤104对构建的特征进行特征选择,具体步骤为:
在103特征工程部分,构建了一系列基础特征、时序特征、组合特征和排序特征,所有特征加起来接近1000维,而高纬度特征可能会导致两个问题,一是会导致维度灾难,二是容易导致过拟合。因此,需要用特征选择方法来降低特征维度。首先在LightGBM模型训练完后可以输出特征重要性,根据这个对特征重要性进行排序,选取特征重要性最大的400个特征。然后再用皮尔逊相关系数计算400个特征之间的相似度,如果两个特征相似度达到了90%及以上,则过滤掉这两个特征中特征重要度低的特征。最终剩下的特征就是特征选择后的特征,可以直接放到模型中训练。
所述步骤105建立机器学习模型,并进行模型融合操作操作具体步骤为:
1051.线性加权融合:首先利用前面提取的特征,构建ElasticNet Regression、catboost、XGBoost和LightGBM共四个模型,再计算四个模型的分数score,见公式(1),其中RMSE是模型的均方根误差,再通过公式(2)计算每个模型的线性加权融合的权重weight,i表示第几个模型,n表示模型数量,最后把四个模型的预测结果分别乘以模型对应的权重,再求和相加得到的值作为最终的预测结果。
1052.融合系数调优:在回归预测中,模型预测出来的值可能会整体偏小或者整体偏大,因此在进行线性加权融合的时候需要给预测偏低的模型较高的权重,给预测偏高的模型较低的权重。从这里出发,在模型原有的权重基础上,分别按步长0.05进行增减,直到在验证集上的score分数不再提高为止。
所述步骤107通过构建的模型,预测商品未来一周的销量操作具体步骤为:
把预测数据提取的特征放到构建好的模型训练,并进行模型融合,最终得到预测结果。
本发明的优点及有益效果如下
步骤102根据商品历史销售数据划分数据集。在划分数据前根据规则过滤掉商品日销售量高于前三天商品日销售量均值3倍的天的数据,有利于防止训练集中出现日销售量突变的情况。
步骤103对划分的数据集进行特征工程构建操作。其中组合特征涉及到特征的二次构造,可以充分挖掘特征信息,增强模型的鲁棒性。
步骤105建立机器学习模型,并进行模型融合操作操作。在融合系数调优部分,通过对融合系数进行调整,可以增强模型融合效果,更好的发挥模型的作用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供一种大数据驱动的供应链需求预测方法的流程图;
图2为本发明实提供一种大数据驱动的供应链需求预测方法中预测商品销量数据划分图;
图3为本发明提供一种大数据驱动的供应链需求预测方法中样本标签示例图;
图4为本发明提供一种大数据驱动的供应链需求预测方法中模型融合的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:一种大数据驱动的供应链需求预测方法,其包括以下步骤:
101.对商品数据进行数据预处理操作;
对商品数据进行数据预处理包括:把缺失的商品的价格和销量用同一类商品最近一周的价格和销量的均值进行填充。
102.根据商品历史销售数据划分数据集;
过滤掉商品日销售量高于前三天商品日销售量均值3倍的天的数据。对过滤后的商品一年历史销售数据采用滑窗法,以7天为一个周期进行滑窗,从而构建多个训练窗口,扩大训练集数量。其中,验证集的构建采取5折交叉验证的方式,其中4份作为训练数据,1份作为验证数据。
103.对划分的数据集进行特征工程构建操作;对特征工程进行构建是指商品历史销售数据构建基础特征、时序特征、组合特征和排序特征等。
①基础特征:在商品信息数据中,商品销售价格、商品吊牌价格、商品在售天数、商品品牌、商品季节属性,其中连续型的属性首先可以直接作为特征处理;而对于不连续的属性,采取独热编码,编码后的特征全部为数值型,可以作为特征处理。
②时序特征:很多商品售卖都受时间的影响,往往存在时间衰减的关系,时间越近,影响因素越重要。考虑这一因素,对商品销量的最大值、最小值、均值、中位数、总和分别以最后1、2、3、5、7、10、14、21、28、35天的数据进行统计,以此来统计商品在不同时间内的销量信息。
③组合特征:LightGBM模型训练完成后可以输出特征的重要性,特征重要性越大,即判别性越高,使用基础特征和时序特征中特征重要性排名前40的特征构建了组合特征:将这40个特征两两相除可以得到1000个组合特征,然后使用LightGBM对这1000个组合特征单独训练模型,训练完成后得到特征重要性的排序,将特征重要性最高的前600个组合特征添加到原始特征体系中。
④排序特征:排序特征主要用比较不同商品的销售情况,把时序特征里面统计的所有商品销量的最大值、最小值、均值、中位数和总和进行全局排序和局部排序,全局排序是指把所有商品放在一起进行排序,局部排序是指把同一类商品的进行排序。
104.对构建的特征进行特征选择;
首先在LightGBM模型训练完后可以输出特征重要性,根据这个对特征重要性进行排序,选取特征重要性最大的400个特征。然后再用皮尔逊相关系数计算400个特征之间的相似度,如果两个特征相似度达到了90%及以上,则过滤掉这两个特征中特征重要度低的特征。最终剩下的特征就是特征选择后的特征,可以直接放到模型中训练。
105.建立机器学习模型,并进行模型融合操作;参见图4。
首先利用前面提取的特征,构建ElasticNet Regression、catboost、XGBoost和LightGBM共四个模型,再计算四个模型的分数score,再计算每个模型的线性加权融合的权重weight,最后把四个模型的预测结果分别乘以模型对应的权重,再求和相加得到的值作为最终的预测结果。由于在回归预测中,模型预测出来的值可能会整体偏小或者整体偏大,因此在进行线性加权融合的时候需要给预测偏低的模型较高的权重,给预测偏高的模型较低的权重。从这里出发,在模型原有的权重基础上,分别按步长0.05进行增减,直到在验证集上的score分数不再提高为止。
106.通过构建的模型,预测商品未来一周的销量。
通过构建的模型,预测商品未来五周内每周的销量操作。把预测数据提取的特征放到构建好的模型训练,并进行模型融合,最终得到预测结果。