基于Prophet算法的服装面料需求预测研究
2021-05-09李亭立李长云王松烨
李亭立 李长云 王松烨
摘 要:针对目前服装面料需求数据周期非确定性导致预测精度差的问题,提出一种基于Prophet算法的服装面料需求预测模型。通过分析服装面料需求历史数据的时间序列特征构建Prophet模型,使用M公司面料数据集设计Prophet与LSTM的对比实验,并采用RMES以及MAE作为评价指标。实验结果表明:相比于LSTM,Prophet模型具有较高的预测精度且有效提升了服装面料需求时间序列预测的准确性。
关键词:Prophet模型;时间序列预测;LSTM;服装面料需求预测
中图分类号:TP18 文献标识码:A文章编号:2096-4706(2021)20-0095-04
Research on Clothing Fabric Demand Forecast Based on Prophet Algorithm
LI Tingli, LI Changyun, WANG Songye
(Hunan Key Laboratory of Intelligent Information Perception and Processing Technology, Hunan University of Technology, Zhuzhou 412007, China)
Abstract: Aiming at the problem of poor prediction accuracy caused by the uncertainty of clothing fabric demand data cycle, a clothing fabric demand prediction model based on Prophet algorithm is proposed. By analyzing the time series characteristics of clothing fabric demand historical data, the Prophet model is constructed, the comparative experiment between Prophet and LSTM is designed by using the fabric data set of M company, and RMES and MAE are used as evaluation indexes. The experimental results show that compared with LSTM, Prophet model has higher prediction accuracy and effectively improves the accuracy of clothing fabric demand time series prediction.
Keywords: Prophet model; time series prediction; LSTM; clothing fabric demand forecast
0 引 言
面料作为服装生产最主要的物质材料,在服装生产过程中占据显著地位,精准的服装面料需求预测是企业成功运营的关键。服装面料需求预测作为服装生产流程的一个重要环节,预测的效果直接影响企业前期面料备料情况,是解决供应链环节中面料库存问题的最直接手段[1]。
在实际发展应用中,服装企业在服装生产过程中对面料需求的不确定性、时间差异性和动态变化性对面料需求预测问题的解决提出了极大挑战。服装面料需求预测由于容易受到周期性、季节性以及促销活动和节假日等多种不确定因素的影响,导致预测精度低。本文研究一种基于Prophet算法的服装面料需求预测模型,满足服装企业对面料需求的高精度预测。这对提高服装企业经营及拉动经济增长具有重要现实意义。
在需求预测问题中,为了提高预测的准确性,常用的方法有时间序列预测法、因果关系预测法、专家预测法、灰色预测法、马尔科夫预测法[2]等。针对服装面料需求预测不确定性的特点,时间序列预测算法具有显著优势,能较好拟合时序历史数据。但传统的时间序列预测法如移动平均法、指数平滑法[3-5]等对受季节性、突发事件的时间序列预测拟合效果差,因此本文采用Prophet算法解决此问题,Prophet算法针对时间序列的周期性及季节性部分能较好拟合历史数据,对节假日及促销活动等特殊活动有很好的拟合效果,并且可以自定义突发事件的时间窗口,能有效提高服装面料需求预测的精度。本文以M公司DYX-45790型号服装面料2013年1月至2015年11月的服装面料需求历史订单数据为对象,研究基于Prophet算法服装面料需求预测模型的预测准确性。
1 Prophet模型基本原理
Prophet模型是Facebook于2017年发布的开源的时间序列预测框架[6]。Prophet适用于各种具有潜在特殊特征的预测问题包括广泛的业务时间序列问题,并且其对时间序列趋势变化点的检测、季节性、节假日以及突发事件具有更好的拟合效果。如图1所示,Prophet模型内部由循环中的分析师与自动化两部分构成一个循环体系。
Prophet模型是一个加法回归模型,它由三个核心部分trend(趋势项)、seasonality(季节项)及holidays(假期项)构成。Prophet模型基本组成如式(1)所示:
(1)趨势项:g(t)是趋势函数,它用于分析和拟合时间序列的非周期变化。可通过设置参数将模型分为饱和增长趋势模型或分段线性趋势模型。饱和增长趋势函数如式(2)所示:
(2)季节项:s(t)代表时间序列的周期性变化,可用于模拟周、月、年等各种周期变化趋势,由傅立叶级数表达,如式(4)所示:
(3)假期项:h(t)表示非周期性的不规律的假期影响。模型通过自定义假期列表实现节假日或突发事件场景下的预测。模型原理如式(5)所示:
(4)误差项:εt表示模型中未反映的噪声部分并假设噪声因子服从正态分布。
2 实验验证
2.1 数据来源
为验证模型的有效性及精确性,本文采用的实验数据来源于M公司2013年1月至2015年11月的DYX-45790型号服装面料需求历史订单。由于获取的M公司的服装面料需求历史订单数据以秒为单位存在,并且存在一些缺失值,不能直接用于模型预测。为使原始数据符合目标模型要求,需要对原始数据进行进一步处理。针对原始服装面料需求订单数据中的缺失值,采用同期数据均值进行填充。原始服装面料需求数据没有将数据聚合过于离散,不便于分析产品面料需求量的特征,采用按周重采样方法获得面料需求数据。经处理后的M公司DYX-45790型号服装面料需求数据如图2所示,可见在2013-2015年间DYX-45790型号面料需求数据波动明显,有明显的周期性和季节性趋势,整体呈下降趋势。
节假日通常由于放假及促销活动等原因会导致服装面料需求增加,在对服装面料需求预测时除了考虑正常趋势情况,还要考虑假期和突发事件情况下对服装需求量造成的影响。
2.2 实验环境
本实验使用Windowsl0 64位操作系统,intel(r)xeon(r) E3-1225 v5处理器,主频为3.30 GHz,内存为32 GB,基于Python3开发环境在Jupyter Notebook实现整个实验流程。
2.3 评价指标
本文采用均方根误差(RMES)及平均绝对误差(MAE)作为评价指标对模型的效果进行评估。RMES如式(6)所示,MAE如式(7)所示。当RMES、MAE评价指标的结果越小时,预测值与真实值之间误差越小,模型的预测精度越高,模型效果越好。
2.4 Prophet模型训练
考虑到周期性、季节性及节假日或特殊促销活动对服装面料需求的影响,通过Prophet模型对服装面料需求历史订单数据进行拟合并预测。时间序列越接近正态分布则数据的可用性会越高,也更能提高建模的准确性[7]。为保证模型效果,对将缺失值进行同期均值填充处理后的服装面料需求数据做log处理,如图3所示。
首先,实例化一个Prophet对象,使用fit方法实现模型的拟合。Prophet通过变化速率的突变及对趋势变化的幅度做稀疏先验来自动监测时间序列数据中的趋势突变点,通过调整趋势参数能有效防止过拟合的问题。本实验设置changepoint_prior_scale=0.5来增强趋势拟合效果,提高了趋势拟合的灵活性。然后,构建待预测日期数据框periods=60来预测未来两个月的面料需求量,设置季节性傅立叶级数为10。考虑到节假日对面料需求量不可忽视的影响,本实验创建了新的dataframe用于记录历史时间及待预测时间中出现的所有节假日,以此实现对节假日的专门建模。最后,拟合模型并得到训练结果,模型组成成分析结果如图4所示。Prophet模型将时间序列分解成分段线性趋势项(trend)、傅立叶级数季节项(weekly、yearly)和假期项(holidays)三大组成成分。全面分析面料需求量趋势,M公司DYX-45790型号面料需求量逐年下滑,在全年1、3、5、9月出现峰值,面料需求量很可观,但在6、11月出现滑坡。从周面料需求量趋势进行分析,周末面料需求量显著高于工作日。受到节假日的影响,在法定假期附近,面料需求量皆出现上涨趋势。
Prophet训练的预测结果如图5所示,模型灵活的通过深蓝色线拟合了黑色圆点代表的实际值,并且给出了未来6个月的预测值,浅蓝色区域表示了预测的合理范围yhat upper及yhat lower。
3 实验结果与分析
为了验证模型的预测性能,本文采用Prophet与LSTM作对比实验进行验证,采用RMES、MAE作为模型评价指标。各模型预测效果评价指标对比如表2所示。
结果表明,Prophet模型相较于人工神经网络LSTM模型,均方根误差及平均绝对误差均有所降低,表现更优;Prophet的RMES为3.691,MAE为3.073,评价指标越低,预测精度越高。这证明了本实验模型对于时间序列特征的面料需求量数据预测精度提高具有有效性,因此Prophet模型能更好地拟合历史数据特征,合理提升服装面料需求预测精度。
4 结 论
服装生产离不开面料的支撑,面料需求预测是服装生产企业经营管理的重要方面。为有效提升服装面料需求量的预测精度,以M公司DYX-45790型号服装面料2013年1月至2015年11月的服装面料需求历史订单数据为对象,首先分析服装面料需求量数据时间序列周期非确定性对服装面料需求历史订单数据进行预处理,然后构建基于Prophet算法的服装面料需求预测模型并对数据进行建模,最后,采用RMES、MAE作为评价指标与LSTM进行对比实验,通过评价指标衡量模型性能及预测精确度。实验结果表明:Prophet模型有效提升了面料需求量时间序列预测的准确性。在未来工作中,将进一步考虑不同模型的融合,进一步提高模型性能及预测精度。
参考文献:
[1] 江婷.D公司基于需求预测的运动服装面料库存优化研究 [D].上海:东华大学,2018.
[2] 董亚,杜景林,胡玉杰.基于K-means的模糊马尔科夫模型的降水预测 [J].现代电子技术,2021,44(19):85-89.
[3] GILBERT K. An ARIMA Supply Chain Model [J/OL].Management Science,2005,51(2):[2021-08-26].https://doi.org/10.1287/mnsc.1040.0308.
[4] 繆辉,唐晨添,罗露璐.基于ARIMA模型的新能源汽车销量预测 [J].企业科技与发展,2020(10):97-98.
[5] 常炳国,臧虹颖,廖春雷,等.基于选择性集成ARMA组合模型的零售业销量预测 [J].计算机测量与控制,2018,26(5):132-135.
[6] TAYLOR S J,LETHAM B. Forecasting at scale [J/OL].PeerJ Preprints,2017. [2021-08-26].https://doi.org/10.7287/peerj.preprints.3190v2.
[7] 苏新.基于Prophet-LSTM组合模型的服装销售预测研究 [D].镇江:江苏科技大学,2020.
作者简介:李亭立(1997—),女,汉族,湖南岳阳人,硕士在读,研究方向:工业大数据;
李长云(1971—),男,汉族,湖南耒阳人,二级教授,博士,研究方向:软件理论、物联网工程、人工智能;
王松烨(1996-),男,汉族,河北石家庄人,硕士在读,研究方向:边缘计算。