Method and system for generating depth profile-related predictions

By receiving historical values ​​in a computer system, generating prediction data, performing diagnostic analysis, identifying correlations, generating feature vectors, and performing cognitive predictions, the problem of inaccurate prediction in the prior art that fails to fully consider time-varying factors, and achieving more accurate and longer range predictions.

CN114762059BActive Publication Date: 2025-06-06INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080082644.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-02
Filing Date
2020-11-25
Publication Date
2025-06-06
Estimated Expiration
2040-11-25

AI Technical Summary

Technical Problem

Existing prediction algorithms fail to fully consider the correlation with influential time-varying factors when generating future values, resulting in inaccurate predictions, affecting resource allocation and cost control.

Method used

By using a computer system to generate relevant predictions, including receiving historical values, creating prediction data for future values, performing diagnostic analysis based on the prediction data, generating diagnostic data, creating diagnostic variables, identifying the correlation between diagnostic variables, generating feature vectors, and using these feature vectors for cognitive prediction.

Benefits of technology

Improve the accuracy of prediction, consider the correlation between different input segments, optimize resource allocation, and reduce unnecessary costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114762059B_ABST
    Figure CN114762059B_ABST
Patent Text Reader

Abstract

The correlation prediction is a computer generated by a processor that receives input data of historical values ​​of a first input variable, creates prediction data of future values ​​of the first input variable using the historical values ​​of the first input variable, generates diagnostic data based on a diagnostic analysis of the prediction data, creates a first diagnostic variable including a first diagnostic value from a first cognitive process, generates a feature vector based on a second cognitive process, the feature vector being determined by identifying a correlation between the first diagnostic variable and the second diagnostic variable, and generates a final prediction using the feature vector as an input to a cognitive prediction process, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates generally to prediction. More particularly, the present invention relates to deep contour dependent prediction. Background Art

[0002] In today's business environment, the ability to predict future events is desirable. Because reliable information about future trends is so valuable, many organizations spend considerable human and monetary resources trying to predict future trends and analyze the impact those trends may ultimately have. As a result, forecasting is an important and desirable tool in many planning processes. Forecasting business events typically involves collecting historical data and applying a predictive model to that data.

[0003] Two types of models that are often used to create forecasting models include exponential smoothing models and autoregressive integrated moving average (ARIMA) models. Exponential smoothing models describe the behavior of a series of values ​​over time without attempting to understand why these values ​​behave as they do. Several different exponential smoothing models are known in the art. In contrast, the ARIMA statistical model allows the modeler to specify the role that past values ​​in a time series have when predicting future values ​​of the time series. The ARIMA model also allows the modeler to include a predictor that can help explain the behavior of the time series being predicted.

[0004] In order to effectively predict future values ​​in a trend or time series, an appropriate model that describes the time series must be created. Creating a model that most accurately reflects past values ​​in a time series is the most difficult aspect of the forecasting process. Deriving better models from past data is the key to better forecasting. Previously, the models selected to reflect the values ​​in a time series were relatively simple and direct, or were the result of long and tedious mathematical analysis performed essentially entirely by the person who created the model. Therefore, either the model is relatively simple and often a poor indication of future values ​​in the time series, or it is extremely labor-intensive and expensive, and may not have a better chance of success than a simpler model. Recently, the availability of improved electronic computer hardware has allowed many modeling aspects of forecasting to be quickly completed by computers. However, existing computer software solutions for forecasting are limited because the number of historical data relative to which the models are evaluated is limited and generally low order, although there are potentially an unlimited number of models with which the time series can be compared. Summary of the invention

[0005] The illustrative embodiment uses a computer system to generate relevant predictions. The embodiment includes receiving input data for the historical value of the first input variable by a processor. The embodiment also includes using the historical value of the first input variable by the processor to create prediction data for the future value of the first input variable. The embodiment also includes generating diagnostic data by the processor based on the diagnostic analysis of the prediction data. The embodiment also includes creating a first diagnostic variable including a first diagnostic value from a first cognitive process by the processor, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data. The embodiment also includes generating a feature vector by the processor based on a second cognitive process, and the second cognitive process determines the feature vector by identifying the correlation between the first diagnostic variable and the second diagnostic variable. The embodiment also includes generating a final prediction by the processor using the feature vector as an input to the cognitive prediction process. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the embodiment.

[0006] According to one aspect, a computer-implemented method is provided, comprising: receiving, by a processor, input data of historical values ​​of a first input variable; creating, by the processor, predicted data of future values ​​of the first input variable using the historical values ​​of the first input variable; generating, by the processor, diagnostic data based on a diagnostic analysis of the predicted data; creating, by the processor, a first diagnostic variable including a first diagnostic value from a first cognitive process, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data; generating, by the processor, a feature vector based on a second cognitive process, wherein the second cognitive process determines the feature vector by identifying a correlation between the first diagnostic variable and a second diagnostic variable; and generating, by the processor, a final prediction using the feature vector as an input to a cognitive prediction process.

[0007] According to another aspect, a computer-usable program product for generating contrast information for classifier prediction is provided, the computer-usable program product comprising a computer-readable storage device and program instructions stored on the storage device, the stored program instructions comprising: program instructions for receiving input data of historical values ​​of a first input variable by a processor; program instructions for creating prediction data for future values ​​of the first input variable by the processor using the historical values ​​of the first input variable; program instructions for generating diagnostic data by the processor based on a diagnostic analysis of the prediction data; program instructions for creating a first diagnostic variable comprising a first diagnostic value from a first cognitive process, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data; program instructions for generating a feature vector by the processor based on a second cognitive process, wherein the second cognitive process determines the feature vector by identifying a correlation between the first diagnostic variable and a second diagnostic variable; and program instructions for generating a final prediction by the processor using the feature vector as an input to a cognitive prediction process.

[0008] According to another aspect, a computer system is provided, comprising a processor, a computer-readable memory, and a computer-readable storage device and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions comprising: program instructions for receiving input data of historical values ​​of a first input variable by the processor; program instructions for creating prediction data for future values ​​of the first input variable by the processor using the historical values ​​of the first input variable; program instructions for generating diagnostic data by the processor based on a diagnostic analysis of the prediction data; program instructions for creating a first diagnostic variable comprising a first diagnostic value from a first cognitive process by the processor, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data; program instructions for generating a feature vector by the processor based on a second cognitive process, wherein the second cognitive process determines the feature vector by identifying the correlation between the first diagnostic variable and a second diagnostic variable; and program instructions for generating a final prediction by the processor using the feature vector as an input to a cognitive prediction process. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Preferred embodiments of the present invention will now be described, by way of example only, with reference to the following drawings:

[0010] Figure 1 depicts a block diagram of a network of data processing systems in which the illustrative embodiments may be implemented;

[0011] Figure 2 depicts a block diagram of a data processing system in which the illustrative embodiments may be implemented;

[0012] Figure 3 depicts a block diagram of an example configuration for providing a prediction environment in accordance with an illustrative embodiment;

[0013] Figure 4A depicts a diagram of an example configuration of a diagnostic sequence generator providing a predictive environment in accordance with an illustrative embodiment;

[0014] Figure 4B a diagram depicting an example diagnostic graph in accordance with an illustrative embodiment;

[0015] Figure 5 depicts a block diagram of a feature vector generator according to an illustrative embodiment;

[0016] Figure 6 a block diagram depicting a cognitive predictor according to an illustrative embodiment; and

[0017] Figure 7 A flowchart of an example process for deep contour correlation prediction is depicted in accordance with an illustrative embodiment. DETAILED DESCRIPTION

[0018] The illustrative embodiments recognize that the correlation with influential time-varying factors needs to be considered when generating predictions in order to produce more accurate predictions. Moreover, because existing prediction algorithms are autoregressive, the inaccuracy in the prediction has the possibility of propagating and affecting the remainder of the prediction. For example, in a non-limiting scenario, the prediction algorithm provides the prediction of the network traffic of the network application to allow scalability planning to ensure that the demand is met and the unnecessary cost of scaling larger than necessary scaling will not be incurred. However, the prediction algorithm configured according to previous practice generates future values ​​based on its own past values. As a result, it does not explore the correlation with other variable factors that may affect demand, such as IO mode, the size of the data served, the location of the traffic, or depending on the nature of the web application and potentially even weather and proximity to holidays. As a result, server allocation will not be optimal, for example, resulting in poor user experience when server resource allocation is insufficient.

[0019] Inaccurate forecasts can also lead to unnecessary expenses, such as in a retail environment, where purchasing too much inventory can result in additional expenses or losses in disposing of excess merchandise, while on the other hand, purchasing too little inventory can result in lost sales opportunities for sold products. Similarly, in the restaurant industry, forecasting food demand can result in monetary losses in food waste or lost opportunities due to under-buying, under-allocating, or over-allocating, resulting in a sluggish user experience, which results in unnecessary expenses.

[0020] The illustrative embodiments recognize that currently available forecasting tools or solutions do not address these needs or provide adequate solutions to these needs. Exemplary embodiments used to describe the present invention generally address and solve the above problems and other problems related to accurately forecasting future values ​​based on a process that takes into account the effects of other changing factors on the future values.

[0021] The illustrative embodiments recognize that it is necessary to improve the ability to create more accurate and longer-range predictions. In some embodiments, the cognitive prediction system receives predictors including input data representing a multidimensional attribute space. The input data is organized into time series vectors or bands corresponding to the predictors of each dimension. The cognitive prediction system generates a time series prediction for each segment of the input data, and runs diagnostic tests on the resulting predictions to check for errors. The cognitive prediction system then uses the results of the diagnostic tests to generate corresponding predictive diagnostic variables in the form of a time series array. Then, the cognitive prediction system starts a cognitive correlation process that receives the predictive diagnostic variables as input and calculates the correlation values ​​(if any) associated with the causal relationship between each pair of segments. The cognitive correlation process adjusts the values ​​of the predictive diagnostic variables and outputs the adjusted values ​​as a new time series array for each corresponding segment. The new correlation-adjusted array is input into the neural network to generate an updated time series prediction, which is different from the original input time series prediction, and the updated time series prediction now takes into account the correlation between different input segments.

[0022] In one embodiment, the input data is organized into a plurality of univariate segments, each univariate segment corresponding to a respective predictor variable. In some embodiments, the input data originates from a sensor, such as a sensor that converts a physical property into an electronic signal. In some embodiments, the input data originates from a computer-generated log stored in a computer memory, such as a server log, an operating system log, and an application log. In some embodiments, the input data originates from a combination of sensors, logs, and any other desired data source.

[0023] In some embodiments, the input data includes data representing two or more predictor variables, for which there is some basis for the expectation that the future value of one predictor variable will have an impact on the future value of another predictor variable. For example, in one embodiment, the weather prediction system receives and stores historical data from weather sensors and other data sources, which are organized into multiple weather-related predictor variables, such as temperature, dew point, relative humidity, precipitation, wind speed and direction, visibility, and atmospheric pressure. Each of these predictor variables can be independently predicted based on the historical data of the variable itself. However, it should be understood that the values ​​of some of these predictor variables are affected by the values ​​of other variables, for example, the precipitation and wind speed at a given location can increase or decrease based on the atmospheric pressure at the same location. Therefore, in some embodiments, the cognitive prediction system considers the correlation between these variables when generating predictions.

[0024] In some embodiments, the cognitive prediction system includes a diagnostic sequence generator, a feature vector generator, and a cognitive predictor. In one embodiment, the diagnostic sequence generator receives historical time series data for the predictor variables and generates time series predictions for the predictor variables. In one embodiment, the feature vector generator receives the time series predictions for the predictor variables and the time series predictions for each of one or more additional predictor variables and calculates correlation values ​​between each pair of variables, if any. The feature vector generator adjusts the values ​​of the predicted diagnostic variables and outputs the adjusted values ​​as a new time series array for each corresponding frequency band. In one embodiment, the cognitive predictor receives the correlation-adjusted array as input to a neural network and outputs an updated time series prediction that is different from the original input time series prediction and now takes into account the correlations between different input frequency bands.

[0025] In some embodiments, the cognitive prediction system includes a diagnostic sequence generator that receives predictor variables, the predictor variables including input data for which prediction is desired. In some embodiments, the diagnostic sequence generator generates a time series forecast for each segment of the received predictor variables and runs diagnostic tests on the resulting forecasts to check for errors. The diagnostic sequence generator then uses the results of the diagnostic tests to generate individual predicted diagnostic variables in the form of a time series array.

[0026] In one embodiment, the diagnostic sequence generator uses a growing window prediction process, wherein the diagnostic sequence generator receives the longest prediction term and step size, for example, from an electronic memory or from a user input. The step size sets the time period between predictions, and the prediction term sets the longest prediction term. As a non-limiting example, if the prediction term is set to 24 hours and the step size is set to 1 hour, the diagnostic sequence generator will generate a total of 24 predictions, which are 1 hour spaced from 1 hour back to 24 hours back. In one embodiment, the diagnostic sequence generator receives multiple predictors and uses the prediction term to set the total time period and step size to set the time between the predictions of each predictor. For example, if the diagnostic series generator receives 10 predictors, and the user sets the step size to 1 day and the prediction term to 15 days, the diagnostic series generator will generate a total of 150 predictions.

[0027] In some embodiments, the diagnostic sequence generator performs a supervised or semi-supervised learning process that includes using a lagged or segmented version of the input data to generate predictions. For example, in some embodiments, the diagnostic sequence generator divides the input data into a training set and a test set. In some embodiments, half of the input data is used as input data, and if the input data is used as test data, the other half is used as test data.

[0028] In some embodiments, the diagnostic sequence generator includes a prediction generator that receives predictor variables and outputs a prediction of each predictor variable, a diagnostic report generator that receives the prediction and generates a diagnosis about the prediction, and a cognitive diagnostic evaluator that receives the diagnostic report and generates an adjusted prediction value as a diagnostic value. In some embodiments, the diagnostic sequence generator includes two or more of each of the prediction generator, the diagnostic report generator, and the cognitive diagnostic evaluator to allow parallel processing of multiple variables. In some embodiments, the diagnostic sequence generator includes one of each of the prediction generator, the diagnostic report generator, and the cognitive diagnostic evaluator, and multiple diagnostic sequence generators are added in parallel to each other to allow parallel processing of multiple predictor variables.

[0029] In some embodiments, the forecast generator receives historical input data for the predictor variables and predicts future values ​​of the predictor variables using an autoregressive model in which the evolving variable of interest is regressed with its own lagged (i.e., previous) values. Thus, autoregressive time series analysis projects future values ​​of the variable based only on the history of the variable. In one embodiment, the forecast generator predicts future values ​​of the predictor variables using an autoregressive integrated moving average (ARIMA) model, which uses parameters such as the number of lags (or order) of the autoregressive model and the number of times the data has been subtracted from past values ​​(or "degree of difference"). As another example, in an embodiment, the forecast generator detects strong seasonal trends in the time series data of the predictor variables and applies a seasonal ARIMA (SARIMAX) model that uses the autoregressive and moving average terms of the seasonal portion of the ARIMA model to account for the seasonality of the input data trends to obtain a forecast of the predictor variables.

[0030] In one embodiment, the prediction generator uses an autoregressive model and a growing window prediction process, wherein the prediction generator receives a longest prediction term and a step size, for example, from an electronic memory or from a user input. The step size sets the time period between predictions, and the prediction term sets the longest prediction term. As a non-limiting example, for a prediction generator that receives a variable v, if the prediction term is set to t hours and the step size is set to s hours, the prediction generator will generate t / s predictions for each variable for a total of (vt) / s predictions, which are separated by s hours from s hours forward to t hours forward. For example, if the prediction generator receives 5 prediction variables and the user sets the step size to 1 day and the prediction term to 14 days, the diagnostic sequence generator will generate a total of 70 predictions.

[0031] In some embodiments, the diagnostic report generator performs diagnostic tests on the predictions prepared by the prediction generator to check for errors, also known as residuals or residual errors. In one embodiment, the diagnostic sequence generator uses the results of the diagnostic tests as input to a cognitive assessment system that learns the predictor variables in order to improve the predictions. In some embodiments, the residual error is calculated as the expected outcome minus the prediction. In some embodiments, the diagnostic report generator collects the individual residual errors on all predictions and uses them to better understand the prediction model.

[0032] In some embodiments, the diagnostic report generator outputs one or more charts for each prediction, the charts providing a graphical indication of the results of the diagnostic test. For example, in some embodiments, the diagnostic report generator performs a diagnostic test of the prediction, which results in one or more of a standardized residual line plot, a residual histogram and an estimated density plot, a residual quantile (QQ) plot, and a residual autocorrelation plot.

[0033] A residual line plot is a line plot that provides a visual indication of the residual prediction error values ​​relative to a central zero axis. The error values ​​and line plot should appear randomly; otherwise, the presence of a pattern indicates that the prediction model should be adjusted or replaced with a different algorithm. For example, in one embodiment, the diagnostic sequence generator uses an ARIMA model to calculate the forecasts and generate a residual line plot. The cognitive diagnostic evaluator then analyzes the residual line plot, and if the cognitive diagnostic evaluator detects a seasonal or cyclical pattern in the input data or the plot, the diagnostic sequence generator notifies the user to give the user the opportunity to use a different model, or in an automated embodiment, the diagnostic sequence generator instructs the forecast generator to recalculate the forecast using a different model (e.g., a SARIMAX model) that is more suitable for data that includes seasonal patterns.

[0034] The residual histogram and estimated density plot (or "histogram and density plot") provide a visual indication of anomalies in the distribution of residual errors in the forecast. Typically, the histogram and density plot will have a slightly Gaussian appearance. The presence of a non-Gaussian distribution or a large skew indicates that the forecast model should be adjusted or replaced.

[0035] The residual QQ plot provides a visual indication of the comparison between two distributions, showing the similarity or difference between the distributions. For example, in one embodiment, the predicted values ​​are compared with a Gaussian distribution, and the differences are plotted as a scatter plot. The scatter plot in this example should closely follow the diagonal extending from the origin in a direction consistent with the growth values ​​on the horizontal and vertical axes. Otherwise, the presence of significant deviations will sometimes indicate that (one or more) autoregressive parameters are not ideal and have room for improvement. This figure will typically be used to identify values ​​that deviate from expectations.

[0036] The residual autocorrelation plot provides a visual indication of the comparison between the observations and the observations at the previous time step. For this plot, one would expect to find a lack of autocorrelation between the two distributions. The plot shows the autocorrelation scores relative to a significance threshold. The presence of significant deviations will sometimes indicate that the autoregressive parameter(s) are not ideal and have room for improvement.

[0037] In one embodiment, the cognitive diagnostic evaluator receives the results of the diagnostic test and performs an analysis process to generate a predictive diagnostic variable in the form of a time series array. In some embodiments, the cognitive diagnostic evaluator examines the results to look for patterns or structures that indicate that the errors are not random and that there is more information that the model can capture and use to make better predictions.

[0038] An embodiment of the cognitive diagnostic evaluator configures an image classification model to classify one or more graphs generated by a diagnostic report generator. The graph can be viewed in real time or captured and viewed at a later time. In one embodiment, the image classification model is a neural network-based model, such as a convolutional neural network (CNN). During the configuration process, the embodiment uses labeled images of various graphs to train a neural network-based model to classify the graph according to the training. For example, an image classification model that is intended to classify the graph according to the error level in the graph. The granularity of the error level detection performed by the CNN will depend on the number of categories that the CNN is trained to identify. For example, an image classification model that is intended to classify images including graphs according to the accuracy of the prediction, such as from 0% accuracy to 100% accuracy.

[0039] The embodiment of the diagnostic sequence generator includes a prediction generator that generates predictions and a diagnostic report generator that creates multiple diagnostic graphs for prediction. In one such embodiment, the cognitive diagnosis evaluator uses one or more CNNs to classify each of the diagnostic graphs for prediction. The cognitive diagnosis evaluator outputs a single prediction value by averaging the classification results of the diagnostic graph. For example, the embodiment generates standardized residual line graphs, residual histograms and estimated density graphs, residual quantile (QQ) graphs and residual autocorrelation graphs all related to a single prediction. The embodiment of the cognitive diagnosis evaluator classifies all four graphs individually, and assigns a value from 0 to 100 to each graph according to the accuracy of each graph. Then, the accuracy values ​​of the four diagnostic graphs are averaged together to obtain a single number indicating the accuracy of the prediction.

[0040] An embodiment of a diagnostic sequence generator receives input data of a plurality of predictor variables. The diagnostic sequence generator includes a plurality of prediction generators arranged in parallel to receive respective predictor variables. The diagnostic sequence generator also includes a plurality of diagnostic report generators arranged in parallel to receive predictions from respective prediction generators. The diagnostic sequence generator also includes a plurality of cognitive diagnostic evaluators arranged in parallel, each cognitive diagnostic evaluator being connected to receive diagnostic information from respective diagnostic report generators.

[0041] In one embodiment, each prediction generator generates t / s predictions for each variable, where t is the prediction term, s is the step size, and both are set to a common time dimension (e.g., minutes, hours, days, etc.). Each diagnostic report generator calculates p diagnostic graphs for each prediction for a total of (pt) / s graphs for each variable. Each cognitive diagnostic evaluator generates a diagnostic value for each prediction for a total of t / s diagnostic values ​​for each variable (i.e., one diagnostic value is generated for each p graph). The diagnostic value for each variable is stored in a corresponding prediction diagnosis array.

[0042] In one embodiment, the cognitive prediction system includes a feature vector generator that receives predicted diagnostic variables from a diagnostic sequence generator. In one embodiment, the cognitive prediction system includes a Hopfield network in which each diagnostic variable becomes a node that is fully connected to every other node. Each node represents a single predictor variable corresponding to a diagnostic value. In one embodiment, the diagnostic values ​​are fed to the Hopfield network to find their contribution to the activation function connecting the nodes. The contribution provides a weight to the edge connecting the nodes. From a particular node, the edges linked to each diagnostic variable are ordered. The order of the relationships between the predictor variables can be used to determine how far we should traverse the predictor's predictions when included in the final prediction.

[0043] In one embodiment, since the node values ​​are known, the Hopfield network will process the nodes until it knows the weight of each connection between the nodes. Therefore, in some embodiments, the weights of the Hopfield network are learned. In some embodiments, the Hopfield network includes a number equal to the predictor variables 412 ( Figure 4A In some embodiments, once the Hopfield network has learned all weights, the feature vector generator will sort the nodes according to the connecting edges of each node. The feature vector generator will sort the edges of each node, and then sort the nodes according to the edge weights. The feature vector generator will then form three feature vectors, each of which is modified according to the weights: a long-term feature vector using the highest weighted edge, a short-term feature vector using the lowest weighted edge, and a medium-term feature vector using the average value of the middle edge value. The vectors of each of the three feature vectors are joined together, and the three feature vectors joined together are output to the cognitive predictor.

[0044] In one embodiment, the cognitive predictor receives three feature vectors and uses them as inputs to a neural network. In one embodiment, the neural network is a long short-term memory (LSTM) neural network. In one embodiment, the LSTM is trained using a historical data split such that half is test data and half is training data to generate revised predictions based on the correlations calculated by the Hopfield network. In one embodiment, the cognitive predictor uses the medium-term feature vector as input to the LSTM and uses the long-term feature vector and the short-term feature vector as inputs to the short-term and long-term memory inputs of the LSTM. In this way, the network will retain a memory of the different time ranges that define the input predictions.

[0045] For the sake of clarity of description, and without implying any limitation thereto, some example configurations are used to describe the illustrative embodiments. Based on this disclosure, those skilled in the art will be able to conceive of many changes, adaptations and modifications of the configurations described to achieve the described purposes, and these are considered to be within the scope of the exemplary embodiments.

[0046] In addition, simplified diagrams of data processing environments are used in the drawings and illustrative embodiments. In an actual computing environment, there may be additional structures or components not shown or described here, or structures or components that are different from the structures or components shown but are used for functions similar to those described here, without departing from the scope of the illustrative embodiments.

[0047] Furthermore, the illustrative embodiments are described with respect to specific actual or hypothetical components by way of example only.The steps described by the various illustrative embodiments may be adapted to provide explanations for decisions made by, for example, a machine learning classifier model.

[0048] Any particular representation of these and other similar artifacts is not intended to limit the present invention. Any suitable representation of these and other similar artifacts may be selected within the scope of the exemplary embodiments.

[0049] The examples in this disclosure are only for clear description and are not intended to limit the illustrative embodiments. Any advantages listed herein are only examples and are not intended to limit the illustrative embodiments. Additional or different advantages can be achieved through specific illustrative embodiments. In addition, specific illustrative embodiments may have some, all, or none of the advantages listed above.

[0050] Furthermore, the illustrative embodiments may be implemented for any type of data, data source, or access to a data source over a data network. Any type of data storage device may provide data to embodiments of the present invention locally at a data processing system or over a data network within the scope of the present invention. Where embodiments are described using a mobile device, any type of data storage device suitable for use with the mobile device may provide data to such embodiments locally at the mobile device or over a data network within the scope of the illustrative embodiments.

[0051] Illustrative embodiments are described using specific codes, comparative explanations, computer-readable storage media, high-level features, historical data, designs, architectures, protocols, layouts, schematic diagrams, and tools, which are examples only, rather than limitations on the illustrative embodiments. In addition, for clarity of description, specific software, tools, and data processing environments are used in some instances to describe the illustrative embodiments only as examples. The illustrative embodiments can be used in conjunction with other comparable or similar purpose structures, systems, applications, or architectures. For example, within the scope of the present invention, other comparable mobile devices, structures, systems, applications, or their architectures can be used in conjunction with such embodiments of the present invention. The illustrative embodiments can be implemented in hardware, software, or a combination thereof.

[0052] The examples in this disclosure are only for clear description and are not limited to the illustrative embodiments. Additional data, operations, actions, tasks, activities and manipulations can be imagined from this disclosure and can be envisioned within the scope of the illustrative embodiments.

[0053] Any advantages listed herein are merely examples and are not intended to limit the illustrative embodiments. Additional or different advantages may be achieved through specific illustrative embodiments. In addition, specific illustrative embodiments may have some, all, or none of the advantages listed above.

[0054] With reference to the accompanying drawings, and with particular reference to Figure 1 and 2 , these figures are exemplary diagrams of data processing environments in which illustrative embodiments may be implemented. Figure 1 and 2 This is merely an example and is not intended to assert or imply any limitation with regard to the environments in which different embodiments may be implemented. Specific implementations may make many modifications to the depicted environment based on the following description.

[0055] Figure 1 A block diagram of a network of data processing systems in which the illustrative embodiments may be implemented is depicted. Data processing environment 100 is a network of computers in which the illustrative embodiments may be implemented. Data processing environment 100 includes network 102. Network 102 is a medium for providing communication links between various devices and computers connected together within data processing environment 100. Network 102 may include connections such as wired, wireless communication links, or fiber optic cables.

[0056] Client or server are merely example roles for certain data processing systems connected to network 102 and are not intended to exclude other configurations or roles for these data processing systems. Data processing system 104 is coupled to network 102. Software applications may be executed on any data processing system in data processing environment 100. Figure 1Any software application executed in the data processing system 104 in can be configured to execute in another data processing system in a similar manner. Figure 1 Any data or information stored or generated in data processing system 104 in the embodiment of the present invention may be configured to be stored or generated in another data processing system in a similar manner. A data processing system such as data processing system 104 may contain data and may have software applications or software tools that perform computational processing thereon. In one embodiment, data processing system 104 includes memory 124, which includes application 105A that may be configured to implement one or more data processor functions described herein according to one or more embodiments.

[0057] Server 106 is coupled to network 102 along with storage device 108. Storage device 108 includes database 109, which is configured to store data as described herein with respect to various embodiments, such as image data and attribute data. Server 106 is a conventional data processing system. In one embodiment, server 106 includes neural network application 105B, which can be configured to implement one or more of the processor functions described herein according to one or more embodiments.

[0058] Clients 110, 112, and 114 are also coupled to network 102. Conventional data processing systems, such as server 106 or clients 110, 112, or 114, may contain data and may have software applications or software tools that perform conventional computing processes thereon.

[0059] This is for example purposes only and does not imply any limitation on such architecture. Figure 1 Certain components that can be used in the example implementation of the embodiment are depicted. For example, server 106 and clients 110, 112, 114 are depicted as servers, while clients are only used as examples and do not imply limitations on client-server architecture. As another example, one embodiment can be distributed over several data processing systems and data networks as shown, while another embodiment can be implemented on a single data processing system within the scope of the illustrative embodiment. Server 106 and clients 110, 112, and 114 also represent example nodes in clusters, partitions, and other configurations suitable for implementing the embodiment.

[0060] Device 132 is an example of a conventional computing device as described herein. For example, device 132 may take the form of a smartphone, a tablet computer, a laptop computer, a fixed or portable form of client 110, a wearable computing device, or any other suitable device. In one embodiment, device 132 sends a request to server 106 to perform one or more data processing tasks via neural network application 105B, such as initiating processing of a neural network as described herein. Figure 1 Any software application that is executed in another conventional data processing system in the can be configured to be executed in the device 132 in a similar manner. Figure 1 Any data or information stored or generated in another conventional data processing system in may be configured to be stored or generated in device 132 in a similar manner.

[0061] Server 106, storage device 108, data processing system 104, clients 110, 112, and 114, and device 132 may be coupled to network 102 using wired connections, wireless communication protocols, or other suitable data connections. Clients 110, 112, and 114 may be, for example, personal computers or network computers.

[0062] In the depicted example, server 106 may provide data, such as boot files, operating system images, and applications to clients 110, 112, and 114. In this example, clients 110, 112, and 114 may be clients to server 106. Clients 110, 112, 114, or some combination thereof, may include their own data, boot files, operating system images, and applications. Data processing environment 100 may include additional servers, clients, and other devices not shown.

[0063] In the depicted example, memory 124 may provide data, such as boot files, operating system images, and applications to processor 122. Processor 122 may include its own data, boot files, operating system images, and applications. Data processing environment 100 may include additional memory, processors, and other devices not shown.

[0064] In an embodiment, one or more of neural network application 105A of data processing system 104 and neural network application 105B of server 106 implement an embodiment of a neural network, such as a DNN, as described herein. In a particular embodiment, the neural network is implemented using one of network application 105A and network application 105B within a single server or processing system. In another particular implementation, the neural network is implemented using both network application 105A and network application 105B within a single server or processing system. Server 106 includes a plurality of GPUs 107, which include a plurality of nodes, wherein each node may include one or more GPUs as described herein.

[0065] In the described example, data processing environment 100 can be the Internet. Network 102 can represent a collection of networks and gateways that use transmission control protocol / Internet protocol (TCP / IP) and other protocols to communicate with each other. At the core of the Internet is the backbone of data communication links between master nodes or host computers, including thousands of commercial, government, educational and other computer systems that route data and messages. Of course, data processing environment 100 can also be implemented as many different types of networks, such as, for example, intranets, local area networks (LANs) or wide area networks (WANs). Figure 1 It is intended as an example and not as an architectural limitation to the different illustrative embodiments.

[0066] Among other uses, data processing environment 100 can be used to implement a client-server environment in which exemplary embodiments can be implemented. The client-server environment enables software applications and data to be distributed on a network so that applications work by using the interactivity between a traditional client data processing system and a traditional server data processing system. Data processing environment 100 can also adopt a service-oriented architecture in which interoperable software components distributed on a network can be packaged together as consistent business applications. Data processing environment 100 can also take the form of a cloud, and adopt a cloud computing model of service delivery to realize convenient on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage devices, applications, virtual machines and services), which can be quickly supplied and released with minimal management effort or interaction with the provider of the service.

[0067] refer to Figure 2 , which depicts a block diagram of a data processing system in which the illustrative embodiments may be implemented. Data processing system 200 is an example of a conventional computer, such as Figure 1 Data processing system 104, server 106, or clients 110, 112, and 114, or another type of device in which computer usable program code or instructions implementing the processes may be located, is used for illustrative embodiments.

[0068] Data processing system 200 also represents a conventional data processing system or configuration thereof, such as Figure 1 A conventional data processing system 104 in which computer usable program code or instructions implementing the processes of the exemplary embodiments may be placed. Data processing system 200 is described as a computer only as an example and is not limited thereto. Without departing from the general description of the operation and functionality of data processing system 200 described herein, other computer programs such as Figure 1Implementation in the form of other devices of device 132 may modify data processing system 200 , such as by adding a touch interface, and even removing certain depicted components from data processing system 200 .

[0069] In the depicted example, data processing system 200 employs a hub architecture including north bridge and memory controller hub (NB / MCH) 202 and south bridge and input / output (I / O) controller hub (SB / ICH) 204. Processing unit 206, main memory 208, and graphics processor 210 are coupled to north bridge and memory controller hub (NB / MCH) 202. Processing unit 206 may include one or more processors and may be implemented using one or more heterogeneous processor systems. Processing unit 206 may be a multi-core processor. In some implementations, graphics processor 210 may be coupled to NB / MCH 202 via an accelerated graphics port (AGP).

[0070] In the depicted example, a local area network (LAN) adapter 212 is coupled to the south bridge and I / O controller hub (SB / ICH) 204. An audio adapter 216, a keyboard and mouse adapter 220, a modem 222, a read-only memory (ROM) 224, a universal serial bus (USB) and other ports 232, and a PCI / PCIe device 234 are coupled to the south bridge and I / O controller hub 204 via bus 238. A hard disk drive (HDD) or solid state drive (SSD) 226 and a CD-ROM 230 are coupled to the south bridge and I / O controller hub 204 via bus 240. The PCI / PCIe devices 234 may include, for example, Ethernet adapters, add-in cards, and PC cards for notebook computers. PCI uses a card bus controller, while PCIe does not. ROM 224 may be, for example, a flash binary input / output system (BIOS). Hard disk drive or solid state drive 226 and CD-ROM 230 may use, for example, an integrated drive electronics (IDE), serial advanced technology attachment (SATA) interface, or variations such as external SATA (eSATA) and micro SATA (mSATA). Super I / O (SIO) device 236 may be coupled to south bridge and I / O controller hub (SB / ICH) 204 via bus 238.

[0071] Memories, such as main memory 208, ROM 224, or flash memory (not shown), are some examples of computer usable storage devices. Hard disk drives or solid state drives 226, CD-ROM 230, and other similarly available devices are some examples of computer usable storage devices that include computer usable storage media.

[0072] An operating system runs on processing unit 206. The operating system coordinates and provides Figure 2 The operating system may be a commercially available operating system for any type of computing platform, including but not limited to server systems, personal computers, and mobile devices. An object-oriented or other type of programming system may operate with the operating system and provide calls to the operating system from programs or applications executing on data processing system 200.

[0073] for operating systems, object-oriented programming systems, and such Figure 1 Instructions for an application or program, such as application 105 in FIG. 2 , are located on a storage device, such as in the form of code 226A on a hard drive or solid-state drive 226, and may be loaded into at least one of one or more memories, such as main memory 208, for execution by processing unit 206. The processes of the illustrative embodiments may be performed by processing unit 206 using computer-implemented instructions, which may be located in a memory, such as main memory 208, read-only memory 224, or in one or more peripheral devices.

[0074] In addition, in one case, code 226A can be downloaded from remote system 201B via network 201A, where similar code 201C is stored on storage device 201D. In another case, code 226A can be downloaded to remote system 201B via network 201A, where downloaded code 201C is stored on storage device 201D.

[0075] Figure 1-2 The hardware in can vary depending on the implementation. Figure 1-2 In addition to or in place of the hardware described in the drawings, other internal hardware or peripheral devices such as flash memory, equivalent non-volatile memory, or optical disk drives may be used. Furthermore, the processes of the illustrative embodiments may be applied to a multi-processor data processing system.

[0076] In some illustrative examples, data processing system 200 may be a personal digital assistant (PDA), which is typically configured with flash memory to provide non-volatile memory for storing operating system files and / or user-generated data. The bus system may include one or more buses, such as a system bus, an I / O bus, and a PCI bus. Of course, the bus system may be implemented using any type of communication structure or architecture that provides data transfer between different components or devices attached to the structure or architecture.

[0077] The communication unit may include one or more devices for sending and receiving data, such as a modem or a network adapter. A memory may be, for example, main memory 208 or a cache, such as that found in north bridge and memory controller hub 202. A processing unit may include one or more processors or CPUs.

[0078] Figure 1-2 The examples described in and above are not meant to imply architectural limitations.For example, data processing system 200 may be a tablet computer, laptop computer, or telephone device in addition to taking the form of a mobile or wearable device.

[0079] Where a computer or data processing system is depicted as a virtual machine, virtual appliance, or virtual component, the virtual machine, virtual appliance, or virtual component uses virtualized representations of some or all of the components depicted in data processing system 200 to operate in the manner of data processing system 200. For example, in the virtual machine, virtual appliance, or virtual component, processing unit 206 is represented as a virtualized instance of all or some number of hardware processing units 206 available in a host data processing system, main memory 208 is represented as a virtualized instance of all or some portion of main memory 208 available in the host data processing system, and hard disk drive or solid state drive 226 is represented as a virtualized instance of all or some portion of hard disk drive or solid state drive 226 available in the host data processing system. In this case, the host data processing system is represented by data processing system 200.

[0080] refer to Figure 3 , which depicts a block diagram of an example configuration 300 for prediction according to an illustrative embodiment. The example embodiment includes a cognitive prediction system 302. In a particular embodiment, the cognitive prediction system 302 is Figure 1 Examples of applications 105A / 105B.

[0081] In some embodiments, cognitive prediction system 302 includes diagnostic sequence generator 304, feature vector generator 306, and cognitive predictor 308. In alternative embodiments, cognitive prediction system 302 may include some or all of the functions described herein but grouped differently into one or more modules. In some embodiments, the functions described herein are distributed among multiple systems, which may include a combination of software and / or hardware-based systems, such as application specific integrated circuits (ASICs), computer programs, or smartphone applications.

[0082] In some embodiments, cognitive prediction system 302 receives predictor variables 310 including input data representing a multidimensional attribute space. The input data is organized into n vectors or segments corresponding to predictor variables of each dimension. In one embodiment, the input data is organized into multiple univariate segments, each univariate segment corresponding to a corresponding predictor variable. In some embodiments, the input data originates from a sensor, such as a sensor that converts a physical attribute into an electronic signal. In some embodiments, the input data originates from a computer-generated log stored in a computer memory, such as a server log, an operating system log, and an application log. In some embodiments, the input data originates from a combination of sensors, logs, and any other desired data sources.

[0083] In one embodiment, diagnostic sequence generator 304 receives predictor variables 310 and generates a time series forecast for the predictor variables. In one embodiment, feature vector generator 306 receives the time series forecast for predictor variable 308 and the time series forecast for each of one or more additional predictor variables and calculates the correlation value between each pair of variables if there is a correlation value. Feature vector generator 306 adjusts the values ​​of the predicted diagnostic variables and outputs the adjusted values ​​as a new time series array for each of the respective segments. In an embodiment, cognitive predictor 308 receives the correlation adjusted array as input to a neural network and outputs an updated time series final forecast 312, which is different from the original input time series forecast, now taking into account the correlation between the different input segments.

[0084] refer to Figure 4A , which depicts a block diagram of an example configuration 400 according to an illustrative embodiment. The example embodiment includes a diagnostic sequence generator 402. In a particular embodiment, the diagnostic sequence generator 402 receives a sequence corresponding to Figure 3 The predictor variables 412 of the predictor variables 310 in the cognitive prediction system 302 are Figure 1 Examples of applications 105A / 105B.

[0085] An embodiment of the diagnostic sequence generator 402 receives input data of a plurality of predictor variables 412. The diagnostic sequence generator 402 includes a plurality of prediction generators 404A-404E arranged in parallel to receive respective predictor variables. The diagnostic sequence generator 402 also includes a plurality of diagnostic report generators 406A-406E arranged in parallel to receive predictions from respective prediction generators 404A-404E. The diagnostic sequence generator 402 also includes a plurality of cognitive diagnostic evaluators 408A-408E arranged in parallel, each cognitive diagnostic evaluator being connected to receive diagnostic information from respective diagnostic report generators 406A-406E.

[0086] In one embodiment, each prediction generator 404 generates t / s predictions for each variable, where t is the prediction term and s is the step size, and both are set to a common time dimension (e.g., minutes, hours, days, etc.). Each diagnostic report generator 406 generates p diagnostic graphs for each prediction for a total of (pt) / s graphs for each variable. Each cognitive diagnostic evaluator 408 generates one diagnostic value 414 for each prediction (i.e., one diagnostic value for each p value) for a total of t / s diagnostic values ​​for each variable. Figure 1 The diagnostic value 414 of each variable is stored in a corresponding predicted diagnosis array.

[0087] In one embodiment, the forecast generators 404A-404E predict future values ​​of the variables using an autoregressive integrated moving average (ARIMA) model that uses parameters such as the number of time lags (or order) of the autoregressive model and the number of times the data has been subtracted from past values ​​(or "degree of difference"). As another example, in an embodiment, the forecast generators 404A-404E detect strong seasonal trends in the time series data of the forecast variables and apply a seasonal ARIMA (SARIMAX) model that uses the autoregressive term and the moving average term of the seasonal portion of the ARIMA model to account for the seasonality of the input data trend to obtain forecasts for the forecast variables.

[0088] Embodiments of cognitive diagnostic evaluators 408A-408E configure image classification models 415A-415E to classify one or more graphs generated by diagnostic report generators 406A-406E. These graphs can be viewed in real time or captured and viewed later. In one embodiment, image classification models 415A-415E are models based on neural networks, such as convolutional neural networks (CNNs). During the configuration process, embodiments use labeled images of various graphs to train neural network-based models 415A-415E to classify graphs according to training. For example, image classification model 415, which is intended to classify graphs according to the error level in the graph. The granularity of the error level detection performed by CNN 415 will depend on the number of categories that CNN 415 is trained to identify. For example, an image classification model, which is intended to classify images including graphs according to the accuracy of the prediction, such as from 0% accuracy to 100% accuracy.

[0089] In one embodiment, prediction generator 404A-404E generates prediction, and each of diagnostic report generator 406A-406E creates multiple diagnostic graphs for each prediction. In one such embodiment, cognitive diagnosis evaluator 408A-408E uses one or more CNNs to classify each diagnostic graph of each prediction. Each of cognitive diagnosis evaluator 408A-408E outputs a single value of each prediction by averaging the classification results of multiple diagnostic graphs predicted each time. For example, the embodiment generates standardized residual line graphs, residual histograms and estimated density graphs, residual quantile (QQ) graphs and residual autocorrelation graphs all related to a single prediction. The embodiment of the cognitive diagnosis evaluator classifies all four graphs individually, and assigns a value from 0 to 100 to each graph according to the accuracy of each graph. Then, the accuracy values ​​of the four diagnostic graphs are averaged together to obtain a single number indicating the accuracy of the prediction.

[0090] refer to Figure 4B , which depicts diagrams of example diagnostic graphs 416, 418, 420, and 422 according to an illustrative embodiment. In some embodiments, diagnostic report generators 406A-406E each output one or more graphs, which may include Figure 4B One or more exemplary plots shown in , which include a standardized residual line plot 416, a residual histogram and estimated density plot 418, a residual quantile (QQ) plot 420, and a residual autocorrelation plot 422.

[0091] The residual line graph 416 is a line graph that provides a visual indication of the residual prediction error values ​​relative to the central zero axis. The error values ​​and line graph 416 should appear randomly; otherwise, the presence of a pattern indicates that the prediction model should be adjusted or replaced with a different algorithm. For example, in an embodiment, the diagnostic sequence generator 402 uses an ARIMA model to calculate the predictions and generate the residual line graph 416. The cognitive diagnostic evaluator then analyzes the residual line graph 416, and if the cognitive diagnostic evaluator detects a seasonal or cyclical pattern in the input data or graph 416, the diagnostic sequence generator 402 notifies the user to give the user the opportunity to use a different model, or in an automated embodiment, the diagnostic sequence generator 402 instructs the forecast generator to recalculate the forecast using a different model (e.g., a SARIMAX model that is more suitable for data including seasonal patterns).

[0092] The residual histogram and estimated density plot 418 (or "histogram and density plot") provides a visual indication of anomalies in the distribution of residual errors in the predictions. Typically, the histogram and density plot 418 will have a slightly Gaussian appearance. The presence of a non-Gaussian distribution or a large skew indicates that the prediction model should be adjusted or replaced.

[0093] The residual QQ plot 420 provides a visual indication of the comparison between the two distributions, showing the degree of similarity or difference between the distributions. For example, in one embodiment, the predicted values ​​are compared to a Gaussian distribution, and the differences are plotted as a scatter plot 420. The scatter plot 420 in this example should closely follow a diagonal line extending from the origin in a direction consistent with the growth values ​​on the horizontal and vertical axes. Otherwise, the presence of significant deviations will sometimes indicate that (one or more) autoregressive parameters are not ideal and have room for improvement. Graph 420 will typically be used to identify values ​​that deviate from expectations.

[0094] The residual autocorrelation plot 422 provides a visual indication of the comparison between the observations and the observations of the previous time step. For this plot 422, it is expected to find a lack of autocorrelation between the two distributions. The plot 422 shows the autocorrelation scores relative to a significance threshold. The presence of significant deviations will sometimes indicate that the autoregressive parameter(s) are not ideal and have room for improvement.

[0095] refer to Figure 5 , which depicts a block diagram of an exemplary configuration 500 for generating predictive features according to an exemplary embodiment. The exemplary embodiment includes a feature vector generator 502 that receives a diagnostic value 512. In a particular embodiment, the feature vector generator 502 is Figure 3 An example of a feature vector generator 306 and a diagnostic value 512 is Figure 4A Example of diagnostic value 414.

[0096] In one embodiment, feature vector generator 502 includes Hopfield network 504, wherein each of diagnostic variables 506A-506E becomes a node that is fully connected to each other node. Each node represents a single predictor corresponding to diagnostic value 506A-506E. In one embodiment, diagnostic value 506A-506E is fed to Hopfield network to find their contribution to the activation function of connecting nodes. This contribution provides weight to the edge of connecting node. From a specific node, the edge linked to each diagnostic variable is sorted. The order of the relationship between predictors can be used to determine how far the prediction of the predictor should be traversed when included in the final prediction.

[0097] In one embodiment, since the node values ​​are known, Hopfield network 504 will process the nodes until it knows the weight of each connection between the nodes. Therefore, in some embodiments, the weights of Hopfield network 504 are learned. In some embodiments, Hopfield network 504 includes a number of predictors 412 ( Figure 4AIn certain embodiments, once Hopfield network 504 has learned all weights, feature vector generator 502 will sort nodes according to the connection edge of each node. Feature vector generator 502 will sort the edge of each node, and then sort nodes according to edge weight. Feature vector generator 502 will then form three feature vectors 514, each modified according to weight: use the long-term feature vector of the highest weighted edge, use the short-term feature vector of the lowest weighted edge and use the medium-term feature vector of the mean value of the middle edge value. The vector of each of the three feature vectors is combined together, and the feature vectors of three combinations are output to cognitive predictor 602.

[0098] refer to Figure 6 , which depicts a block diagram of a prediction environment 600 according to an illustrative embodiment. The example embodiment includes a cognitive predictor 602 that receives a feature vector 612. In a particular embodiment, the cognitive predictor 602 is Figure 3 , and the feature vector 612 is Figure 5 Example of feature vector 514.

[0099] In an embodiment, cognitive predictor 602 receives three feature vectors 606, 608, and 610 as examples of feature vectors 612. Cognitive predictor 602 uses the three feature vectors 606, 608, and 610 as inputs to neural network 604. In one implementation, neural network 604 is a long short-term memory (LSTM) neural network 604. In one embodiment, LSTM 604 is trained using a historical data split such that half is test data and half is training data to train LSTM 604 to generate revised predictions based on the correlations calculated by Hopfield network 504. In an embodiment, cognitive predictor 602 uses medium-term feature vector 606 as input to LSTM, and uses long-term feature vector 608 and short-term feature vector 610 as inputs to short-term and long-term memory inputs of LSTM 604. In this way, LSTM network 604 will retain a memory of different time ranges that define the input predictions.

[0100] refer to Figure 7 , which depicts a flow diagram of an example process 700 for creating predictions for a predictor, according to one illustrative embodiment. In certain embodiments, cognitive prediction system 302 performs process 700.

[0101] In one embodiment, at block 702, the process receives a group of predictors. Next, at block 704, the process generates a diagnostic report for each predictor variable in the group of predictors. In some embodiments, the generation of the diagnostic report includes generating t / s predictions for each variable, wherein t is a prediction term, s is a step length, and both are set to a common time dimension (e.g., minutes, hours, days, etc.), and then generating a diagnostic report including p diagnostic graphs of each prediction for a total of (pt) / s graphs for each variable. Each cognitive diagnostic evaluator generates a diagnostic value for each prediction for a total of t / s diagnostic values ​​for each variable (i.e., generating a diagnostic value for each p graph). Next, at block 706, the process performs a cognitive assessment of each diagnostic report to generate diagnostic variables for each predictor variable.

[0102] Next, at block 708, the process generates a feature vector based on the cognitive assessment of the correlations between the predictor variables. In some embodiments, the processing of the feature vector includes processing the feature vector using a Hopfield network. Next, at block 710, the process generates a final prediction based on the cognitive assessment of the feature vector. In some embodiments, the generation of the final prediction includes generating the final prediction using an LSTM.

[0103] In some embodiments, the process removes the selected superpixel or superpixel group from the image. Next, the DNN classifier predicts the class of the modified image. The process determines whether the modified image has a classification that is different from the classification of the original image. If the classification is still the same, a copy of the modified image is stored. In some embodiments, if a previous iteration of the loop of the aforementioned operations stored an image that was less modified, the current image overwrites the previously stored image so that the stored image is always the image that was most severely modified and not reclassified. Next, the process removes more modified images. The process then loops back to the aforementioned step of predicting the class of the image, where the DNN classifier predicts the class of the modified image.

[0104] Eventually, the image will be modified to such an extent that the DNN will predict a different class for the modified image. At this point, the process continues where the image is stored to verify whether it meets other parameters, such as the L regularization parameter. If so, the image is added to the acquired image array. The algorithm controller determines whether to proceed with another copy of the original image by returning to block 702. Otherwise, the process continues where the array of saved images is sorted to find the image with the more recognizable result in the smallest residual portion of the original input image. The image that best meets the criteria is output as the PP image.

[0105] The following definitions and abbreviations are used to interpret the claims and specification. As used herein, the terms "comprises," "including," "having," "containing," or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, mixture, process, method, article, or apparatus that includes a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.

[0106] Additionally, the term "illustrative" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "illustrative" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" are understood to include any integer greater than or equal to one, i.e., one, two, three, four, etc. The term "plurality" should be understood to include any integer greater than or equal to two, i.e., two, three, four, five, etc. The term "connected" may include both indirect "connected" and direct "connected."

[0107] References in the specification to "one embodiment," "an embodiment," "an example embodiment," etc. indicate that the described embodiment may include a particular feature, structure, or characteristic, but each embodiment may or may not include the particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in conjunction with an embodiment, it is considered to be within the knowledge of those skilled in the art to affect such feature, structure, or characteristic in conjunction with other embodiments, whether or not explicitly described.

[0108] The terms "about," "substantially," "approximately," and variations thereof are intended to include the degree of error associated with the measurement of a particular quantity based on the equipment available at the time this application was filed. For example, "about" may include a range of ±8% or 5% or 2% of a given value.

[0109] The description of various embodiments of the present invention has been given for the purpose of illustration, but it is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements existing in the market, or to enable other persons of ordinary skill in the art to understand the embodiments described herein.

[0110] The description of various embodiments of the present invention has been given for the purpose of illustration, but it is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements existing in the market, or to enable other persons of ordinary skill in the art to understand the embodiments described herein.

[0111] Thus, in illustrative embodiments, a computer-implemented method, system or apparatus, and computer program product are provided for managing participation in an online community and other related features, functions, or operations. Where embodiments or portions thereof are described with respect to one type of device, the computer-implemented method, system or apparatus, computer program product, or portions thereof, is adapted or configured for use with appropriate and comparable representations of that type of device.

[0112] Where embodiments are described as being implemented in an application, delivery of the application in a software as a service (SaaS) model may be envisioned within the scope of the illustrative embodiments. In the SaaS model, the ability to implement the application of the embodiments is provided to the user by executing the application in a cloud infrastructure. The user may access the application using a variety of client devices through a thin client interface such as a web browser (e.g., web-based email) or other lightweight client applications. The user does not manage or control the underlying cloud infrastructure, including the network, servers, operating system, or storage of the cloud infrastructure. In some cases, the user may not even manage or control the capabilities of the SaaS application. In some other cases, a SaaS implementation of the application may allow limited possible exceptions to user-specific application configuration settings.

[0113] The present invention may be a system, method and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (one or more media) having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform various aspects of the present invention.

[0114] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device such as a punch card or a raised structure in a groove on which instructions are recorded, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be interpreted as a temporary signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (e.g., a light pulse by an optical fiber cable), or an electrical signal transmitted by a wire.

[0115] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.

[0116] The computer-readable program instructions for performing the operation of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data of an integrated circuit, or source code or object code written in any combination of one or more programming languages ​​(including object-oriented programming languages, such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer or may be connected to an external computer (e.g., using an Internet service provider through the Internet) via any type of network, including a local area network (LAN) or a wide area network (WAN). In some embodiments, in order to perform various aspects of the present invention, an electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit.

[0117] Various aspects of the present invention are described herein with reference to the flow chart and / or block diagram of the method, device (system) and computer program product according to embodiments of the present invention. It will be understood that each frame of the flow chart and / or block diagram and the combination of frames in the flow chart and / or block diagram can be implemented by computer-readable program instructions.

[0118] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can guide the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0119] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0120] Flowchart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention.In this regard, each frame in the flow chart or block diagram can represent the module, segment or part of instruction, which includes one or more executable instructions for realizing the specified logical function.In some alternative embodiments, the function noted in the frame may not occur in the order noted in the figure.For example, two frames shown continuously can actually be performed substantially simultaneously, or these frames can sometimes be performed in reverse order, depending on the function involved.It will also be noted that the combination of the frames in each frame of the block diagram and / or flow chart illustration and the block diagram and / or flow chart illustration can be realized by a dedicated hardware-based system that performs a specified function or action or performs a combination of special hardware and computer instructions.

Claims

1. A computer-implemented method for generating a prediction, include: receiving, by a processor, input data of historical values ​​of a first input variable; creating, by the processor, prediction data for future values ​​of the first input variable using historical values ​​of the first input variable; generating, by the processor, diagnostic data based on a diagnostic analysis of the predictive data; creating, by the processor, a first diagnostic variable comprising a first diagnostic value from a first cognitive process, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data; calculating, by the processor, that there is a correlation between the first diagnostic variable and the second diagnostic variable by comparing first time series data of first diagnostic values ​​of the first diagnostic variable and second time series data of second diagnostic values ​​of a second diagnostic variable relative to a threshold value, wherein the first diagnostic variable is different from the second diagnostic variable; calculating, by the processor, a correlation value for the correlation; adjusting, by the processor, values ​​in first time series data of first diagnostic values ​​of the first diagnostic variable using the correlation value to generate adjusted time series data; generating, by the processor in a second cognitive process, a feature vector using the adjusted time series data; as well as The feature vector is used by the processor as input to a cognitive prediction process to generate a final prediction. 2 . The computer-implemented method of claim 1 , wherein creating the forecast data comprises using an autoregressive model on historical values ​​of the first input variable. 3 . The computer-implemented method of claim 1 , wherein creating the prediction data comprises performing a plurality of predictions for respective prediction items such that the prediction data comprises a plurality of predicted data. 4 . The computer-implemented method of claim 3 , wherein generating the diagnostic data comprises performing a diagnostic analysis on each of the plurality of predictions such that the diagnostic data comprises data of a diagnostic result associated with the respective prediction. 5 . The computer-implemented method of claim 4 , wherein generating the diagnostic data comprises generating image data for a plurality of diagnostic maps, wherein the plurality of diagnostic maps comprises a diagnostic map for each of the diagnostic results.

6. The computer-implemented method of claim 5, wherein the first cognitive process comprises using a convolutional neural network (CNN) to evaluate the image data of at least one of the diagnostic maps.

7. The computer-implemented method of claim 5, wherein the plurality of diagnostic plots comprises a plurality of groups of diagnostic plots, wherein each group of diagnostic plots comprises plots for a plurality of different diagnostic tests, and wherein each group of diagnostic plots is associated with a respective prediction.

8. The computer-implemented method of claim 7, wherein the plots for the plurality of different diagnostic tests include standardized residual line plots, residual histograms and estimated density plots, residual quantile (QQ) plots, and residual autocorrelation plots.

9. The computer-implemented method of claim 7, wherein the first cognitive process comprises using a first CNN to evaluate image data only for a first diagnostic test among the plurality of different diagnostic tests, and using a second CNN to evaluate image data only for a second diagnostic test among the plurality of different diagnostic tests.

10. The computer-implemented method of claim 1, wherein generating the feature vector comprises using a Hopfield network, wherein the first diagnostic variable and the second diagnostic variable are at respective first and second nodes of the Hopfield network.

11. The computer-implemented method of claim 10, wherein generating the eigenvector using the Hopfield network comprises assigning eigenvalues ​​to the eigenvector based on edge weights determined by the Hopfield network for an edge between the first node and the second node.

12. The computer-implemented method of claim 11, wherein generating the final prediction comprises using the feature values ​​as medium-term input to a long short-term memory (LSTM) neural network.

13. The computer-implemented method of claim 11, wherein generating the final prediction comprises using the feature values ​​as memory inputs to a LSTM neural network.

14. A computer usable program product for generating a prediction, the computer usable program product comprising a computer readable storage device and program instructions stored on the storage device, the stored program instructions include: program instructions for receiving, by a processor, input data of historical values ​​of a first input variable; program instructions for creating, by the processor, forecast data for future values ​​of the first input variable using historical values ​​of the first input variable; program instructions for generating, by the processor, diagnostic data based on diagnostic analysis of the prognostic data; program instructions for creating, by the processor, a first diagnostic variable comprising a first diagnostic value from a first cognitive process, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data; program instructions for calculating, by the processor, that a correlation exists between the first diagnostic variable and the second diagnostic variable by comparing first time series data of first diagnostic values ​​of the first diagnostic variable and second time series data of second diagnostic values ​​of a second diagnostic variable relative to a threshold value, wherein the first diagnostic variable is different from the second diagnostic variable; program instructions for calculating, by the processor, a correlation value for the correlation; program instructions for adjusting, by the processor, values ​​in first time series data of first diagnostic values ​​of the first diagnostic variable using the correlation value to generate adjusted time series data; program instructions for generating, by the processor, a feature vector using the adjusted time series data in a second cognitive process; as well as Program instructions for generating, by the processor, a final prediction using the feature vector as input to a cognitive prediction process.

15. The computer usable program product of claim 14, wherein creating the prediction data comprises performing a plurality of predictions for respective prediction items such that the prediction data comprises a plurality of predicted data.

16. The computer usable program product of claim 15, wherein the diagnostic data is generated include: performing a diagnostic analysis on each of the plurality of predictions so that the diagnostic data includes data of a diagnostic result associated with the corresponding prediction; as well as Image data of a plurality of diagnostic maps are generated, wherein the plurality of diagnostic maps include a diagnostic map for each of the diagnostic results.

17. The computer usable program product of claim 14, wherein generating the feature vector comprises using a Hopfield network, wherein the first diagnostic variable and the second diagnostic variable are at respective first and second nodes of the Hopfield network.

18. A computer system for generating predictions, comprising a processor, a computer readable memory and a computer readable storage device, and program instructions stored on the storage device for execution by the processor via the memory, the stored program instructions include: program instructions for receiving, by a processor, input data of historical values ​​of a first input variable; program instructions for creating, by the processor, forecast data for future values ​​of the first input variable using historical values ​​of the first input variable; program instructions for generating, by the processor, diagnostic data based on diagnostic analysis of the prognostic data; program instructions for creating, by the processor, a first diagnostic variable comprising a first diagnostic value from a first cognitive process, wherein the first cognitive process determines the first diagnostic value based on the diagnostic data; program instructions for calculating, by the processor, that a correlation exists between the first diagnostic variable and the second diagnostic variable by comparing first time series data of first diagnostic values ​​of the first diagnostic variable and second time series data of second diagnostic values ​​of a second diagnostic variable relative to a threshold value, wherein the first diagnostic variable is different from the second diagnostic variable; program instructions for calculating, by the processor, a correlation value for the correlation; program instructions for adjusting, by the processor, values ​​in first time series data of first diagnostic values ​​of the first diagnostic variable using the correlation value to generate adjusted time series data; program instructions for generating, by the processor, a feature vector using the adjusted time series data in a second cognitive process; as well as Program instructions for generating, by the processor, a final prediction using the feature vector as input to a cognitive prediction process.

19. The computer system of claim 18, wherein creating the forecast data comprises using an autoregressive model on historical values ​​of the first input variable.

20. The computer system of claim 18, wherein creating the prediction data comprises performing a plurality of predictions for respective prediction items such that the prediction data comprises a plurality of predicted data.

21. The computer system of claim 20, wherein generating the diagnostic data comprises performing a diagnostic analysis on each of the plurality of predictions such that the diagnostic data comprises data of a diagnostic result associated with the respective prediction.

22. The computer system of claim 21, wherein generating the diagnostic data comprises generating image data for a plurality of diagnostic maps, wherein the plurality of diagnostic maps comprises a diagnostic map for each of the diagnostic results.

23. The computer system of claim 22, wherein the first cognitive process comprises using a convolutional neural network (CNN) to evaluate the image data of at least one of the diagnostic graphs.

24. The computer system of claim 22, wherein the plurality of diagnostic plots comprises a plurality of groups of diagnostic plots, wherein each group of diagnostic plots comprises plots for a plurality of different diagnostic tests, and wherein each group of diagnostic plots is associated with a respective prediction.

25. The computer system of claim 24, wherein the plots for the plurality of different diagnostic tests include standardized residual line plots, residual histograms and estimated density plots, residual quantile (QQ) plots, and residual autocorrelation plots.

26. The computer system of claim 24, wherein the first cognitive process comprises using a first CNN to evaluate image data only for a first diagnostic test of the plurality of different diagnostic tests, and using a second CNN to evaluate image data only for a second diagnostic test of the plurality of different diagnostic tests.

27. The computer system of claim 18, wherein generating the feature vector comprises using a Hopfield network, wherein the first diagnostic variable and the second diagnostic variable are at respective first and second nodes of the Hopfield network.

28. The computer system of claim 27, wherein generating the eigenvector using the Hopfield network comprises assigning eigenvalues ​​to the eigenvector based on edge weights determined by the Hopfield network for an edge between the first node and the second node.

29. The computer system of claim 28, wherein generating the final prediction comprises using the feature values ​​as medium-term inputs to a long short-term memory (LSTM) neural network.

30. The computer system of claim 28, wherein generating the final prediction comprises using the feature values ​​as memory inputs to a LSTM neural network.

Citation Information

Patent Citations

  • Disease diagnosis system based on cyclic time convolution network, equipment and medium

    CN111798975A

  • Wearable electronic device and system for tracking location and identifying changes in salient indicators of patient health

    US20190209022A1