优秀作品 作品名称:产品订单分析与需求预测荣获奖项:特等奖并获泰迪杯作品单位:武汉轻工大学作品成员:郝青松 陆家驹 谭奥成指导老师:卢冬晖封面为后期添加,原作品没有此页。 产品订单分析与需求预测 摘要 需求预测是企业供应链管理的基础,高效、准确的需求预测有助于采购计划和生产计划制定,减少业务波动影响。对于不规则时间序列数据,不同时间粒度趋势、波动、突变不同,因此以月、周、天为时间粒度,基于多个特征,采用不同建模方法预测订单需求量。 针对问题一,基于小样本、不规则时间序列数据进行预处理,BGCP算法通过贝叶斯张量分解对不规则时间序列进行插补。剔除重复样本,使用隔离森林算法与四分位法确定异常样本,并分区域利用随机消除训练BGCP算法,得到各区域最优参,修正异常样本。 研究不同因素对产品订单需求量影响。观察核密度估计图、柱状图,发现当产品价格在600∼800时,订单需求量最大,升降价格都会导致订单下降,说明该价位被普遍接受。根据方差分析,认为不同区域产品有显著差异。观察各区域箱型图,发现101、102、105区域订单需求量整体偏高,105区域订单需求量稳定。观察箱型图、柱状图,发现线下订单需求量总和高于线上,比线上更稳定,但线上订单需求量中位数比线下高。观察各细类产品直方图、箱型图,发现406、410、411类产品需求量分布较为集中。402、403、404类产品需求量中位数高。401、408、409需求量分布均匀,订单需求量稳定。 研究时间趋势对产品订单需求量影响。根据时序图,可知产品2月、7月总需求量最低,10月总需求量达到峰值。月头需求量较少,月末需求量最大。观察柱状图、箱型图,发现节假日平均需求量比非节假日高,尤其是元旦假期间。观察箱型图,发现双十一促销活动比618产品平均需求量高,但618期间产品需求量更稳定。观察季节时序图发现每年秋季产品需求量最大,夏季最小,呈现明显季节趋势。各季节产品订单需求量中位数基本一致。 针对问题二,对历史数据进行特征工程,增加时间、节假日、促销、滞后等15个特征。考虑到各特征具有时序特性,且大多为非线性影响,使用MMIFS算法来量化各个特征与订单需求量间相关性,根据相关性强弱挑选出了12个特征进行训练。使用CRU模型、DeepAR模型和Prophet模型来针对不同时间粒度需求量建模,以时间滚动交叉检验MSE作为模型评估标准。在以天为时间粒度预测上,CRU模型表现最优,这得益于其时间增量和时间扭曲模块对不规则时间建模的优势以及HuberLoss损失函数。在测试集上,CRU模型的MSE为0.601。在以周为时间粒度上,DeepAR模型对周期趋势较为敏感,预测表现最优,测试集上MSE为0.475。在以月为时间粒度的小样本上Prophet模型使用时序分解模块,表现最优,测试集上MSE为0.310。 本文针对数据特点,对比多种方法,选用表现最优模型,通过交叉检验评估验证了模型有效性,能够有效运用于其他不规则时序需求预测问题。 关键词:不规则时间序列BGCP插补CRU模型DeepAR模型Prophet模型 目录 一、引言· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·1 1 . 1背景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·11 . 2问题· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·1 二、问题分析· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·1 三、数据预处理· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·2 3 . 1缺失与重复样本处理· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·23 . 2异常样本分析· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·23 . 3 BGCP修正异常样本· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 4 . 1产品价格与需求量分析· · · · · · · · · · · · · · · · · · · · · · · · · · · ·64 . 2产品区域与需求量分析· · · · · · · · · · · · · · · · · · · · · · · · · · · ·74 . 3销售方式与需求量分析· · · · · · · · · · · · · · · · · · · · · · · · · · · ·104 . 4各类产品需求量特性· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·124 . 5各时段产品需求量特性· · · · · · · · · · · · · · · · · · · · · · · · · · · ·144 . 6节假日产品需求量分析· · · · · · · · · · · · · · · · · · · · · · · · · · · ·164 . 7促销与产品需求量分析· · · · · · · · · · · · · · · · · · · · · · · · · · · ·174 . 8各季节产品需求量分析· · · · · · · · · · · · · · · · · · · · · · · · · · · ·19 5 . 1特征工程· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·225 . 2 MMIFS特征选择· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·235 . 3日订单需求量预测· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·245 . 3 . 1 CRU模型· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·255 . 4周订单需求量预测· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·285 . 4 . 1 DeepAR模型· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·285 . 5月订单需求量预测· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·315 . 5 . 1 Prophet模型· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·315 . 6各时间粒度预测分析· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·35六、模型评价· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·35参考文献· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·36 一、 引言 1 . 1背景 近年来,企业面临着日益不稳定和复杂外部环境,导致供应链管理面临着诸多挑战。需求预测作为供应链管理的基础,对企业至关重要。需求预测有利于公司管理层制定销售及运营计划、目标,以及资金预算。此外,需求预测还有助于采购计划和生产计划制定,从而减少业务波动影响。 如果需求预测不准确,将导致公司管理层对市场预测不足,产生库存和资金积压或不足等问题,增加企业库存成本。由于需求预测受多种因素影响,预测准确率普遍较低,因此,需要通过优秀的算法来提高需求预测准确性,从而更好地管理企业供应链。 1 . 2问题 (1)对产品销售数据进行深入分析,包括但不限于: •产品价格对需求量影响•产品所在区域对需求量影响,以及不同区域产品需求量特性•不同销售方式产品需求量特性•不同品类间产品需求量异同点•节假日对产品需求量影响•促销对产品需求量影响•季节因素对产品需求量影响 (2)建立数学模型,分别按天、周、月时间粒度,预测部分产品未来3个月需求量,并分析不同预测粒度对预测精度有何影响。 二、 问题分析 问题一分析:对数据进行预处理,剔除重复样本,使用隔离森林算法与四分位法确定异常样本,并使用BGCP算法修正异常样本。分别对价格、区域、销售方式、品类、节假日、促销、季节等因素进行分析。 问题二分析:首先根据数据构造特征工程,使用MMIFS算法对特性进行选择。然后分别使用CRU模型、DeepAR模型和Prophet模型对天、周、月时间粒度产品订单需求量进行预测,根据时间滚动交叉检验MSE选择最优模型。最后对各时间粒度模型预测效果进行分析。 三、 数据预处理 3 . 1缺失与重复样本处理 将产品销售数据导入python中,检查数据格式,将“订单日期”列转换为datetime格式。对数据进行缺失和重复检查,未发现缺失数据,但是有312个重复样本。保留首次出现的样本,并将其余重复样本剔除。 3 . 2异常样本分析 绘制各产品价格与需求量箱线图,发现有部分产品存在明显异常,比如10321801301405产品,如表31。 因为产品价格与需求量可能出现粗大偏差,且各产品历史销售样本较少,定义异常点识别规则: 其中,ci表示c产品i时刻价格;cq3表示c产品价格第3个四分位数;cq1表示c产品价格第1个四分位数;ciqr表示c产品价格四分位距;α表示异常容忍阈值。 使用四分位数可以尽量避免因粗大误差导致各统计量不准确的情况。考虑到各产品可能存在销售旺季、淡季以及促销活动等导致产品价格或需求量出现波动,将α定为2。 隔离森林[11](Isolation Forest)是一种基于树结构的异常检测算法。该算法可以在线性复杂度下构建树结构,快速定位异常样本。同时隔离森林还能嵌入时序信息,适用于时间序列异常检测。将四分位法与隔离森林交集认定为异常样本。部分产品价格异常样本数量如表32。 同样的,对产品需求量进行检查,部分产品需求异常样本数量如表33。 3 . 3 BGCP修正异常样本 BGCP[6](Bayes