Automatic time series forecasting pipeline ranking
The automated machine learning system optimizes time-series forecasting pipelines through incremental data allocation and caching, addressing inefficiencies in existing methods to quickly identify top-performing pipelines for time-series forecasting.
Patent Information
- Application Number
- JP2023544069
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-02-18
- Filing Date
- 2022-02-17
- Publication Date
- 2025-11-26
- Estimated Expiration
- 2042-02-17
AI Technical Summary
Existing methods struggle to efficiently rank and select optimized machine learning pipelines for time-series forecasting due to challenges in data allocation, seasonality, and temporal dependency, leading to inefficient training and evaluation processes.
An automated machine learning system using an evaluation-based joint optimizer performs incremental data allocation and caching pre-computed features to optimize time-series pipelines, determining allocation sizes based on time-series characteristics and providing intermediate evaluation scores for ranking.
This approach enables rapid identification of top-performing machine learning pipelines for time-series forecasting, reducing training time and improving accuracy by utilizing incremental data allocation strategies.
Smart Images

Figure 0007776241000003 
Figure 0007776241000004 
Figure 0007776241000005
Abstract
Description
[Technical Field]
[0001] The present disclosure relates generally to computing systems, and more particularly to various embodiments for ranking time-series forecasting machine learning pipelines in a computing system using a computing processor. Summary of the Invention
[0002] According to one embodiment of the present invention, a computing system provides a method for ranking time-series forecasting machine learning pipelines in a computing environment with one or more processors. Time series data may be incrementally assigned from a time series dataset for testing by the candidate machine learning pipelines based on the degree of seasonality or temporal dependency of the time series data. Intermediate evaluation scores may be provided by each of the candidate machine learning pipelines following the assignment of each time series data. One or more machine learning pipelines may be automatically selected from the ranked list of one or more candidate machine learning pipelines based on learning curves of predictions generated from the intermediate evaluation scores.
[0003] In additional embodiments, the defined subset of the time series data may be assigned retrospectively to each of one or more candidate machine learning pipelines. A portion of the time series data that exceeds a time-based threshold may be identified as historical time series data. Historical time series data is training data with lower accuracy compared to more recent learning data.
[0004] In another embodiment, a candidate machine learning pipeline may be trained and evaluated for each allocation of time series data. The amount of training data allocated to one or more candidate machine learning pipelines may be incrementally increased based on intermediate evaluation scores from one or more previous allocations of training data. A learning curve generated from each of the intermediate evaluation scores may be determined / calculated. Each of the candidate machine learning pipelines may be ranked based on its predictive learning curve.
[0005] Embodiments include a computer-usable program product that includes a computer-readable storage medium and program instructions stored on the storage medium.
[0006] An embodiment includes a computer system including a processor, computer-readable memory, computer-readable storage devices, and program instructions stored on the storage devices via the memory for execution by the processor.
[0007] Thus, in addition to the exemplary method embodiments described above, other exemplary system and computer product embodiments are provided for automated evaluation of the robustness of machine learning models under adaptive white-box adversarial computation. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a block diagram illustrating an exemplary cloud computing node according to an embodiment of the present invention. [Figure 2] FIG. 1 illustrates a cloud computing environment in accordance with an embodiment of the present invention. [Figure 3] FIG. 2 illustrates abstraction model layers according to an embodiment of the present invention. [Figure 4] 10A-10C are additional block diagrams illustrating exemplary functional relationships between various embodiments of the present invention. [Figure 5]FIG. 1 illustrates a machine learning pipeline in a computing environment according to an embodiment of the present invention. [Figure 6] FIG. 1 is a block flow diagram illustrating an exemplary system and functionality for joint optimization for ranking time-series forecasting machine learning pipelines in a processor-based computing environment in which embodiments of the present invention may be implemented. [Figure 7] FIG. 1 is a block diagram illustrating an exemplary system and functionality for joint optimization for automated time series forecasting pipeline generation in a processor-based computing environment in which embodiments of the present invention may be implemented. [Figure 8] FIG. 1 is a graphical representation of joint optimization scores and output allocations in a processor-based computing environment in which embodiments of the present invention may be implemented. [Figure 9] FIG. 10 is an additional flowchart diagram illustrating an additional exemplary method for ranking time-series forecasting machine learning pipelines in a processor-based computing environment in which embodiments of the present invention may be implemented. DETAILED DESCRIPTION OF THE INVENTION
[0009] The present invention relates generally to the field of artificial intelligence ("AI"), such as machine learning or deep learning, or a combination thereof. Machine learning enables an automated processing system ("machine"), such as a computer system or specialized processing circuitry, to develop generalizations about a particular data set and use the generalizations to solve related problems, for example, by classifying new data. Once the machine has learned (or been trained with) the generalizations with known characteristics from input or training data, it can apply the generalizations to future data to predict unknown characteristics.
[0010] Additionally, machine learning is a form of AI that allows systems to learn from data rather than through explicit programming. The primary focus of machine learning research is automatically learning to recognize complex patterns and make intelligent decisions based on data, making machine learning models and pipelines more efficient to train. However, machine learning is not a simple process. Once an algorithm ingests training data, it becomes able to generate more accurate models based on that data. A machine learning model is the output produced when a machine learning algorithm is trained with data. After training, inputs are provided to the machine learning model, and an output is produced. For example, a predictive algorithm may create a predictive model. Data is then provided to the predictive model, which generates predictions (e.g., "output") based on the data used to train the model.
[0011] In machine learning, machine learning models can be trained on a dataset before being deployed. Some machine learning models can be continuously trained online. This iterative process of online models improves the types of associations between data elements. There are various conventional techniques for creating machine learning and neural network models. The basic prerequisites for existing methods include the existence of a dataset, basic knowledge of machine learning model synthesis, neural network architecture synthesis, and coding skills.
[0012] In one embodiment, an automated AI machine learning (“ML”) system (“automated AI system” or automated machine learning system “automated ML system”) may generate multiple (e.g., hundreds) machine learning pipelines. Designing a machine learning pipeline involves several decisions, such as which data preparation and preprocessing operations to apply and which machine algorithms to use with which settings (hyperparameters). The AI machine learning system can automatically search for approved or satisfactorily performing pipelines. To this end, several machine learning pipelines can be selected and trained until convergence, with their performance estimated on a holdout set of data. However, training a machine learning model on an entire dataset, especially a time-series dataset, and waiting for convergence is time-consuming.
[0013] Time series data are generated by many systems and often form the basis for predicting and forecasting future events in these systems. For example, in a data center, monitoring systems may generate tens or hundreds of thousands of time series, each representing the state of a particular component (e.g., a server's processor and memory utilization, or a network link's bandwidth utilization). Autoregressive Integrated Moving Average ("ARIMA") is a type of statistical model used to model time series data and forecast future values of time series. Such modeling and forecasting are used to predict future events, take proactive measures, and / or detect unusual trends. Time series analysis is crucial in many different industries, such as finance, the Internet of Things ("IoT"), or technology. Time series can be noisy and complex, requiring large datasets, significant time, and expertise to train meaningful models, if possible.
[0014] This creates challenges in training and identifying optimal machine learning pipelines, especially those related to time series data. In one embodiment, a machine learning pipeline may refer to a workflow containing a series of transformers and estimators, as shown in FIG. 5, which illustrates an exemplary machine learning pipeline. Thus, identifying and selecting an optimized machine learning pipeline is a key component in an automated machine learning system for time series forecasting. Furthermore, quickly identifying ranked machine learning pipelines for time series machine learning pipeline forecasting is challenging. For example, identifying optimized or "top-performing" machine learning pipelines for time series forecasting is difficult due to 1) large datasets from widely different domains, 2) the complexity of multimodal and multivariate time series, or 3) the large number of estimators and transformers or combinations thereof within the machine learning pipeline. Furthermore, evaluation-based operation of machine learning pipelines with data allocation poses additional challenges to time series forecasting due to inefficient data allocation methods, such as predicting the performance of a machine learning pipeline with simple linear regression and assigning data in a fixed manner without considering the characteristics of the input time series. Furthermore, evaluation-based instructions that run machine learning pipelines are designed for tabular data and cannot be directly applied to time series ("TS") data because 1) time series data is sequential and its order cannot be randomized, 2) time series data has seasonality and trends that must be accounted for in the data allocation schema, and 3) data evolves over time, making historical data less relevant over time. Thus, the assumption that more training data will result in better accuracy is inaccurate.
[0015] Therefore, a need exists for providing automated evaluation and diagnosis of machine learning pipelines for time-series machine learning pipeline prediction. More particularly, a need exists for ranking time-series predictive machine learning pipelines for time-series machine learning pipeline prediction. Thus, various embodiments of the present invention provide an automated machine learning system that uses an evaluation-based co-optimizer to select a machine learning pipeline, where the machine learning pipeline is implemented with incremental data allocation.
[0016] Thus, as described herein, the mechanisms of the illustrated embodiments provide an automated machine learning system that uses an "evaluation-based joint optimizer" ("joint optimizer") to execute a machine learning pipeline by performing time-series data allocation and cache pre-computed features to improve execution time. The joint optimizer may 1) determine allocation sizes based on time-series characteristics of the time-series data (e.g., input data), 2) perform data allocation retrospectively, or 3) cache pre-computed features, or a combination thereof to update the final estimator.
[0017] The mechanism of the illustrated embodiment provides advantages over the current state of the art by providing a time-series data allocation with upper bound ("TDAUB") for joint optimization of time-series pipelines based on incremental data allocation and learning curve prediction. TDAUB may be based on a data allocation strategy, referred to herein as the data allocation with upper bound ("DAUB") model, following the principle of optimism under uncertainty. That is, under a mild assumption of diminishing utility for allocating more training data, the DAUB model achieves sublinear regret in misallocated data, which extends to sublinear regret in terms of training cost when the training cost function is not too heterogeneous. Furthermore, the DAUB model can obtain asymptotically tight bounds on misallocated data without estimating an accuracy function. In this way, systems utilizing the DAUB model can provide data scientists with live and dynamic monitoring and analysis of, and the ability to interact with, a wide range of analytical tools (e.g., automated tools), even when a given dataset is large and classifier training can take weeks on the entire dataset.
[0018] In using the TDAUB operation for joint optimization, embodiments of the present invention can provide joint optimization of time series pipelines based on incremental data allocation and learning curve prediction. The data allocation size of the time series data may be determined based on one or more characteristics of the time series dataset. Note that data allocation is important because the size of the input data is large and the input sets of the candidate machine learning pipelines may be large. If each of the candidate machine learning pipelines is provided with the entire input dataset, the runtime of the automated AI machine learning system may be too time-consuming, especially if hyperparameter optimization ("HPO") is utilized to fine-tune the candidate pipelines. In this manner, data allocation of the time series data allocates smaller portions of the original time series dataset to the candidate machine learning pipelines. A subset of the machine learning pipelines is selected from the candidate machine learning pipelines based on their performance on the reduced dataset. The time series data can be allocated for use by the candidate machine learning pipelines based on the data allocation size.
[0019] Features of the time series data may be determined and cached by the candidate machine learning pipelines. Predictions of each of the candidate machine learning pipelines using at least one or more features may be evaluated. A ranked list of machine learning pipelines may be automatically generated from the candidate machine learning pipelines for time series forecasting based on an evaluation of the predictions of each of the one or more candidate machine learning pipelines. The learning curve (which may include one or more partial learning curves) may predict a performance level of the machine learning pipeline.
[0020] In an additional embodiment, a sequential order of the time series data sets may be used while allocating the time series data based on the data allocation size. To allocate the time series data, a holdout data set, a test data set, and a training data set may be identified and determined from the time series data. The time series data may be allocated retrospectively.
[0021] In another embodiment, the candidate machine learning pipeline may be trained and evaluated using the time series data, a hold data set, a test data set, and a training data set from the time series data.
[0022] In another embodiment, the features may be combined with previously determined features for use by one or more candidate machine learning pipelines, and the features may be cached in the final estimator of one or more candidate machine learning pipelines.
[0023] As used herein, it should be noted that there can be two types of learning curves. In one aspect (e.g., Definition 1), a learning curve can be a function that maps the number of training iterations spent to a validation loss. In another aspect (e.g., Definition 2), a learning curve can be a function that maps the percentage of data used from the total training data to a validation loss. The learning curve can be longer as more training time is spent on the machine learning model. Thus, the mechanisms of the illustrated embodiment, such as an automated machine learning system, can process and handle learning curves of any length and both definition types (e.g., various learning curves can be combined).
[0024] In one aspect, validation loss may be a metric that defines how well a machine learning model performs (e.g., a measurable value, a ranking, a range of values, or a percentage indicating a level of performance, or a combination thereof). Validation loss may be a loss calculated on data that has not been used to train the machine learning model, providing an idea of how well the model will perform when actually used on new data.
[0025] In an additional aspect, as used herein, a machine learning pipeline may be one or more processes, operations, or steps for training a machine learning process or model (e.g., creating computing application code, performing various data operations, creating one or more machine learning models, adjusting or tuning machine learning models or operations, or a combination thereof, or various defined sequential operations involving machine learning operations, or a combination thereof). In addition, a machine learning pipeline may be one or more machine learning workflows that can enable sequences of data to be transformed and correlated together in a machine learning model that can be tested and evaluated to achieve a result. Furthermore, a trained machine learning pipeline may include any combination of different data curation and preprocessing steps. A machine learning pipeline may include at least one machine learning model. Also, a trained machine learning pipeline may include at least one trained machine learning model.
[0026] In one aspect, a machine learning model may be a system that takes curated and preprocessed data as input and outputs a prediction (e.g., the output of all steps that occurred prior in a machine learning pipeline) depending on the task, where the prediction may be a forecast, a class, or a more complex output such as a sentence in the case of translation, or a combination thereof. In another aspect, a machine learning model is the output generated when training a machine learning algorithm with data. After training, the machine learning model may be provided with inputs and will provide an output.
[0027] Generally, as used herein, "optimization" can refer to or define "maximizing," "minimizing," or achieving one or more specific targets, objectives, goals, or intentions, or combinations thereof. Optimization can also refer to maximizing benefit to a user (e.g., maximizing the benefit of a trained machine learning pipeline / model). Optimization can also refer to making the most effective or functional use of a situation, opportunity, or resource.
[0028] Furthermore, optimization need not refer to the best solution or result, but may refer to, for example, a solution or result that is “good enough” for a particular application. In some implementations, the goal is to propose the “best” combination of preprocessing operations (“preprocessors”) or machine learning models / machine learning pipelines, or a combination thereof; however, there may be various factors that may result in alternative proposals of preprocessing operations (“preprocessors”) or machine learning models, or combinations of both, that would yield better results. Here, the term “optimization” may refer to such a result based on a minimum (or maximum, depending on the parameters considered in the optimization problem). In additional aspects, the terms “optimize” and / or “optimizing” may refer to operations performed to achieve improved results, such as reduced execution costs or increased resource usage, regardless of whether an optimal result is actually achieved. Similarly, the term “optimize” may refer to a component for performing such improvement operations, and the term “optimized” may be used to describe the result of such improvement operations.
[0029] Although this disclosure includes detailed descriptions of cloud computing, it is understood in advance that implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the present invention may be practiced in conjunction with any other type of computing environment now known or later developed.
[0030] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model may include at least five characteristics, at least three service models, and at least four implementation models.
[0031] The characteristics are as follows:
[0032] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time or network storage, automatically as needed, without the need for human interaction with the service provider.
[0033] Broad network access: Computing power is available over the network and can be accessed through standard mechanisms, facilitating use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, PDAs).
[0034] Resource Pooling: Computing resources from a provider are pooled and offered to multiple consumers using a multi-tenant model. Various physical and virtual resources are dynamically allocated and reallocated based on demand. Consumers generally have no control or knowledge of the exact location of the resources they are provided with, resulting in a sense of location independence. However, consumers may be able to determine location at a higher level of abstraction (e.g., country, state, data center).
[0035] Rapid Elasticity: Computing capacity can be provisioned quickly and elastically, sometimes automatically, to instantly scale out and quickly release to instantly scale in. To the consumer, the computing power available for provisioning often appears unlimited, and can be purchased at any time and in any quantity.
[0036] Metered Services: Cloud systems leverage measurement capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, active user accounts) to automatically control and optimize resource usage. Resource usage can be monitored, controlled, and reported to provide transparency to both providers and consumers of utilized services.
[0037] The service model is as follows:
[0038] Software as a Service (SaaS): The consumer is offered access to a provider's applications running on a cloud infrastructure that can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., webmail). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions.
[0039] Platform as a Service (PaaS): The capability offered to consumers is to deploy applications they create or acquire using programming languages and tools supported by the provider onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the configuration of their hosting environment.
[0040] Infrastructure as a Service (IaaS): The functionality offered to consumers is the provisioning of processors, storage, networking, and other basic computing resources on which they can deploy and run any software, including operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating system, storage, and deployed applications, and in some cases partial control over some network components (e.g., host firewalls).
[0041] The deployment model is as follows:
[0042] Private Cloud: The cloud infrastructure is operated exclusively for an organization. It can be managed by the organization or a third party and can exist on-premise or off-premise.
[0043] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and compliance concerns). This cloud infrastructure can be managed by those organizations or a third party and can exist on-premises or off-premises.
[0044] Public cloud: This cloud infrastructure is available to the general public or large industry organizations and is owned by an organization that sells cloud services.
[0045] Hybrid cloud: This cloud infrastructure combines two or more cloud models (private, community, or public), each of which retains its inherent nuances but is bound by standards or specific technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0046] A cloud computing environment is a service-oriented environment that emphasizes statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0047] 1, a schematic diagram of an example cloud computing node is shown. Cloud computing node 10 is merely one example of a suitable cloud computing node and is not intended to suggest any limitation as to the scope of use or functionality of the embodiments of the present invention described herein. Regardless, cloud computing node 10 is capable of implementing and / or performing any of the functionality defined herein.
[0048] In cloud computing node 10, computer system / server 12 may be operable in numerous other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, or configurations, or combinations thereof, suitable for use with computer system / server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable appliances, network PCs, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above systems or devices, etc.
[0049] The computer system / server 12 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system / server 12 may be practiced in a distributed cloud computing environment where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.
[0050] 1, computer system / server 12 of cloud computing node 10 is shown in the form of a general-purpose computing device. Components of computer system / server 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and a bus 18 coupling various system components including system memory 28 to processing unit 16.
[0051] Bus 18 represents any one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.
[0052] Computer system / server 12 typically includes a variety of computer system-readable media, which can be any available media that can be accessed by computer system / server 12 and can include both volatile and nonvolatile media, removable and non-removable media.
[0053] The system memory 28 may include a computer system-readable medium such as a volatile memory, such as random access memory (RAM) 30 or a cache memory 32, or both. The computer system / server 12 may also include other removable / non-removable and volatile / non-volatile computer system-readable media. As an example, the storage system 34 may be provided for reading from and writing to a non-removable, non-volatile magnetic medium and / or a solid-state drive (not shown, commonly referred to as a "hard drive"). Also, although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a floppy disk) and an optical disk drive for reading from and writing to a removable, non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these examples, each may be connected to the bus 18 by one or more data medium interfaces. As further shown and described below, the system memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of embodiments of the present invention.
[0054] By way of example and not limitation, a program / utility 40 having a set (at least one) of program modules 42 may be stored in system memory 28, as may an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or some combination thereof, may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of embodiments of the present invention described herein.
[0055] The computer system / server 12 may also communicate with one or more external devices 14, such as a keyboard, pointing device, or display 24, one or more devices that allow a user to interact with the computer system / server 12, or any device (e.g., a network card, modem, etc.) that allows the computer system / server 12 to communicate with one or more other computer devices, or any combination thereof. Such communication may occur via an input / output (I / O) interface 22. The computer system / server 12 may also communicate with one or more networks (e.g., a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or any combination thereof) via a network adapter 20. As shown, the network adapter 20 may communicate with other components of the computer system / server 12 via a bus 18. Although not shown, other hardware and / or software components may be used with the computer system / server 12, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.
[0056] Referring now to FIG. 2, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, with which local computing devices used by cloud consumers (e.g., a personal digital assistant (PDA) or mobile phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or combinations thereof) can communicate. The nodes 10 can communicate with each other. The nodes 10 can be grouped (not shown), either physically or virtually, in one or more networks, such as the private, community, public, or hybrid clouds described above, or combinations thereof. This enables the cloud computing environment 50 to provide infrastructure, platform, or software as a service, or combinations thereof, for which cloud consumers are not required to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A-N shown in FIG. 2 are merely exemplary, and that the computing nodes 10 and the cloud computing environment 50 can communicate with any type of electronic device via any type of network or network-addressable connection (e.g., using a web browser), or both.
[0057] Referring now to Figure 3, there is shown a block diagram illustrating a set of functional abstraction layers provided by the cloud computing environment 50 shown in Figure 2. It should be understood in advance that the components, layers, and functions shown in Figure 3 are merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0058] The device layer 55 includes physical and / or virtual devices embedded with, or independently of, electronics, sensors, actuators, and other objects to perform various tasks in the cloud computing environment 50. Each of the devices in the device layer 55 incorporates networking capabilities to other functional abstraction layers so that information obtained from the device and / or information from other abstraction layers can be provided to the device. In one embodiment, the various devices comprising the device layer 55 can incorporate a network of entities collectively known as the "Internet of Things" (IoT). Such a network of entities enables intercommunication, collection, and dissemination of data to accomplish a wide variety of purposes, as will be appreciated by those skilled in the art.
[0059] The device layer 55 as shown includes sensors 52, actuators 53, a "learning" thermostat 56 with integrated processing, sensor, and network electronics, a camera 57, a controllable household outlet / receptacle 58, and a controllable light switch 59. Other possible devices include, but are not limited to, various additional sensor devices, network devices, electronic devices (such as remote control devices), additional actuator devices, so-called "smart" appliances such as refrigerators and washer / dryers, and a wide variety of other possible interconnected objects.
[0060] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframe 61, RISC (reduced instruction set computer) architecture-based server 62, server 63, blade server 64, storage device 65, and network and network components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0061] The virtualization layer 70 provides an abstraction layer from which the following virtual entities can be provided, for example: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.
[0062] By way of example, the management layer 80 may provide the following functions: Resource provisioning 81 enables dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment; Metering and pricing 82 enables cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources; By way of example, these resources may include application software licenses; Security enables identification and verification of cloud consumers and tasks, as well as protection for data and other resources; User portal 83 provides consumers and system administrators with access to the cloud computing environment; Service level management 84 enables allocation and management of cloud computing resources so that requested service levels are met; Service level agreement (SLA) planning and fulfillment 85 enables advance arrangement and procurement of anticipated future cloud computing resources required in accordance with SLAs.
[0063] The workload layer 90 provides examples of functionality available to a cloud computing environment. Examples of workloads and functions that can be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and, in the context of the illustrated embodiment of the present invention, various workloads and functions for ranking time-series predictive machine learning pipelines in a computing environment (e.g., neural network architectures) 96. Additionally, the workloads and functions for ranking time-series predictive machine learning pipelines in a computing environment 96 may include operations such as analytics, deep learning, and, as further described, user and device management functions. Those skilled in the art will appreciate that the workloads and functions for ranking time-series predictive machine learning pipelines in a computing environment 96 may cooperate with other portions of various abstraction layers, such as those in hardware and software 60, virtualization 70, management 80, and other workloads 90 (e.g., data analytics processing 94, etc.), to achieve various objectives of the illustrated embodiment of the present invention.
[0064] As described above, the present invention provides a novel solution for ranking time-series forecasting machine learning pipelines in a computing environment with one or more processors in a computing system. Time series data may be incrementally allocated from a time series dataset for testing by candidate machine learning pipelines based on the degree of seasonality or temporal dependency of the time series data. Following each allocation of time series data, intermediate evaluation scores may be provided by each of the candidate machine learning pipelines. One or more machine learning pipelines may be automatically selected from the ranked list of one or more candidate machine learning pipelines based on learning curves of predictions generated from the intermediate evaluation scores.
[0065] In an additional aspect, various embodiments are provided for jointly optimizing time series pipelines (including transformers and estimators) and selecting one or more optimized or top-performing machine learning pipelines without training each pipeline on a complete / sufficient dataset via an incremental data allocation scheme. In one aspect, time series data, a library of transformers and estimators may be obtained as input. As output, one or more optimized or top-performing machine learning pipelines may be identified / selected, and intermediate evaluation scores may be determined.
[0066] In one embodiment, an incremental data allocation scheme can be used to allocate training data based on either seasonality or time-dependent levels. Following each data allocation, a pipeline evaluation instruction can be executed to provide an evaluation score. A learning curve can be predicted, and multiple test sets can be used to iteratively predict and evaluate the learning curve. A cutoff point on the learning curve can be identified and mapped relative to historical / old data (if any).
[0067] Referring now to Figure 4, a block diagram illustrating exemplary functional components of a system 400 for ranking time-series predictive machine learning pipelines in a computing environment (e.g., in a neural network architecture) in accordance with various mechanisms of the illustrated embodiment is shown. In one aspect, one or more of the components, modules, services, applications, or functions, or combinations thereof, described in Figures 1-3 may be used in Figure 4. As can be seen, many of the functional blocks may also be considered "modules" or "components" of functionality in the same descriptive sense as previously described in Figures 1-3.
[0068] The time-series predictive machine learning pipeline ranking service 410 is shown incorporating a processing unit 420 (“processor”) for performing various computations, data processing, and other functions in accordance with various aspects of the present invention. In one aspect, the processor 420 and memory 430 may be internal and / or external to the time-series predictive machine learning pipeline ranking service 410, and internal and / or external to the computer system / server 12. The time-series predictive machine learning pipeline ranking service 410 may be included in and / or external to the computer system / server 12, as described in FIG. 1 . The processor 420 may be in communication with the memory 430. The time-series predictive machine learning pipeline ranking service 410 may include a machine learning component 440, an assignment component 450, an evaluation component 460, a joint optimizer component 470, and a learning component 490.
[0069] In one aspect, system 400 may provide virtualized computing services (i.e., virtualized computing, virtualized storage, virtualized networking, etc.) More specifically, system 400 may provide virtualized computing, virtualized storage, virtualized networking, and other virtualized services that run on a hardware board.
[0070] The machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, the joint optimizer component 470, and the learning component 490, may rank time series forecasting machine learning pipelines in a computing environment with one or more processors in a computing system.
[0071] In one embodiment, the machine learning component 440 may receive, identify, or select or combine a machine learning model or a machine learning pipeline, or both, a dataset (e.g., a time series dataset) to be used to test the machine learning model or the machine learning pipeline, or both.
[0072] The machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, and the joint optimizer component 470, may determine a data allocation size for the time series data based on one or more characteristics of the time series dataset. The machine learning component 440, in conjunction with the allocation component 450, may allocate the time series data for use by one or more candidate machine learning pipelines based on the data allocation size.
[0073] The machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, and the joint optimizer component 470, may incrementally allocate time series data from the time series dataset for testing with candidate machine learning pipelines based on the degree of seasonality or time dependency of the time series data.
[0074] The machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, and the joint optimizer component 470, may determine intermediate evaluation scores, which may be provided by each of the candidate machine learning pipelines following the allocation of each time series data. The machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, and the joint optimizer component 470, may automatically select one or more machine learning pipelines from the ranked list of one or more candidate machine learning pipelines based on learning curves of predictions generated from the intermediate evaluation scores.
[0075] In additional embodiments, the machine learning component 440, in conjunction with the assignment component 450, the evaluation component 460, and the joint optimizer component 470, may assign a defined subset of the time series data going back in time to each of one or more candidate machine learning pipelines. The portion of the time series data that exceeds a time-based threshold may be identified as historical time series data, which is training data with lower accuracy compared to more recent training data.
[0076] The machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, and the joint optimizer component 470, may train and evaluate each candidate machine learning pipeline for each allocation of time-series data. The allocation of training data in one or more candidate machine learning pipelines may be incrementally increased based on intermediate evaluation scores from one or more previous allocations of training data. The learning component 490 may predict, generate, or provide a learning curve generated from each of the intermediate evaluation scores that may be determined / calculated. Each of the candidate machine learning pipelines may be ranked based on the predicted learning curve.
[0077] The machine learning component 440, in conjunction with the allocation component 450, can use the sequential ordering of the time series datasets while allocating the time series data based on the data allocation size. The machine learning component 440, in conjunction with the allocation component 450, can determine and / or identify holdout datasets, test datasets, and training datasets from the time series data to allocate the time series data. The machine learning component 440, in conjunction with the allocation component 450, can allocate the time series data retrospectively.
[0078] In other embodiments, the machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, and the joint optimizer component 470, may train and evaluate candidate machine learning pipelines using the time series data, the hold data set, the test data set, and the learning data set from the time series data.
[0079] In other embodiments, the machine learning component 440, in conjunction with the allocation component 450, the evaluation component 460, the joint optimizer component 470, and the cache component 480, may combine one or more features with previously determined features for use by one or more candidate machine learning pipelines, which may be cached in the final estimator of one or more candidate machine learning pipelines.
[0080] In one aspect, the machine learning component 440 described herein may perform various machine learning operations using a wide variety of methods or combinations of methods, such as supervised learning, unsupervised learning, time-lag learning, reinforcement learning, etc. Some non-limiting examples of supervised learning that may be used with the present technology include Averaged Algorithm of Dependence (AODE), artificial neural networks, backpropagation, Bayesian statistics, naive Bayes classifiers, Bayesian networks, Bayesian knowledge bases, case-based reasoning, decision trees, inductive logic programming, Gaussian process regression, gene expression programming, group method of data manipulation (GMDH), automated learning, learning vector quantization, minimum message length (decision trees, decision graphs, etc.), lazy learning, instance-based learning, nearest neighbor algorithms, analogical modeling, probably approximately 100% confidence interval (PAC), and the like. Examples of unsupervised learning techniques that can be used in the present technology include (correct) learning, ripple-down rules, knowledge acquisition techniques, symbolic machine learning algorithms, sub-symbolic machine learning algorithms, support vector machines, random forests, ensembles of classifiers, bootstrap bagging, boosting (meta-algorithms), ordinal classification, regression analysis, information fuzzy networks (IFNs), statistical classification, linear classifiers, Fisher's linear discriminant, logistic regression, perceptrons, support vector machines, quadratic classifiers, k-nearest neighbors, hidden Markov models, and boosting. Non-limiting examples of unsupervised learning that can be used in the present technology include artificial neural networks, data clustering, expectation maximization, self-organizing maps, radial basis function networks, vector quantization, generative terrain maps, information bottleneck methods, distributed autonomous entity systems based interaction (IBSEAD), association rule learning, apriori algorithm, Eklat algorithm, FP growth algorithm, hierarchical clustering, single linkage clustering, concept clustering, partial clustering, k-means algorithm, fuzzy clustering, and reinforcement learning. Some non-limiting examples of time-difference learning may include Q-learning and learning automata.Specific details regarding any of the supervised, unsupervised, time-lagged, or other machine learning examples described in this paragraph are known and within the scope of this disclosure. Also, when deploying one or more machine learning models, computing devices may be first tested in a controlled environment before being deployed in the public domain. And, even when deployed in a public environment (e.g., outside of a controlled, testing environment), the computing devices may be monitored for compliance.
[0081] Referring now to FIG. 5, a block diagram illustrating a machine learning pipeline 500 in a computing environment is shown. In one aspect, one or more of the components, modules, services, applications, or functions described in FIGS. 1-4, or combinations thereof, may be used in FIG. 5. As shown, the various blocks of functionality are depicted with arrows to designate the relationships of the blocks of system 500 to one another and to indicate process flow (e.g., steps or operations). Additionally, descriptive information associated with each of the functional blocks of system 500 is also shown. As shown, many of the functional blocks may also be considered “modules” of functionality in the same descriptive sense as previously described in FIGS. 1-4. With the foregoing in mind, the modular blocks of system 500 may also be incorporated into various hardware and software components of a system for automated evaluation of machine learning models in a computing environment in accordance with the present invention. Many of the functional blocks of system 500 may run as background processes on various components, within distributed computing components or elsewhere.
[0082] In one aspect, machine learning pipeline 500 may refer to a workflow that includes a series of transformers, such as, for example, transformers 510, 520 (e.g., window transformer “transformer”, imputer “transformer 2”), and one or more estimators, such as, for example, final estimator 530 (e.g., output).
[0083] Referring now to Figure 6, a block flow diagram illustrates an exemplary system 600 and functionality for performing joint optimization for ranking time-series forecasting machine learning pipelines in a computing environment using a processor. In one aspect, one or more of the components, modules, services, applications, or functions described in Figures 1-5, or combinations thereof, may be used in Figure 6.
[0084] As shown, the various blocks of functionality are depicted with arrows that designate how the blocks of system 600 relate to one another and illustrate process flow (e.g., steps or operations). Additionally, descriptive information associated with each of the functional blocks of system 600 is also shown. As shown, many of the functional blocks may also be considered "modules" of functionality in the same descriptive sense as previously described in FIGS. 1-5. With the foregoing in mind, the modular blocks of system 600 may also be incorporated into various hardware and software components of a system for automated evaluation of machine learning models in a computing environment, in accordance with the present invention. Many of the functional blocks of system 600 may be executed as background processes on various components, within distributed computing components or elsewhere.
[0085] 6, starting at block 602 (input of time series data), one or more candidate machine learning pipelines 604 can receive the time series data (preprocessed). The candidate machine learning pipelines 604 may include one or more transformers (e.g., Transformers 1-N) and one or more estimators. The candidate machine learning pipelines 604 may jointly optimize the transformers (e.g., Transformers 1, 2, and 3) and estimators (e.g., Estimators 1, 2, and 3) to form a pipeline using a joint optimizer (e.g., TDAUB instruction).
[0086] A joint optimizer (e.g., TDAUB instruction) such as block 606 can be trained by starting the machine learning pipeline of block 604 with a minimum allocation of time series data. Additional time series data may be allocated based on a) seasonality or b) level of temporal dependency, or a combination thereof. A learning curve may be predicted, and a cutoff point indicating the stale portion of the data on the learning curve may be marked and identified.
[0087] At block 608, hyperparameter optimization instructions may be executed. In one aspect, hyperparameter optimization is the process of selecting / choosing an optimal set of hyperparameters for a learning algorithm. Hyperparameters may be parameters whose values are used to control the learning process.
[0088] In block 610 (e.g., output of blocks 606 and 608), one or more machine learning pipelines may be ranked based on the TDAUB intermediate evaluation metrics and suggestions regarding associated training data may be provided.
[0089] Referring now to FIG. 7 , a block diagram 700 illustrates an exemplary system 700 and functionality for collaborative optimization for automated time series forecasting pipeline generation in a computing environment. As shown, various blocks of functionality are depicted with arrows to designate the relationships of the blocks of system 700 to one another and to indicate process flow (e.g., steps or operations). Additionally, descriptive information associated with each of the functional blocks of system 700 is also shown. As shown, many of the functional blocks may also be considered “modules” of functionality in the same descriptive sense as previously described in FIGS. 1-6 . With the foregoing in mind, the modular blocks of system 700 may also be incorporated into various hardware and software components of a system for automated time series forecasting machine learning pipeline generation in a computing environment in accordance with the present invention. Many of the functional blocks 700 may run as background processes on various components, within distributed computing components or elsewhere.
[0090] 7 is a data allocation scheme with co-optimization for automated time series forecasting pipeline generation. As shown, a training dataset 702 (e.g., a time series dataset) is received, a selected portion of the training dataset 702 (e.g., the last / final or "right most" portion) is taken as a test set ("test"), and smaller subsets of the training data are sequentially allocated backward.
[0091] A joint optimizer, such as the joint optimizer component 470 of FIG. 4, can employ a time-series data allocation upper bound (“TDAUB”) instruction / model. In one aspect, the TDAUB instruction is a joint optimizer that sequentially allocates one or more subsets (e.g., smaller subsets) of the allocated size of the training dataset 702 among a large set of machine learning pipelines, such as machine learning pipelines 704A-D. The execution and evaluation of each of the machine learning pipelines 704A-D may be performed based on a priority queue, with more promising pipelines (e.g., machine learning pipeline 704D) expected to compete first. A joint optimization instruction (e.g., a TDAUB instruction) may be implemented for each transformer and estimator of a pre-selected pipeline, such as machine learning pipelines 704A-D. The joint optimization may include a TDAUB instruction, an ADMM, or a continuous joint optimization, or a combination thereof.
[0092] Furthermore, the joint optimizer described herein is not limited to using a fixed data allocation size but also includes time-series-specific data allocation schemes. That is, the time-series-specific joint optimizer may: 1) automate data size allocation (e.g., the allocated data size is not fixed), or the data size allocation may adaptively depend on characteristics of the input time series, such as seasonality patterns, trend patterns, etc. The time-series-specific joint optimizer may define a fixed holdout set, a fixed test set, and a training set from the input time series and allocate training data for candidate pipelines retrospectively. The time-series-specific joint optimizer may train and evaluate candidate machine learning pipelines on the allocated training set and fixed test set to find the potentially best / optimal candidate machine learning pipeline for the next data allocation.
[0093] TIFF0007776241000001.tif69169
[0094] and n is the number of allocations.
[0095] The spectrum can be determined / calculated using the following formula: TIFF0007776241000002.tif13164
[0096] Sp k is the seasonal length of the time series data.
[0097] Thus, in the fourth step, the seasonal length Sp k In a fifth step, the data allocation size may be determined where it is equal to C* Sp k (4)
[0098] C is a preselected integer. In this way, the data allocation size can be selected / determined based on the season length, ensuring that each data allocation command covers / includes at least one complete seasonal cycle of the time series data.
[0099] Additionally, for the TDAUB instruction, the following may also be included: In one aspect, the total length of the input time series data may be denoted as "L" and the number of pipelines may be denoted as "np." DAUB is executed, for example, if the total length of the input time series data is greater than a minimum allocation size ("min_allocation_size") (e.g., "L>min_allocation_size"), where the minimum allocation size ("min_allocation_size") is an a priori selected threshold for triggering TDAUB.
[0100] In one aspect, the minimum data allocation size ("min_allocation_size") may be the minimum data allocation amount if the data is 1K or less, and the pipeline is evaluated using the entire data, optionally also user inputtable.
[0101] The fixed placement unit can perform the following operations.
[0102] In step 1.1, a minimum allocation size ("min_allocation_size") of data may be allocated to each machine learning pipeline, such as machine learning pipelines 704A-D, starting with the most recent data (e.g., machine learning pipeline 704A). The initial data allocation may be split / sprinted into a training set ("train") and a test set ("test"). Machine learning pipelines 704A-D may be trained on the training set, after which each of machine learning pipelines 704A-D may be scored on the test set. A score ("score 1") may be recorded for each of machine learning pipelines 704A-D.
[0103] In step 1.2, additional and incremental data (e.g., allocation_increment data) may be allocated retroactively to each of the pipelines, such as machine learning pipelines 704A-D. Each of the machine learning pipelines 704A-D may be trained on a training set, and a score may be determined on a test set for each of the machine learning pipelines 704A-D. A score ("score 2") may be recorded for each of the machine learning pipelines 704A-D.
[0104] In one aspect, allocation_increment may be an allocation amount based on seasonality. Seasonality of time series data may be estimated using a Fast Fourier Transform. Allocation_increment may be set equal to the season length (e.g., allocation_increment = seasonality length). In one aspect, if the training data contains only a few season lengths, allocation_increment may be set equal to the season length divided by the number of allocations (e.g., allocation_increment = seasonality length / number of desired allocations). Allocation may also be based on temporal dependency. The number of correlation lags can be estimated using the criteria "AIC" and "BIC." Allocation_increment may be set equal to a preselected integer multiplied by the number of significant lags (e.g., allocation_increment = C * number of significant lags).
[0105] In step 1.3, the fixed allocation cutoff ("fixed_allocation_cutoff") may be indicated / denoted as n times the allocation_increment backward after the test set, i.e., n=(fixed_allocation_cutoff / allocation_increment). Step 1.3 may be repeated n-1 times.
[0106] After the fixed allocation part, a vector ("V") of scores [score 1, … score n] for each pipeline corresponding to the sample size [min_allocation_size, min_allocation_size+ allocation_increment, …, fixed_allocation_cutoff] may be collected and assembled.
[0107] In step 1.4, for each pipeline, a regression fit may be performed on the predicted sample size of the target variable score V. If the sample size is equal to the total length "L" of the input time series data, the score may be predicted. The predicted score vector is [S1, S2, ...S], corresponding to pipeline 1, pipeline 2, ..., pipeline np, e.g., machine learning pipelines 704A-D. np ] may be displayed.
[0108] In step 1.5, the predicted score vector [S1, S2, …S np ] may be ranked from smallest ("min") to largest ("max"), with the assumption that the smaller the score, the more accurate the pipeline. The ranked score vector is [S'1, S'2, ...S' np ] and the corresponding pipelines may be held in a priority queue.
[0109] In the allocation acceleration part, not all machine learning pipelines receive additional data allocation. Rather, only the upper machine learning pipelines receive additional data allocation. The additional data allocation grows geometrically. For example, as shown below: rounded_inc_mult = int(last_allocation * initial_geo_allocation_increment))) / allocation_increment. next_allocation = int(rounded_inc_mult * allocation_increment)
[0110] In step 2.1, additional next_allocation data points may be allocated to the top / optimized machine learning pipeline (e.g., machine learning pipeline 704D) in the priority queue. Given the same test set as previously used, machine learning pipeline 704D may be trained on the training set, and the pipeline (e.g., machine learning pipeline 704D) may be scored on the test set. The new score may be recorded in the score vector of this top pipeline (e.g., machine learning pipeline 704D). Linear regression may be applied to refit on the updated score vs. the predicted sample size. If the sample size is equal to L (e.g., the total length of the input time series data), the score may be predicted.
[0111] In step 2.2, the previously obtained scores of the top / optimization pipeline (e.g., machine learning pipeline 704D) may be replaced by the newly predicted ones in the ranked score vector, and the score vector may be re-ranked and the corresponding priority queue may be updated.
[0112] In step 2.3, each of steps 2.1-2.2 can be repeated until no more data can be allocated.
[0113] Note that the TDAUB instruction is typically executed multiple times against multiple test sets, and the results are combined by majority vote.
[0114] As shown in FIG. 7, the learning curve may be predicted by the DUAB. In one embodiment, for early learning curve prediction, a machine learning model that exhibits a "similar error distribution" on an internal test dataset even after allocating more data points suggests the following: 1) the machine learning model has already acquired learning without additional benefit; 2) if the machine learning model's performance is significantly low, the model instructs or decides early to change some parameters; or 3) "introduces early feedback in competition," i.e., increases opportunities to improve the performance of a low-performing pipeline. For example, the model estimates that Pipeline A adjusted one or more parameters based on the data provided in the first data allocation. The model also estimates that a certain parameter setting did not achieve the desired results. In this way, early feedback may provide a pipeline with an opportunity to adjust parameters before the first five rounds of data allocation are completed.
[0115] Also, because the internal test data remains unchanged, a comparison operation can be performed to compare the effect of allocating more data points to the resulting error, applying the same error distribution.
[0116] 8, a graphical diagram 800 illustrates example operations 800 for time-ranking a time-series predictive machine learning pipeline in a processor-based computing environment. In one aspect, one or more of the components, modules, services, applications, or functions, or combinations thereof, described in FIGS. 1-7 may be used in FIG.
[0117] As shown in graph 800, test accuracy is plotted on the Y-axis and row count (age of data) is plotted along the X-axis. Thus, given a test set, the top / optimized run_to_completion machine learning pipeline is selected and trained on the remainder of the available data. Final scores may be recorded and ranked. A final ranked list of machine learning pipelines for time series forecasting may be identified, determined, and selected.
[0118] Based on the intermediate TDAUB accuracy metrics, a time threshold or point where the learning curve begins to decline may be identified, and one or more recommendations may be provided to the user regarding the stale portion of the data. For example, before the time threshold is reached, additional data will improve test accuracy per number of rows. However, once the time threshold is reached and exceeded, additional data may become redundant or even harmful, resulting in lower test accuracy for the time series data.
[0119] 9, a method 900 for ranking time-series predictive machine learning pipelines in a processor-based computing environment is shown, in which various aspects of the illustrated embodiment may be implemented. The function 900 may be implemented as a method (e.g., a computer-implemented method) executed as instructions on a machine, the instructions being contained on at least one computer-readable medium or one non-transitory machine-readable storage medium. The function 900 may begin at block 902.
[0120] As shown in block 904, time series data may be incrementally allocated from the time series dataset for testing by the candidate machine learning pipelines based on the degree of seasonality or time dependency of the time series data. As shown in block 906, intermediate evaluation scores may be provided by each of the candidate machine learning pipelines following each time series data allocation. As shown in block 908, one or more machine learning pipelines may be automatically selected from the ranked list of one or more candidate machine learning pipelines based on learning curves of predictions generated from the intermediate evaluation scores. Function 900 may end, as shown in block 910.
[0121] In one aspect, in connection with, as part of, or both of at least one block of Figure 9, operations of method 900 may include the following: The operations of 900 may assign a defined subset of time-series data going back in time to each of one or more candidate machine learning pipelines.
[0122] The operation of 900 may identify a portion of the time series data that exceeds a time-based threshold as historical time series data, which is less accurate training data, and train and evaluate one or more candidate machine learning pipelines for each allocation of the time series data.
[0123] The operation of 900 may incrementally increase the allocation of training data in one or more candidate machine learning pipelines based on intermediate evaluation scores from one or more previous allocations of training data.
[0124] The operation of 900 may determine a learning curve generated from each of the intermediate evaluation scores and rank each of the one or more candidate machine learning pipelines based on the predicted learning curves.
[0125] The present invention may be a system, a method, or a computer program product, or a combination thereof. The computer program product may include a computer-readable storage medium having stored thereon computer-readable program instructions for causing a processor to carry out aspects of the present invention.
[0126] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, by way of example only, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination thereof. More specific examples of computer-readable storage media include portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices having instructions recorded thereon, such as punch cards or ridge structures in grooves, and suitable combinations thereof. As used herein, computer-readable storage should not be construed as a transitory signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0127] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device via a network (e.g., the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof). The network may be comprised of copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface of each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium within the respective computing / processing device.
[0128] The computer-readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" programming language and similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, as a standalone software package, or partially on the user's computer. Alternatively, the computer may be executed partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the computer-readable program instructions in order to carry out aspects of the present invention.
[0129] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0130] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions can also be stored in a computer-readable storage medium connectable to a computer, programmable data processing apparatus, or other device, or combination thereof, that functions in a particular way, such that the computer-readable program instructions stored therein create one of an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0131] Computer-readable program instructions, such as instructions to perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams on a computer, other programmable apparatus, or other device, can also be loaded into a computer, other programmable data processing apparatus, or other device to perform a series of operational steps on the computer, other programmable apparatus, or other device to produce a computer-implemented process.
[0132] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of executable implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, which constitute one or more executable instructions for implementing the specified logical function(s). In some alternative embodiments, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of special-purpose hardware and computer instructions.
[0133] The description of the embodiments of the present invention is presented for the purpose of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the present invention. The terms used herein have been selected to best explain the principles of the embodiments, practical applications or technical improvements to technology found in the market, or to enable those skilled in the art to understand the embodiments described herein.
Claims
1. 1. A method for ranking time series forecasting machine learning pipelines in a computing environment with one or more processors, the method comprising: training a plurality of candidate machine learning pipelines with a joint optimizer, the candidate machine learning pipelines including a plurality of time series data pipelines, the training starting from a minimum allocation of time series data; incrementally allocating additional time series data from the time series dataset to the training for testing with one or more candidate machine learning pipelines based on seasonality patterns, trend patterns, or degree of time dependency of the time series data; providing an intermediate evaluation score by each of the one or more candidate machine learning pipelines following each time series data assignment; and automatically selecting one or more machine learning pipelines from the ranked list of one or more candidate machine learning pipelines based on a predictive learning curve generated from the intermediate evaluation scores.
2. 2. The method of claim 1, further comprising assigning a defined subset of the time series data retroactively to each of the one or more candidate machine learning pipelines.
3. The method of claim 1 , further comprising identifying a portion of the time series data that exceeds a time-based threshold as historical time series data, the historical time series data being less accurate training data.
4. The method of claim 1 , further comprising: training and evaluating the one or more candidate machine learning pipelines for each allocation of the time series data.
5. 10. The method of claim 1, further comprising incrementally increasing an allocation of training data in the one or more candidate machine learning pipelines based on intermediate evaluation scores from one or more previous allocations of the training data.
6. The method of claim 1 , further comprising determining the learning curve generated from each of the intermediate evaluation scores.
7. The method of claim 1 , further comprising: ranking each of the one or more candidate machine learning pipelines based on the predictive learning curve.
8. 1. A system for ranking time series forecasting machine learning pipelines in a computing environment, the system comprising: one or more computers having executable instructions that, when executed, cause the system to: training a plurality of candidate machine learning pipelines with a joint optimizer, the candidate machine learning pipelines including a plurality of time series data pipelines, the training starting from a minimum allocation of time series data; incrementally allocating additional time series data from the time series dataset to the training for testing with one or more candidate machine learning pipelines based on seasonality patterns, trend patterns, or degree of time dependency of the time series data; providing an intermediate evaluation score by each of the one or more candidate machine learning pipelines following each time series data assignment; and automatically selecting one or more machine learning pipelines from the ranked list of one or more candidate machine learning pipelines based on a predictive learning curve generated from the intermediate evaluation scores.
9. 10. The system of claim 8, wherein the executable instructions, when executed, cause the system to assign a defined subset of the time series data retroactively to each of the one or more candidate machine learning pipelines.
10. 10. The system of claim 8, wherein the executable instructions, when executed, cause the system to identify a portion of the time series data that exceeds a time-based threshold as historical time series data, the historical time series data being less accurate training data.
11. 10. The system of claim 8, wherein the executable instructions, when executed, cause the system to train and evaluate the one or more candidate machine learning pipelines for each allocation of the time series data.
12. 10. The system of claim 8, wherein the executable instructions, when executed, cause the system to incrementally increase an allocation of training data in the one or more candidate machine learning pipelines based on intermediate evaluation scores from one or more previous allocations of the training data.
13. The system of claim 8 , wherein the executable instructions, when executed, cause the system to determine the learning curve generated from each of the intermediate evaluation scores.
14. 10. The system of claim 8, wherein the executable instructions, when executed, cause the system to rank each of the one or more candidate machine learning pipelines based on the predictive learning curve.
15. 1. A computer program for ranking time series forecasting machine learning pipelines in a computing environment, the computer program comprising: program instructions for training a plurality of candidate machine learning pipelines with a joint optimizer, the candidate machine learning pipelines including a plurality of time series data pipelines, the training starting from a minimum allocation of time series data; program instructions for incrementally allocating additional time series data from the time series dataset to the training for testing with one or more candidate machine learning pipelines based on seasonality patterns, trend patterns, or degree of time dependency of the time series data; program instructions for providing an intermediate evaluation score by each of the one or more candidate machine learning pipelines following each time series data assignment; and program instructions for automatically selecting one or more machine learning pipelines from the ranked list of one or more candidate machine learning pipelines based on a predicted learning curve generated from the intermediate evaluation scores.
16. 16. The computer program of claim 15, further comprising program instructions for assigning a defined subset of the time series data retroactively to each of the one or more candidate machine learning pipelines.
17. 16. The computer program of claim 15, further comprising program instructions for identifying a portion of the time series data that exceeds a time-based threshold as historical time series data, the historical time series data being less accurate training data.
18. For each allocation of the time series data, training and evaluating the one or more candidate machine learning pipelines; 16. The computer program of claim 15, further comprising program instructions for increasing an allocation of training data in the one or more candidate machine learning pipelines based on intermediate evaluation scores from one or more previous allocations of the training data.
19. 16. The computer program of claim 15, further comprising program instructions for determining the learning curve generated from each of the intermediate evaluation scores.
20. 16. The computer program of claim 15, further comprising program instructions for ranking each of the one or more candidate machine learning pipelines based on the predictive learning curve.
Citation Information
Patent Citations
Machine learning management program, machine learning management apparatus, and machine learning management method
JP2017049677A
Demand prediction server and demand prediction method
JP2019201440A
SYSTEMS FOR PREDICTIVE DATA ANALYSIS AND ASSOCIATED METHODS AND APPARATUS - Patent application
JP2019537125A
Learning curve prediction device, learning curve prediction method, and program
JP2020067910A