Machine driven insight from time series data
By generating model templates and configuring machine learning models, the problem of integrating subject expert knowledge into the time series model is solved, and automatic insight export of time series data and model interpretability is achieved.
Patent Information
- Application Number
- CN202380066105.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-15
- Filing Date
- 2023-06-09
- Publication Date
- 2025-04-25
AI Technical Summary
It is difficult for prior art to effectively integrate the domain knowledge of subject matter experts (SMEs) into time series models, especially in model selection and component construction.
By receiving input from subject matter experts, generate model templates using a rule-based translator, specifying the components and structure of the time series. Then, machine learning models such as multi-layer neural networks are configured based on these templates, and time series data is automatically extracted and analyzed to derive insights.
It realizes automatic export of insights from time series data, can identify the contribution of each component in the time series model to decision-making, provides interpretable classifiers and predictors, and improves the interpretability and prediction accuracy of the model.
Smart Images

Figure CN119895431A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to computer processing of time series data, and more particularly to automatically generating machine learning models capable of processing time series data and deriving insights therefrom. Background Art
[0002] A time series is a sequence of quantitative values or observations taken continuously at discrete times (e.g., fixed intervals) or over a time span. As a stochastic process, a time series is often modeled as a sequence of random variables. Examples include signals generated by thermal sensors during chemical processes, daily stock prices traded on the New York Stock Exchange, and seasonal rainfall in the City of London. Time series can explicitly encode the concept of process causality. The temporal resolution of time series data can enable effective data mining of the causal structure of a process. Tasks involving time series data include, for example, forecasting, anomaly detection, and classification.
[0003] The analysis of time series can be based on the statistical correlation of the time series data. Statistical correlation can be determined using autoregression or correlation measures to measure whether the time series values at one time point are likely to be correlated with the values at another time point, and if so, to what extent, or whether the data are completely random. An alternative approach to time series analysis determines the properties of the time series by decomposing it into a spectrum. Time series analysis has many applications and is used, in one form or another, in virtually all areas of applied science, engineering, and economics. Summary of the invention
[0004] In one or more embodiments, a method for deriving insights from time series data may include receiving subject matter expert (SME) input, wherein the SME input characterizes one or more aspects of the time series. The method may include generating a model template by translating the SME input using a rule-based translator, wherein the model template specifies one or more components of the time series. The method may include generating a machine learning model configured based on the model template. The machine learning model may be configured as a multi-layer neural network with one or more component definition layers. Each component definition layer may be configured to extract one of the one or more components from the time series data input corresponding to an instantiation of the time series. The method may include determining the component aspect contribution of each of the one or more components to the decision generated by the machine learning model based on the time series data input. The method may include outputting the component aspect contribution of at least one of the one or more components.
[0005] In one or more embodiments, a system for deriving insights from time series data includes one or more processors configured to initiate operations. The operation may include receiving a subject SME input, wherein the SME input characterizes one or more aspects of a time series. The operation may include generating a model template by translating the SME input using a rule-based translator, wherein the model template specifies one or more components of a time series. The operation may include generating a machine learning model configured based on the model template. The machine learning model may be configured as a multi-layer neural network with one or more component definition layers. Each component definition layer may be configured to extract one of the one or more components from a time series data input corresponding to an instantiation of a time series. The operation may include determining a component aspect contribution of each of the one or more components to a decision generated by the machine learning model based on the time series data input. The operation may include outputting a component aspect contribution of at least one of the one or more components.
[0006] In one or more embodiments, a computer program product includes one or more computer-readable storage media having instructions stored thereon. The instructions are executable by a processor to initiate an operation. The operation may include receiving a subject SME input, wherein the SME input characterizes one or more aspects of a time series. The operation may include generating a model template by translating the SME input using a rule-based translator, wherein the model template specifies one or more components of a time series. The operation may include generating a machine learning model configured based on the model template. The machine learning model may be configured as a multi-layer neural network having one or more component definition layers. Each component definition layer may be configured to extract one of the one or more components from a time series data input corresponding to an instantiation of the time series. The operation may include determining the component aspect contribution of each of the one or more components to the decision generated by the machine learning model based on the time series data input. The operation may include outputting the component aspect contribution of at least one of the one or more components.
[0007] This summary is provided only to introduce certain concepts, and does not identify any key or essential features of the claimed subject matter. Other features of the invention will become apparent from the accompanying drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The arrangement of the present invention is illustrated by way of example in the accompanying drawings. However, the accompanying drawings should not be construed as limiting the arrangement of the present invention to only the specific embodiments shown. After reading the following detailed description and referring to the accompanying drawings, various aspects and advantages will become apparent.
[0009] Figure 1 An example system for deriving insights from time series data is shown.
[0010] Figure 2 Shows the use of Figure 1 Example methods of systems.
[0011] Figure 3 Shows Figure 1 certain operational aspects of the system.
[0012] Figure 4A and 4B Shows Figure 1 certain other operational aspects of the system.
[0013] Figure 5 Shown Figure 1 Example prototype of a model template generated by the system.
[0014] Figures 6A-6C Shown by Figure 1 An exemplary modeling strategy for a system implementation.
[0015] Figure 7 Shown is the method for implementing Figure 1 An example computing environment for various aspects of the system. DETAILED DESCRIPTION
[0016] Although the present disclosure ends with claims defining novel features, it is believed that the various features described within the present disclosure will be better understood by considering the description in conjunction with the accompanying drawings. The processes, machines, manufactures, and any variations thereof described herein are provided for illustrative purposes. The specific structural and functional details described in this disclosure should not be construed as limiting, but merely as a basis for the claims and as a representative basis for teaching those skilled in the art to variously employ the features described in virtually any appropriate detailed structure. Furthermore, the terms and phrases used in this disclosure are not intended to be limiting, but rather to provide an understandable description of the features described.
[0017] The present disclosure relates to computer processing of time series data, and more particularly, to using computer-implemented machine learning to derive guided insights into time series data. A time series can be composed into different components. If the time series has a constant variance, the time series can be modeled as a sum of the components. If the variance of the time series varies over time, the time series can be modeled as a product of the components. The time series components can span the entire time series or different portions. For example, many time series models are constructed using four components - trend, cyclicality, seasonality, and randomness.
[0018] A time series including decomposable components can be modeled as a data generating process. For example, an autoregressive moving average (ARMA) process is constructed as a combination of an autoregressive (AR) component and a moving average (MA) component. The AR component is derived by regressing a variable on its own lagged (past) value. The MA component models the difference between the model predicted value and the actual value as a linear combination of the errors of the same period and the past. The autoregressive integrated moving average (ARIMA) process adds differences to the ARMA process. Differences can be used to impose stationarity on otherwise non-stationary processes. Models such as generalized autoregressive conditional heteroscedasticity (GARCH) are specifically designed to estimate the variance of time series data over time (heteroskedasticity). Exponential smoothing of moving averages can be used to weight time series data with exponentially decreasing weights. Various other structures can be used to model the process that generates time series data.
[0019] One concept in statistical analysis in general is causal inference. Specifically, causal inference on time series data concerns the question of whether a certain event or phenomenon causes observable changes in the values of the time series data. For example, does the aggregate daily stock price cause fluctuations in trading volume? For example, does the Pacific Ocean surface temperature affect the size of the sardine catch? Various notions of time series causality have been proposed, with Granger causality being one of the first. Causality applies to both autoregressive and spectral representations of time series. Causality assumes that current data is not affected by future, so-far generated data, and can be imposed on the time series as a structural constraint.
[0020] Typically, knowledge that can reveal the appropriate structure for modeling a time series is known only to subject matter experts (SMEs). For example, a cardiologist may know that a time series representation of a typical patient's ECG will show a P wave, a QRS complex, and a T wave that appear in a determined order. For example, an economist may know that in a time series of a country's gross domestic product (GDP), over time, a certain exogenous shock (e.g., an oil supply disruption) may be followed by a cyclical recession. SME knowledge can be structural, such as the knowledge that the P wave, QRS complex, and T wave appear in sequence and that the QRS wave is sharper than both the P wave and the T wave. SME knowledge can also be behavioral, such as the knowledge that a discount on a product price may precede an increase in product sales, or that a change in the Hurst exponent (a measure of the long-term "memory" of a time series) precedes a change in asset market returns.
[0021] Despite the insights provided by SME knowledge, it is often difficult to integrate this knowledge into existing time series models. One difficulty that arises is related to the problem of model selection. SME knowledge, while insightful, often cannot resolve the choice of a particular model, nor can it suggest which components in what arrangement should be used to construct a model. Furthermore, a model may not adequately encode all of the model assumptions derived from SME knowledge.
[0022] Additionally, SME knowledge may often be qualitative in nature. Thus, SME knowledge may provide little if any insight into which of the multiple components contributes most to the decision making of a time series model (e.g., regression, classification, anomaly detection).
[0023] The systems, methods and computer program products disclosed herein can create an automated framework for deriving insights from time series data using domain knowledge. As defined herein, "insight" means the identification of one or more components of a time series model and the determination of the contribution of each identified component to the decision or result of the time series model. The decision can be a prediction, classification, anomaly detection or other model decision generated based on a specific value of a given time series. Relatedly, "component" as defined herein means a factor that affects the observed value of a time series. Therefore, a component can correspond to an event or a physical phenomenon. A time series is characterized by the components of the time series. For example, an ECG output is a time series characterized by three components - P wave, QRS complex and T wave - corresponding to physical phenomena related to the patient's cardiac activity. For example, a time series of a country's GDP is typically characterized by a long-term trend component associated with economic growth and a cyclical component associated with a business cycle. A company's sales can also show a trend component and components associated with peaks and troughs in sales that occur seasonally or in response to specific events such as flash sales.
[0024] One aspect of the use of domain knowledge in accordance with the inventive arrangements disclosed herein is the automatic creation of knowledge-based model templates generated based on SME inputs. In certain arrangements, the model templates are generated by computer-implemented translation of the SME inputs. The model templates may specify a modeling strategy for modeling a given time series. Based on the SME inputs, the model templates may specify structural components (e.g., trends or periodicity) of the time series. The model templates may specify causal structures, such as predetermined events that cause spikes or dips in the time index values of the time series.
[0025] Therefore, another aspect of the arrangement of the present invention is to use a model template to create a time series based on the components and component structure defined by the template. In some arrangements, the model template specifies the relative position of each component. Therefore, according to the arrangement of the present invention, a time series model can be automatically implemented using components constructed according to a template generated from a translation of an SME input. The structure can include, for example, the relative positioning of components in a sequence. For example, in the case of anomaly detection of a time series generated by an ECG, the model template can specify that the normal component structure is an ordered sequence in which a P wave is followed by a QRS complex and a QRS complex is followed by a T wave. The structure can include causal constraints. For example, based on the SME input, a template can specify that a promotional event precedes a sales surge with respect to a time series of company sales.
[0026] Another aspect of the present invention is to generate a machine learning model for a time series, the generation being based on a model template. The machine learning model in some arrangements may be a deep learning model. For example, the machine learning model may be a recurrent neural network, a convolutional neural network, a generalized additive model (GAM), or other deep learning models.
[0027] Another aspect of the inventive arrangement is a computer-generated estimate of the contribution of each component to a time series model decision (e.g., prediction, classification, anomaly detection). For example, in the case of ECG anomaly detection, a system implemented in accordance with the inventive arrangement can be configured to determine which signal component in the time series - the P wave, the QRS complex, or the T wave - is most likely to contribute to the detection of an anomaly. Thus, the arrangement can provide an interpretable classifier that can identify which component is likely to lead to a correct diagnosis.
[0028] In the case of forecasting, for example, the system can be configured to generate forecasts of economic activity (e.g., GDP) using a time series model whose components are decomposed into structural events including cyclical peaks, seasonal variations, and the recent surge in output in response to fiscal stimulus. Thus, the arrangement can provide an interpretable forecaster. The interpretable forecaster can identify spectral components (e.g., trend, cyclicality) or regression components that produce time-specific forecasts.
[0029] In other arrangements, different models may be generated based on different machine-generated templates based on the SME input. According to certain novel arrangements, the system may generate a comparative evaluation of the respective models. The comparative evaluation may indicate the respective prediction accuracy of each of the different models, and which components of each model are most important in generating the decision of each model with respect to a predetermined set of time series data.
[0030] Other aspects of the inventive aspects described in the present disclosure are described in more detail with reference to the following drawings. For the purpose of simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, for clarity, the size of some elements may be exaggerated relative to other elements. In addition, where deemed appropriate, reference numerals are repeated in the drawings to indicate corresponding, similar or analogous features.
[0031] First reference Figure 1 and 2 , shows an example system (system) 100 for deriving insights from time series data, and a method 200 for implementing certain operational aspects of the present disclosure. In operation, the system 100 is capable of creating a template based on certain received knowledge-based SME inputs. The SME input may specify components that characterize a time series. Using the template, the system 100 is capable of generating one or more machine learning models that are built based on the components specified by the SME input. Each machine learning model generated by the system 100 thus provides a model representation of a time series containing the specified components. In some arrangements, the template may also include a user-specified modeling strategy. The SME input may thus specify a strategy for modeling a time series and components of a time series. The components specify the structure of the model. The modeling strategy specifies how to represent the model - i.e., the architecture of the machine learning model. The modeling strategy specified by the template may specify a known architecture (e.g., a recurrent neural network, a 1-D convolutional neural network) or a user-customized architecture. Therefore, in some arrangements, one or more keywords indicating a modeling strategy may be mapped to a predetermined machine learning architecture. In other arrangements, one or more keywords may be mapped to specifications that indicate certain properties of a user-customized machine learning architecture (e.g., number of hidden layers, activation function, gradient descent criterion function, stopping criterion).
[0032] The system 100 is not only capable of generating a machine learning model based on the components specified by the SME input, but also, once generated, is capable of deriving insights into the time series based on the time series data input to the machine learning model. The time series data input is data corresponding to an instantiation of a time series. For example, the readout of a patient's ECG corresponds to an instantiation of a time series including a P wave component, a QRS complex component, and a T wave component. By executing the machine learning model on a given set of time series data, the system 100 can determine the contribution of each component to the decision (e.g., prediction, anomaly detection, classification) of the machine learning model. In certain arrangements, the system 100 can determine which components contribute more than a predetermined threshold (e.g., 0.5) and which do not on a predetermined quantitative scale (e.g., between 0 and 1). For example, in the case of an ECG readout, knowing which component is most likely to indicate a cardiac abnormality can help health care professionals make a diagnosis faster. In some instances, for example, reconfiguring the machine learning model by retaining components determined to be important and eliminating those that are not important can improve the predictive accuracy of the model and may reduce the processing burden on computer system resources.
[0033] Still reference Figure 1 and 2 In some arrangements, the system 100 may include a translator 102, a machine learning model generator 104, and a determiner 106. The translator 102, the machine learning model generator 104, and the determiner 106 may be implemented in hardware (e.g., dedicated hardwired circuits), software (e.g., program code executed by one or more processors), or a combination thereof. For example, in some embodiments, the system 100 may be loaded into a computing environment such as the computing environment 700 ( Figure 7 ) is implemented in computer readable program instructions on a computer 701 of the computer.
[0034] At block 202, the system 100 may receive SME input 108 from a user. In some arrangements, the SME input 108 may be received as natural language input to a computer via a user interface, as shown by various elements of the UI device set 723 ( Figure 7). The natural language input may be communicated via text or speech, which may optionally be converted to text. The system 100 may be configured to perform natural language processing on the natural language input. The SME input 108 may be extracted by the system 100 from the natural language input. The SME input 108 may characterize various aspects of a predetermined time series. For example, the SME input 108 may characterize the components of the time series of signals generated by the electrodes of an ECG recording (e.g., P waves, QRS complexes, T waves), or the components of the time series of interest rates represented by computer-encoded data retrieved online from a central bank (e.g., the Federal Reserve). In some arrangements, when performing natural language processing, the system 100 parses the natural language input (e.g., implements a parser such as the Berkeley neural parser) to identify the parts of speech of the natural language input and extracts the SME input 108 including certain keywords therefrom. As defined herein, "extraction" means creating a data structure specifying keywords so that the keywords exist independently and are clearly separated from the natural language input. For example, keywords may be encoded as vectors, matrices, or higher-dimensional tensors.
[0035] At box 204, the translator 102 of the system 100 can generate a model template 110 by translating the SME input 108. In some arrangements, the translator 102 is configured to translate the SME input using rule-based translation. Through rule-based translation, the translator 102 identifies one or more predefined keywords (e.g., domain-specific keywords) or phrases contained in the SME input 108. The rule set 112 maps each of the complete set of predefined keywords and phrases to a specific component of the time series. For example, the translator 102 can map the domain-specific keywords to model-specific keywords (e.g., trends, fluctuations, cycles) corresponding to the components that characterize the time series. For example, the components can characterize the structure of the time series (e.g., trends, periodicity, seasonality). For example, the components can characterize causal relationships (e.g., the causal structure of flash sales that cause spikes in units sold). The translator 102 creates a model template 110 based on the specific keywords and phrases identified in the SME input 108. Therefore, the model template 110 may include a rule set 112 that maps to a specific component of the time series of keywords and / or phrases of the SME input 108.
[0036] Thus, the translation of the SME input 108 characterizing the time series at box 204 can provide structural information for constructing a model representation of the time series. For example, the structural information can indicate whether the model should be constructed as a fixed time series, whether the model variance is constant, whether the model exhibits seasonality, and if so, to what extent and with what periodicity. For example, the SME input 108 can indicate a causal structure. That is, whether certain phenomena or events tracked by the time series are before or after other phenomena or events. By translating the SME input 108, the translator 102 generates a model template 110 to incorporate the structural information and, if applicable, any causal structure. When generating a machine learning model from the template 110, as described below, the structural information can specify, for example, the relative ordering of time patches (e.g., windowing, predefined units for automatically discovering patterns, thresholds). Similarly, the causal structure can be used to identify functional dependencies of the machine learning model (e.g., an explicit causal structure can provide a sparse model). These and other types of structures and causal relationships that characterize time series are collectively referred to as components of the time series.
[0037] At block 206, the machine learning model generator 104 can generate a machine learning model 114 based on the components extracted from the SME input 108. The machine learning model 114 is generated according to the template 110, which combines the components extracted from the SME input 108. The machine learning model 114 is a model representation of the time series generated according to the model template 110, and is therefore built based on the SME input 108. The machine learning model 114 models the time series as represented by the components extracted from the SME input 108 and translated into the model template 110. Therefore, the machine learning model 114 generated by the machine learning model generator 104 at block 206 is built based on the components extracted from the SME input 108 by the translator 102 at block 204.
[0038] In some arrangements, the machine learning model 114 is configured as a neural network having one or more component definition layers based on the model template 110. Each of the one or more component definition layers can be uniquely configured to extract one of the one or more components from the time series data input. In some arrangements, the component definition layers can be stored in a library and retrieved from the library based on the translator 102 matching keywords with the stored component definition layers.
[0039] In some arrangements, the machine learning model 114 is a deep learning neural network that includes an input layer, an output layer, and one or more hidden layers, such as Figures 6A-6CAs shown in the example of . In some arrangements, the machine learning model 114 is generated by the machine learning model generator 104 as a recurrent neural network. As a recurrent neural network, the machine learning model 114 is dedicated to processing a sequence of values (e.g., a time index value of a time series) and includes one or more layers of recurrent neurons that receive a current input (e.g., a vector) and an output of the previous layer at each time step. In other arrangements, the machine learning model 114 is generated by the machine learning model generator 104 as a convolutional neural network (e.g., a 1-D CNN) featuring parameter sharing.
[0040] In other arrangements, the machine learning model generator 104 may generate the machine learning model 114 at box 206 to have other different or specialized features. As described below, the model template 110 according to certain arrangements includes a modeling strategy field that specifies a specific feature. For example, as generated by the machine learning model generator 104, the machine learning model 114 may include a wavelet transformer. A wavelet transform can identify frequency components of a time series. For example, if the machine learning model 114 is configured as a prediction model, the frequency components can be used to generate predictions.
[0041] Once generated at block 206, the machine learning model 114 can render a decision in response to the input of the time series data 116. The decision can be a prediction of a value, a classification of the time series from which the time series data 116 was derived (e.g., classifying the time series as anomalous or not), or other decisions depending on the specific task that the machine learning model 114 is configured by the model template 110 to perform.
[0042] At block 208, the determiner 106 derives one or more time series insights 118 from the output of the machine learning model 114 based on the time series data 116. The time series insights 118 may include component-wise contributions made by each of the one or more components of the time series to the decision of the model. Thus, the system 100 not only constructs the machine learning model 114 based on the components extracted from the SME input, but is also able to determine the extent to which each component contributes to the decision of the machine learning model 114. The system 100 outputs the time series insights 118 to the user at block 210.
[0043] In some arrangements, the determiner 106 implements a back-propagation algorithm to determine the impact of each component on the decision of the machine learning model 114. Back-propagation is an efficient mechanism for calculating the derivative of a single target quantity (e.g., pattern classification error) with respect to a large set of input quantities (e.g., parameters) in any large system composed of basic subsystems or calculations represented by known differentiable functions. When implementing the back-propagation algorithm, the determiner 106 calculates the gradients with respect to the parameters of the machine learning model 114 by applying the chain rule theorem to an ordered set of partial derivatives. The values of the partial derivatives indicate the magnitude of the unit change in each functional unit corresponding to the component of the machine learning model 114. The determiner 106 uses these values to determine the impact of each component on the decision (e.g., prediction, regression, classification, anomaly detection) of the machine learning model 114.
[0044] In some arrangements, the determiner 106 is configured to implement a gradient weighted class activation mapping (Grad-CAM) method. Grad-CAM can be applied to various CNN models. Grad-CAM can use the gradient of the target concept flowing into the final convolutional layer of the CNN to produce a rough local map that highlights important areas of the image, such as for predicting the concept.
[0045] The impact of the component on the decision of the machine learning model 114 is itself a time series insight derived from the time series data 116 by the determiner 106, and is one of the ways in which the system 100 can evaluate the decision made by the machine learning model 114. In various arrangements, the time series insight 118 may include other additional insights. The time series insight 118 may provide, for example, an example-based explanation of which data point or group of data points contributes to the decision of the machine learning model 114. The time series insight 118 may vary with the specific decision-related tasks of the machine learning model 114. For example, if the machine learning model 114 is configured for anomaly detection, the time series insight 118 derived by the determiner 106 may indicate which or which components contribute significantly to the anomaly. Knowledge of the components that may contribute to the anomaly can guide the user to discover the root cause of the anomaly. For example, in the context of classifying the time series generated by the ECG as abnormal, knowing whether the P wave, QRS complex or T wave is a component that is more likely to contribute to the anomaly can help the individual diagnose and can guide the researcher to reveal the possible cause of the anomaly. Thus, as described above, the system 100 not only creates a machine learning model 114 based on the components specified by the SME input 108, but can also evaluate the model by identifying which components contribute most significantly to the decisions (e.g., prediction, classification, anomaly detection) of the machine learning model 114.
[0046] Another example of insights derived by the system 100 involves exogenous variables and component contributions. Because components of a time series can correspond to specific events, if the machine learning model 114 is configured to generate a forecast or prediction, for example, the time series insights 118 derived by the determiner 106 can identify exogenous variables that contribute significantly to the forecast or prediction. For example, when using the machine learning model 114 to predict or forecast future GDP, the determiner 106 can determine the possible impact of exogenous variables such as "oil shocks" (supply disruptions) based on the time series data. Similarly, if the machine learning model 114 is configured to predict a company's sales, the determiner 106 can identify possible seasonal components that may affect sales, which in turn can suggest appropriate marketing strategies.
[0047] Additional references Figure 3 , schematically illustrating certain operational aspects of the system 100. Illustratively, a model template 110 generated by translating an SME input 108 extracted from a natural language input defines component configurations 300a, 300b, and 300n. The component configurations 300a, 300b, and 300n each correspond to a different component of a time series 302, and any functional relationship that the component has with respect to other components of the time series 302. For example, the time series 302 is generated by one or more sensors (e.g., ECG electrodes) or collected from one or more sources (e.g., Federal Reserve aggregate interest rates). Time series data 116 is extracted from the time series 302 and input to a machine learning model 114. The machine learning model 114 includes a component definition layer that extracts the component configurations 300a, 300b, and 300n. The machine learning model 114 performs processing 304a for the component configuration 300a. Similarly, the machine learning model 114 performs processing 304b and 304n for the component configurations 300b and 300n, respectively. The system 100 outputs time series insights 118, which illustratively include model insights 306a, 306b, and 306n. The model insights 306a, 306b, and 306n are generated by processing 304a, 304b, and 304n performed by the machine learning model 114, respectively, about the component configurations 300a, 300b, and 300n as defined by the model template 110.
[0048] Optionally, the system 100 can compile model insights 306a, 306b, and 306n and communicate them to the user as a comprehensive report 308. In other arrangements, the system 100 optionally generates multiple machine learning models, each configured based on a different model template. The system 100 can generate a comparative explanation that depicts the differences between the machine learning models and included in the comprehensive report 308. The corresponding time series insights provided as part of the comparative explanation can indicate, for example, which aspects of the time series are emphasized by each machine learning model, which provides greater prediction accuracy, and / or other such time series insights.
[0049] Additional references Figure 4A and 4B , certain operational features of the translation performed by the translator 102 at block 204 are shown in the specific context of an ECG time series. Figure 4A , the translator 102 identifies domain-specific keywords (e.g., "spike") and phrases ("appears before," "sharper than," "fixed signal basis," and "regular intervals") shown in bold within the SME input 400. Certain domain-specific terms (e.g., "P wave," "QRS complex," "T wave," and "minimum 2500 observations") also appear within the SME input 400. The translator 102 translates the SME input 400 into certain illustrative portions of the template 110 represented as processor executable code that can be used to generate a time series model (described below) whose components and structural arrangement correspond to the SME input 400. The template 110, expressed as processor executable code, is used by the system 100 to build a machine learning model 114. The machine learning model 114, built based on the components specified by the template 110, models a time series including a P wave, a QRS complex, and a T wave.
[0050] Illustratively, in Figure 4A and 4B In the example of FIG. 4 , the machine learning model 114 is configured for an anomaly detection task based on classifying a time series generated by an ECG monitor used to detect cardiac activity of a patient. Inputting a specific time series data set generated by an ECG into the machine learning model 114 illustratively generates a result 402, such as Figure 4B As shown. The machine learning model 114 assigns the time series to the category "MI" indicating abnormal myocardial infarction based on the data input. The output "score" indicates the confidence level of the classification of the machine learning model 114. The "component" output indicates that the contribution of the QRS complex to the decision of the machine learning model 110 (abnormality detected) (0.75) is significantly greater than the contribution of the P wave or T wave to the decision of the machine learning model (0.05 and 0.12, respectively). Therefore, Figure 4A and 4BThe system 100 is shown automatically building a machine learning model 114 based on the SME input 108 components (P wave, QRS complex, and T wave) specified by the template 110, and deriving insights from the time series data by running the machine learning model 114 on the time series data. Figure 4A and 4B It is further shown that the system 100 evaluates the importance of a component to the decision of the machine learning model 114. Thus, as described above, another example of the system 100 deriving insights from time series data is to determine the component of multiple components that is most likely to determine the classification of the machine learning model 114.
[0051] According to various arrangements, the template 110 can specify several different aspects of the model representation of a given time series. The template 110 can specify model components of a time series model. The components of a time series model are different modes. As described above, components can include components defined over the entire time domain, such as trends and seasonality across the entire time-based window of the sequence. Other components involve specific events that occur during a specified time slice or a limited portion of the complete time series. In the case of a time series tracking product sales, an example is a flash sale that lasts for a limited duration (time slice) and corresponds to an increase in product sales. The components specified by the template can also correspond to predefined metrics that specify constraints on the time series, such as autocorrelation, constant variance, linear trend, stationarity, etc. As described below, each component (e.g., trend, time slice) can be stored in a separate representation channel of the time series model.
[0052] As described above, the template 110 can specify a modeling strategy for generating a model representation of a given time series based on the SME input 108. In some arrangements, the modeling strategy is a mandatory specification of the template 110. Therefore, the system 100 can be configured to prompt the user if the SME input 108 does not include a modeling strategy. The system 100 uses the modeling strategy to construct the base model. Based on other SME inputs, different versions of the time series model can be constructed by modifying the infrastructure. For example, the system 100 can use a modeling strategy to divide the components of the time series model into time periods. By modifying the structure of the base model, each partition can be modeled separately. If the modeling strategy is mandatory, the system 100 can optionally automatically specify the strategy if the user fails to do so. In some arrangements, ablation is the default modeling strategy.
[0053] Figure 5An example prototype 500 of various templates that can be generated by the translator 102 is shown. Illustratively, a template can include three elements that can specify the configuration of a model representation of a time series. Illustratively, the three elements are structural knowledge, relational knowledge, and model selection, as shown in the first column of the prototype 500. Structural knowledge corresponds to the components that make up the model. The template is implemented as a machine-readable data structure, which may include separate fields that optionally specify component types, component names, component filters, and component orders, as shown in the second column of the prototype 500. Each field can specify one or more parameters as shown in the third column and described in the fourth column. Relational knowledge illustratively includes a field that specifies component dependencies between two or more model components. Component dependencies indicate that there is a statistically significant probability that one component may be before or after another. Each component that is structurally related to another component is marked by a parameter indicating whether the component is a parent component (possibly before another component) or a child component (possibly after another component). Model selection also illustratively corresponds to a single field, which is specified by the strategy field shown in the second column of the prototype 500. Three different modeling strategies (specified as strategy parameters) are shown in the third column of the prototype 500. The modeling strategies—time-first, independent components, and ablation—are merely illustrative. Various other strategies may be specified in the template generated by the translator 102.
[0054] Figures 6A-6C Three exemplary modeling strategies are shown. Fig. 6A An exemplary modeling strategy 600 is shown. A machine learning model constructed according to modeling strategy 600 can capture time priorities by encoding exponential weights into the model. Typically in the case of time series, data points that are closer in time to each other affect predictions more significantly than data points that are further away in time. That is, if η(y t ) is a numerical measure of the predictive contribution, then for all t>t-1, it is η(y t )>η(y t-1 ). An exponential decay is used as a residual predictor to capture this temporal priority. The machine learning model 114 implemented according to the modeling strategy 600 includes one or more component definition layers 602, each of which is capable of identifying a component specified by the model template 110. Components are extracted from the time series data 604 and processed through one or more hidden layers 606. Illustratively, each component 608a, 608b, 608c, and 608d is transmitted to functions 610a, 610b, 610c, and 610d, respectively, and weighted by exponentially decreasing weighting functions h1, h2, h3, and h4.
[0055] Figure 6BAn example modeling strategy 612 is shown. The modeling strategy 612 builds a machine learning model with a regression model architecture that extracts approximately independent basis function representations. The model is able to automatically discover independent components, i.e., components of non-overlapping (minimal) segments of a time series. The structure is similar to a maximum overlap discrete wavelet transform (MODWT). The machine learning model 114 implemented according to the modeling strategy 612 includes one or more component definition layers 614, each of which is able to identify components specified by a model template 110. Components are extracted from time series data 616 and processed by one or more hidden layers 618, thereby generating an orthogonal component extraction 620 that separates non-overlapping components (time-based segments). The individual components are processed by functions g1, g2, g3, and g4 and independent basis functions h1, h2, h3, and h4.
[0056] Figure 6C An example modeling strategy 622 is shown. The modeling strategy 622 builds a machine learning model with a wavelet prediction architecture. The model is constructed so that the high-frequency components of the time series affect the more immediate evolution of the series (e.g., periodicity), while the lower frequency components (e.g., trends) affect the series over a longer time span. The architecture of the machine learning model is capable of using prediction and aggregation units to generate predictions. The machine learning model 114 implemented according to the modeling strategy 622 includes one or more component definition layers 624, each of which is capable of identifying components specified by the model template 110. Components are extracted from time series data 626 and processed by one or more hidden layers 628. Frequency components 630a, 630b, 630c, and 630d are processed by predictor units 632a, 632b, 632c, and 632d, respectively, and their outputs are aggregated to generate predictions or forecasts 634. In some arrangements, the predictor units 632a, 632b, 632c, and 632d are implemented as GAMs. GAM extends linear regression by enabling the linear model to learn nonlinear relationships between variables and to generate predictions or forecasts by summing separate functions of each variable. In other arrangements, predictor units 632a, 632b, 632c, and 632d use neural-based extensions (N-BEATS) to perform time series forecasting. In different arrangements, modeling strategy 622 can use other types of predictor units to build a machine learning model with a wavelet prediction architecture. Similarly, modeling strategies 600, 612, and 622 are illustrative only. Model templates 110 in other arrangements can specify different modeling strategies.
[0057] Various aspects of the present disclosure are described by narrative text, flow charts, block diagrams of computer systems, and / or block diagrams of machine logic included in computer program product (CPP) embodiments. With respect to any flow chart, depending on the technology involved, the operations may be performed in an order different from the order shown in a given flow chart. For example, again depending on the technology involved, two operations shown in consecutive flow chart blocks may be performed in reverse order, as a single integrated step, simultaneously, or in a manner that at least partially overlaps in time.
[0058] Computer program product embodiments ("CPP embodiments" or "CPP") are terms used in this disclosure to describe any collection of one or more storage media (also referred to as "media") collectively included in a collection of one or more storage devices that collectively include machine-readable code corresponding to instructions and / or data for performing the computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. Without limitation, a computer-readable storage medium may be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include: magnetic disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), static random access memories (SRAM), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanical encoding devices (such as punch cards or pits / land formed in a major surface of a disk), or any suitable combination of the foregoing. Computer-readable storage media, as the term is used in this disclosure, should not be construed as storing in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, light pulses through fiber optic cables, electrical signals transmitted through wires, and / or other transmission media. As will be appreciated by those skilled in the art, data is typically moved at certain occasional points in time during normal operation of the storage device, such as during access, defragmentation, or garbage collection, but this does not make the storage device transitory because the data is not transitory while it is stored.
[0059] The computing environment 700 includes an example of an environment for executing at least some of the computer code involved in performing the methods of the present invention, such as deriving insights from time series data shown at block 750. The methods of the present invention performed using the computer code of block 750 may include implementing processes for generating model templates from SME inputs that characterize time series, generating one or more machine learning models that represent the time series, and outputting insights derived from the time series using the machine learning models, as described herein in the context of the system 100 and the method 200. In addition to block 750, the computing environment 700 includes, for example, a computer 701, a wide area network (WAN) 702, an end user device (EUD) 703, a remote server 704, a public cloud 705, and a private cloud 706. In this embodiment, computer 701 includes processor set 710 (including processing circuit 720 and cache 721), communication structure 711, volatile memory 712, persistent storage 713 (including operating system 722 and box 750, as described above), peripheral device set 714 (including user interface (UI) device set 723, storage 724 and Internet of Things (IoT) sensor set 725), and network module 715. Remote server 704 includes remote database 730. Public cloud 705 includes gateway 706, cloud orchestration module 741, host physical machine set 742, virtual machine set 743 and container set 744.
[0060] Computer 701 may take the form of a desktop computer, laptop computer, tablet computer, smart phone, smart watch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device now known or developed in the future that is capable of running programs, accessing a network, or querying a database such as remote database 730. As is well known in the art of computer technology, and depending on the technology, the execution of the computer-implemented method may be distributed among multiple computers and / or among multiple locations. On the other hand, in this presentation of computing environment 700, the detailed discussion focuses on a single computer, particularly computer 701, to keep the presentation as simple as possible. Computer 701 may be located in the cloud, even though it is not limited to a single computer. Figure 7 701 is not shown in the cloud, on the other hand, computer 701 need not be in the cloud unless to any extent explicitly indicated.
[0061] Processor set 710 includes one or more computer processors of any type now known or developed in the future. Processing circuit 720 can be distributed over multiple packages, such as multiple coordinated integrated circuit chips. Processing circuit 720 can implement multiple processor threads and / or multiple processor cores. Cache 721 is a memory located in the processor chip package and is generally used for data or code that should be available for rapid access by threads or cores running on processor set 710. Cache memory is generally organized into multiple levels according to relative proximity to the processing circuit. Alternatively, some or all of the caches of the processor set may be located "off chip". In some computing environments, processor set 710 may be designed to work with qubits and perform quantum computing.
[0062] Computer readable program instructions are typically loaded onto the computer 701 to cause the processor set 710 of the computer 701 to perform a series of operating steps to implement a computer-implemented method, so that the instructions so executed will instantiate the method specified in the flowchart and / or narrative description of the computer-implemented method included in this document (collectively referred to as the "method of the present invention"). These computer readable program instructions are stored in various types of computer readable storage media, such as cache 721 and other storage media discussed below. The program instructions and associated data are accessed by the processor set 710 to control and direct the execution of the method of the present invention. In the computing environment 700, at least some of the instructions for executing the method of the present invention may be stored in a box 750 in a persistent storage 713.
[0063] The communication fabric 711 is the signal conduction paths that allow the various components of the computer 701 to communicate with each other. Typically, the fabric is made up of switches and conductive paths, such as those that make up a bus, a bridge, physical input / output ports, etc. Other types of signal communication paths may be used, such as fiber optic communication paths and / or wireless communication paths.
[0064] The volatile memory 712 is any type of volatile memory now known or developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory is characterized by random access, but this is not required unless expressly stated. In the computer 701, the volatile memory 712 is located in a single package and is internal to the computer 701, but, alternatively or additionally, the volatile memory can be distributed in multiple packages and / or located externally relative to the computer 701.
[0065] Persistent storage 713 is any form of non-volatile storage for computers known now or developed in the future. The non-volatility of the memory means that the stored data is maintained regardless of whether power is supplied to the computer 701 and / or directly to the persistent storage 713. Persistent storage 713 can be a read-only memory (ROM), but usually at least a portion of the persistent storage allows the writing of data, the deletion of data, and the re-writing of data. Some common forms of persistent storage include disks and solid-state storage devices. Operating system 722 can take several forms, such as various known proprietary operating systems or operating systems of the open source portable operating system interface type using a kernel. The code included in box 750 is generally included in at least some of the computer codes involved in executing the method of the present invention.
[0066] The peripheral device set 714 includes a collection of peripheral devices of the computer 701. The data communication connection between the peripheral devices and other components of the computer 701 can be implemented in various ways, such as a Bluetooth connection, a near field communication (NFC) connection, a connection made by a cable (such as a universal serial bus (USB) type cable), a plug-in type connection (e.g., a secure digital (SD) card), a connection made through a local area communication network, and even a connection made through a wide area network such as the Internet. In various embodiments, the UI device set 723 may include components such as display screens, speakers, microphones, wearable devices (such as glasses and smart watches), keyboards, mice, printers, touchpads, game controllers, and tactile devices. Storage 724 is an external storage device, such as an external hard drive, or a pluggable storage device, such as an SD card. Storage 724 can be persistent and / or volatile. In some embodiments, storage 724 can take the form of a quantum computing storage device for storing data in the form of quantum bits. In embodiments where the computer 701 needs to have a large amount of storage (e.g., where the computer 701 locally stores and manages a large database), the storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor set 725 consists of sensors that can be used in IoT applications. For example, one sensor may be a thermometer, while another sensor may be a motion detector.
[0067] The network module 715 is a collection of computer software, hardware, and firmware that allows the computer 701 to communicate with other computers via the WAN 702. The network module 715 may include hardware such as a modem or a Wi-Fi signal transceiver, software for packetizing and / or depacketizing data transmitted over a communication network, and / or web browser software for transmitting data over the Internet. In some embodiments, the network control function and the network forwarding function of the network module 715 are executed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software defined networks (SDN)), the control function and the forwarding function of the network module 715 are executed on physically separated devices so that the control function manages several different network hardware devices. Computer-readable program instructions for executing the method of the present invention can generally be downloaded to the computer 701 from an external computer or an external storage device via a network adapter card or a network interface included in the network module 715.
[0068] WAN 702 is any wide area network (e.g., the Internet) capable of transmitting computer data over non-local distances by any technology now known or developed in the future for transmitting computer data. In some embodiments, a WAN may be replaced and / or supplemented by a local area network (LAN) designed to transmit data between devices located in a local area, such as a Wi-Fi network. A WAN and / or LAN typically includes computer hardware, such as copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.
[0069] End-user device (EUD) 703 is any computer system used and controlled by an end-user (e.g., a customer of an enterprise operating computer 701), and may take any of the forms discussed above in connection with computer 701. EUD 703 typically receives helpful and useful data from the operation of computer 701. For example, in the hypothetical case where computer 701 is designed to provide recommendations to an end-user, the recommendations would typically be transmitted from network module 715 of computer 701 to EUD 703 via WAN 702. In this way, EUD 703 may display or otherwise present the recommendations to the end-user. In some embodiments, EUD 703 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, etc.
[0070] Remote server 704 is any computer system that provides at least some data and / or functionality to computer 701. Remote server 704 may be controlled and used by the same entity that operates computer 701. Remote server 704 represents a machine that collects and stores helpful and useful data for use by other computers, such as computer 701. For example, in the hypothetical case where computer 701 is designed and programmed to provide recommendations based on historical data, then the historical data may be provided to computer 701 from remote database 730 of remote server 704.
[0071] The public cloud 705 is any computer system that can be used by multiple entities, which provides on-demand availability of computer system resources and / or other computer capabilities (especially data storage (cloud storage) and computing capabilities) without the need for direct active management by users. Cloud computing generally uses the sharing of resources to achieve consistency and economy of scale. The direct and active management of the computing resources of the public cloud 705 is performed by the computer hardware and / or software of the cloud orchestration module 741. The computing resources provided by the public cloud 705 are generally implemented by virtual computing environments running on various computers that constitute the host physical machine set 742, which is a full domain of physical computers in the public cloud 705 and / or available for the public cloud. The virtual computing environment (VCE) is generally in the form of a virtual machine from the virtual machine set 743 and / or a container from the container set 744. It should be understood that these VCEs can be stored as images and can be transmitted between various physical machine hosts as images or after the instantiation of the VCE. The cloud orchestration module 741 manages the transmission and storage of images, deploys new instantiations of VCEs, and manages active instantiations of VCE deployments. Gateway 740 is a collection of computer software, hardware, and firmware that allows public cloud 705 to communicate over WAN 702 .
[0072] Some further explanation of a virtualized computing environment (VCE) will now be provided. A VCE can be stored as an "image". A new active instance of the VCE can be instantiated from the image. Two common types of VCEs are virtual machines and containers. Containers are VCEs that use operating system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user space instances, called containers. From the perspective of the programs running in them, these isolated user space instances typically behave like actual computers. Computer programs running on a normal operating system can utilize all of the resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running within a container can only use the contents of the container and the devices assigned to the container, a feature known as containerization.
[0073] Private cloud 706 is similar to public cloud 705, except that the computing resources are only available to a single enterprise. Although private cloud 706 is depicted as communicating with WAN 702, in other embodiments, the private cloud can be completely disconnected from the Internet and can only be accessed through a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), typically implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between multiple constituent clouds. In this embodiment, both public cloud 705 and private cloud 706 are part of a larger hybrid cloud.
[0074] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. Nevertheless, several definitions that apply throughout this document will now be presented.
[0075] As defined herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0076] As defined herein, "another" means at least a second or more.
[0077] As defined herein, "at least one," "one or more," and "and / or" are open-ended expressions that are conjunctive and disjunctive in operation unless expressly stated otherwise. For example, each of the expressions "at least one of A, B, and C," "at least one of A, B, or C," "one or more of A, B, and C," "one or more of A, B, or C," and "A, B, and / or C" means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together.
[0078] As defined herein, "automatically" means without user intervention.
[0079] As defined herein, “includes,” “comprising,” and / or “containing” specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0080] As defined herein, "if" means "in response to" or "in response to," depending on the context. Thus, the phrase "if it is determined" can be interpreted to mean "in response to determining" or "in response to determining," depending on the context. Similarly, the phrase "if [stated condition or event] is detected" can be interpreted to mean "upon detection of [stated condition or event]" or "in response to detecting [stated condition or event]" or "in response to detecting [stated condition or event]," depending on the context.
[0081] As defined herein, "one embodiment," "an embodiment," "in one or more embodiments," "in a specific embodiment," or similar language means that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment described within the present disclosure. Therefore, the above phrases and / or similar language appearing in the present disclosure may, but do not necessarily, all refer to the same embodiment.
[0082] As defined herein, the phrases "in response to" and "respond" mean to readily respond to or react to an action or event. Thus, if a second action is performed "in response to" or "in response to" a first action, there is a causal relationship between the occurrence of the first action and the occurrence of the second action. The phrases "in response to" and "respond" indicate a causal relationship.
[0083] As defined herein, a "user" means a human being.
[0084] The terms first, second, etc. may be used herein to describe various elements. These elements should not be limited by these terms, as these terms are only used to distinguish one element from another, unless otherwise stated or the context clearly indicates otherwise.
[0085] The inventive arrangements disclosed herein have been presented for illustrative purposes, but are not intended to be exhaustive or limited to the specific arrangements disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described inventive arrangements. The terms used herein are selected to best explain the principles of the inventive arrangements, practical applications, or technical improvements to technology in the marketplace, or to enable other persons of ordinary skill in the art to understand the inventive arrangements disclosed herein.
Claims
1. A computer-implemented method comprising: receiving, via a computer user interface of a computer, a subject matter expert (SME) input, wherein the SME input characterizes one or more aspects of a time series; generating a model template by translating the SME input using a rule-based translator implemented by the computer, wherein the model template specifies one or more components of the time series; generating, by the computer, a machine learning model configured based on the model template, wherein the machine learning model defines a multi-layer neural network having one or more component definition layers, the one or more component definition layers being configured to extract the one or more components from a time series data input corresponding to an instantiation of the time series; For a decision generated by the machine learning model based on the time series data input, determining a component-wise contribution of each of the one or more components to the decision; as well as The component-wise contribution of at least one of the one or more components is output via the computer user interface.
2. The computer-implemented method of claim 1, wherein generating the model template by translating the SME input comprises mapping domain-specific keywords extracted from the SME input to model-specific keywords identifying the one or more components.
3. The computer-implemented method of claim 1 , wherein the model template specifies a modeling strategy, and wherein generating the machine learning model is based at least in part on the modeling strategy.
4. The computer-implemented method of claim 1, wherein the one or more components include a plurality of components, and wherein determining a component-aspect contribution of each of the plurality of components includes decomposing the time series data input to identify each of the plurality of components.
5. The computer-implemented method of claim 1, wherein the one or more components include a plurality of components, and wherein the model template specifies a position of each of the plurality of components relative to each other within the time series.
6. The computer-implemented method of claim 1 , wherein the machine learning model is configured to generate forecasts based on the time series data input, and wherein one or more time series insights identify the contribution of exogenous factors.
7. The computer-implemented method of claim 1 , wherein the machine learning model is configured for anomaly detection, and wherein: In response to detecting an anomaly based on the time series data input, one or more time series insights identify a component as a possible cause of the anomaly.
8. The computer-implemented method of claim 1 , wherein: The model template includes multiple model templates, and the machine learning model includes multiple machine learning models, each machine learning model is configured based on a corresponding one of the multiple model templates, and also includes generating a comparative explanation of the differences between the machine learning models.
9. A system comprising: A processor configured to initiate operations comprising: receiving subject matter expert (SME) input, wherein the SME input characterizes one or more aspects of the time series; generating a model template by translating the SME input using a rule-based translator, wherein the model template specifies one or more components of the time series; generating a machine learning model configured based on the model template, wherein the machine learning model defines a multi-layer neural network having one or more component definition layers, the one or more component definition layers being configured to extract the one or more components from a time series data input corresponding to an instantiation of the time series; For a decision generated by the machine learning model based on the time series data input, determining a component-wise contribution of each of the one or more components to the decision; as well as The component-wise contribution of at least one of the one or more components is output.
10. The system of claim 9, wherein generating the model template by translating the SME input comprises mapping domain-specific keywords extracted from the SME input to model-specific keywords identifying the one or more components.
11. The system of claim 9, wherein the model template specifies a modeling strategy, and wherein generating the machine learning model is based at least in part on the modeling strategy.
12. The system of claim 9, wherein the one or more components include a plurality of components, and wherein determining a component-wise contribution of each of the plurality of components includes decomposing the time series data input to identify each of the plurality of components.
13. The system of claim 9, wherein the one or more components include a plurality of components, and wherein the model template specifies a position of each of the plurality of components relative to each other within the time series.
14. A computer program product, the computer program product comprising: One or more computer-readable storage media and program instructions stored together on the one or more computer-readable storage media, the program instructions being executable by a processor to cause the processor to initiate operations comprising: receiving subject matter expert (SME) input, wherein the SME input characterizes one or more aspects of the time series; generating a model template by translating the SME input using a rule-based translator, wherein the model template specifies one or more components of the time series; generating a machine learning model configured based on the model template, wherein the machine learning model defines a multi-layer neural network having one or more component definition layers, the one or more component definition layers being configured to extract the one or more components from a time series data input corresponding to an instantiation of the time series; For a decision generated by the machine learning model based on the time series data input, determining a component-wise contribution of each of the one or more components to the decision; and The component-wise contribution of at least one of the one or more components is output.
15. The computer program product of claim 14, wherein generating the model template by translating the SME input comprises mapping domain-specific keywords extracted from the SME input to model-specific keywords identifying the one or more components.
16. The computer program product of claim 14, wherein the model template specifies a modeling strategy, and wherein the generating of the machine learning model is based at least in part on the modeling strategy.
17. The computer program product of claim 14, wherein the one or more components comprises a plurality of components, and wherein determining a component-wise contribution of each of the plurality of components comprises decomposing the time series data input to identify each of the plurality of components.
18. The computer program product of claim 14, wherein the one or more components include a plurality of components, and wherein the model template specifies a position of each of the plurality of components relative to each other within the time series.
19. The computer program product of claim 14, wherein the machine learning model is configured to generate forecasts based on the time series data input, and wherein one or more time series insights identify the contribution of exogenous factors.
20. The computer program product of claim 14, wherein the machine learning model is configured for anomaly detection, and wherein: In response to detecting an anomaly based on the time series data input, one or more time series insights identify a component as a possible cause of the anomaly.