System, method and computer program for predicting the evolution of a numerical value over a time interval

By predicting numerical trends in progressively shorter intervals, the system addresses the issue of error accumulation in long-term predictions, enabling quick assessment and adjustment, thus improving accuracy and reducing computational burden.

JP7605216B2Active Publication Date: 2024-12-24SONY GROUP CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022552419
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-06
Filing Date
2021-03-04
Publication Date
2024-12-24
Estimated Expiration
2041-03-04

AI Technical Summary

Technical Problem

Existing prediction systems accumulate errors over long time intervals, leading to delayed feedback and inefficiencies in evaluating prediction quality and accuracy.

Method used

A system that predicts numerical trends by initially calculating estimates for entire time intervals and progressively shorter sub-intervals, allowing for quick assessment and adjustment of machine learning models, reducing computational burden and improving accuracy.

Benefits of technology

This approach enables rapid evaluation of prediction quality, allows for early termination of inaccurate predictions, and reduces the accumulation of estimation errors, providing more accurate and timely results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007605216000001
    Figure 0007605216000001
  • Figure 0007605216000002
    Figure 0007605216000002
  • Figure 0007605216000003
    Figure 0007605216000003
Patent Text Reader

Abstract

Examples relate to a system, method, and computer program for predicting the evolution of a numeric value over a time interval. The system includes a processing circuit configured to calculate an estimate of the numeric value in the time interval by training a first machine learning model based on historical data for the numeric value. The processing circuit is configured to divide the time interval into first and second subintervals. The processing circuit is configured to calculate an estimate of the numeric value in the first subinterval by training a second machine learning model based on the historical data for the numeric value. The processing circuit is configured to calculate an estimate of the numeric value in the second subinterval based on the estimate of the numeric value in the time interval and the estimate of the numeric value in the first subinterval.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Examples relate to systems, methods and computer programs for predicting the evolution of numerical values ​​over a time interval. [Background technology]

[0002] Trend forecasts are used in a variety of applications. For example, in business, it is possible to predict the trend of product demand or the market. For example, companies can predict product demand to optimize their supply chains. In logistics, it can be used to predict vehicle or road usage. For vehicles, it can be used to calculate the best time to refuel (or power) a vehicle, taking into account traffic congestion. In machinery, it can be used to schedule maintenance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] European Patent Application Publication No. 3499433 Summary of the Invention [Problem to be solved by the invention]

[0004] There are cases where improvements in the concept of predicting the progression of values ​​are desired. [Means for solving the problem]

[0005] Such needs are addressed by the subject matter of the independent claims.

[0006] Some embodiments of the present disclosure are based on the discovery that starting with a prediction using the entire time interval to be predicted as a whole, and then repeating predictions for smaller and smaller time intervals until the desired time granularity is reached, provides a concept of predicting a numerical progression that allows a quick assessment of the prediction quality while avoiding the long-term accumulation of prediction errors. On the other hand, since the prediction values ​​are provided for the entire time interval at the beginning, a quick assessment of the prediction quality can be performed (e.g., by a user), and the prediction can be stopped and made again using other parameters or another machine learning algorithm without the need to complete the prediction up to the desired time granularity, thus reducing the iteration time during the setting of the prediction. On the other hand, predictions for smaller and smaller time intervals can use the prediction results for longer time intervals. This can save time and provide more accurate results, since the prediction values ​​for longer time intervals are often more accurate than the individual prediction values ​​for shorter time intervals.

[0007] In some embodiments of the present disclosure, a system for predicting the progress of a numerical value over a time interval is provided. The system includes a processing circuit configured to calculate an estimate of the numerical value in the time interval by training a first machine learning model based on historical data for the numerical value. The processing circuit is configured to divide the time interval into a first and a second sub-interval. The processing circuit is configured to calculate an estimate of the numerical value in the first sub-interval by training a second machine learning model based on the historical data for the numerical value. The processing circuit is configured to calculate an estimate of the numerical value in the second sub-interval based on the estimate of the numerical value in the time interval and the estimate of the numerical value in the first sub-interval. By estimating the numerical value in the time interval, an overall estimate for the entire time interval can be obtained quickly, allowing a user to quickly evaluate the algorithm and parameters used. By calculating an estimate in the second sub-interval based on the estimate in the time interval and the estimate in the first sub-interval, the computational burden can be reduced and the overall estimation accuracy can be improved.

[0008] For example, the processing circuitry may be configured to calculate an estimate of the value in the second sub-interval by subtracting the estimate of the value in the first sub-interval from the estimate of the value in the time interval, such that an accumulation of estimation errors can be avoided since the estimate in the second sub-interval is based on an estimate in the entire time interval.

[0009] In various embodiments, the recursive approach may be repeated to obtain estimates in smaller subintervals. For example, the processing circuitry may be configured to calculate estimates of the numerical value in further subintervals of the first or second subintervals, respectively, by dividing each of the subintervals into two further subintervals, calculating an estimate of the numerical value in a first one of the further subintervals by training a machine learning model based on the historical data, and calculating an estimate of the numerical value in a second one of the further subintervals based on the estimate of the numerical value in the first further subinterval and the estimate of the numerical value in each of the subintervals divided into the two further subintervals. These estimates can thus be refined in subsequent iterations, with the user having the option to stop the prediction at any time and try different algorithms or parameters.

[0010] In various embodiments, the estimates of the numerical values ​​in each of the second sub-intervals may be calculated without training a machine learning model, which can save time and help avoid accumulation of estimation errors.

[0011] In general, the machine learning model may be trained based on a machine learning configuration. The machine learning configuration may specify a machine learning algorithm and one or more parameters of the machine learning algorithm. The processing circuitry may be configured to adapt the machine learning configuration based on an evaluation of at least one of the estimates. At least one of the estimates, preferably an estimate calculated for an entire time interval, may be used to quickly assess the performance of a machine learning based estimate and allow for rapid adaptation of algorithms or parameters.

[0012] For example, the processing circuitry may be configured to adapt the machine learning configuration based on a user evaluation of at least one of the estimates, in other words, a user may evaluate an estimate or estimates and adjust the machine learning configuration if the estimate or estimates indicate room for improvement.

[0013] In other words, the processing circuitry may be configured to evaluate at least one of the estimates by providing information of at least one of the estimates to a user via a user interface and obtaining information of the evaluation of the at least one estimate from the user via the user interface, the user being able to control the calculation of the estimates and the associated machine learning configurations using the user interface.

[0014] The system may be configured to, after adapting the machine learning configuration, discontinue computing the estimate based on the originally used machine learning configuration and re-compute the estimate using the adapted machine learning configuration, thus allowing for rapid iterations.

[0015] In various embodiments, each of the machine learning models may be trained by calculating a first subset of the historical data and a second subset of the historical data. The second subset of historical data may represent a length of time equal to the time interval over which the training of each of the machine learning models is performed. Each of the machine learning models may be trained by using the first subset of the historical data as a training input and the second subset as a training output for the training of each of the machine learning models. For example, the subsets may be chosen such that the relationship between the training input and the training output matches the relationship between the historical data used to calculate each estimate and the time interval over which the estimate is calculated. Thus, the trained machine learning models may be used to calculate estimates for time intervals or sub-intervals that have a matching relationship with the historical data used as input data for the machine learning models.

[0016] For example, the second sub-interval may follow in time the first sub-interval If the first sub-interval is earlier in time relative to the historical data, the estimate may be more accurate.

[0017] In some embodiments, the first and second sub-intervals may be of the same length. Alternatively, the first and second sub-intervals may be of different lengths. Using sub-intervals of the same length makes it easier to automatically calculate these sub-intervals. On the other hand, sub-intervals of different lengths may be used if the desired length of the sub-intervals cannot be obtained, for example by dividing the quarters of a year into respective months, and one sub-interval of the multiple sub-intervals has a range of one month and the other sub-intervals have a range of two months.

[0018] In general, the system may be used to provide a user with a means to quickly evaluate multiple machine learning configurations, and thus provide estimates to the user from which the user can make an evaluation. Accordingly, the processing circuitry may be configured to provide information about at least one of the estimates to the user via a user interface.

[0019] For example, the system may further include a display, and the processing circuitry may be configured to provide the information regarding the at least one estimate via a user interface displayed on the display. For example, this may be applicable when the system is implemented by a workstation computer or a laptop computer.

[0020] Alternatively or additionally, the processing circuitry may be configured to provide the information of the at least one estimate to a remote user interface over a computer network, for example the calculation of the estimate may be performed on a back-end computer, for example a computer or virtual machine in a data center or cloud computing environment.

[0021] In some embodiments, the processing circuitry may be configured to provide the user with the estimate of the numerical value in the time interval before calculation of the estimate of the numerical value in the first sub-interval begins or is completed. More generally, the estimate of the numerical value in a time interval or sub-interval may be provided before calculation of the estimate of the numerical value in a sub-interval of the time interval or further sub-intervals of the sub-interval. Thus, iteration times can be reduced since the user does not have to wait for all estimates to be calculated.

[0022] In addition to (or instead of) providing an estimate to a user, a user interface may be used to control the system, for example to input parameters for use in the estimation. For example, the processing circuitry may be configured to obtain at least one of the time interval information, the first and second sub-interval information, and machine learning configuration information from a user via a user interface.

[0023] In various embodiments, the value relates to demand for a product. The historical data may relate to historical demand for the product. Thus, some embodiments of the present disclosure may be used to forecast product demand.

[0024] Some embodiments of the present disclosure further provide a method of estimating the progression of a numerical value over a time interval. The method includes calculating an estimate of the numerical value in the time interval by training a first machine learning model based on historical data for the numerical value. The method includes dividing the time interval into first and second sub-intervals. The method includes calculating an estimate of the numerical value in the first sub-interval by training a second machine learning model based on the historical data for the numerical value. The method includes calculating an estimate of the numerical value in the second sub-interval based on the estimate of the numerical value in the time interval and the estimate of the numerical value in the first sub-interval.

[0025] In some embodiments of the present disclosure there is further provided a computer program having a program code which, when executed on a computer, a processor, or a programmable hardware component, performs the above-mentioned methods.

[0026] Some examples of apparatus and / or methods are now described, by way of example only, with reference to the accompanying drawings, in which: [Brief description of the drawings]

[0027] [Figure 1a] FIG. 1 illustrates a block diagram of an embodiment of a system for predicting the evolution of a numerical value over a time interval. [Figure 1b] FIG. 1 illustrates a block diagram of an embodiment of a system for predicting the evolution of a numerical value over a time interval. [Figure 1c] FIG. 1 illustrates a block diagram of an embodiment of a system for predicting the evolution of a numerical value over a time interval. [Diagram 2] FIG. 1 illustrates a flowchart of a method for predicting the evolution of a numerical value over a time interval. [Figure 3a] FIG. 1 is a diagram showing a schematic diagram of two methods for predicting the transition of a numerical value. [Figure 3b] FIG. 2 is a schematic diagram illustrating an exemplary forecast value. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0028] Various examples will now be described in more detail with reference to the accompanying drawings, in which some examples are shown, in which the thickness of lines, layers and / or regions may be exaggerated for clarity.

[0029] Further examples are susceptible to various modifications and alternative forms, some specific examples of which are shown in the drawings and described in detail below. However, the detailed description does not limit the further examples to the specific forms described. The further examples encompass modifications, equivalents, and alternatives within the scope of the present disclosure. The same or similar reference numerals refer to similar or similar elements throughout the description of the figures. These elements may be implemented in the same or modified form with respect to each other while providing the same or similar functionality.

[0030] When an element is described as being "connected" or "coupled" to another element, it should be understood that these elements may be directly connected or connected via one or more intervening elements. When two elements A and B are connected with "or", this should be understood as disclosing all possible combinations, i.e., A only, B only, and A and B, unless otherwise expressly or implicitly defined. "At least one of A and B" or "A and / or B" are alternative expressions for the same combination. The same applies to combinations of two or more elements.

[0031] Terminology used herein to describe a particular example is not intended to limit further examples. Whenever singular forms such as "a," "an," and "the" are used and the use of a single element is not explicitly or implicitly defined as a requirement, the same function may be performed using multiple elements in some further examples. Similarly, when a function is later described as being performed using multiple elements, the same function may be performed using a single element or processing entity in some further examples. It is also to be understood that the terms "comprises," "comprising," "includes," and / or "including" specify the presence of stated features, integers, steps, operations, processes, actions, elements, components, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, processes, actions, elements, components, and / or any groups thereof.

[0032] Unless otherwise defined, all terms (including technical and scientific terms) used herein are used in the manner commonly used in the art.

[0033] 1a-1c show block diagrams of an embodiment of a system 100 for predicting the progression of a numerical value over a time interval. The system includes a processing circuit 14. In some embodiments, the system may further include an interface 12 and / or a storage circuit 16, as shown in FIGS. 2a and 2c. In general, the functionality of the system may be provided by the processing circuit 14, e.g., in cooperation with the interface 12 and / or the storage circuit 16. For example, the processing circuit may be configured to provide a user interface via the interface 12 and / or to obtain historical data, machine learning configurations, and / or user ratings via the interface 12. The processing circuit 14 may be configured to store information, such as historical data, machine learning configurations, and / or one or more trained machine learning models, using the storage circuit.

[0034] The processing circuitry is configured to calculate an estimate of a numeric value in a time interval by training a first machine learning model based on historical data related to the numeric values. The processing circuitry is configured to divide the time interval into first and second sub-intervals. The processing circuitry is configured to calculate an estimate of a numeric value in the first sub-interval by training a second machine learning model based on historical data related to the numeric values. The processing circuitry is configured to calculate an estimate of a numeric value in the second sub-interval based on the estimate of the numeric value in the time interval and the estimate of the numeric value in the first sub-interval.

[0035] Some embodiments of the present disclosure relate to a system, method, and computer program for predicting the progression of a value over a time interval. In general, the progression of a value indicates the movement of the value over a time interval. For example, the value may be related to the demand for a product. In this case, the progression of the value may indicate how the demand for the product moves over time. Alternatively, the value may be related to other fields. For example, the value may represent the utilization rate of a vehicle, the utilization rate of a road, the appropriate time to refuel a vehicle, the appropriate time to maintain a machine, or the amount of energy required to operate a machine, etc. As the actual movement of the value of interest, the "progression" over the time interval may not be related to a single value (e.g., a composite or accumulated value) that covers the entire time interval. Instead, the progression may be related to multiple values, each of which covers a sub-interval of the time interval (and shows the movement of the value over the sub-interval). Returning to the "product demand" example, the progression of the value may be related to multiple values ​​that cover individual months (or weeks) of the time interval.

[0036] In the case where values ​​for different time intervals are estimated, the terminology will be explained in more detail below. For example, "values ​​for a time interval" refers to a summation value representing the entire time interval as a single number. For example, for a product demand, a value for a time interval can be the product demand for the entire time interval as a single number. Thus, "values ​​for a sub-interval (e.g., first or second sub-interval)" refers to a summation value representing each sub-interval as a single number. For example, a product demand over a period of four months can be predicted. In this case, the time interval can span four months and the first and second sub-intervals can span two months, i.e., the first and second months and the third and fourth months, respectively. In this case, the value in the time interval refers to a total value representing four whole months (e.g., 800 products), the value in the first sub-interval refers to a total value covering the first and second months (e.g., 300 products), and the value in the second sub-interval refers to a total value covering the third and fourth months (e.g., 500 products). In various embodiments, the value in the time interval may be the sum of the values ​​in each sub-interval of the time interval.

[0037] In some embodiments, the time interval may be further divided, for example by further dividing the sub-intervals. For example, the first or second sub-interval (respectively) may be divided into two further sub-intervals. Returning to the above example, a first further sub-interval of the first sub-interval may cover a first month, a second further sub-interval of the first sub-interval may cover a second month, a first further sub-interval of the second sub-interval may cover a third month, and a second further sub-interval of the second sub-interval may cover a fourth month. Thus, the values ​​in the first further sub-interval of the first sub-interval relate to a combined value covering the first month, etc. Such division into further sub-intervals may be, for example, on a weekly basis. Also, the lengths of the further sub-intervals may be the same or different.

[0038] As described above, a time interval can be divided into a first and a second sub-interval, which can be further divided into further sub-intervals. In other words, the length of time defined by the time interval can be divided into further lengths of time (sub-intervals of the time interval) that make up the time interval. In other words, a time interval can be a combination of two sub-intervals of the time interval. In some embodiments, the time interval can be divided into three sub-intervals. In this case, the same logic can be applied so that the three sub-intervals together form the time interval. In this case, two machine learning models can be trained to estimate the values ​​of two of the three sub-intervals.

[0039] In general, the (respective) second sub-interval may follow the (respective) first sub-interval in time. The first sub-interval is usually closer to historical data and therefore may have a higher accuracy of estimate. However, the (respective) second sub-interval may alternatively precede the (respective) first sub-interval in time, for example, if the accuracy of the machine learning estimate in the subsequent sub-interval is guaranteed to be higher (e.g., due to lower volatility in the sub-interval). Also, in various embodiments, the first and second sub-intervals may be of the same length (e.g., 2 months each or 1 month each). Alternatively, the first and second sub-intervals may be of different lengths (e.g., 2 months and 1 month (if a quarter is divided into each month as a sub-interval, the 2-month sub-period is further divided into each single month)).

[0040] The processing circuitry is configured to calculate an estimate of the numerical value in the time interval by training a first machine learning model based on historical data regarding the numerical value. The processing circuitry is then configured to calculate an estimate of the numerical value in the first sub-interval by training a second machine learning model based on historical data regarding the numerical value. In other words, the estimate in the time interval and the estimate in the first sub-interval are calculated using machine learning.

[0041] Machine learning refers to algorithms and statistical models that a computer system can use to perform a particular task by models and inferences instead of explicit instructions. For example, instead of rule-based data transformations, machine learning can utilize data transformations that make inferences from analysis of historical and / or training data. For example, a machine learning model or algorithm can be used to analyze image content. In order for the machine learning model to analyze image content, the machine learning model can be trained using training images as input and training content information as output. By training the machine learning model with a large number of training images and associated training content information, the machine learning model "learns" to recognize image content, so that image content that is not included in the training images can be recognized using the machine learning model. Similarly, the same principle can be used for other types of data, such as numerical values. That is, by training the machine learning model with training historical data and desired output numerical values, the machine learning model "learns" to convert between historical data and output numerical values. This allows the machine learning model to provide output numerical values ​​based on non-training historical data provided to the machine learning model.

[0042] The machine learning model is trained using training input data. In some of the examples specified above, a training method called "supervised learning" is used. In supervised learning, the machine learning model is trained using multiple training samples, where each sample may have multiple input data values ​​and multiple desired output values. That is, each training sample is associated with a desired output value. By specifying both the training samples and the desired output values, the machine learning model "learns" which output value to provide based on input samples that are similar to the sample provided during training. Supervised learning can be based on supervised learning algorithms, such as classification algorithms, regression algorithms, or similarity learning algorithms. Regression algorithms can be used when the output can take any numerical value (within a certain range).

[0043] In some embodiments, the first and second machine learning models are trained based on historical data for the numerical values, for example using supervised learning and regression algorithms. Regression algorithms can be used to calculate estimates of numerical values ​​based on historical data. For example, linear regression, Support Vector Regression (SVR), or regression trees can be used as regression algorithms. Supervised learning can be used when the machine learning model is a technique capable of deriving results from data similar to the data on which it is trained, in this case the historical data. In this case, historical data can be used to both train the machine learning model and to calculate the estimates (albeit on a different subset of the historical data).

[0044] In general, the historical data may be similar (e.g., at least of similar granularity) to the estimates generated, or may be aggregated to have at least similar granularity. For example, historical data regarding a value may include information regarding the progression / movement of the value over a past time interval (e.g., last year). For example, if one wishes to calculate monthly (or weekly) estimates, the historical data may include information regarding the progression / movement of the value over a past time interval, such as monthly (or at least roughly monthly) or weekly (or at least roughly weekly). For example, the historical data may relate to, for example, monthly or weekly (or at least roughly monthly or weekly) demand history of a product.

[0045] Here, each subset of historical data can be used to replicate the scenario that the estimates face. For example, if the time interval is four months, two subsets of historical data can be used, a first subset and a second subset, where the first subset spans the length of time that is available to perform the estimate later, and the second subset spans the same length of time that spans the time interval or subinterval that is the subject of the estimate. The second subset of historical data can be combined and used as the desired / training output, and the first subset of historical data can be used as the training input. In other words, each machine learning model can be trained by calculating the first subset of historical data and the second subset of historical data. The second subset of historical data can represent a length of time equal to the time interval over which the training of each machine learning model is performed. The first subset can generally represent any length of time (but not including the first subset), but preferably represents the same length of time that is used to later calculate the estimates. The first subset may also be selected taking into account the time interval that exists between the historical data used to calculate the estimate and the time interval / sub-interval for which the estimate is calculated. For example, if an estimate is calculated for the third month of a time interval (and historical data is available up to the month prior to the time interval), there may be a two month difference between the second subset of historical data and the first subset of historical data. Each machine learning model may be trained using the first subset of the historical data for training each machine learning model as a training input and the second subset as a training output.

[0046] After each machine learning model is trained, the machine learning model can be used to calculate an estimate for each time interval or sub-interval. For example, at least one subset of the historical data can be used as an input for each trained machine learning model (e.g., the first or second machine learning model), and the output of each trained machine learning model can be used as an estimate (or a value derived from the estimate) of each numerical value. For example, the processing circuitry can be configured to calculate an estimate of a numerical value in a time interval by using at least one subset of the historical data as an input for a first machine learning model and an output of the first machine learning model as an estimate (or a value derived from the estimate). Thus, the processing circuitry can be configured to calculate an estimate of a numerical value in a first sub-interval by using at least one subset of the historical data as an input for a second machine learning model and an output of the second machine learning model as an estimate (or a value derived from the estimate).

[0047] Machine learning algorithms are typically based on machine learning models. In other words, the term "machine learning algorithm" may refer to a set of instructions that can be used to create, train, or utilize a machine learning model. The term "machine learning model" may refer to, for example, a data structure and / or a set of rules that represent knowledge learned based on training performed by a machine learning algorithm. In some embodiments, utilization of a machine learning model may imply that the machine learning model and / or the data structure / set of rules that is the machine learning model is trained by a machine learning algorithm.

[0048] For example, a machine learning model may be trained based on a machine learning configuration that specifies a machine learning algorithm and one or more parameters of the machine learning algorithm, which may be modified by a user of the system to, for example, find a configuration that obtains better results (i.e., more accurate / confident results).

[0049] In contrast to the time interval and the first sub-interval, the estimate of the value of the number in the second sub-interval is calculated based on two other estimates, namely the estimate of the value of the number in the time interval and the estimate of the value of the number in the first sub-interval. In other words, the estimate of the value of the number in the second sub-interval is derived from the estimate of the value of the number in the time interval and the estimate of the value in the first sub-interval. For example, the estimate of the value of the number can be obtained by subtracting it from the estimate of the value in the time interval (if the two sub-intervals are combined to form the time interval). In other words, the processing circuitry can be configured to calculate the estimate of the value of the number in the second sub-interval by subtracting the estimate of the value of the number in the first sub-interval from the estimate of the value in the time interval. This also means that the calculation of the estimate of the value of the number in the second sub-interval does not require the training of an additional machine learning model, which speeds up the process. In other words, the estimate of the value of the number in each second sub-interval can be calculated without training a machine learning model.

[0050] As mentioned above, each sub-interval can be divided into further sub-intervals. The estimate of the numerical value in the further sub-intervals may be calculated by training a machine learning model for one of the further sub-intervals and deriving an estimate of the numerical value for the other further sub-interval based on the two estimates while controlling the presented approach. In fact, the calculation of the estimate can be performed recursively by further dividing the sub-intervals. In other words, the processing circuitry can be configured to calculate the estimate of the numerical value in the further sub-intervals of the first or second sub-interval, respectively, by dividing each sub-interval into two further sub-intervals, calculating an estimate of the numerical value in a first further sub-interval of the further sub-intervals by training a machine learning model based on historical data, and calculating an estimate of the numerical value in a second further sub-interval of the further sub-interval based on the estimate of the numerical value in the first further sub-interval and the estimate of the numerical value in each sub-interval separated into two further sub-intervals. For example, a sub-interval covering a first month and a second month may be split into a first further sub-interval for the first month and a second further sub-interval for the second month. An estimate of the numerical value for the first month may be calculated by training a machine learning model, and an estimate of the numerical value for the second month may be calculated by subtracting the estimate of the numerical value for the first month from the numerical values ​​for the first month and the second month.

[0051] As mentioned above, the advantage of the above described technique is that it quickly produces a rough estimate, which allows a user of the system to evaluate the calculated estimate, and if the calculated estimate seems wrong, the user can modify / update the machine learning configuration and recalculate the estimate based on the modified / updated machine learning configuration.

[0052] At least one of the estimates (i.e., the estimate for the time interval that can be calculated first) is presented to the user as a basis for evaluation. In other words, the processing circuitry can be configured to present information about at least one of the estimates to the user via the user interface 18, 20 (see Fig. 1b and / or 1c). For example, at least one estimate can be displayed as soon as it is calculated. For example, the first and second machine learning models can be trained in sequence. That is, the second machine learning model can be trained after the completion of training of the first machine learning model. This also applies to the machine learning model or models trained for further sub-intervals. That is, the machine learning models are trained not simultaneously but one after the other in time. At the same time, one or more estimates of the numerical values ​​calculated based on the trained machine learning models can be provided to the user via the user interface as soon as they are obtained.

[0053] For example, the processing performed by the processing circuitry may generally be performed by a central processing unit (CPU), which is a general-purpose processor that may be used to run both the operating system of the system and application programs, such as the application program that calculates the estimates. However, in many cases, the machine learning model is trained using additional processing units, such as one or more general-purpose graphics processing units (GP-GPUs). Thus, the processing circuitry may include such additional processing units, e.g., GP-GPUs. However, the calculation of the estimates based on the trained machine learning model may also be performed by the CPU. Thus, once the training of the machine learning model is complete, the CPU may calculate estimates of the corresponding numerical values, and the GPU may be used to train the subsequent machine learning model. Since the machine learning model typically requires very low computational load (e.g., seconds or fractions of a second, as opposed to minutes or more), estimates of each numerical value may be provided to the user while the subsequent machine learning model is being trained, reducing the user's wait time for obtaining initial results. In other words, the user may see partial results before obtaining the complete results. The processing unit holds true estimates calculated for successively narrower sub-intervals. This allows incrementally refined estimates (compared to being presented all at once) to be provided to the user via the user interface as they are obtained.

[0054] Broadly speaking, the processing circuitry can be configured to provide the user with an estimate of the numerical value in the time interval before starting or completing the calculation of an estimate of the numerical value in the first sub-interval. For example, the processing circuitry can be configured to provide the user with an estimate of the numerical value while the second machine learning model is being trained. Thus, the processing circuitry can be configured to provide the user with an estimate of the numerical value in the sub-interval before starting or completing the calculation of an estimate of a further sub-interval of the numerical value in the sub-interval, for example, while the machine learning model is being trained for the further sub-interval of the sub-interval. For example, in general, an estimate of the numerical value in the time interval or sub-interval can be provided before the calculation of an estimate of the numerical value in the further sub-interval of the time interval or the completion of the calculation of the further sub-interval.

[0055] The user is provided with one or more estimates or estimates, allowing the user to quickly check whether the selected machine learning configuration is appropriate, and thus allows the user to stop the calculation of the estimate, update the machine learning configuration, and calculate the estimate again with the updated machine learning configuration. Thus, the processing circuitry can be configured to adapt the machine learning configuration based on an evaluation of at least one of the estimates. In some embodiments, the system itself can evaluate at least one estimate and adapt the machine learning configuration if at least one estimate is clearly incorrect. However, in various embodiments, this evaluation can be performed by the user, i.e., based on a user input via a user interface. In other words, the processing circuitry can be configured to adapt the machine learning configuration based on a user evaluation of at least one of the estimates.

[0056] For example, the user evaluation can be performed via a user interface. In other words, the processing circuitry can be configured to evaluate at least one of the estimates by providing information about at least one of the estimates to the user via the user interface 18, 20 (e.g., as each estimate is calculated, in turn) and obtaining information about the user's evaluation of the at least one estimate via the user interface. For example, the information about the evaluation of the at least one estimate can include instructions to stop the calculation of the estimates and to resume the calculation of the estimates using an updated machine learning configuration. In other words, when presented with the at least one estimate, the user is given the option to stop the process and adapt the machine learning configuration (i.e., select a different machine learning configuration). Thus, the information about the evaluation can include information about the updated machine learning model. For example, the processing circuitry can be configured to adapt the machine learning configuration based on the information about the evaluation. After adapting the machine learning configuration, the system can be configured to stop the calculation of the estimates based on the initially used machine learning configuration and to recalculate the estimates using the adapted machine learning configuration (e.g., as a result of the evaluation of the at least one estimate).

[0057] As mentioned above, the user can control the process via the user interface. In particular, the user can start and / or stop the calculation of the estimates via the interface, adjust the machine learning configuration, and / or set the time interval and sub-interval via the user interface. In other words, the processing circuitry can be configured to obtain at least one of information regarding the time interval, information regarding the first and second sub-intervals, and information regarding the machine learning configuration from the user via the user interface. In particular, the user can select the machine learning algorithm and one or more parameters of the machine learning algorithm via the user interface (as part of the machine learning configuration). In other words, the user can select the machine learning configuration (algorithm + parameters), for example, before the start of the calculation of the estimates or as part of the evaluation of at least one estimate. Additionally, the processing circuitry can be configured to obtain historical data via the user interface. For example, the user can upload or input the historical data. Alternatively, the historical data may already exist, for example, stored, in the storage circuitry of the system.

[0058] 1b and 1c show schematic diagrams of some embodiments of the system. In the figures, the user interface is provided to the user using different means. For example, FIG. 1b shows a schematic diagram of one embodiment of the system. In the figure, the system includes a display 18 connected to a processing circuit 14 via an interface 12. The display can be used to provide a user interface for the user. For example, the processing circuit can be configured to provide information about the at least one estimate via a user interface displayed on the display 18. Additionally, the processing circuit can be configured to obtain information from the user via the user interface. For example, the processing circuit can be configured to obtain at least one of information about the time interval, information about the first and second sub-intervals, information about the machine learning configuration, and information about an evaluation from the user via the user interface. For example, the user interface can be a graphic user interface, and the user can input information about the time interval, information about the first and second sub-intervals, information about the evaluation from the user, and / or information about the machine learning configuration via the user interface, for example, by making an input or selection on the user interface. For example, the display may be a touch screen display for obtaining user input, or user input may be obtained via a keyboard, mouse, or touch pad coupled to the processing circuit (e.g., via an interface). For example, the display may be a liquid crystal display or an OELD (Organic Electro Luminescence Diode) display.

[0059] Alternatively, the user interface may be a remote user interface, i.e., a user interface presented by a remote computing device, for example, via a web browser or an application program. In other words, the processing circuitry may be configured to provide information regarding at least one estimate to the remote user interface 20 via a computer network 30. For example, FIG. 1c shows a schematic diagram of an embodiment of the system. In the figure, the processing circuitry is connected to the remote user interface 20 via a computer network 30, for example, via an interface 12. For example, the remote user interface may be realized by a web browser or an application program. The processing circuitry may be configured to exchange information with the remote user interface via a computer network, for example, via the Internet or an intranet. For example, the processing circuitry may be configured to obtain at least one of information regarding the time interval, information regarding the first and second sub-intervals, information regarding an evaluation from the user, and information regarding the machine learning configuration from the user via the remote user interface. For example, the user may enter each piece of information into (or select each piece of information from) a form displayed by the remote user interface.

[0060] In general, some embodiments relate to machine learning and machine learning models. For example, the machine learning model (e.g., the first and / or second machine learning model) may be an artificial neural network. An artificial neural network is a system inspired by biological neural networks such as those found in the brain. An artificial neural network comprises a number of interconnected nodes and a number of connections, so-called edges, between the nodes. Typically, there are three types of nodes: input nodes that accept input values, hidden nodes that (only) connect to other nodes, and output nodes that provide output values. Each node may represent an artificial neuron. Each edge may convey information from one node to another. The output of a node may be defined as a (non-linear) function of the sum of the node's inputs. The inputs of a node may be used in a function based on the "weights" of the edges or nodes that provide the inputs. The weights of the nodes and / or edges may be adjusted during the learning process. In other words, training an artificial neural network may involve adjusting the weights of the nodes and / or edges of the artificial neural network, i.e., to provide a desired output for a given input. In at least some embodiments, the machine learning model may be a deep neural network, e.g., a neural network having one or more layers of hidden nodes (i.e., hidden layers), preferably multiple layers of hidden nodes.

[0061] Alternatively, the first or second machine learning model (or further machine learning model) can be a support vector machine. A support vector machine (i.e., a support vector network) is a supervised learning model with an associated learning algorithm that can be used to analyze data, for example, in classification or regression analysis. A support vector machine can be trained by inputting multiple training input values ​​that belong to one of two categories. A support vector machine can be trained to assign new input values ​​to one of two categories. Alternatively, the machine learning model can be a Bayesian network, which is a model represented by a directed acyclic graph of probabilities. A Bayesian network can use a directed acyclic graph to represent a set of random variables and their conditional dependencies. Alternatively, the machine learning model can be based on a genetic algorithm, which is a search algorithm, and heuristic techniques that mimic natural selection processes.

[0062] In some embodiments, the processing circuitry 14 may be implemented using one or more processing units, one or more processing devices, any processing means, such as a processor, computer, or programmable hardware components operable with compliant software. In other words, the described functionality of the processing circuitry 14 may also be realized on software executed on one or more programmable hardware components. Such hardware components may be constituted by general-purpose processors, DSPs (Digital Signal Processors), microcontrollers, etc.

[0063] The interface 12 may support one or more inputs and / or outputs for receiving and / or transmitting information, which may be digital (bit values ​​according to a specified code), within a module, between modules, or between modules of different entities. For example, the interface 12 may include an interface circuit configured to receive and / or transmit information.

[0064] In at least some embodiments, the memory circuit 16 can be comprised of at least one element of the group consisting of a computer-readable storage medium, such as a magnetic or optical storage medium, e.g., a hard disk drive, a flash memory, a floppy disk, a Random Access Memory (RAM), a Programmable Read Only Memory (PROM), an Erasable Programmable Read Only Memory (EPROM), an Electronically Erasable Programmable Read Only Memory (EEPROM), or a network storage.

[0065] For example, the system 100 may be a computer system. Alternatively, a computer system may include the system 100.

[0066] Further details and aspects of the system are described in conjunction with the proposed concept or one or more examples described above or below (e.g., Figures 2-3b). The system may have one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.

[0067] 2 shows a flow chart of a corresponding method for predicting the evolution of a numerical value over a time interval. The method includes calculating (210) an estimate of a numerical value in the time interval by training a first machine learning model based on historical data for the numerical value. The method includes dividing (220) the time interval into first and second sub-intervals. The method includes calculating (230) an estimate of a numerical value in the first sub-interval by training a second machine learning model based on historical data for the numerical value. The method includes calculating (240) an estimate of a numerical value in the second sub-interval based on the estimate of the numerical value in the time interval and the estimate of the numerical value in the first sub-interval.

[0068] As mentioned above, the features described in conjunction with the system of FIGS. 1a-1c are equally applicable to the method of FIG.

[0069] Further details and aspects of the method are described in conjunction with the proposed concept or one or more examples described above or below (e.g., Figures 1a-1c, 3a-3b). The method may have one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.

[0070] At least some embodiments relate to progressive demand forecasting.

[0071] Companies want to forecast product demand to optimize their supply chains. Figure 3a is a schematic diagram of two volumetric forecasting methods that can be used to forecast product demand. In Figure 3a, the demand forecast for the next four months is shown.

[0072] Such forecasts can be calculated in the following ways: One of several approaches (denoted as naive approach “A” in FIG. 3a) can be adopted, where an overall forecast is calculated at a desired time granularity and then presented to the user.

[0073] Initially, a user (e.g., an analyst) can download historical data 300, such as historical product demand data, into the system, e.g., via its front-end user interface (UI). The user can also use the user interface to configure some forecasting parameters, such as the length of the forecast period unit and the number of units (e.g., there are four periods, each one month long), the forecasting method to use, and how to derive features from the input data.

[0074] The user interface can forward 310 the data to some back-end Artificial Intelligence (AI) engine that performs the necessary data processing (e.g., machine learning) and trains a model 320 to generate predictions 325. For example, for each future period to be predicted (e.g., for each of four periods of one month each in this example), a model can be trained to best fit the historical data, and the trained model can be run only on the most recent historical data point(s) to predict future data points. This operation can be repeated for each future period to be predicted. The prediction results may be returned to the user after some processing delay.

[0075] In other words, for case A, the processing steps include training four different machine learning models for month+1, month+2, month+3, and month+4. The processing is computationally intensive. In the example shown in FIG. 3a, it is assumed that each machine learning training takes one minute (as an example) for a total of four minutes. The demand for the next four months is forecasted individually by running each of the four models.

[0076] Training a machine learning model usually involves testing different algorithms and parameters to find the configuration that gives the best model (i.e., the most accurate predictions when applied to historical data). An algorithm can be run with different values ​​of some algorithm-specific configuration parameters (which may differ from the prediction parameters, e.g., learning rate, regularization parameters, etc.). Also, it is possible to evaluate different machine learning algorithms themselves.

[0077] The evaluation of different parameters or algorithms may be delayed by machine learning training, which may take a long time and is performed for each prediction period, without any results being returned until the training is completed. Thus, such processing delays are also long, during which the user is not given any feedback. The user may decide to wait until such delays to access the prediction process and modify the prediction parameters to perform another prediction process.

[0078] Another problem that can affect machine learning based forecasts occurs when the data contains a lot of variability between periods. In this case, it can be difficult to train an accurate model even on historical data, since the variability means that the patterns extracted by the model are fuzzy. In other words, it can be hard to distinguish the variability from random noise. Forecast errors caused by the above problem can accumulate. For example, over-predicting monthly demand for the next 12 months can accumulate and create significant errors in the demand forecast for the next year.

[0079] On the other hand, in some embodiments of the present disclosure, a different approach can be selected (shown as proposed approach "B" in the figures). In this proposed approach, the entire forecast period (i.e., time interval) can be forecast at once (i.e., estimates for the time interval can be calculated). For example, the training and forecasting introduced below can be performed by the system of Figs. 1a-1d. For example, in Fig. 3a, demand can be forecast for the next four months as one block. For example, this can be performed first. A corresponding machine learning model can be trained (330) and a forecast value 335 can be calculated.

[0080] Then, the demand can be predicted for the next two months as a block (i.e., the first sub-interval). A corresponding machine learning model can be trained (340) and a prediction value 345 can be calculated. The demand for the third and fourth months can be estimated by subtracting the above prediction values ​​from each other (i.e., an estimate in the second sub-interval can be calculated).

[0081] The forecasts may be defined recursively following the same procedure as above. For example, when forecasting forecasts by month, a machine learning model may be trained to predict 350 a forecast value 355 for the demand in the first month and infer the demand in the second month based on the forecasted demand for the first and second months and the forecasted demand for the first month. Accordingly, a machine learning model may be trained to predict 360 a forecast value 365 for the demand in the third month and infer the demand in the fourth month based on the forecasted demand for the third and fourth months and the forecasted demand for the third month.

[0082] In other words, first, the demand for the entire four months can be predicted at once as a block. Training (330) only one model takes only one minute. The model can be run to predict the demand. An intermediate (still rough) prediction 335 can be returned to the user. Then, the demand for the next two months (months 1+2) can be predicted as a block. This also involves training (340) one model, taking one minute. The demand for months 3+4 can be inferred by subtracting the above predictions from each other. Again, a refined (still somewhat rough) prediction 345 can be returned to the user. This prediction can be refined recursively by the same process as above.

[0083] With this approach, a user can receive early (unadjusted) results, determine that the prediction is insufficient, stop the prediction process, and try a different set of prediction parameters. Figure 3b is a schematic diagram showing example predictions 335a, 335b over an entire time period / interval. If the prediction is unlikely for the historical data, as shown in Figure 3b, the user can determine that the prediction is insufficient, stop the prediction process, and try a different set of prediction parameters.

[0084] Furthermore, additive forecast errors can be avoided. For example, see Fig. 3a. Instead of summing up the forecast errors for each 4 months, the entire 4 month period is forecasted at once. Forecast discontinuities can be avoided by the differencing property of intermediate forecasts.

[0085] For example, due to the large month-to-month variability in historical data, it may be difficult to extract clear patterns and train a robust model with high accuracy. This may lead to over-prediction of monthly demand for the next 12 months, for example. Together, these monthly over-estimations can accumulate to produce significant errors in the next year's demand forecast.

[0086] However, in various embodiments, in a first step, all monthly values ​​in the historical data can be substituted with the sum of the data for the preceding months (12 months in the above example). This can reduce the variability from month to month and aid in training a more accurate (12 month) model. For example, For month M, we can substitute Σ(M-11,M-10,M-9…M), For month M+1, we can substitute Σ(M-10,M-9…M,M+1), For month M+2, Σ(M-9…M,M+1,M+2) can be substituted.

[0087] In this example, two successive imputed values ​​have 10 of the 12 terms in their common sum, which reduces the (relative) variability between successive values. A model can be trained to predict the sum of the values ​​over a 12-month period of this total data.

[0088] Also, because values ​​for shorter time periods (in the future) are predicted by subtracting the predicted values ​​for other shorter time periods from the longer (12 month) time period, this ensures that the monthly predictions add up correctly.

[0089] For example, in an exemplary formal definition, if the current day is N, the next month (the first month to be predicted) is N+1, and the following months are N+2, N+3, etc., then the predicted value can be defined as follows: Predicted value([N+1~N+4]):=Model([N+1~N+4]): In other words, the predicted values ​​for months N+1 to N+4 are obtained by training a (single) model for months N+1 to N+4. Predicted value([N+1~N+2]):=Model([N+1~N+2]): The forecast for months N+1 to N+2 is obtained by training a (single) model for months N+1 to N+2. Predicted value([N+3~N+4)):=Predicted value([N+1~N+4])-Predicted value([N+1~N+2]) The predicted values ​​for months N+3 to N+4 are obtained by subtracting the predicted values ​​for months N+1 and N+2 from the predicted values ​​for months N+1 to N+4.

[0090] The same process can be performed recursively for each month. Predicted(N+1):=Model(N+1): The prediction for month N+1 is obtained by training a (single) model for month N+1. Predicted value(N+2):=Predicted value([N+1~N+2])-Predicted value(N+1): The predicted value for month N+2 is obtained by subtracting the predicted value for month N+1 from the predicted values ​​for months N+1 and N+2. Predicted value(N+3):=Model(N+3): The prediction for month N+3 is obtained by training a (single) model for month N+3. Predicted value(N+4): = Predicted value([N+3~N+4)) - Predicted value(N+3): The predicted value for month N+4 is obtained by subtracting the predicted value for month N+3 from the predicted values ​​for months N+3 and N+4.

[0091] Thus, discontinuities in the prediction can be avoided by the difference property of intermediate predictions. As can be seen from this example, in some embodiments, two consecutive short-term values ​​are not predicted from a short-term model that may have a high variance. Instead, a first value can be predicted from a short-term model (but in the nearer future). A second value can be predicted by subtracting the first value against a longer-term model (hence less variance).

[0092] Further details and aspects of the present concept are described in conjunction with the proposed concept or one or more examples described above or below (e.g., Figures 1a-2). The present concept may have one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.

[0093] The following examples pertain to further embodiments. (1) A system (100) for predicting the progression of a numerical value over a time interval, comprising: calculating an estimate of the value for the time interval by training a first machine learning model based on historical data for the value; Dividing the time interval into first and second subintervals; calculating an estimate of the value in the first subinterval by training a second machine learning model based on the historical data for the value; calculating an estimate of the value in the second sub-interval based on the estimate of the value in the time interval and the estimate of the value in the first sub-interval; It is configured as follows: Processing circuit (14) Equipped with system. (2) The system according to (1), The processing circuitry is configured to calculate an estimate of the numerical value in the second sub-interval by subtracting the estimate of the numerical value in the first sub-interval from the estimate of the numerical value in the time interval. system. (3) The system according to (1) or (2), The processing circuitry is configured to calculate an estimate of the numerical value in a further subinterval of the first or second subinterval, respectively, by dividing each of the subintervals into two further subintervals, calculating an estimate of the numerical value in a first further subinterval of the further subintervals by training a machine learning model based on the historical data, and calculating an estimate of the numerical value in a second further subinterval of the further subintervals based on the estimate of the numerical value in the first further subinterval and the estimate of the numerical value in each of the subintervals divided into the two further subintervals. system. (4) The system according to any one of (1) to (3), The estimate of the value in each of the second subintervals is calculated without training a machine learning model. system. (5) The system according to any one of (1) to (4), The machine learning model is trained based on a machine learning configuration that specifies a machine learning algorithm and one or more parameters of the machine learning algorithm, and the processing circuitry is configured to adapt the machine learning configuration based on an evaluation of at least one of the estimates. system. (6) The system according to (5), The processing circuitry is configured to adapt the machine learning configuration based on a user rating of at least one of the estimates. system. (7) The system according to (5) or (6), The processing circuitry is configured to evaluate at least one of the estimates by providing information about at least one of the estimates to a user via a user interface (18, 20) and obtaining information about the evaluation of the at least one estimate from the user via the user interface. system. (8) The system according to any one of (5) to (7), After adapting the machine learning configuration, the system is configured to discontinue computing the estimate based on the initially used machine learning configuration and to re-compute the estimate using the adapted machine learning configuration. system. (9) The system according to any one of (1) to (8), Each of the machine learning models is trained by calculating a first subset of the historical data and a second subset of the historical data representing a length of time equal to the time interval over which training of each of the machine learning models is performed, and using the first subset of the historical data as a training input and the second subset as a training output for the training of each of the machine learning models. system. (10) The system according to any one of (1) to (9), The second subinterval follows in time the first subinterval. system. (11) The system according to any one of (1) to (10), The first and second sub-intervals are equal in length. system. (12) The system according to any one of (1) to (10), The first and second sub-intervals have different lengths. system. (13) The system according to any one of (1) to (12), The processing circuitry is configured to provide at least one of the estimates to a user via a user interface (18, 20). system. (14) The system according to (13), further comprising: Display (18) Equipped with The processing circuitry is configured to provide the information regarding the at least one estimate via a user interface displayed on the display. system. (15) The system according to (13), The processing circuitry is configured to provide the information regarding the at least one estimate to a remote user interface (20) via a computer network (30). system. (16) The system according to any one of (13) to (15), The processing circuitry is configured to provide the user with the estimate of the numerical value for the first sub-interval before calculation of the estimate of the numerical value for the first sub-interval begins or completes. system. (17) The system according to any one of (13) to (16), The estimate of the numerical value in a time interval or sub-interval is provided prior to calculation of the estimate of the numerical value in a sub-interval of the time interval or a further sub-interval of the sub-interval. system. (18) The system according to any one of (1) to (17), The processing circuitry is configured to obtain at least one of the time interval information, the first and second sub-interval information, and the machine learning configuration information from a user via a user interface. system. (19) The system according to any one of (1) to (18), The numerical value relates to demand for a product and the historical data relates to historical demand for the product. (20) A method for estimating a trend in a numerical value over a time interval, comprising the steps of: calculating (210) an estimate of the value for the time interval by training a first machine learning model based on historical data for the value; Dividing (220) the time interval into first and second subintervals; calculating (230) an estimate of the value in the first subinterval by training a second machine learning model based on the historical data for the value; Calculating (240) an estimate of the value in the second sub-interval based on the estimate of the value in the time interval and the estimate of the value in the first sub-interval. method. (21) A computer program having a program code which, when executed on a computer, a processor, or a programmable hardware component, performs the method according to (20).

[0094] Aspects and features mentioned and described in connection with one or more of the above-described examples and figures may be similarly combined with one or more of the other examples to replace similar features of the other examples or to introduce additional features of the other examples.

[0095] Examples may further be or relate to a computer program having a program code that, when executed on a computer or processor, performs one or more of the above-mentioned methods. The steps, operations or processes of the various methods described above may be performed by a programmed computer or processor. Examples may also include a program storage device, such as a digital data storage medium, that is machine-readable, processor-readable or computer-readable and that encodes machine-executable, processor-executable or computer-executable programs of instructions. The instructions perform or cause to be performed some or all of the operations of the above-mentioned methods. The program storage device may comprise or be, for example, a digital memory, a magnetic storage medium, such as a magnetic disk and tape, a hard drive, or an optically readable digital data storage medium. Further examples may also include a computer, processor or controller programmed to perform the operations of the above-mentioned methods, or a (field) programmable logic array ((F)PLA) or a (field) programmable gate array ((F)PGA) programmed to perform the operations of the above-mentioned methods.

[0096] The above description and drawings merely illustrate the principles of the present disclosure. Also, all examples listed herein are expressly intended to be illustrative in principle only, to aid the reader in understanding the principles and concepts of the present disclosure, which the inventor(s) have contributed to the development of the art. All statements herein regarding the principles, aspects, embodiments, and specific examples thereof of the present disclosure are intended to encompass their equivalents.

[0097] A functional block denoted as "means for" performing a particular function may be a circuit configured to perform the particular function. Thus, "means for something" may be embodied as "means configured for or suitable for something," such as a device or circuit configured or suitable for each task.

[0098] The functions of the various elements shown, including any functional blocks labeled with "means," "means for providing a signal," "means for generating a signal," etc., may be embodied in the form of dedicated hardware such as a "signal provider," "signal processor," "processor," "controller," etc., and in the form of hardware capable of executing software in association with appropriate software. When performed by a processor, the functions may be performed by a single dedicated processor, by a single shared processor, or by multiple individual processors, some or all of which may be shared. However, the terms "processor" or "controller" are not limited exclusively to hardware capable of executing software, and may include digital signal processor (DSP) hardware, network processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), read only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and / or custom, may also be included.

[0099] Block diagrams, for example, depict high level circuit diagrams embodying the principles of the present disclosure. Similarly, flowcharts, flow diagrams, state transition diagrams, pseudo code, and the like, may be substantially represented in, for example, a computer-readable medium and thus represent various processes, operations, or steps that may be performed by a computer or processor, whether or not such a computer or processor is explicitly depicted. The methods disclosed herein or in the claims may be performed by an apparatus having means for performing each of the operations of those methods.

[0100] It is to be understood that the disclosure of multiple operations, processes, operations, steps, or functions disclosed in this specification or claims is not to be construed as being in a particular order, for example, for technical reasons, unless expressly or impliedly stated otherwise. Thus, the disclosure of multiple operations or functions is not intended to limit the operations or functions to a particular order, unless such operations or functions are not substitutable for technical reasons. Also, in some examples, a single operation, function, process, operation, or step may include or be divided into multiple sub-operations, sub-functions, sub-processes, sub-operations, or sub-steps, respectively. Such sub-operations may be included as part of the disclosure of the single operation, unless expressly excluded.

[0101] Also, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as an independent example. It should be noted that each claim stands on its own as an independent example, and that although a dependent claim may refer to a specific combination with one or more other claims in that claim, other examples may also include combinations of that dependent claim with the subject matter of each other dependent or independent claim. Such combinations are expressly suggested herein, unless it is stated that a specific combination is not intended. Also, even if a claim is not directly dependent on any other independent claim, it is intended that the features of that claim be included in that any other independent claim.

Claims

1. 1. A system for predicting a trend of a numerical value over a time interval, comprising: calculating an estimate of the value for the time interval by training a first machine learning model based on historical data for the value; Dividing the time interval into first and second sub-intervals; calculating an estimate of the value in the first subinterval by training a second machine learning model based on the historical data for the value; Calculating an estimate of the value in the second sub-interval based on the estimate of the value in the time interval and the estimate of the value in the first sub-interval. It is configured as follows: Processing Circuit Equipped with system.

2. 2. The system of claim 1, The processing circuitry is configured to calculate an estimate of the numerical value in the second sub-interval by subtracting the estimate of the numerical value in the first sub-interval from the estimate of the numerical value in the time interval. system.

3. 2. The system of claim 1, The processing circuitry is configured to calculate an estimate of the numerical value in a further subinterval of the first or second subinterval, respectively, by dividing each of the subintervals into two further subintervals, calculating an estimate of the numerical value in a first further subinterval of the further subintervals by training a machine learning model based on the historical data, and calculating an estimate of the numerical value for a second further subinterval of the further subintervals based on the estimate of the numerical value in the first further subinterval and the estimate of the numerical value in each of the subintervals divided into the two further subintervals. system.

4. 2. The system of claim 1, The estimate of the value in each of the second sub-intervals is calculated without training a machine learning model. system.

5. 2. The system of claim 1, The machine learning model is trained based on a machine learning configuration that specifies a machine learning algorithm and one or more parameters of the machine learning algorithm, and the processing circuitry is configured to adapt the machine learning configuration based on an evaluation of at least one of the estimates. system.

6. 6. The system of claim 5, The processing circuitry is configured to adapt the machine learning configuration based on a user rating of at least one of the estimates. system.

7. 6. The system of claim 5, The processing circuitry is configured to evaluate at least one of the estimates by providing information of at least one of the estimates to a user via a user interface and obtaining information of the evaluation of the at least one estimate from the user via the user interface. system.

8. 6. The system of claim 5, After adapting the machine learning configuration, the system is configured to discontinue computing the estimate based on the initially used machine learning configuration and to re-compute the estimate using the adapted machine learning configuration. system.

9. 2. The system of claim 1, Each of the machine learning models is trained by calculating a first subset of the historical data and a second subset of the historical data representing a length of time equal to the time interval over which training of each of the machine learning models is performed, and using the first subset of the historical data as a training input and the second subset as a training output for the training of each of the machine learning models. system.

10. 2. The system of claim 1, The second sub-interval follows in time the first sub-interval. system.

11. 2. The system of claim 1, The first and second sub-intervals are equal in length. system.

12. 2. The system of claim 1, The first and second sub-intervals are of different lengths. system.

13. 2. The system of claim 1, The processing circuitry is configured to provide at least one of the estimates to a user via a user interface. system.

14. 14. The system of claim 13, further comprising: display Equipped with The processing circuitry is configured to provide the information regarding the at least one estimate via a user interface displayed on the display. system.

15. 14. The system of claim 13, The processing circuitry is configured to provide the information regarding the at least one estimate to a remote user interface over a computer network. system.

16. 14. The system of claim 13, The processing circuitry is configured to provide the user with the estimate of the numerical value for the time interval before calculation of the estimate of the numerical value for the first sub-interval begins or before completion. system.

17. 14. The system of claim 13, The estimate of the numerical value in a time interval or sub-interval is provided prior to calculation of the estimate of the numerical value in a sub-interval of the time interval or a further sub-interval of the sub-interval. system.

18. 2. The system of claim 1, The processing circuitry is configured to obtain at least one of the time interval information, the first and second sub-interval information, and the machine learning configuration information from a user via a user interface. system.

19. 1. A method for estimating the progression of a numerical value over a time interval, comprising the steps of: calculating an estimate of the value for the time interval by training a first machine learning model based on historical data for the value; Dividing the time interval into first and second sub-intervals; calculating an estimate of the value in the first subinterval by training a second machine learning model based on the historical data for the value; Calculating an estimate of the value in the second sub-interval based on the estimate of the value in the time interval and the estimate of the value in the first sub-interval. method.

20. 20. A computer program having a program code for performing the method according to claim 19, when the computer program is executed on a computer, a processor, or a programmable hardware component.

Citation Information

Patent Citations

  • Multi-step time series forecasting with residual learning

    EP3499433A1

  • Production management device and system, production planning method, and storage medium

    JP2000293582A

  • Variable prediction model construction method and variable prediction model construction system

    JP2009237832A

  • Measurement quantity monitoring device and program

    JP2014020923A

  • Energy prediction system, energy prediction method, program, recording medium, and management system

    JP2020177531A