Scalable modeling for large collections of time series
By hierarchically partitioning and parallel modeling time series data, the efficiency and accuracy issues of existing computing platforms when processing large amounts of time series data are solved, achieving efficient parallel modeling and accurate prediction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2021-10-26
- Publication Date
- 2026-05-12
AI Technical Summary
Existing technologies struggle to effectively process large amounts of time-series data, leading to challenges for computing platforms in terms of computing resources and accuracy, especially in machine learning and deep learning models, where they cannot meet the demands of large-scale data and complex models.
By grouping time series data into a hierarchical structure and selecting appropriate partition levels based on computing power, the modeling task is performed using a parallel computing platform. A grouping strategy based on domain and semantic models is adopted to automatically determine the partition levels in order to improve computational efficiency and accuracy.
It enables efficient parallel modeling of large amounts of time series data on a given computing platform, improving prediction accuracy and computational efficiency, and adapting to the needs of large-scale data and complex models.
Smart Images

Figure CN116569193B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a time series forecasting method, and more particularly to a method for improving the statistical accuracy and computational efficiency of computing devices used for time series forecasting. Background Technology
[0002] A time series is a sequence of data points indexed in chronological order, such as a series of data collected sequentially at fixed time intervals. Time series forecasting uses models to predict future values of a time series based on previous observations. Forecasting on large numbers of correlated time series is a prominent aspect of many practical industrial problems and applications. In fact, it can be a core component driving subsequent decision-making, optimization, and planning of systems and processes.
[0003] Today, datasets can contain millions of related time series at thousands of points in time. As a non-limiting example, electricity forecasting (e.g., predicting electricity usage across different geographic and temporal regions), road traffic analysis, and similar tasks can involve extremely large amounts of time series, sometimes referred to as big data. The sheer volume of time series, along with the increasing number of models, model complexity, variability, and the possibility of including external data automatically searched as part of the modeling process, presents prohibitive computational challenges when performing multi-time-series modeling.
[0004] Existing systems and methods for forecasting cannot scale to accommodate such large amounts of time series, let alone enable state-of-the-art (SOTA) forecasting components and models to withstand both the sheer size of the data (which may not fit in the memory of the computational architecture) and the modeling of all available time series across scenarios creating very large datasets (which provides cross-sequence modeling). Therefore, traditional computational systems cannot effectively accommodate (if any) the training and use of models based on large amounts of time series data. Furthermore, fitting a model using the entire available time series data may involve large and complex models overall, further exacerbating scalability issues, whereas fitting a large number of models without using multiple time series may not provide enough data to accommodate complex models, such as machine learning (ML) and / or deep learning (DL) models, and the learning relationships with large amounts of exogenous data. Summary of the Invention
[0005] According to various embodiments, a computing device, storage medium, and computer-implemented method are provided to improve the computational efficiency of a computing platform in processing time-series data. The method involves receiving time-series data comprising multiple time series. The time-series data are grouped into a hierarchical structure of partitions of related time series. This hierarchical structure has different partition levels. The computing power of the computing platform is determined. A partition level is selected from the different partition levels based on the determined computing power. Based on the selected partition level, one or more modeling tasks are defined, each modeling task comprising a group of time series from the multiple time series. One or more modeling tasks are executed in parallel on the computing platform by training a model for each modeling task using all time series from the group of time series corresponding to that modeling task.
[0006] In one embodiment, each partition level includes multiple sets of time series based on time series data.
[0007] In one embodiment, each partition level includes a number of time series with substantially similar values.
[0008] In one embodiment, determining computing power includes receiving computing power from a reference database.
[0009] In one embodiment, determining computing power includes performing an initial approximation by performing partial modeling at multiple partition levels on the computing platform.
[0010] In one embodiment, the selection of the partition level is based on the highest time efficiency with a predetermined accuracy.
[0011] In one embodiment, the selection of the partition level is based on the highest accuracy of a predetermined time efficiency.
[0012] In one embodiment, for each modeling task, cross-time series modeling is performed in parallel at selected levels.
[0013] In one embodiment, time series grouping is performed by grouping based on domains and / or semantic models.
[0014] In one embodiment, the computing platform includes multiple computing nodes. The computing power of the computing platform is determined individually for each node.
[0015] These and other features will become apparent from the following detailed description of illustrative embodiments of the invention, which is read in conjunction with the accompanying drawings. Attached Figure Description
[0016] The accompanying drawings are illustrative embodiments. They do not show all embodiments. Other embodiments may be used alternatively or as an alternative. Details that may be obvious or unnecessary may be omitted to save space or for more efficient illustration. Some embodiments may be implemented with additional components or steps and / or without all components or steps shown. When the same numbers appear in different drawings, they refer to the same or similar components or steps.
[0017] Figure 1 An example architecture is shown that can be used to implement a system for scalable modeling of large collections of time series data.
[0018] Figure 2 This is a block diagram of a system for time-series partitioning and task creation, consistent with the illustrative embodiments.
[0019] Figure 3 A conceptual block diagram is provided that shows the different predictive components consistent with the illustrative embodiments and how they relate to each other.
[0020] Figure 4 This is a conceptual block diagram of the high-level process of the toolkit, consistent with the illustrative embodiments.
[0021] Figure 5 An illustrative process for partitioning time series data into groups at different partition levels that can be adapted to the computing platform, consistent with the illustrative embodiments, is presented, along with the execution of complete multi-time series modeling.
[0022] Figure 6 Provides options for implementation Figure 1 A functional block diagram illustrating the functions of a computer hardware platform for an efficient server.
[0023] Figure 7 A cloud computing environment according to an illustrative embodiment is described.
[0024] Figure 8 An abstract model layer according to an exemplary embodiment is described. Detailed Implementation
[0025] Overview
[0026] In the following detailed description, numerous specific details are illustrated by example to provide a thorough understanding of the relevant teachings. However, it should be understood that the teachings of the invention can be practiced without these details. In other instances, well-known methods, procedures, components, and / or circuits have been described at a relatively high level without detail in order to avoid unnecessarily obscuring aspects of the teachings.
[0027] This disclosure relates to systems and methods for scalable modeling of large collections of time series. Today, industry involves forecasting to drive planning and operations. However, the proliferation of time series, along with the increasing volume of data processing and model variations, and the data to be combined and explored, creates prohibitive computational challenges on computing platforms that current forecasting systems cannot meet. For example, computing platforms may lack sufficient computational resources to perform computations and / or may take too long to receive forecast results. This situation is exacerbated with the latest state-of-the-art ML / DL forecasting models, which may involve cross-series modeling, i.e., using data from all series fed into the model to fit the forecasting model parameters and harvest forecasts from the model.
[0028] The industry strives to extend forecasting to vast amounts of available time series, often sacrificing the accuracy of predictive models (e.g., in terms of pipeline / model and feature complexity, the model being searched, and the included exogenous data) for tractable modeling, potentially leading to reduced computational accuracy of the computing devices performing these calculations. Furthermore, the industry today may lack the latest state-of-the-art predictive components, such as artificial intelligence (AI) / deep learning (DL) methods and predictive techniques, to fully leverage massive amounts of data (big data) to facilitate predictive tasks. In fact, the application of AI, especially DL, in business forecasting is very limited, let alone multivariate models that span multiple sequences or utilize information from all sequences within the model.
[0029] As an example, and not a limitation, the goal of demand planning / forecasting can be to predict future demand or sales given observed sales history or demand and other external factors, where the time series is a sales sequence at a predetermined resolution (e.g., daily sales). For example, in a supply chain, each entity may rely on downstream forecasting to determine the quantity of products to prepare and / or ship to meet that demand, and on upstream forecasting to predict the supply they can obtain from different suppliers. For instance, a retailer might need to forecast demand for each of potentially millions of products at thousands of different locations (e.g., stores) to determine the necessary quantity for the retailer to reorder periodically and to determine the quantity of products to replenish to each location periodically (e.g., weekly, monthly, etc.). Each of these product-store combinations provides a time series. The result could be millions or even billions of time series data points.
[0030] Other examples include traffic forecasting at different locations and times (which can be physical, such as in road traffic, or virtual, such as in internet traffic); power forecasting (e.g., predicting geographic or power usage at different times); and manufacturing and Internet of Things (IoT) sensor time series modeling (e.g., predicting hundreds of thousands of different sensors and locations). There are many challenges associated with time series data from different nodes or even from the same node, such as time series misalignment, missing values, inclusion of large amounts of extraneous data (e.g., weather events), and potentially sparse data.
[0031] In one aspect, the teachings of this paper enable scalable and efficient forecasting of large amounts of time series and data using existing forecasting techniques by automatically determining appropriate partitioning levels for time series to perform cross-series modeling in parallel (i.e., computationally feasible and with improved accuracy on a given computing platform), where each partition forms a forecasting task that can be run in parallel. Furthermore, the teachings of this paper promote the use of cross-time series machine learning algorithms, which provide state-of-the-art methods for forecasting, and cross-time series and multi-task and / or multivariate models for modeling or sharing model parameters to improve forecasting accuracy, as well as the increasing amount of exogenous data including external factors such as weather, events, social media, etc.
[0032] As taught in this paper, entities can upload their data, specify the set of models to try, the time period for training and evaluation, and efficiently receive the evaluation results and the predictive models for deployment and use. The system automatically translates the specified predictive task into appropriate and distributed / parallel computational tasks to suit available computing resources, thereby not only enabling processing but also achieving greater accuracy on a given computing platform. Data scientists can easily explore modeling processes and variations and determine results at scale without sacrificing accuracy for understanding. This architecture improves computational efficiency and processing speed by enabling the partitioning of time-series data into groups that can be processed simultaneously (i.e., in parallel). Refer now to the examples shown in the accompanying figures and discussed below for further details.
[0033] Example Architecture
[0034] Figure 1An example architecture 100 is shown that can be used to implement a system for scalable modeling of large collections of time series data. Architecture 100 includes input data 104 from multiple nodes 103(1) to 103(N). Nodes can be in the same region or distributed. For example, nodes 103(1) and 103(2) may be in a first region 170 (e.g., Kentucky), nodes 103(3) and 103(4) may be in a second region 172 (e.g., NYC), nodes 103(5) to 103(N) may be in a third region (e.g., LA), and so on. As used herein, a node is a source of sequence information. For example, it can be a retail store providing information about various products, a sensor providing traffic and / or weather information, etc.
[0035] Network 106 may be, but is not limited to, a local area network (“LAN”), a virtual private network (“VPN”), a cellular network, the Internet, or a combination thereof. For example, network 106 may include a mobile network communicatively coupled to a private network, sometimes referred to as an intranet providing various ancillary services, such as communication with time-series data storage 114. For the purposes of this discussion, network 106 will be described as a mobile network by way of example only and not limitation, which may be operated by an operator or service provider to provide a wide range of mobile communication services and supplementary services or features to its subscribers and associated mobile device users.
[0036] In one embodiment, a time-series data repository 114 is provided, configured to store a large amount of time-series data generated by nodes 103(1) to 103(N), i.e., each node corresponds to a time series. The time-series data 115 in the time-series data repository 114 may be provided to the efficiency server 130 at predetermined intervals or upon triggering an event (e.g., a request from the efficiency server 130). In some embodiments, the time-series data 140 is received directly by the efficiency server 130 from nodes 103(1) to 103(N).
[0037] Architecture 100 includes a time series efficiency engine 103, which is a program running on efficiency server 130. Efficiency engine 103 is configured to receive time series data 115 from time series data repository 114 and / or directly from nodes 103(1) to 103(N). Efficiency engine 103 is operable to perform hierarchical partitioning of large amounts of time series data. In various embodiments, domain-based grouping and / or data-based grouping may be used, which will be discussed in more detail later. At the time of this initial grouping, the grouping level is automatically determined by efficiency engine 103. Each group of time series data represents a modeling task to be processed by computing devices represented by computing nodes 150(1) to 150(N). Tasks are assigned to one or more computing devices 150(1) to 150(N) for parallel execution. By distributing the computational load represented by groups of time series data, processing time is reduced, while accuracy is potentially improved by enabling centralized models for each group. Each of these concepts is discussed in more detail below.
[0038] The Efficiency Engine 103 is configured to automatically partition time-series data to create tasks that run in parallel on one or more computing devices. In one respect, modeling across multiple sequences (e.g., compared to training a single model for each sequence) offers improvements in scalability and performance for machine learning (ML) and deep learning (DL) based modeling. A single time series may not provide sufficient data for accurate training of complex models. This is exacerbated when extraneous data is introduced, which leverages multiple related time series to learn common patterns (across time series and from extraneous data) and relationships between related sequences, such as correlations and dependencies in multi-task modeling and multivariate modeling.
[0039] However, including too many sequences in a model also leads to a lack of scalability and unnecessary complexity - the data size and model size become too large, and the model must become large enough to encode multiple different types of relationships (which may be easier to capture with a separate model).
[0040] For example, retailers might sell electronics and clothing, but these types typically don't share many common or overlapping relationships, and there might be enough data within each type to capture more general patterns. In reality, the only added complexity comes from training a model across two groups. Therefore, in this case, it's best to train a separate model for each type. At this point, the Efficiency Engine 103 is able to determine which partitions of the time series should be performed to model each group (partition). This partitioning makes modeling more efficient because it makes the models more accurate, as each model is constrained to more relevant data. Furthermore, the models can be less complex because they don't have to deal with entirely different information. The entire pipeline of the Efficiency Engine 103 (and all prediction steps) can be tailored to specific partitions (because different groups may require completely different component settings).
[0041] The partitioning of the efficiency engine 103 also achieves much greater scalability because each partition modeling task can run in parallel on each compute node (e.g., 150(1)) to 150(N)), where each compute node receives a reduced size of time-series data. In one embodiment, information from other partitions can also be included in each partition modeling at an aggregation level (e.g., taking the mean sequence from each other group).
[0042] For the purposes of discussion, different computing devices (e.g., 150(1) to 150(N) and 130) are shown in the figures to represent some instances of apparatus that can be used to partition time-series data and process it. Today, computing devices typically take the form of tablets, laptops, desktop computers, personal digital assistants (PDAs), portable handhelds, smartphones, and smartwatches, but they can be implemented in other form factors, including consumer and commercial electronic devices. The efficiency engine provides technical improvements by configuring its host in a specially configured computing device capable of enhancing the ability of one or more computing devices to process large amounts of time-series data. While the time-series data repository 114 and the efficiency server 130 are shown by way of example as being on different platforms, in various embodiments these platforms can be combined in various combinations. In other embodiments, one or more of these computing platforms can be implemented by virtual computing devices in the form of virtual machines or software containers hosted in cloud 120, thereby providing a resilient architecture for processing and storage, discussed in more detail later. Therefore, the functionality described herein with respect to each of the time-series data repository 114 and the efficiency server 130 can also be provided by one or more different computing devices.
[0043] Exemplary block diagram
[0044] Figure 2This is a block diagram of a system 200 for time series partitioning and task creation, consistent with the illustrative embodiment. For discussion purposes, reference is made to... Figure 1 The architecture 100 is used to describe Figure 2 The diagram illustrates the system 200. System 200 shows that the efficiency engine 103 performs three main actions to automatically partition time series data for parallel time series modeling. First, the efficiency engine 103 receives time series data 202 and performs hierarchical partitioning. Partitioning is hierarchical because there may be partitions with larger group sizes (and fewer groups in total) and sub-partitions with smaller group sizes (and more groups in total). For example, the largest group size partition 207 may include the most lenient criteria for inclusion (e.g., same region, same storage, etc.) and therefore includes the largest group (i.e., the time series (ts 1 to ts 10) in this example). Closer partition groups represent sets of time series that are more likely to be relevant and benefit from cross-series modeling 209. The closest partition groups are referred to herein as level 1 partition groups (or groupings), and the level increases as more time series are introduced into the group. Level 1 partitions have closer inclusion criteria (e.g., the same product line in the region) (e.g., 211, 213).
[0045] In various embodiments, different hierarchical partitioning strategies 204 can be used. In one embodiment, domain-based and / or semantic model-based grouping can be used, as represented by box 206. In another embodiment, data-based grouping can be used to infer relationships between data, as represented by box 208. Data-based grouping is grouping based on time series history and the attributes themselves; that is, it is not a pre-specified set of groupings, but rather groupings automatically calculated based on the data itself (i.e., data-driven). For example, one embodiment of data-based grouping may involve clustering time series based on historical patterns and magnitudes—for example, using time series similarity and distance metrics, such as Dynamic Time Warping (DTW) distance, or correlation combined with hierarchical clustering algorithms such as hierarchical agglomerative clustering or iterative k-means clustering, using time series distance metrics. Another exemplary embodiment uses attributes of the time series as features to apply hierarchical clustering, including summary statistics of historical series values, such as mean, maximum, variance, natural / final value prediction error, trend, and seasonal sensitivity, as well as well-known attributes such as category labels (e.g., in the retail case, product category, product classification, market segmentation, store count, store status / region, etc.). Another embodiment could be to derive a graph where each time series is a node, and different types of relationships between time series are represented as different links connecting nodes in the graph, where different weights represent the strength of the relationship. These links can be derived from different relationships, including the previously mentioned correlation, time series distance, attribute similarity, etc. A hierarchical graph clustering algorithm can then be applied to the graph to form partitions at different levels. Other techniques for hierarchical partitioning are also supported by the teachings of this paper. Furthermore, constraints on group size can be included, forcing that the size (i.e., the number of time series) of each group at a given partition level is not significantly different, such that the modeling task and its complexity and computational burden will be similar for each group at the same partition level. This can be achieved through different embodiments. For example, in one embodiment, hierarchical agglomerative clustering is used, where the cluster size at each hierarchical level will always be within a fixed range. In other embodiments, such as for algorithmic clustering, size similarity constraints can be added to the clustering optimization problem. In some embodiments, post-processing of clustering (such as merging clusters that are too small or splitting clusters that are too large) can be used.
[0046] In one embodiment, each group in the partition may also include one or more aggregated sequences from other groups, such as a global set from other groups (e.g., a mean sequence), or an aggregated series for each group, to enable the scalable utilization of any additional information from other groups. This approach can improve modeling at each level of hierarchy.
[0047] Secondly, the efficiency engine 103 determines the partition level 210 to be used. To this end, the efficiency engine can weigh modeling accuracy against modeling time. The goal is to find the correct partition level in the hierarchical partitioning to train the model, which will provide modeling accuracy at a predetermined desired level while providing scalability. To this end, the efficiency engine can make an initial determination of the computing power of the computing devices performing the computations, referred to herein as an initial approximation. In various embodiments, the initial approximation can be received directly from a reference database of the capabilities of each computing device or storage computing device (e.g., the number of processors and cores, the amount of memory, clock speed, current load, etc.). Based on the initial approximation, a partition level capable of processing time-series data over a predetermined time period is selected. In one embodiment, it is assumed that the computing nodes are homogeneous, and the performance of one computing node represents that of the other computing nodes. Alternatively, each computing node 150(1) to 150(N) is evaluated independently.
[0048] In one embodiment, the efficiency engine 103 performs tests by performing partial modeling (in parallel) on a subset (e.g., one or more groups) of each level from the candidate level set to test the accuracy and computation time of each level. In this way, computational capacity is determined. When the computational capacity of the computing device performing the processing of time series data is determined, a partition level capable of adapting to the processing of time series data within a predetermined time period and a predetermined threshold accuracy is selected. Figure 2 In the example, efficiency engine 103 determines that level 2 partitioning (which includes group 1 (e.g., 215) and group 2 (e.g., 209) as two different groups to be modeled separately and simultaneously within the partition) provides better accuracy and efficiency—and this can be based on simply testing a subset of the groups initially at that level (e.g., the level 2 being tested)—such as only for a subset of the modeling configuration group 1 (e.g., 215) and comparing it with similar tests at other levels. For example, the partitioning level to be selected could be: level 0—which includes each individual time series in its own group—in which case the model is fitted to each individual time series separately; level 1—which includes 211, 213, and 215 as three different groups—where individual models are fitted to each of the three groups in parallel; level 2, which includes 209 and 215 as two different groups that can be modeled independently within that level; and level 3 = 207—which corresponds to fitting a model across all time series (modeling the entire set of time series together). Moving the level up or down results in different outcomes in terms of accuracy and efficiency. For example, both can be increased from level 0 to a point (such as level 1 or 2) and begin to decrease for higher levels.
[0049] After determining that a partition level can be accommodated by computing devices, that partition level is selected. Each group within that partition level is considered a task to be executed in parallel by a separate computing device. In one embodiment, each group within the partition level consumes a similar amount of computing resources. Thus, all computations are completed within a predetermined timeframe.
[0050] Third, the efficiency engine executes each task on the corresponding compute nodes in parallel. Now that an appropriate hierarchy has been chosen, full modeling of all groups for that hierarchy can be performed. As mentioned above, in some embodiments, it is assumed that compute nodes 150(1) to 150(N) are homogeneous. However, in scenarios where the compute nodes are determined to be heterogeneous, in various embodiments, work is allocated in parallel based on the lowest-performing compute node, or tasks can be partitioned in a way that adapts to the capabilities of the corresponding compute nodes. For example, the efficiency engine 103 may appropriately allocate tasks to each node based on group size and estimated task complexity (assigning smaller / easier tasks to less powerful compute nodes).
[0051] Example prediction component
[0052] Forecasting involves large-scale prediction of multiple related time series and their uncertainties at multiple levels, in order to feed them into downstream decision-making and optimization systems. In this regard, refer to... Figure 3 The diagram 300 provides a conceptual block diagram of the different prediction components consistent with the illustrative embodiments and how they relate to each other. The efficiency engine receives a large amount of time series data 302. In block 304, the quality of the data can be evaluated and cleaned accordingly. For example, outlier detection and correction can be performed (such as filtering out or shrinking data that varies beyond a predetermined standard deviation in a simple manner). In one embodiment, missing dates and missing values can be addressed by appropriately populating these values and marking them in the data. In block 306, the time series data is virtually aligned by assigning timestamps to all time point values and populating missing time points in the series data (with missing flag values), so that the data at each time point can be appropriately referenced and provided in a common interface, and the possible different resolutions of the time series data are addressed (e.g., by providing the highest resolution value and for its missing high-resolution time points, or by input / interpolation, duplication, or marking missing values as lower resolution).
[0053] In Box 308, the modeling and preparation of sequence data for multiple tasks are managed, each with different features, objectives, settings, etc. Each task is a prediction task, which may include, for example, predicting time series values at different tiers and time offsets. For example, predicting total shipments for the next day in a retail time series could be one task, another could be predicting shipments for the following week, yet another could be predicting the average shipments for the following month, and so on. This may also include subtasks that lead into the final prediction—such as imputing missing values using the prediction model before using it to predict future values, and using those imputed values. In Box 310, the modeling of seasonal effects is addressed through transformations, models, etc. For example, seasonal effects can be regular, typically periodic patterns in time series that are common across a set of related time series—such as weekly patterns, where certain days of the week have larger values than others, or hourly patterns. For example, in retail, there are often weekly seasonal patterns shared by different areas of a store, where sales increase at weekends and decrease during the week, and holiday seasonal patterns, where sales are much higher in the week surrounding Thanksgiving. As another example, in electricity consumption, there are often hourly patterns where energy use spikes at different times across different location types, such as household energy use peaking after work hours and decreasing towards the night. Modeling seasonal effects is equivalent to taking these into account, which can be done by fitting a separate seasonal model or decomposing the fit as a previous step, or by incorporating it as part of the time series forecasting model itself. The efficiency engine provides target generation 312. Target generation calculates and generates the forecast target for each significant forecasting task (e.g., for each time series in the next week, for each time point, the sum of generated values corresponds to the sum forecasting task for the next week).
[0054] In Box 314, different sets of transformations can be used to address the characteristics specific to this problem. Time series data may have missing features, such as dates and / or values. To address this, in Box 318, missing features are repaired. Time series data may experience drift. For example, the fundamental properties and patterns of a time series may change over time. In other words, the distribution of a time series can be non-static and may have elements that gradually drift or change over time. For example, in the case of energy demand, energy demand may follow a regular, periodic, seasonal pattern, but the underlying level of demand may change slowly over time, sometimes with random drift, or slowly increase or decrease over time. At this point, in Box 316, drift is addressed. Different techniques can be used to handle drift, such as weighting the samples when training the model at the current time to give greater emphasis to more recent time points, as well as focusing on modeling those time points that better reflect the current state.
[0055] Another consideration for efficiency engines could be different types of learning. For example, there could be multi-task learning modeling320, univariate modeling322, and model / hyperparameter optimization324. Demand signals often have non-linear relationships between different factors, which can be addressed using flexible machine learning / deep learning models. Some predictions can utilize external data such as weather, plans, competitor information, event information, etc.
[0056] In one embodiment, the efficiency engine performs uncertainty modeling (i.e., block 330). For example, the efficiency engine can model (and evaluate) a predictive distribution that is significant for prediction to enable practical use and downstream systems. Uncertainty modeling 330, along with user control 326, can be used to perform meta-modeling 328. Meta-modeling 328 can then be used for decision optimization 332 and evaluation / interpretation of time series data (i.e., 334). The evaluation / interpretation module 334 can use problem-specific performance metrics, along with meta-modeling information 328 and decision optimization information 332, to provide efficient deployment and updatable models and data structures.
[0057] Figure 4 This is a conceptual block diagram 400 of the high-level process of the efficiency engine, consistent with the illustrative embodiment. Training 402 for any predictive modeling task in which a model or modeling pipeline is fitted to available data, and inference or prediction (shown below) in which the trained model or modeling pipeline is applied to some data to generate a prediction, can have two main phases. The modeling task and specification (e.g., configuration) are given by the task specification 404. This task specification 404 defines the set of components to be included in the modeling pipeline, such as missing date imputation, missing value inference, aggregation, feature transformation, a specific set of predictive models, etc., and the set or range of settings for trying each of these, such as inference methods and hyperparameters—which are model settings that change the behavior of the model, and predictive model hyperparameters—e.g., the number of layers and neurons per layer for deep neural networks, etc., and the learning rate.
[0058] Based on the task specification, a pipeline object 406 with all specified modeling steps is illustrated. The pipeline 408 is then trained in parallel on training and evaluation data 420, and evaluated on training and evaluation data 412. For different settings or hyperparameters, computational resources allow for as many hyperparameter optimizations (HPO) as possible—that is, finding the optimal settings / hyperparameters for the pipeline given the set of input data and time series. In this way, splitting the task into different subsets of time series using different trained versions of the modeling pipeline (i.e., different settings) allows for the selection of the optimal hyperparameter settings for each set. Regarding hyperparameter optimization, each task and its corresponding pipeline will run against many different settings, and as previously mentioned, small subsets of these settings can be used to determine partition levels, either through random sampling or based on modeling complexity.
[0059] The output is the trained pipeline 414 and its performance metrics on the data. Test data 420 is then fed into the trained pipeline 422 to obtain usable prediction outputs—i.e., predictions for each task, benchmark results, reports, etc. 424. Figure 4 In the general approach shown in the example, the input data is in canonical form of a Spark DataFrame with a specific field 430.
[0060] Example Method
[0061] Having given the foregoing overview of the architecture 100 of a system for scalable modeling of large collections of time-series data, and the discussion of the block diagram of system 200 for time-series partitioning and task creation, it may now be helpful to consider a higher-level discussion of the example process. To this end, Figure 5 An illustrative process 500, consistent with the illustrative embodiments, is presented for partitioning time-series data into partition levels that can be accommodated by a computing platform and performing complete multi-time-series modeling. This process can be executed by the efficiency engine 103 of the efficiency server 130. Process 500 is shown as a set of boxes in a logic flowchart representing a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, these boxes represent computer-executable instructions that, when executed by one or more processors, perform the described operations. Typically, computer-executable instructions may include routines, programs, objects, components, data structures, etc., that perform a particular function or implement a particular abstract data type. The order in which the operations are described is not intended to be construed as limiting, and any number of the described boxes can be combined and / or executed in parallel in any order to implement the process. For discussion purposes, references are made to... Figure 1 The architecture 100 is used to describe the process 500.
[0062] In block 502, efficiency engine 103 receives time-series data. In various embodiments, time-series data can be received directly from the individual nodes 103(1) to 103(N) (i.e., 140) and / or from the time-series data repository 114 (i.e., 115). In block 504, hierarchical partitioning is performed on the sequence data.
[0063] In block 504, efficiency engine 103 determines the optimal partitioning level of the hierarchy based on available computing resources. To do this, an initial determination of computing resources can be performed. In one embodiment, efficiency engine 103 performs tests by performing partial modeling (in parallel) on some groups of levels from the candidate level set to test the accuracy and computation time of each level, thereby confirming computing power.
[0064] When determining the computing capabilities of the computing platform to perform time series data processing, in box 506, select a partition level that can adapt to the processing of time series data within a predetermined time period and a predetermined threshold accuracy.
[0065] In block 508, efficiency engine 103 executes each task in parallel at the selected partition level on the corresponding compute nodes. For example, since a partition is a grouping of all time series (AKA clusters)—that is, a collection of time series divided into different groups—a partition itself is a collection of all groups. Efficiency engine 103 performs modeling on each group in the partition—that is, different, separate prediction models (e.g., cross-time series or multivariate models) are fitted to each group in the partition. A different model is created for each group. Therefore, the number of models is equal to the number of groups in the partition. For example, consider time series ID {1, 2, 3, 4, 5}. A partition would be: {{1, 2}, {3, 4, 5}}. In this example, the partition has two groups (sometimes referred to here as “parts,” “blocks,” or “units”) with two and three time series respectively, and for each group, a separate model is trained using and based on all the time series in that group. The first group is {1, 2}, and the second group is {3, 4, 5}. Another partition would be: {{1, 3}, {4, 2}, {5}}. In this example, the partition has three groups, and three predictive models (or modeling pipelines) will be generated from the modeling process.
[0066] In one embodiment, each cross-time series modeling task for each partition group includes identifying the optimal set of models and components for that partition by selecting one or more optimal hyperparameters and settings specific to that partition group during the modeling process (including data transformation and preprocessing, exogenous data feature construction and inclusion, and time series modeling), thereby achieving greater modeling accuracy than using a partition or a single time series model by allowing optimal settings for different subsets of the relevant time series.
[0067] In one embodiment, scalability and efficient time series modeling results for the entire set of time series are achieved by leveraging a distributed computing framework to execute each modeling task for cross-time series modeling of each set of related time series in parallel. Time series hierarchical partitioning can be determined through domain knowledge and semantic modeling, allowing partitioning to be applied in a domain-agnostic manner.
[0068] In one embodiment, time series hierarchical partitioning is determined through scalable data analysis that identifies relationships between time series, such as the strength of matching different attributes / characteristics, the strength of historical correlations, and dependencies between series. These relationships can be transformed into a graph with time series as nodes and edges representing relationships and their strengths. Scalable hierarchical graph partitioning can be applied to determine the hierarchical partitioning.
[0069] In one embodiment, the selection of levels within a hierarchical partition for modeling is performed by selecting a subset of levels that satisfy criteria for minimum and maximum data size based on modeling considerations, estimating the modeling accuracy and / or efficiency of those levels, and selecting the optimal level based on satisfying both accuracy and efficiency requirements. For example, the most accurate level within efficiency requirements or the most efficient level within accuracy requirements can be selected.
[0070] In one embodiment, the accuracy and efficiency of modeling at each level within a subset of groups are estimated by running partial modeling tasks (e.g., training within a time budget such as a finite number of iterations and / or a set subset of time budgets) in parallel across computational resources. This is done by measuring the accuracy and efficiency of each of these submitted test groups and extrapolating it to the entire set of groups in the level to estimate how long each group takes to execute at each level and how accurate the modeling is at each level. Accuracy inference can be performed by estimating the relationship between the time budget and the model's accuracy, which is achieved by evaluating the modeling accuracy at different time points during partial modeling to estimate the relationship and convergence.
[0071] In one embodiment, each group in each hierarchical partition level may include one or more additional aggregated time series from other groups to potentially improve cross-time series modeling for each group without affecting scalability. Aggregated sequences of mean (and / or other statistics) values across all groups may be added as sequences to each group to enable the capture of global series information when modeling within groups. In one embodiment, if the number of groups is relatively small, aggregated sequences of mean (and / or other statistics) values from each other group in the same level may be added as sequences to each group to enable the capture of cross-group relationships when modeling within groups.
[0072] Example computer platform
[0073] As described above, the functionality associated with implementing a system for determining appropriate partitions of time series to perform cross-series modeling in parallel, where each partition forms a prediction task that can be run in parallel, can utilize, for example... Figure 1 The illustrated one or more computing devices connected via wireless or wired communication for data communication and according to Figure 5 The process is executed in this way. Figure 6 Provides options for implementation Figure 1 Functional block diagram of a 600 computer hardware platform with the efficiency of a 130 server.
[0074] The computer platform 600 may include a central processing unit (CPU) 604, random access memory (RAM) and / or read-only memory (ROM) 606, a hard disk drive (HDD) 608, a keyboard 610, a mouse 612, a display 614, and a communication interface 616, which are connected to the system bus 602.
[0075] In one embodiment, HDD 608 has the capability to include a storage program that can perform various processes, such as efficiency engine 640, in the manner described herein. Efficiency engine 640 may have various modules configured to perform different functions to determine parameter settings for each node cluster. For example, an interaction module 642 may be present, operable to receive time-series data from various sources, including time-series data 115 from time-series data repository 114, time-series data 140 from various input nodes that may be in different locations, and / or other data that may be in cloud 120.
[0076] In one embodiment, there is a first grouping module 644 operable to perform domain-based / semantic model-based grouping. Alternatively or additionally, there may be a data-based grouping module 646.
[0077] There may be a grouping level module 648, whose operation is to perform hierarchical partitioning of time series data.
[0078] A task definition module 650 may exist, which is operable to determine the optimal partition level based on available computing resources. Each set of time series data represents a task to be processed by computing devices represented by computing nodes 150(1) to 150(N).
[0079] There may be an execution module 652 operable to assign tasks to one or more computing devices 150(1) to 150(N) based on a selected partition level, so that they are processed in parallel.
[0080] Example cloud platform
[0081] As described above, the functionality associated with implementing a system for determining appropriate partitions of time series to perform cross-series modeling in parallel can include the cloud, where each partition forms a forecasting task that can run in parallel. It should be understood that although this disclosure includes a detailed description of cloud computing, implementations of the teachings set forth herein are not limited to cloud computing environments. Rather, embodiments of this disclosure can be implemented in conjunction with any other type of computing environment now known or developed hereafter.
[0082] 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 service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.
[0083] The characteristics are as follows:
[0084] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring manual interaction with the service provider.
[0085] Wide Area Network (WAN) Access: Capabilities are available on the network and accessed through standard mechanisms that facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0086] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. Location independence has significance because consumers typically do not control or know the exact location of the resources provided, but can specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0087] Rapid Flexibility: In some cases, the ability to scale outwards and inwards quickly and flexibly can be provided. For consumers, the available capacity often appears unlimited and can be purchased in any quantity at any time.
[0088] Measurement services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the providers and consumers of the services being utilized.
[0089] The service model is as follows:
[0090] Software as a Service (SaaS): The capability offered to consumers is the ability to use the provider's applications running on cloud infrastructure. Applications can be accessed from various client devices through thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.
[0091] Platform as a Service (PaaS): This provides consumers with the ability to deploy consumer-created or acquired applications onto cloud infrastructure using programming languages and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they have control over the deployed applications and the configuration of any application hosting environments.
[0092] Infrastructure as a Service (IaaS): This provides consumers with the capability to deliver processing, storage, networking, and other basic computing resources that enable them to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do have control over the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0093] The deployment model is as follows:
[0094] Private cloud: Cloud infrastructure operated solely by an organization. It can be managed by the organization or a third party and can exist inside or outside a building.
[0095] Community cloud: Cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.
[0096] Public cloud: Cloud infrastructure available to the general public or large industrial groups and owned by organizations that sell cloud services.
[0097] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported together (e.g., cloud bursting for load balancing between clouds).
[0098] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure of a network of interconnected nodes.
[0099] Now for reference Figure 7The illustration depicts a cloud computing environment 700. As shown, the cloud computing environment 700 includes one or more cloud computing nodes 710 to which local computing devices used by cloud consumers can communicate, such as personal digital assistants (PDAs) or cellular phones 754A, desktop computers 754B, laptop computers 754C, and / or automotive computer systems 754N. The nodes 710 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows the cloud computing environment 750 to provide infrastructure, platform, and / or software as a service, without requiring cloud consumers to maintain resources on their local computing devices. It should be understood that... Figure 7 The types of computing devices 754A-N shown are illustrative only, and computing node 710 and cloud computing environment 750 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).
[0100] Now for reference Figure 8 This demonstrates the 750 (cloud computing environment) Figure 7 This provides a set of functional abstractions. It should be understood beforehand that... Figure 8 The components, layers, and functions shown are for illustrative purposes only, and embodiments of this disclosure are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0101] The hardware and software layer 860 includes hardware and software components. Examples of hardware components include: a host 861; a server 862 based on a RISC (Reduced Instruction Set Computer) architecture; a server 863; a blade server 864; a storage device 865; and a network and network components 866. In some embodiments, the software components include network application server software 867 and database software 868.
[0102] The virtualization layer 870 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual server 871; virtual storage 872; virtual network 873, including virtual private network; virtual application and operating system 874; and virtual client 875.
[0103] In one example, management layer 880 may provide the functionality described below. Resource provisioning 881 provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and pricing 882 provides cost tracking when utilizing resources within the cloud computing environment, as well as accounting or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, and protection for data and other resources. User portal 883 provides access to the cloud computing environment for consumers and system administrators. Service level management 884 provides cloud resource allocation and management to ensure the required service level is met. Service level agreement (SLA) planning and fulfillment 885 provides pre-scheduling and procurement of cloud resources, where future needs are anticipated according to the SLA.
[0104] The workload layer 890 provides examples of functionalities that can be leveraged in a cloud computing environment. Examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 891; software development and lifecycle management 892; virtual classroom education delivery 893; data analytics and processing 894; transaction processing 895; and efficiency engines 896.
[0105] Summarize
[0106] Various embodiments of the present teachings have been described for illustrative purposes, but are 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 described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or improvements to existing technologies in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
[0107] While the content and / or other instances considered to be in the best possible state have been described above, it should be understood that various modifications may be made therein, and the subject matter disclosed herein can be implemented in various forms and instances, and the teachings can be applied to many applications, of which only a few have been described herein. The appended claims are intended to claim protection for any and all applications, modifications, and variations falling within the true scope of this teaching.
[0108] The components, steps, features, purposes, benefits, and advantages discussed herein are merely illustrative. None of them, or the discussion relating to them, is intended to limit the scope of protection. While various advantages have been discussed herein, it will be understood that not all embodiments are necessarily intended to include all advantages. Unless otherwise stated, all measurements, values, ratings, positions, sizes, dimensions, and other specifications set forth in this specification, including those in the appended claims, are approximate and not precise. They are intended to have a reasonable range consistent with the functionality associated with them and with the conventions of the art to which they pertain.
[0109] Many other embodiments have also been considered. These embodiments include those with fewer, additional, and / or different components, steps, features, purposes, benefits, and advantages. These also include embodiments in which components and / or steps are arranged and / or ordered in different ways.
[0110] This document describes aspects of the disclosure with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0111] These computer-readable program instructions may be provided to a processor of a computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other equipment to operate in a particular manner, such that the computer-readable storage medium in which the instructions are stored includes an article of writing comprising instructions for implementing aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.
[0112] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer-implemented process, such that the instructions, which execute on the computer, other programmable apparatus or other device, perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0113] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions comprising one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions marked in the blocks may not occur in the order indicated in the figures; for example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It will also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.
[0114] While the foregoing has been described in conjunction with exemplary embodiments, it should be understood that the term "exemplary" means only as an example, and not the best or optimal. Apart from what has just been stated above, whether or not it is stated in the claims, nothing stated or described is intended or should be construed as causing any component, step, feature, object, benefit, advantage, or equivalent to be made public.
[0115] It should be understood that, unless otherwise specified herein, the terms and expressions used herein have the general meaning consistent with those in the respective fields of investigation and research to which they pertain. Relational terms such as "first" and "second" may be used merely to distinguish one entity or action from another, without necessarily requiring or implying any actual such relationship or order between these entities or actions. The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but may also include other elements not expressly listed or inherent to such a process, method, article, or apparatus. Without further constraints, an element preceded by "a" or "an" does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes that element.
[0116] This summary of disclosure is provided to allow the reader to quickly determine the nature of this technical disclosure. It should be understood that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, as can be seen from the foregoing detailed description, various features have been grouped together in various embodiments to make this disclosure fluent. This method of disclosure should not be construed as reflecting an intention that the claimed embodiments have more features than those expressly recited in each claim. Rather, as reflected in the appended claims, the inventive subject matter lies in fewer than all features of a single disclosed embodiment. Therefore, the following claims are thereby incorporated into the detailed description, wherein each claim is independently claimed as a separate subject matter.
Claims
1. A computing device, comprising: processor; A network interface coupled to the processor to enable communication via a network; Storage devices coupled to the processor; as well as An engine stored in the storage device, wherein the processor's execution of the engine configures the computing device to perform actions including: Receive time series data including multiple time series; Partition the time series data to generate multiple groups of time series, where Each group of time series in the multiple groups of time series includes one or more corresponding time series of the multiple time series. The generation of multiple groups of the time series includes a hierarchical structure that clusters the time series data into partitions of one or more related time series, the hierarchical structure having different partition levels; and The related one or more time series correspond to the corresponding one or more time series of the plurality of time series; The hardware computing capabilities of the computing platform are determined by assessing its current computing load and hardware capabilities. Based on the determined hardware computing power and the modeling accuracy associated with the grouped training of the prediction model, a partition level is selected from the different partition levels; One or more modeling tasks are defined based on the selected partition level, each of the one or more modeling tasks comprising a corresponding group of the time series from a plurality of groups; and The grouped training of the prediction model is performed in parallel on the computing platform, wherein each of the one or more modeling tasks corresponds to the execution of the grouped training of the corresponding prediction model of the prediction model using all time series in the corresponding group.
2. The computing device according to claim 1, wherein, Each of the different partition levels includes one or more corresponding groups of the time series in the multiple groups of the time series.
3. The computing device according to claim 1, wherein, Determining the hardware computing power includes receiving the hardware computing power from a reference database.
4. The computing device according to claim 1, wherein, Determining the hardware computing power includes performing an initial approximation by performing partial modeling of multiple groups of the time series at different partition levels on the computing platform.
5. The computing device according to claim 1, wherein, The selection of the partition level is based on the highest time efficiency among a plurality of time efficiencies associated with the grouped training of the prediction model for a predetermined accuracy.
6. The computing device according to claim 1, wherein, The selection of the partition level is based on the highest accuracy among a plurality of accuracies associated with the grouped training of the prediction model, for a predetermined time efficiency associated with the grouped training of the prediction model.
7. The computing device according to claim 1, wherein, For each of the one or more modeling tasks, cross-time series modeling is performed in parallel at the selected partition level.
8. The computing device according to claim 1, wherein, The clustering of the time series data is performed through domain-based clustering and / or semantic model-based clustering.
9. The computing device according to claim 1, wherein: The computing platform includes multiple computing nodes, and The determination of the hardware computing capabilities of the computing platform is performed individually for each of the multiple computing nodes.
10. A computer-readable storage medium tangibly embodies computer-readable program code having computer-readable instructions, which, when executed, cause a computer device to perform a method for improving the computational efficiency of a computing platform in processing time-series data, the method comprising: Receive time series data including multiple time series; Partition the time series data to generate multiple groups of time series, where Each group of time series in the multiple groups of time series includes one or more corresponding time series of the multiple time series. The generation of multiple groups of the time series includes a hierarchical structure that clusters the time series data into partitions of one or more related time series, the hierarchical structure having different partition levels; and The related one or more time series correspond to the corresponding one or more time series of the plurality of time series; The hardware computing capabilities of the computing platform are determined by assessing its current computing load and hardware capabilities. Based on the determined hardware computing power and the modeling accuracy associated with the grouped training of the prediction model, a partition level is selected from the different partition levels; One or more modeling tasks are defined based on the selected partition level, each of the one or more modeling tasks comprising a corresponding group of the time series in a plurality of groups of the time series; as well as The grouped training of the prediction model is performed in parallel on the computing platform, wherein each of the one or more modeling tasks corresponds to the execution of the grouped training of the corresponding prediction model of the prediction model using all time series in the corresponding group.
11. The computer-readable storage medium according to claim 10, wherein, Each of the different partition levels includes one or more corresponding groups of the time series in the multiple groups of the time series.
12. The computer-readable storage medium according to claim 10, wherein, Determining the hardware computing power includes receiving the hardware computing power from a reference database.
13. The computer-readable storage medium of claim 10, wherein, Determining the hardware computing power includes performing an initial approximation by performing partial modeling of multiple groups of the time series at different partition levels on the computing platform.
14. The computer-readable storage medium according to claim 10, wherein, The selection of the partition level is based on the highest time efficiency among several time efficiencies associated with the training of the predicted model in a grouped set, for a predetermined accuracy associated with the training of the predicted model in the grouped set.
15. The computer-readable storage medium according to claim 10, wherein, The selection of the partition level is based on the highest accuracy among several accuracies associated with the training of the predicted model in the grouped training, for a predetermined time efficiency associated with the grouped training of the predicted model.
16. The computer-readable storage medium of claim 10, wherein, For each of the one or more modeling tasks, cross-time series modeling is performed in parallel at the selected partition level.
17. The computer-readable storage medium of claim 10, wherein, Clustering of the time series data is performed using domain-based clustering and / or semantic model-based clustering.
18. The computer-readable storage medium according to claim 10, wherein: The computing platform includes multiple computing nodes, and The determination of the hardware computing capabilities of the computing platform is performed individually for each of the multiple computing nodes.
19. A computer-implemented method, comprising: Receive time series data including multiple time series; Partition the time series data to generate multiple groups of time series, where Each group of time series in the multiple groups of time series includes one or more corresponding time series of the multiple time series. The generation of multiple groups of the time series includes a hierarchical structure that clusters the time series data into partitions of one or more related time series, the hierarchical structure having different partition levels; and The related one or more time series correspond to the corresponding one or more time series of the plurality of time series; The hardware computing capabilities of the computing platform are determined by assessing its current computing load and hardware capabilities. Based on the determined hardware computing power and the modeling accuracy associated with the grouped training of the prediction model, a partition level is selected from the different partition levels; One or more modeling tasks are defined based on the selected partition level, each of the one or more modeling tasks comprising a corresponding group of the time series in a plurality of groups of the time series; as well as The grouped training of the prediction model is performed in parallel on the computing platform, wherein each of the one or more modeling tasks corresponds to the execution of the grouped training of the corresponding prediction model of the prediction model using all time series in the corresponding group.