本发明涉及数据处理领域,具体而言,涉及一种订单量预估方法及装置、电子设备。
背景技术:
现有的对订单量进行预估的技术方案包括简单平均、时间序列预估和回归模型等。
简单平均是把过去一段时间的订单的平均值作为订单预估值。该方法太过简单,预估准确率不高。
时间序列预估同样是基于过去一段时间的订单数据进行预估,但是预估方法比较复杂。简单平均可以看做最简单的一种时间序列预估方法。常见的时间序列预估方法为指数平滑。所谓指数平滑,即基于过去的订单逐渐减弱的影响程度,随着时间的远离,赋予逐渐收敛为零的权重。任一期的指数平滑值都是本期实际订单值与前一期经过指数平滑得到的订单值的加权平均。根据平滑次数的不同,指数平滑法分为:一次指数平滑法、二次指数平滑法和三次指数平滑法等。一次指数平滑的预测结果为一个常数。二次指数平滑是对一次指数平滑的再次平滑,预测结果为在几何上可以看做是一条直线。三次指数平滑是对二次指数平滑的再次平滑。指数平滑方法虽然应用比较广,但是由于只考虑了历史订单,而忽略了和订单量相关的其他因素,所以准确率上有所不足。
回归模型是在综合考虑多种特征的基础之上建立多种特征和订单量的函数关系,最后通过这个函数关系来对订单量进行预测。回归模型虽然考虑了很多特征,但是由于每个特征之间的量纲和属性的不同,比如订单量和天气特征之间的巨大差异,学习出来的模型可解释性较差,我们很难判断某种天气对订单的具体影响是什么,进而影响预估准确率。
技术实现要素:
有鉴于此,本发明提供一种能够提高预估准确率的订单量预估方法及装置、电子设备。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种订单量预估方法,其包括:
获取当前日期之前预设时间段内每天订单量的真实值;
根据所述每天订单量的真实值获得趋势信息以根据所述趋势信息获得每天订单量的预估值;
根据所述每天订单量的真实值与所述每天订单量的预估值的比较结果训练拟合模型;及
结合所述趋势信息与所述拟合模型获得待预估日期的订单量的预估值。
根据本发明的另一方面,提供一种订单量预估装置,其包括:
订单量获取模块,用于获取当前日期之前预设时间段内每天订单量的真实值;
趋势信息获取模块,用于根据所述每天订单量的真实值获得趋势信息以根据所述趋势信息获得每天订单量的预估值;
建模模块,用于根据所述每天订单量的真实值与所述每天订单量的预估值的比较结果训练拟合模型;及
预估模块,用于结合所述趋势信息与所述拟合模型获得待预估日期的订单量的预估值。
根据本发明的再一方面,提供一种电子设备,其包括
处理器;以及
存储器,其上存储有可在所述处理器上运行的计算机程序;
所述处理器执行所述计算机程序以实现前述方法的步骤。
根据本发明的再一方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
在本申请提供的订单量预估方法中,根据所述每天订单量的真实值获得趋势信息以获得每天订单量的预估值,根据所述每天订单量的真实值与所述每天订单量的预估值的比较结果建立拟合模型;在获得拟合模型后,结合所述趋势信息以及所述拟合模型来获得某个特定日期的订单量的预估值。通过趋势信息可以得到订单量的初步的预估值,但是该预估值并不准确,通过建立拟合模型来对该预估值予以修正,从而可以得到更准确的预估值,进而提高预估准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的一种订单量预估方法的流程图。
图2是根据一示例性实施方式示出的一种订单量预估方法的流程图。
图3是根据一示例性实施方式示出的一种订单量预估方法的流程图。
图4是根据一示例性实施方式示出的一种订单量预估方法的流程图。
图5是根据一示例性实施方式示出的一种订单量预估方法的流程图。
图6是根据一示例性实施方式示出的一种订单量预估装置的框图。
图7是根据一示例性实施方式示出的一种订单量预估装置的框图。
图8是根据一示例性实施方式示出的一种订单量预估装置的框图。
图9是根据一示例性实施方式示出的一种订单量预估装置的框图。
图10是根据一示例性实施方式示出的一种订单量预估装置的框图。
图11是根据一示例性实施方式示出的一种电子设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
图1是根据一示例性实施方式示出的订单量预估方法的流程示意图。请参阅图1,本发明实施方式的订单量预估方法可包括:
步骤S1,获取当前日期之前预设时间内每天订单量的真实值。
步骤S2,根据每天订单量的真实值获得趋势信息以根据所述趋势信息获得每天订单量的预估值。
步骤S3,根据所述每天订单量的真实值与所述每天订单量的预估值的比较结果训练拟合模型。
步骤S4,结合趋势信息及拟合模型获得待预估日期的订单量的预估值。
现在技术在进行订单量预估时,一般采用单一的方法,例如,仅采用时间序列算法预估订单量,或者仅采用单一模型预估订单量,容易导致预估准确率较低或模型的可解释性差的问题。以时间序列算法为例,其仅能根据过去的数据获得订单量的大概趋势,预估准确率较低。
而在本发明实施方式中,采用了两种或两种以上的预估方法相结合的方式,可以使预估更加准确,并有较好的可解释性。例如,可先根据过去一段时间每天订单量的真实值得到订单量的趋势信息。该趋势信息能描述订单量的大致趋势,例如随着公司的正常发展、营销推广,虽然因各种各样的因素会有大大小小的波动,订单量是逐渐上升的态势,该趋势信息应能大致体现这一态势。
然而趋势信息只是大概反映订单量的变化趋势而并不能准确地预测,因此本实施方式的订单预估方法在趋势信息的基础上再建立一个拟合模型以更好地反映订单量的变化,即根据订单量的真实值与预估值的比较结果来建立拟合模型以体现趋势信息所不能反映的更细化的波动信息。
趋势信息可以通过不同的方式获得。例如,可以采用时间序列预估方法获得趋势信息,也可以采用回归模型的方式获得趋势信息,后文将详细描述趋势信息的获得。拟合模型可以通过不同的方式建立。例如,拟合模型可以是包含多种参数的回归模型,例如线性回归、多项式回归、岭回归等。将趋势信息与拟合模型结合来预测订单量可弥补彼此的不足以提升整体预估过程的准确度及可解释性,从而至少解决现有技术存在的全部或部分问题。应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
在本发明一实施方式中,拟合模型可以包括第一回归模型。具体而言,步骤S3(参见图2)可包括:
步骤S301,将当前日期之前预定时间集的预定特征的值作为输入变量值,并将预定时间集的每天订单量的真实值与预估值的比较结果作为输出目标值,生成第一训练集;及
步骤S302,基于第一训练集训练第一回归模型并得到预定特征对应的权重。
拟合模型可以是一个回归模型(本文中称作第一回归模型),回归模型与步骤S2中的趋势信息的不同之处在于,趋势信息仅根据过去一段时间的订单量数据获得,而回归模型根据过去多天的数据建立训练集并引入了一个或多个可能对订单量有影响的预定特征,例如天气、假期情况、订单优惠情况等,以更好地拟合真实值,并使模型有更好的可解释性。或者,也可理解为趋势信息仅以一段时间的每天的订单量作为唯一特征,而步骤S3中的拟合模型(例如回归模型)包含订单量之外的其他一个或多个特征。
第一回归模型例如可以采用如下函数表达:y=a0+a1×x1+a2×x1+……+akxk,y为该函数的输出,x1、x2、…xk表示各个预定特征,k表示预定特征(包括天气、假期情况、订单优惠情况等)的个数,a0、a1、a2、…ak为回归系数,也称作解释系数,也就是本申请中各个预定特征的权重,通过模型训练可以得到回归系数a0、a1、a2、…ak的值,也就得到了各个预定特征的权重。
可在每次进行预测时实时对拟合模型进行训练并得到最新的权重,同时也实时获得最新的趋势信息。这样是基于最新的拟合模型及趋势信息进行预测,可提升预测的准度。例如,若对今天的订单量进行预测,采用最近一个月的数据,显然比采用半年前的一个月的数据能得到更准确的趋势信息;采用最近一年的数据,比采用前年一年的数据能得到更接近今天情况的拟合模型及权重。其中,预定特征可包括以下特征的其中之一或者任意组合:假期、天气、订单优惠参数、平均配送费用、平均配送时间。假期特征可包括是否是假期、周几等。天气特征可包括常见的天气状况,阴晴雨雪等,以及气温。订单优惠特征可包括是否开户红包、红包比例及首购用户的比例等。这些预定特征是经过试验认为对订单量可能有较大影响的特征,然而本发明并不限于这些特征。在实际进行预估时,不同城市的情况不同,也可采用不同的预定特征以适应每个城市的情况。
预定特征的值是已知的,例如过去某天的天气是晴是雨为已知,是周末还是工作日为已知。而预定特征对订单量的影响程度大小,即在模型中的权重,是未知的。训练第一回归模型的目的就是,求解模型中各预定特征的权重大小,从而使第一回归模型确定(即其表达式确定),以实现将待预估日期的各预定特征的值代入表达式就可得到预估数据。为达此目的,可将真实值与步骤S2中得到的预估值的比较结果作为第一回归模型的输出目标值。
将真实值与步骤S2中得到的预估值的比较结果作为第一回归模型的输出目标值来训练第一回归模型,可以使得训练好的第一回归模型更具解释性。具体而言,例如,在训练第一回归模型时,真实值与步骤S2中得到的预估值的比较结果的比值为0.9,说明真实订单量下降了10%。训练好的第一回归模型的对应于天气、订单优惠参数、假期等特征的权重可以体现天气、订单优惠参数、假期等特征对于10%这一订单量下降的贡献。换句话说,在本申请的技术方案中,在训练第一回归模型时,将真实值与步骤S2中得到的预估值的比较结果作为第一回归模型的输出目标值来训练第一回归模型,而不是以订单量的真实值作为第一回归模型的输出目标值来训练第一回归模型,使得第一回归模型的输出体现一种变化趋势,而不是一个绝对数值,进而使得训练得到的各个权重能够体现对于这一变化趋势的影响。训练好的第一回归模型的各个权重可以很好地解释天气、订单优惠参数、假期等预定特征对于订单量变化趋势的影响。
由于各预定特征对订单量的影响往往是成比例的,例如若正常情况下订单量规模为100万,在雾霾天气的影响下,订单量可能增加到110万,即增加为1.1倍,而若订单量规模为10万,在同样的雾霾天气的影响下,订单量可能仅增长为11万,同样增加为1.1倍。因此采用比值作为输出目标值能较好地反映这一比例关系。
此外,值得说明的是,训练集样本可以选取自从过去一段连续的时间,例如将过去一年半每一天的订单量数据作为样本,或者,可以选取自过去多段时间,或者离散的日期集合。
在各预定特征的权重确定后,第一回归模型的表达式确定,即可进行对待预估日期的订单量的预估。请参阅图3,在本实施方式中,进一步地,步骤S4可包括:
步骤S401,根据趋势信息获得待预估日期的第一预估值;
步骤S402,将待预估日期的预定特征的值输入第一回归模型获得第二预估值;及
步骤S403,将第一预估值和第二预估值的乘积作为待预估日期的订单量的最终预估值。
通过趋势信息可获得待预估日期的第一预估值,即一个粗略的预估值。通过将待预估日期的各个预定特征的值代入各预定特征的权重已确定了的第一回归模型,可得到输出的第二预估值。通过之前的描述可知,该第二预估值其实是一个比值,代表真实值与第一预估值的比例关系。因此,将第一预估值与第二预估值相乘,即可得到最终预估值。
下面具体描述如何根据所述每天订单量的真实值获得趋势信息以根据趋势信息获得每天订单量的预估值。
一种方式是通过时间序列预测方式来获得趋势信息。例如可以采用一阶指数平滑方法。
例如,将某城市最近一段时间内每天的订单(例如最近30天每天的订单)构成的订单序列按时间升序排列,然后按照一阶指数平滑公式对每天的订单量进行预测,这样就可以获取每天订单量的预估值。按照一阶指数平滑公式,每天订单量的预估值都是基于前一天的订单量的预估值、前一天的订单量的实际值以及平滑系数,因此前30天中每天的订单量预估值以及该平滑系数可以反映订单量的趋势,因而可以看作是趋势信息。
另一种方式是建立第二回归模型来获得趋势信息。请参阅图4,在某些实施方式中,步骤S2可以包括:
步骤S201,根据每天订单量的真实值训练第二回归模型获得趋势信息;及
步骤S202,根据趋势信息获得每天订单量的预估值。
在该实施例中,使用回归模型对过去一段时间(如30天)的订单量进行建模,得到待预估日期的订单预估值。
可以以过去一段时间的订单量真实值作为特征进行建模。具体地,请参阅图5,在某些实施方式中,步骤S201可以包括:
步骤S2011,确定第一预定时间段及第二预定时间段;
步骤S2012,将第一预设时间段内每天订单量的真实值作为输出目标值,并将第一预定时间段内每天之前第二预定时间段内每天订单量的真实值作为输入变量值,生成第二训练集;及
步骤S2013,基于第二训练集训练第二回归模型获得趋势信息。其中,可训练第二回归模型以得到所述第二预定时间段内每天订单量的真实值对应的权重,该权重可以体现订单量的趋势,因而可以看作是趋势信息。
这种第二回归模型的建立方法与前文中第一回归模型的建立相似,同样是求取每个特征的权重从而确定模型,这里使用的第二回归模型和前文中第一回归模型的不同在于使用的是过去一段时间的订单数作为特征。
例如,第一预定时间段设定为20天,第二预定时间段设定为30天,则针对第一预定时间段的每一天(即第1-20天)的订单量真实值,分别找出其对应的前30天的每天订单量真实值,如此形成一对输出目标值及输入变量值。如此共形成20对输出目标值及输入变量值,作为第二训练集。通过第二训练集来训练第二回归模型,可以得到多个回归系数(即第二回归模型中每个特征值的权重)。
对于多个城市的情况也可以采用上述方法。例如,共有M个城市,每个城市的第一时间段可以为20天,那么就有M*20个样本作为第二训练集。
在本申请的实施例中,如果趋势信息获取步骤和拟合模型训练步骤中都使用回归模型,则对外部的依赖更少,更易实施。这种方式实际上反映了一种boosting思想,是一种双层回归模型,这可以有效提高订单预估的准确度,同时模型具有可解释性。
综合上文,根据本发明实施方式的订单量预估方法,趋势信息的获取与拟合模型的建立可采用不同的方法,二者结合进行预估可弥补彼此的不足从而提升整体预估过程的准确度及可解释性。
另外,根据一些实施例,订单量预估方法中趋势信息的获取可采用一阶指数平滑算法,属于时间序列方法的一种,能很好地描述订单量随时间变化的大致趋势,拟合模型可采用回归模型,可解得各个预定特征的权重,并能更准确地描述模型,如此,二者的结合可进行较准确的预测,并有较好的可解释性。此外,趋势信息也可通过回归模型获得,这样对外部的依赖更少,更易实施。
请参阅图6,本发明还提供了一种订单量预估装置100,其包括:
订单量获取模块110,用于获取当前日期之前预设时间段内每天订单量的真实值;
趋势信息获取模块120,用于根据每天订单量的真实值获得趋势信息以根据趋势信息获得每天订单量的预估值;
建模模块130,用于根据每天订单量的真实值与每天订单量的预估值的比较结果训练拟合模型;及
预估模块140,用于结合趋势信息与拟合模型获得待预估日期的订单量的预估值。
请参阅图7,在某些实施方式中,拟合模型可以包括第一回归模型;
建模模块130可包括:
第一训练集生成子模块131,用于将当前日期之前预定时间集的预定特征的值作为输入变量值并将预定时间集的每天订单量的真实值与预估值的比较结果作为输出目标值以生成第一训练集;及
第一训练子模块132,用于基于第一训练集训练第一回归模型并得到预定特征对应的权重。
在某些实施方式中,比较结果可以包括每天订单量的真实值与预估值的比值。
请参阅图8,在某些实施方式中,预估模块140可包括:
第一预估子模块141,用于根据趋势信息获得待预估日期的第一预估值;
第二预估子模块142,将待预估日期的预定特征的值输入第一回归模型获得第二预估值;及
最终预估子模块143,用于将第一预估值和第二预估值的乘积作为待预估日期的订单量的最终预估值。
在某些实施方式中,预定特征包括以下特征的其中之一或者任意组合:假期、天气、订单优惠参数、平均配送费用、平均配送时间。
在某些实施方式中,趋势信息获取模块120用于根据每天订单量的真实值采用一阶指数平滑算法获得趋势信息以获得每天订单量的预估值。
请参阅图9,在某些实施方式中,趋势信息获取模块120可以包括:
建模子模块121,用于根据每天订单量的真实值训练第二回归模型以获得趋势信息;及
估测子模块122,用于根据趋势信息获得每天订单量的预估值。
进一步地,请参阅图10,在某些实施方式中,建模子模块121包括:
确定子模块1211,用于确定第一预定时间段及第二预定时间段;
第二训练集生成子模块1212,用于将第一预设时间段内每天订单量的真实值作为输出目标值并将第一预定时间段内每天之前第二预定时间段内每天订单量的真实值作为输入变量值以生成第二训练集;及
第二训练子模块1213,用于基于第二训练集训练第二回归模型并得到第二预定时间段内每天订单量的真实值对应的权重。
本发明实施方式的订单量预估装置100,可用于实现本发明实施方式的订单量预估方法。对于本发明实施方式的订单量预估装置100中未披露的细节,请参照本发明实施方式的订单量预估方法,在此不作赘述。
请参阅图11,本发明还提供了一种电子设备1300,该电子设备可以包括存储器1301和处理器1302。存储器1301上存储有可在处理器1302上运行的计算机程序。处理器1302执行计算机程序可以实现本文描述的方法。
存储器1301可以是各种由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
该电子设备1300可以是具备计算和处理能力的各种设备,除了存储器1301和处理器1302之外,还可以包括各种输入设备(例如用户界面、键盘等)、各种输出设备(例如扬声器等)、以及显示设备,本文在此不再赘述。
本申请还提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器1302执行时实现本文描述的方法。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。