具有可定制机器预测的可扩展软件工具

文档序号:1220271 发布日期:2020-09-04 浏览:14次 >En<

阅读说明:本技术 具有可定制机器预测的可扩展软件工具 (Extensible software tool with customizable machine prediction ) 是由 雷明 C·波佩斯库 W·L·埃特基德 于 2019-10-14 设计创作,主要内容包括:提供了使用可扩展软件工具来执行可定制机器预测的系统和方法。可以接收包括经训练的机器学习模型的特征的规范,并且可以生成用于经训练的机器学习模型的接口。可以使用该接口来加载经训练的机器学习模型,该加载的机器学习模型包括被配置为接收数据作为输入并且生成预测数据作为输出的二进制文件。可以使用根据多维数据模型存储的观察数据来生成预测,其中观察数据的一部分被输入到已加载的机器学习模型以生成第一数据预测,并且观察数据的一部分被通用预报模型用于生成第二数据预测。可以在被配置为显示多维数据模型的交集的用户界面中显示第一数据预测和第二数据预测。(Systems and methods for performing customizable machine predictions using extensible software tools are provided. A specification including features of the trained machine learning model may be received and an interface for the trained machine learning model may be generated. The interface may be used to load a trained machine learning model that includes a binary file configured to receive data as input and generate predicted data as output. Predictions may be generated using observation data stored from a multidimensional data model, where a portion of the observation data is input to a loaded machine learning model to generate a first data prediction, and a portion of the observation data is used by a generic forecasting model to generate a second data prediction. The first data prediction and the second data prediction may be displayed in a user interface configured to display an intersection of the multidimensional data model.)

具有可定制机器预测的可扩展软件工具

技术领域

本公开的实施例一般而言涉及具有可定制机器预测的可扩展软件工具。

背景技术

用于实体和/或场景的数据规划(planning)、分析和处理为组织生成了实实在在的利益。例如,规划和预报方面的增强可以提高供应和/或物流效率,并可以更好地利用资源。实现这样的数据规划、分析和处理可能是有挑战性的,特别是当实体包括之间具有许多依赖性的大量不同部门和子部门时。这种情况需要复杂的数据存储和建模、检索、分析和显示技术,以实现期望的规划和预报结果。此外,可以通过使用各种不同的算法或预测模型来实现规划、预报和/或数据预测,从而为整个软件系统增加了额外的复杂性。在这样复杂的软件系统内高效并有效实现各种预测模型的系统可以提供更高的灵活性,同时维持稳健的规划和预报解决方案。

发明内容

本公开的实施例一般而言针对用于使用可扩展软件工具来执行可定制机器预测的系统和方法,该系统和方法对现有技术进行了实质性的改进。

可以接收至少包括经训练的(trained)机器学习模型的特征的规范。可以基于接收到的规范来生成用于经训练的机器学习模型的接口。可以使用生成的接口来加载经训练的机器学习模型,经训练的机器学习模型包括被配置为接收数据作为输入并生成预测数据作为输出的二进制文件。可以使用根据多维数据模型存储的观察数据(observed data)来生成预测,其中观察数据的一部分被输入到已加载的经训练的机器学习模型中以生成第一数据预测,并且观察数据的一部分被通用预报模型用于生成第二数据预测。可以在被配置为显示多维数据模型的交集(intersection)的用户界面中显示第一数据预测和第二数据预测。

实施例的特征和优点在下面的描述中阐述,或者从描述中显而易见,或者可以通过本公开的实践来学习实施例的特征和优点。

附图说明

通过以下结合附图对优选实施例的详细描述,进一步的实施例、细节、优点和修改将变得显而易见。

图1图示了根据示例实施例的用于使用可扩展软件工具来执行可定制机器预测的系统。

图2图示了根据示例实施例的可操作地耦合到系统的计算设备的框图。

图3A-图3B图示了根据示例实施例的多维数据模型的层次维度(hierarchicaldimension)。

图4图示了根据示例实施例的用于在图形用户界面中使用可扩展软件工具来显示可定制机器预测的用户界面。

图5图示了根据示例实施例的用于在图形用户界面中显示针对多维数据的交集的可定制机器预测的用户界面。

图6图示了根据示例实施例的用于使用可扩展软件工具来执行可定制机器预测的流程图。

图7图示了根据示例实施例的用于训练和上载可定制机器学习模块以与可扩展软件工具一起使用以执行机器预测的流程图。

图8图示了根据示例实施例的包括如本文公开的改进的规划和供应动作的集成的供应商、库存和物流系统。

具体实施方式

实施例使用可扩展软件工具来执行可定制机器预测。在一些实施例中,诸如经训练的机器学习模型之类的预测模型可以被上载到软件工具以便执行可定制机器预测。例如,软件工具可以使用诸如线性回归之类的内置预测模型来执行数据预测或预报。实施例提供用于加载可定制经训练的模型的接口,该可定制经训练的模型诸如可以用于执行可定制数据预测的神经网络模型、支持向量机模型、专门的回归模型(例如,Deming回归、岭回归、Lasso回归等)、随机森林模型等。

在一些实施例中,软件工具(例如,规划软件和/或库存系统软件)可以对根据多维数据模型存储的数据执行数据分析。例如,多维数据模型可以包括数据的多个维度(例如,以层次结构组织),其中数据元素可以代表多个维度的交集。基于存储的数据(例如基于一段时间内的观察生成并存储的数据),可以执行对于将来数据的机器预测。在示例中,存储的数据可以是给定产品在一段时间内的销售数据,并且机器预测可以是在未来一段时间内对该产品的需求预报。

在一些实施例中,可以使用带有软件工具的内置模型(诸如线性回归)或使用来自外部源(诸如外部客户端)的加载的预测模型来实现机器预测。例如,加载的预测模型可以包括各种类型的模型(例如,神经网络、支持向量机、专门的回归等),并且可以使用外部源可用的任何数据进行训练。在一些实施例中,外部源有权访问可以用于训练软件工具不可用的预测模型的机密数据。

例如,外部源可以是销售产品的零售实体,并且该零售实体可以存储关于产品、销售或不可供他人使用的其它敏感信息的机密数据。在这个示例中,软件工具无权访问此机密数据,因此无法使用此机密数据来训练内置于软件工具中的任何预测模型。另一方面,实施例提供了可以使用此机密数据(除了其它数据之外)进行训练并加载到软件工具中的预测模型。在这些实施例中,软件工具将获得基于机器学习到的见解或来自机密数据的趋势来执行数据预测的功能,而无需将机密数据暴露给任何其它实体。

在一些实施例中,可以根据机器预测来执行运送。例如,在一些实施例中,机器预测可以是针对一个或多个产品的需求预报,并且基于该预报,可以在仓库和商店之间执行运送。当通过用机密数据训练的预测模型来执行数据预测时,该预测可以更准确地反映现实世界场景,因此可以以提高资源利用率的方式执行供应运送。

实施例相对于传统方法提供了许多改进。例如,传统上,零售商使用内部构建的系统或现成的商业解决方案(例如,来自软件供应商)来产生数据预测,诸如需求预报。对于前一种情况,零售商可能没有专门的资源来开发复杂的系统或者可能没有技术专长以开发稳健的软件工具。对于后一种情况,商业解决方案可能太笼统,以至于无法适应每个零售商的独特情况,尤其是当高级算法和/或模型存在问题时。

一些软件供应商允许一定程度的定制,但是这通常在范围上受到限制,特别是关于可以在工具内使用的算法/建模。例如,定制在软件工具的可用性和/或工作流功能中更为普遍。即使软件供应商允许进行分析定制,也将要求零售商共享其算法/分类数据,以使供应商能够实现定制。在许多情况下,零售商要求对其专有算法和分类数据保密,因此不愿与软件供应商共享此信息。因而,常规方法不能提供也维持机密性的可定制解决方案。

通过提供可以被加载到复杂软件工具的软件框架中的预测模型(例如,先前经训练的机器学习模型)的接口,实施例使用可扩展软件工具来执行可定制机器预测。例如,实施例可以显示各种数据预测,其中预测的第一部分使用内置预测模型来生成预报,而预测的第二部分使用已经被定制的加载模型来生成预报。在一些实施例中,软件工具基于多维数据模型内所存储数据的各种横截面来生成预测。这些实施例基于上载的预测模型以及复杂的软件工具的复杂数据存储、分析和处理实现了高度的定制。

实施例的优点包括可以用于生成预报的高级算法/模型的无限定制。此外,对于软件供应商而言,可以在软件工具内实现覆盖大多数或正常用例(例如,60%、70%、80%、90%等)的算法/模型,而无需在针对特定实体的细分(niche)用例上使用过多的资源。另外,要求机密性的实体在结合定制时可以避免暴露任何算法或机密信息。最后,由于为生成的模型生成了定制接口,因此实体可以高效地连续或定期更新定制模型。

现在将详细参考本公开的实施例,其示例在附图中示出。在以下详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,对于本领域普通技术人员显而易见的是,可以在没有这些具体细节的情况下实践本公开。在其它情况下,没有详细描述众所周知的方法、过程、组件和电路,以免不必要地模糊实施例的各方面。只要有可能,相同的标号将用于相同的元素。

图1图示了根据示例实施例的用于使用可扩展软件工具来执行可定制机器预测的系统。系统100包括用户界面102、应用104、应用数据存储装置106、原始数据存储装置108、云服务器110、软件服务120和外部客户端122。在一些实施例中,用户界面102可以包括用于与一个或多个应用(例如,云应用)和/或软件服务进行交互的多个用户界面。

例如,应用104可以包括云应用、本地存储的应用、web应用、小应用程序等。例如,应用102可以包括

Figure BDA0002587117940000051

零售需求预报(“RDF”)、零售预测应用服务器(“RPAS”)和其它合适的框架/服务的组件(并且用户界面102可以包括用于

Figure BDA0002587117940000053

RDF、RPAS等的用户界面)。例如,应用104可以为实体(例如,零售实体)提供规划和预报软件服务。在一些实施例中,特定于应用104的数据可以存储在应用数据存储装置106中,而原始数据可以存储在原始数据存储装置108中。例如,应用数据存储装置106可以包括组织方案(例如,可以是数据库,诸如数据库),而原始数据存储装置108可以存储非结构化(或结构化程度较低)的数据。

在一些实施例中,可以在基于云服务器110的云体系架构中实现应用104、应用数据存储装置106和/或原始数据存储装置108。在一些实施例中,应用104、应用数据存储装置106、原始数据存储装置108和云服务器110可以是软件服务120的一部分(例如,软件即服务、平台即服务、体系架构即服务等)。

实施例提供了可以被加载到软件服务中以提供增强的功能的可定制预测模型。在一些实施例中,外部客户端122可以在软件服务120外部(例如,与软件服务120分离),其中外部客户端122可以将可定制预测模型加载到软件服务120中。例如,应用104和/或应用数据存储装置106可以加载有可定制预测模型。可以执行功能112、114、116和118,以便设计、训练和加载可定制预测模型,并与所得到的预测进行交互。

例如,在112处,可以设计和开发预测模型。预测模型的设计可以包括任何合适的机器学习模型组件(例如,神经网络、支持向量状态机、专门的回归模型(诸如Deming回归、岭回归或Lasso回归)、随机森林模型等)。在114处,可以例如使用训练数据(例如,机密数据和非机密数据)来训练预测模型。在一些实施例中,可以组合、重新布置和/或迭代112和114,使得可以调整预测模型并且可以生成定义预测模型的规范。

在116处,可以将经训练的模型上载到例如软件服务120。一旦上载,应用104就可以使用上载的预测模型来执行定制数据预测或预报,并且可以例如使用用户界面102来显示数据预测。在118处,加载的预测模型的结果可以由外部客户端122与之进行交互。

图2是根据实施例的计算机服务器/系统200的框图。系统200的全部或部分可以用于实现图1中所示的任何元件。如图2中所示,系统200可以包括被配置为在系统200的各种组件(诸如处理器222和存储器214)之间传送信息的总线设备212和/或(一个或多个)其它通信机制。此外,通信设备220可以通过对要通过网络(未示出)从处理器222发送到另一个设备的数据进行编码以及对通过网络从另一个系统接收的针对处理器222的数据进行解码来实现处理器222与其它设备之间的连接性。

例如,通信设备220可以包括被配置为提供无线网络通信的网络接口卡。可以使用各种无线通信技术,包括红外、无线电、蓝牙Wi-Fi和/或蜂窝通信。替代地,通信设备220可以被配置为提供(一个或多个)有线网络连接,诸如以太网连接。

处理器222可以包括一个或多个通用或专用处理器,以执行系统200的计算和控制功能。处理器222可以包括单个集成电路(诸如微处理设备),或者可以包括协同工作以完成处理器222的功能的多个集成电路设备和/或电路板。此外,处理器222可以执行存储在存储器214内的计算机程序,诸如操作系统215、预测模块216和其它应用218。

系统200可以包括存储器214,用于存储信息和由处理器222执行的指令。存储器214可以包含用于检索、呈现、修改和存储数据的各种组件。例如,存储器214可以存储在由处理器222执行时提供功能的软件模块。该模块可以包括为系统200提供操作系统功能的操作系统215。该模块可以包括操作系统215、被配置为执行企业规划和预报功能的预测模块216、以及其它应用模块218。操作系统215为系统200提供操作系统功能。在一些情况下,预测模块216可以被实现为存储器中配置。在一些实施方式中,当系统200执行预测模块216的功能时,其实现执行本文所公开的功能的非常规专用计算机系统。

非暂态存储器214可以包括可以由处理器222访问的各种计算机可读介质。例如,存储器214可以包括以下的任何组合:随机存取存储器(“RAM”)、动态RAM(“DRAM”)、静态RAM(“SRAM”)、只读存储器(“ROM”)、闪存、高速缓存存储器和/或任何其它类型的非暂态计算机可读介质。处理器222还经由总线212耦合到显示器224,诸如液晶显示器(“LCD”)。键盘226和光标控制设备228(诸如计算机鼠标)还耦合到通信设备212以使用户能够与系统200对接。

在一些实施例中,系统200可以是较大系统的一部分。因此,系统200可以包括一个或多个附加功能模块218以包括附加功能。其它应用模块218可以包括例如云基础设施、云平台、

Figure BDA0002587117940000083

云应用的各种模块。预测模块216、其它应用模块218和系统200的任何其它合适的组件可以包括零售需求预报(“RDF”)、

Figure BDA0002587117940000085

零售预测应用服务器(“RPAS”)和其它合适的框架/服务的各种模块。

数据库217耦合到总线212,以便为模块216和218提供集中存储,并存储例如从预测模块216或其它数据源接收的数据。数据库217可以将数据存储在逻辑上相关的记录或文件的集成集合中。数据库217可以是操作数据库、分析数据库、数据仓库、分布式数据库、最终用户数据库、外部数据库、导航数据库、存储器中数据库、面向文档的数据库、实时数据库、关系数据库、面向对象的数据库、非关系数据库、NoSQL数据库、分布式文件系统(“HFDS”)或本领域已知的任何其它数据库。

虽然被示出为单个系统,但系统200的功能可以被实现为分布式系统。例如,存储器214和处理器222可以分布在共同表示系统200的多个不同计算机上。在一个实施例中,系统200可以是设备(例如,智能电话、平板电脑、计算机等)的一部分。在实施例中,系统200可以与设备分离,并且可以远程地为设备提供所公开的功能。另外,可以不包括系统200的一个或多个组件。例如,对于作为用户或消费者设备的功能,系统200可以是智能电话,或者可以是包括处理器、存储器和显示器、不包括图2中所示的一个或多个其它组件、以及包括图2中未示出的附加组件(诸如天线、收发器或任何其它合适的无线设备组件)的其他无线设备。另外,当被实现为执行本文所公开的功能时,系统200是专门适用于提供需求预报的专用计算机。

返回参考图1,在一些实施例中,应用104可以提供企业规划和预报功能。例如,可以实现多维数据模型以提供稳健、灵活和高效的框架,用于为实体(例如,零售实体)生成一个或多个规划和/或预报。多维数据模型可以由立方体表示,其中立方体的每一面表示数据的不同维度(例如,度量、产品、规划、时段、渠道等)。示例度量维度可以包括企业或零售实体的度量成员(member),诸如收入、利润、费用、库存、销量等,其中每个度量成员还可以包括子度量成员(例如,子成员)。示例规划维度可以包括表示企业或零售实体的各种规划的规划成员,诸如工作规划、先前规划、当前规划、未来规划等。示例渠道维度可以包括表示用于执行客户交易的一部分的渠道(诸如在商店内、直接向消费者、第三方等)的成员。

一些实施例包括分层次的多维数据模型,其中维度的成员还具有子成员。例如,产品维度的产品成员可以包括子成员,诸如以产品线内的各种产品为特征的产品线。在这个示例中,可以将产品线成员视为父成员,而将产品线内的各种产品成员视为父成员的子成员。在一些实施例中,成员层次结构可以包括多个级别,诸如三个(例如,祖父母、父母、孩子)、四个或更多。图3A图示了根据示例实施例的多维数据模型的层次维度。维度302图示了具有层次级别分区(division)、组、部门、类别、子类别、样式和库存单位(“SKU”)编号的示例产品维度。

在一些实施例中,数据的横截面可以作为企业或零售规划和预测数据的生成和/或显示的一部分而被检索。例如,可以接收涉及数据的各种组合或交集的显示的多维数据的横截面的选择。数据的示例横截面可以包括给定规划(例如,规划维度的特定成员)、产品(例如,产品维度的特定成员)和度量(例如,度量维度的特定成员)的组合。

在一些实施例中,交集表示数据的维度/成员的特定组合。例如,特定产品线内特定毛衣的库存数据可以由度量维度的库存成员与特定毛衣成员的交集表示(例如,在产品维度的特定产品线成员下)。如本文进一步描述的,工作簿和/或工作表可以显示表示数据的特定交集的数据元素。在一些实施例中,数据的横截面包括由参与该横截面的特定维度/成员所定义的多个数据交集。

在一些实施例中,规划和预报软件的用户可以使用工作簿/工作表来完成多个规划和预报任务。在示例中,工作簿可以是用户定义的数据子集(例如,来自存储企业或零售数据的数据库中的数据子集),或者是包括所选择的维度(例如,维度和/或特定维度成员)的数据的一个或多个横截面。可以将工作簿视为用户可以轻松查看和操纵的域中记录数据的本地副本。它的多维框架可以用于执行特定功能,诸如生成销售预报并构建商品财务规划。为了呈现数据,工作簿可以包含多维工作表以及图形图表和相关报告。例如,这些工作簿可以包括用于规划、查看和分析企业或零售数据(包括预测的数据或预报数据)的视图和图形图表。

实施例可以包括具有以下元素的示例结构:产品级别和成员,诸如男士毛衣部门的部门、类别和子类别;时段级别和成员,诸如2019年春季季度的半月、月和星期;可以在其汇总级别反映组织内部多个渠道的渠道级别和成员,诸如总计店内分区、目录或电子商务(例如,直接面向消费者);规划版本,诸如工作规划、原始规划、当前规划和去年;度量和对应的业务规则,诸如销量、收据、库存等。在一些实施例中,可以通过批处理过程自动地或使用软件向导手动地构建工作簿。一旦已经定义并建立了工作簿框架及其特定属性,就可以将结构保存为工作簿模板,这允许按需以标准化格式导入、操纵和呈现新的数据集。可以在详细级别或汇总级别查看工作簿中的数据。

在一些实施例中,工作表可以是多维的、可扩展的和动态的电子表格,该电子表格向用户提供工作簿中所包含的数据的视图。RPAS和/或RDF可以包括支持行业标准业务过程的内置工作表。旋转、枢转和格式化功能允许用户在工作表内创建个体视图。可以以非常高的详细级别查看数据,或者可以在摘要级别快速汇总并查看数据值。用户可以例如通过旋转、改变数据归纳、示出和隐藏度量、向上或向下钻取等在工作表中以各种格式显示信息。图4和图5中所示的用户界面可以是作为示例工作簿的一部分的工作表、图形或图表。

在一些实施例中,用户可以在每个维度/成员层次结构(产品、位置、日历)的许多级别上编辑数据。如果在汇总级别(具有位于其下的一个或多个更低级别的级别)修改数据,那么可以将修改分布到层次结构内的更低级别,此过程被称为散布(spreading)。如果以具有其上更高级别(父级)的级别修改数据,那么数据改变可以反映在这些更高级别中,此过程被称为汇总(aggregating)。可以为度量指派默认的汇总和散布行为。度量的汇总方法可以确定如何在层次结构的汇总级别(诸如月或部门)计算数据。度量的散布方法可以确定当用户以汇总级别录入数据时如何将数据散布到层次结构的更低级别。

图3B图示了根据示例实施例的多维数据模型的层次维度。层次结构304图示了具有层次级别的产品类别、样式、颜色和SKU的示例产品维度。在示例中,如果用于层次结构304的销售数据以规划工作表的形式出现,那么可以在层次结构中的最低级别(样式/颜色/尺寸或SKU级别)查看数量。也可以在层次结构中的任何更高级别查看它们。

考虑一种场景,在给定时段内,这个层次结构中的每个SKU物品中恰好有五个售出。当SKU级别的物品被汇总到样式/颜色级别时,将显示售出的15件白色圆领衬衫(5件小号+5件中号+5件大号)。进一步的汇总将示出总共售出了30件圆领衬衫(15件白色圆领衬衫+15件灰色圆领衬衫)。如果将这个范式扩展到产品类别级别,那么汇总将示出售出了60件衬衫(30件圆领+30件口袋T恤)。数据可以沿着许多可能的层次结构路径进行汇总。例如,SKU可以归纳为样式、产品线、产品类别以及最终的产品分区。这些相同的SKU也可以沿着不同的层次结构路径归纳到提供产品的供应商或委托销售的级别产品。可以在各种实施例中定义这些不同的汇总路径中的任何路径。

散布(与汇总相反)允许用户以更详细的级别查看数据。在散布时,处于较高级别维度的总计被分配给较低级别维度,这基于较低级别与总计的关系。在一些示例中,处于层次结构中最低级别的数据可能太稀疏以至于无法创建有意义的预报,但是,该相同数据可以在确定较低级别中每个位置对较高级别做出的贡献百分比时有用。例如,汇总级别的类别/商店预报可以预测在给定时间段内将在商店#001中售出50件衬衫。较低的SKU/商店级别的预报可以确定红色衬衫占需求的40%、蓝色衬衫占30%、白色衬衫占20%,并且黑色衬衫占10%。这些百分比可以用于将总共50件衬衫散布回较低的颜色级别。在另一个示例中,汇总级别的类别/商店预报可以预测给定时间段内将在商店#001中售出50件衬衫。较低的SKU/商店级别的预报还可以确定红色衬衫占需求的40%、蓝色衬衫占30%、白衬衫占20%,并且黑色衬衫占10%。这些百分比还可以用于将总共50件衬衫散布回较低的颜色级别。在一些示例中,预报在层次结构中的较低级别上运行,以确定从较高级别散布预报数据时要使用的百分比。低级别的预报数据可能足以生成可靠的整体百分比信息,但是在一些情况下,在汇总级别生成预报数量时该预报数量更稳健。

实施例可以充分利用规划软件功能和多维数据模型来完成预报。例如,OracleRDF是使用建模技术来产生预报的统计预报解决方案,它。如本文所述,预报信息常常对于层次结构(例如,产品层次结构)中最低级别的物品有用。当这些物品的历史销售数据稀疏和/或嘈杂时,可能出现问题,因此识别这些商品的销售模式可能是有挑战性的。在此类情况下,如本文所述,在较高级别生成预报之后,可以将得到的数据分配(散布)回较低级别。

在多维数据模型中,可以针对数据的特定交集(例如,数据的多个维度的横截面)预测预报数据。数据预报的示例参数可以如下:

·交集-定义预报级别的层次维度;

·源数据-源数据是用作生成预报的输入数据的度量;

·周期性-周期性是日历维度内的周期数,其在预报级别交集中定义。例如,如果以周/物品/商店定义交集,那么周期性值将为52(因为一年内有52周);

·预报方法-可以为预报级别定义的预报生成方法(或模型);

·规划数据-物品销售模式的预期形状和规模的详细信息,其可以通过预报方法被使用;

·季节性简档-商品销售模式的预期季节性,其可以被生成或加载,并且也可以通过预报方法被使用。这个参数中的值是度量名称。季节性简档度量的交集可以与预报级别的交集相同。

·散布简档-用于将源级别的预报散布直到最终的预报级别。

在一些实施例中,预报方法可以实现一个或多个预测模型。示例内置预报方法可以包括平均值、移动平均值、间歇性、趋势、加性季节、乘性季节等。在一些实施例中,内置预报方法可以实现一个或多个内置预测模型,诸如线性回归或岭回归。用于这些的示例模型或需求模型包括:Y≈β01X1+β2X2+…+βpXp,其中“Y”表示预测(例如,需求预测)并且β表示针对例如影响需求的不同需求变量/特征(X1,X2,…Xp)(诸如价格折扣、品牌、促销、尺寸、颜色、包装尺寸、供应商等)的系数估计。

在一些实施例中,内置预报方法的列表可以是可扩展的,并且外部源(例如,外部客户端)可以基于加载的预测模型(例如,经训练的机器学习模型)添加一个或多个附加预报方法。例如,返回参考图1,外部客户端122可以包括可以将预测模型上载到软件服务120(其可以包括规划和预报软件工具)的网络设备(诸如计算机)。在一些实施例中,外部客户端122可以是使用软件服务120进行规划和预报的零售实体。但是,外部客户端122可以具有在软件服务120外部进行训练的外部预测模型,以与服务的规划和预报工具一起使用。可以使用由服务生成的接口将这个预测模型加载到软件服务120中。

在一些实施例中,预测模型的生成、加载和交互可以遵循图1的112、114、116和118的功能。例如,在112处,可以设计和开发预测模型。预测模型的设计可以包括任何合适的机器学习模型组件(例如,神经网络、支持向量机、专门的回归模型(诸如Deming回归、岭回归或Lasso回归)、随机森林模型等)。例如,可以将神经网络与给定的成本函数一起实现(出于训练目的)。神经网络可以包括任何数量的隐藏层(例如,0、1、2、3或更多),并且可以包括前馈神经网络、递归神经网络、卷积神经网络、模块化神经网络以及任何其它合适类型的神经网络。在一些实施例中,神经网络可以例如基于所实现的隐藏层的数量被配置用于深度学习。在一些示例中,可以类似地实现贝叶斯(Bayesian)网络或其它类型的监督学习模型。

在其它示例中,在一些情况下,可以与一个或多个内核(例如,高斯内核、线性内核等)一起实现无监督学习模型,诸如支持向量机。在一些实施例中,设计的预测模型可以是堆叠的多个预测模型,例如,其中第一模型的输出馈入第二模型的输入。一些实施方式可以包括多层预测模型。在一些实施例中,还可以确定预测模型的特征。例如,特征工程可以用于生成由一个或多个预测模型实现的特征集合。

在114处,可以例如使用训练数据(例如,机密数据和非机密数据)来训练预测模型。例如,外部客户端122可以是将某些数据保密的实体(例如,零售实体)(例如,不期望与软件服务120共享此数据,软件服务120可以是基于云的或软件即服务(“SaaS”)实施方式中的不相关的第三方供应商)。在一些实施例中,这个机密数据可以包括销售数据的类型、规划的产品选择、利润数据(收入–成本)、***数据等。其它数据可以不是机密的,诸如其它类型的销售数据、过去的产品选择、开销的类型(例如,成本)等。可以与软件服务120和一些其它实体共享非机密数据。

在一些实施例中,可以用机密数据和非机密数据两者来训练预测模型。例如,因为预测模型不是由软件服务120训练的,所以机密数据也可用于训练目的。训练可以包括在数据集上迭代并调节预测模型的权重,直到成本函数被优化为止(或直到生成的预测在验证数据集的误差范围内为止)。还可以实现其它类型的预测模型训练。

在一些实施例中,机密数据可以存储在图1中未描绘的数据存储装置中。例如,外部客户端122(例如,外部零售实体)可以包括存储具有访问限制的机密数据的安全数据存储库。换句话说,机密数据也可以被认为是存储在安全数据存储库中的数据,由于访问限制,该数据不能被应用104访问。

在一些实施例中,可以在训练期间调整预测模型的设计。例如,调整可以包括调节神经网络中的数个隐藏层、调节用于实现支持向量机的内核计算等。该调整还可以包括调节/选择由预测模型使用的特征。实施例包括在训练时实现各种调整配置(例如,不同版本的预测模型和特征),以便获得用于预测模型的配置,该配置在被训练时实现期望的性能(例如,以期望的准确性级别执行预测)。

在一些实施例中,可以对112和114进行组合、重新布置和/或迭代,以便可以调整预测模型,并且可以生成定义预测模型的规范。例如,一旦选择了预测模型的配置并训练了模型,就可以生成模型的规范。该规范可以定义由预测模型使用的特征(例如,预测模型的输入),以及生成的预测模型的尺寸(例如,二进制文件的尺寸)、预测模型的框架(例如,PyTorch、TensorFlow等)、预测模型的函数或运算符、以及预测模型的其它合适参数。在一些实施例中,模型(例如,生成的二进制文件)可以包括多个运算符或函数,诸如计算预测的运算符A和计算预测误差的运算符B。运算符名称可以用于指定哪个运算符执行预测。另外,在具有验证的实施例中,可以例如通过核实指定运算符的存在及其输入和输出来验证该指定运算符。

在一些实施例中,一旦生成了规范,就可以将其发送到软件服务120。基于规范中所定义的用于预测模型的参数,软件服务120可以生成用于预测模型的定制接口(例如,应用编程接口(“API”))。该定制接口可以用于将预测模型加载到软件服务120中,使得可以将预测模型与规划和预测软件工具一起使用,以扩展在工具中可用的预报方法。

在一些实施例中,定制接口是RDF中的特殊表达,其输入可以是参数,诸如到二进制文件(例如,预测模型)的路径、特征的度量名称等。例如,特征可以包括被加载到多维数据模型中的数据(例如,数据的交集)。API或RDF中的特殊表达的示例如下:

ML_OUTPUT:c_mlbaselinear,ML_OUTPUT_MSG:c_mlmsglinear<-RdfMLForecastExpr(RUN_MASK:c_mlrunmask1,ML_CHKPT_PATH:c_ml pathlinear,

ML_FEATURE1:c_mlfeature1,ML_FEATURE2:c_mlfeature2,ML_FEATUR E3:c_mlfeature3,ML_FEATURE4:c_mlfeature4,ML_FEATURE5:c_mlfeature 5,ML_FEATURE6:c_mlfeature6,ML_FEATURE7:c_mlfeature7,ML_FEATU RE8:c_mlfeature8,ML_FEATURE9:c_mlfeature9,ML_FEATURE10:c_mlfeature10,

ML_OPERATOR:c_mlopsname,ML_INPUT_PLACEHOLDER:c_mlinputna me)

在116处,可以将经训练的模型上载到例如软件服务120。在一些实施例中,使用为模型生成的定制接口来上载经训练的模型。实施例还包括验证功能,以验证经训练的模型与规划和预报软件工具以及所定义的规范兼容。例如,验证功能可以包括以下中的一项或多项:验证模型是可加载的,诸如验证所上载的二进制文件可以被软件工具在预报时使用;验证(例如,在规范中定义和/或由定制API定义的)特征的数量与加载的模型匹配;以及验证(例如,在API和/或规范中定义的)计算运算符与加载的模型匹配。

一旦被加载和验证,应用104就可以使用上载的预测模型来执行定制数据预测或预报,并且可以例如使用用户界面102显示数据预测。在118处,加载的预测模型的结果可以由外部客户端122与之交互。例如,可以使用加载的预测模型和存储的多维数据执行数据预测。加载的预测模型可以接收来自多维数据的输入(例如,如规范中针对预测模型所定义的),并且生成针对未来一段时间的预报数据。在一些实施例中,可以在工作簿或一个或多个多维工作表中呈现预报数据。因而,如本文所公开的,用户(例如,与外部客户端122相关联的用户)可以使用工作簿/多维工作表的动态功能与预报数据进行交互。

图4图示了根据示例实施例的用于在图形用户界面中使用可扩展软件工具来显示可定制机器预测的用户界面。用户界面402显示可以使用加载的预测模型进行预报的多维数据的交集的图表。例如,预报可以是产品(或产品线)、场景(例如,特定规划)、度量(例如,预报收入)和时段(例如,未来时间段)的交集的预测数据。可以基于输入到加载的预测模型(如规范中所定义的)的观察数据(或其它预测数据,诸如在相似时间段内的销售预测)来预测预报,其中模型可以充分利用其先前的训练(例如,配置的链接和权重)以生成用于预报的预测数据。如图所示,图表可以根据间隔(例如,每周、每两周、每月、每季度等)对预测数据进行绘图。

图5图示了根据示例实施例的用于在图形用户界面中显示针对多维数据的交集的可定制机器预测的用户界面。用户界面502显示包括可以使用加载的预测模型来预报的多维数据的多个交集的多维工作表。与图4相似,每个交集可以是产品(或产品线)、场景(例如,特定规划)、度量(例如,预报收入)和时段(例如,未来时间段)的交集的预测数据。

在所示的实施例中,多维工作表示出了包括多个度量和规划的交集。例如,交集504、506和508可以包括与除度量维度以外的多维数据的相同横截面(例如,位置、产品、时间段和规划),其中交集504包括销售度量,交集506包括净销售度量,而交集508包括降价度量。类似地,交集504和510可以包括除规划维度以外的多维数据的相同横截面(例如,位置、产品、时间段、度量),其中交集504包括“Wp”规划,而交集510包括“Cp”规划。

参考用户界面502的交集,可以基于输入到加载的预测模型(如规范中所定义的)中的观察数据(或其它预测数据,诸如在相似时间段内的销售预测)来预测预报的一部分,其中模型可以充分利用其先前的训练(例如,配置的链接和权重)来生成用于预报的预测数据。此外,可以基于输入到内置预测模型中的观察数据(或其它预测数据,诸如在相似时间段内的销售预测)来预测预报的一部分以生成预测数据。因而,在一些实施例中,工作表中显示的预报的一部分可以使用可定制和加载的预测模型来预测,而工作表中显示的预报的一部分可以使用内置预测模型来预测。

例如,加载的预测模型可以用于预报用于一个或多个规划场景、用于度量的一部分等的数据,而内置预测模型可以用于其它规划或度量。在其它实施例中,加载的预测模型可以用于预报一些产品或产品线,而其它产品或产品线可以使用内置预测模型来预报。例如,经训练的贝叶斯网络可以从稀疏的训练数据中提供其它预测模型可能无法确定的见解。因此,利用定制预测模型(例如,除规划和预报工具的内置预测模型以外的预测模型),多维数据的一些交集可以实现改进的结果。例如,一些产品(诸如在产品维度层次结构的细粒度端)只能具有可用于预测的稀疏数据,并且与这些产品的交集的预报可以受益于专门为稀疏数据配置的预测模型。

在一些实施例中,汇总行为还可以涉及使用内置预测模型预测的一些数据和使用加载的预测模型预测的其它数据。例如,可以基于为多个子值预测的值的汇总(诸如产品线下的多个产品的预测库存)来计算父值(诸如该产品线的预测库存)。在说明性示例中,产品线下的第一产品可以使用内置预测模型中的一个来预测产品需求,而产品线下的第二产品可以使用加载的预测模型来预测产品需求。然后可以使用汇总来确定产品线的预测产品需求,该预测产品需求可以是对于第一产品和第二产品的预测需求的总和。因而,对于数据的交集的预测值可以包括使用内置预测模型预测的分量和使用加载的预测模型预测的分量。

各种情况可能影响将哪个预测模型用于哪个产品。在上面的示例中,第二产品可以是新产品供应,因此,内置预测模型可能无法很好地提供准确的预报。例如,外部客户端(例如,零售实体)可以将一些数据保密,这可以增加对第二产品的需求预报的准确性。因而,先前用机密数据训练的加载的预测模型可以导致更准确的预测并提高资源效率。其它情况也可以类似地从此类功能中受益。

在一些实施例中,外部客户端122可以连续地(或定期地)更新先前加载的预测模型。在此类情况下,可以将更新后的规范发送到软件服务120,并且可以基于对规范的任何改变(例如,特征改变、二进制文件改变等)来更新定制API。然后可以使用更新后的API来上载经调节的预测模型(例如,更新后的二进制文件),并且可以执行后续验证,之后可以使得更新后的预测模型可用于规划和预报软件工具。

图6图示了根据示例实施例的用于使用可扩展软件工具来执行可定制机器预测的流程图。在一个实施例中,以下图6和图7的功能由存储在存储器或其它计算机可读或有形介质中的软件实现,并由处理器执行。在其它实施例中,每个功能可以由硬件(例如,通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等)或者由硬件和软件的任何组合来执行。在实施例中,图6和图7的功能可以由图2的系统200的一个或多个元件执行。

在602处,可以接收至少包括经训练的机器学习模型的特征的规范。例如,可以开发和训练机器学习模型,并且规范可以定义由经训练的机器学习模型使用的特征(例如,预测模型的输入)以及生成的预测模型的尺寸(例如,二进制文件的尺寸)、预测模型的框架(例如,PyTorch、TensorFlow等)、预测模型的运算符、以及预测模型的其它合适参数。

在604处,可以基于接收到的规范来生成用于经训练的机器学习模型的接口。例如,基于规范中定义的机器学习模型的参数,可以为机器学习模型生成定制接口(例如,应用编程接口(“API”))。

在606处,可以使用生成的接口来加载经训练的机器学习模型。在一些实施例中,经训练的机器学习模型可以是被配置为接收数据作为输入并生成预测数据作为输出的二进制文件。图7提供了关于可以被加载的经训练的机器学习模型的进一步公开。在一些实施例中,生成的定制接口可以用于加载机器学习模型,使得机器学习模型可以用于生成预报和数据预测。

在608处,可以针对接收到的规范来验证已加载的经训练的机器学习模型。例如,验证功能可以包括以下中的一项或多项:验证模型是可加载的,诸如验证所上载的二进制文件可以被软件工具在预报时使用;验证(例如,在规范中定义和/或由定制API定义的)特征的数量与加载的模型匹配;以及验证(例如,在API和/或规范中定义的)计算运算符与加载的模型匹配。

在610处,可以使用根据多维数据模型存储的观察数据来生成预测。例如,如本文所公开的,多维数据(例如,企业或零售数据)可以存储在数据库中。在一些实施例中,多维数据可以是分层次的,包括产品、度量、时段和/或规划维度中的多个成员,这些维度中的一个或多个维度包括层次成员。可以在各种实施例中实现其它维度和/或成员(例如,层次成员)。

在一些实施例中,观察数据的一部分可以被输入已加载的经训练的机器学习模型以生成第一数据预测,并且观察数据的一部分可以被通用预报模型用于生成第二数据预测。例如,通用预报模型可以包括用于规划和预报数据工具的内置预报方法,并且经训练的机器学习模型可以是这些内置预报方法的扩展。例如,通用预报模型是线性回归模型,并且已加载的经训练的机器学习模型可以包括经训练的神经网络或经训练的支持向量机。

在612处,可以在被配置为显示多维数据模型的交集的用户界面中显示第一数据预测和第二数据预测。例如,如本文所述,用户界面可以包括一个或多个图表和图形、多维工作簿/工作表或这些的组合。

图7图示了根据示例实施例的用于训练和上载可定制机器学习模块以与可扩展软件工具一起使用以执行机器预测的流程图。例如,图6的功能可以与图7的功能一起实现。

在702处,可以使用框架来调整和训练机器学习模型。例如,机器学习模型的设计可以包括任何合适的机器学习模型组件(例如,神经网络、支持向量状态机、专门的回归模型(诸如Deming回归、岭回归或Lasso回归)、随机森林模型等)。

在一些实施例中,训练可以包括在数据集上迭代并调节机器学习模型的权重,直到成本函数被优化为止(或直到生成的预测在验证数据集的误差范围内为止)。还可以实现其它类型的机器学习模型训练。在一些实施例中,可以使用机密数据和非机密数据两者来训练机器学习模型。例如,因为预测模型不由第三方软件服务进行训练,因此机密数据可用于训练目的。

在一些实施例中,可以在训练期间调整机器学习模型的设计。例如,调整可以包括调节神经网络中的数个隐藏层、调节用于实现支持向量机的内核计算等。该调整还可以包括调节/选择由机器学习模型使用的特征。实施例包括在训练时实现各种调整配置(例如,不同版本的预测模型和特征),以便获得用于预测模型的配置,该配置在被训练时实现期望的性能(例如,以期望的准确性级别执行预测)。

在704处,可以定义用于经训练的机器学习模型的规范。例如,一旦选择了预测模型的配置并训练了模型,就可以生成模型的规范。该规范可以定义由预测模型使用的特征(例如,预测模型的输入),以及生成的预测模型的尺寸(例如,二进制文件的尺寸)、预测模型的框架(例如,PyTorch、TensorFlow等)、预测模型的函数或运算符、以及预测模型的其它合适参数。

在706处,可以使用接口来上载经训练的机器学习模型。例如,如本文所公开的,软件服务可以基于生成的规范来生成用于机器学习模型的定制接口。该定制接口可以用于加载经训练的机器学习模型。

在708处,可以部分地基于上载的机器学习模型来接收多维数据的交集的预测。例如,可以使用加载的机器学习模型和存储的多维数据来执行数据预测。加载的机器学习模型可以接收来自多维数据的输入(例如,如模型的规范中所定义的),并且生成针对未来一段时间的预报数据。在一些实施例中,可以在工作簿或一个或多个多维工作表中呈现预报数据。因而,如本文所公开的,用户可以使用工作簿/多维工作表的动态功能与预报数据进行交互。

实施例可以通过向企业(例如,零售商)提供使用定制算法/模型来改进需求预报的预报准确性的机制来改进用于预报解决方案的常规方法。在许多情况下,需求预报是供应链的驱动力,如果该需求预报不准确,那么分配、规划和补给的执行效果差,从而导致资源使用效率低下。一般而言,如果预报高,那么物品将保持未售状态;它们需要打折出售,或者增加浪费。如果预报低,那么无法满足需求并且零售商会遭受销售损失和低客户满意度。两种情况都会导致资源使用效率低下。本实施例提供了用于实现可靠的需求预报并因此提高供应链中和整个企业中的资源利用效率的技术。

图8图示了根据示例实施例的包括如本文公开的存货管理的集成的供应商、库存和物流系统。如图8中所示,系统800可以包括企业业务系统870,该企业业务系统870执行代码以使用仓库880管理企业位置801-804的产品存货,并将产品从仓库880直接运送给消费者。企业业务系统870通过云网络850或其它类型的通信网络与一个或多个库存系统820进行通信。在一些实施例中,企业业务系统870的规划和预报软件可以生成为各种产品提供预报的库存级别的预报。库存系统820和仓库880可以基于这些预报的库存级别来执行往返于企业位置801-804的运送。在一些实施例中,使用定制的且经训练的预测模型可以提供对这些预报的库存级别的改进,从而生成更高效的运送处理。

库存系统820存储库存并提供运输物流,以使用卡车810-813或一些其它运输机制将物品递送到企业位置801-804和消费者位置(例如,消费者住宅)。在一个实施例中,库存系统820实现企业资源规划(“ERP”)专用计算机系统或专用库存控制系统,该ERP专用计算机系统或专用供应商系统使用来自企业业务系统810的输入(诸如由规划和预报软件生成的季节规划),以确定库存级别以及向企业位置801-804递送产品的数量和时间。

仓库880可以是履行仓库,其基于库存系统820向企业位置801-804供应一个或多个产品,并且将产品运送到消费者位置(例如,消费者住宅)。在一个实施例中,仓库880实现ERP专用计算机系统或专用供应商系统,该ERP专用计算机系统或专用供应商系统使用来自企业业务系统810的输入(诸如由规划和预报软件生成的季节规划),以确定用于产品运送到库存系统820和/或企业位置801-804的数量和时间。在一些实施例中,例如基于到企业位置801-804的退货,仓库880可以接收来自企业位置的运送,以例如确保企业位置不被过度供应并且具有足够的产品多样性。

实施例使用可扩展软件工具来执行可定制机器预测。在一些实施例中,诸如经训练的机器学习模型之类的预测模型可以被上载到软件工具,以便执行可定制机器预测。例如,软件工具可以使用诸如线性回归之类的内置预测模型来执行数据预测或预报。实施例提供用于加载可以用于执行可定制数据预测的可定制经训练的模型(诸如神经网络模型、支持向量状态机模型、专门的回归模型(例如,Deming回归、岭回归、Lasso回归等)、随机森林模型等)的接口。

在一些实施例中,软件工具(例如,规划软件和/或库存系统软件)可以对根据多维数据模型存储的数据执行数据分析。例如,多维数据模型可以包括数据的多个维度(例如,以层次结构组织),其中数据元素可以代表多个维度的交集。基于所存储的数据(例如基于一段时间内的观察生成并存储的数据),可以执行对于将来数据的机器预测。在示例中,存储的数据可以是给定产品在一段时间内的销售数据,并且机器预测可以是在未来一段时间内对该产品的需求预报。

在一些实施例中,可以使用带有软件工具的内置模型(诸如线性回归)或使用来自外部源(诸如外部客户端)的加载的预测模型来实现机器预测。例如,加载的预测模型可以包括各种类型的模型(例如,神经网络、支持向量机、专门的回归等),并且可以使用可用于外部源的任何数据进行训练。在一些实施例中,外部源有权访问可以用于训练软件工具不可用的预测模型的机密数据。

例如,外部源可以是销售产品的零售实体,并且该零售实体可以存储关于产品、销售或不可供他人使用的其它敏感信息的机密数据。在这个示例中,软件工具无权访问此机密数据,因此无法使用此机密数据来训练内置于软件工具中的任何预测模型。另一方面,实施例提供了可以使用此机密数据(除了其它数据之外)进行训练并被加载到软件工具中的预测模型。在这些实施例中,软件工具将获得基于机器学习到的见解或来自机密数据的趋势来执行数据预测的功能,而无需将机密数据暴露给任何其它实体。

在一些实施例中,可以根据机器预测来执行运送。例如,在一些实施例中,机器预测可以是针对一个或多个产品的需求预报,并且基于该预报,可以在仓库和商店之间执行运送。当通过用机密数据训练的预测模型来执行数据预测时,该预测可以更准确地反映现实世界场景,因此可以以提高资源利用率的方式执行供应运送。

贯穿本说明书描述的本公开的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,贯穿本说明书,“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其它类似语言的使用是指以下事实:结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实施例中。因此,贯穿本说明书出现的短语“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其它类似语言不一定都指代相同的实施例组,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。

本领域普通技术人员将容易理解,如上所讨论的实施例可以以不同顺序的步骤和/或在配置中利用与所公开的元件不同的元件来实践。因此,虽然本公开考虑了概述的实施例,但是对于本领域技术人员显而易见的是,某些修改、变化和替代构造将是显而易见的,同时保持在本公开的精神和范围内。因此,为了确定本公开的范围和界限,应该参考所附权利要求。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据处理装置中的提示

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!