The present disclosure relates to industrial process optimization. In a more particular example, the disclosure relates to technologies for optimizing an industrial process based on industrial batch analytics.
The following presents a simplified summary in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview nor is intended to identify key/critical elements or to delineate the scope of the various aspects described herein. The sole purpose of this summary is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
In some embodiments, a method is provided. The method comprises determining, by a batch management system, that a batch generated in an industrial process is anomalous at a sample point k during the batch, wherein the batch is ongoing; determining, by the batch management system, a process variable of the industrial process based on a variable contribution of the process variable towards the batch being anomalous at the sample point k during the batch; determining, by the batch management system, a recommended value of the process variable based on an anomaly metric corresponding to the sample point k of an assessment batch, wherein the assessment batch is created based on one or more samples of the batch at the sample point k and the recommended value of the process variable, and the anomaly metric corresponding to the sample point k of the assessment batch is determined based on a T2-statistic metric corresponding to the sample point k and a Q-statistic metric corresponding to the sample point k of the assessment batch in a principal component analysis (PCA) model corresponding to the sample point k of the industrial process; and adjusting, by the batch management system, the industrial process based on the recommended value of the process variable.
In some embodiments, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a computing device to: determine that a batch generated in an industrial process is anomalous at a sample point k during the batch, wherein the batch is ongoing; determine a process variable of the industrial process based on a variable contribution of the process variable towards the batch being anomalous at the sample point k during the batch; determine a recommended value of the process variable based on an anomaly metric corresponding to the sample point k of an assessment batch, wherein the assessment batch is created based on one or more samples of the batch at the sample point k and the recommended value of the process variable, and the anomaly metric corresponding to the sample point k of the assessment batch is determined based on a T2-statistic metric corresponding to the sample point k and a Q-statistic metric corresponding to the sample point k of the assessment batch in a principal component analysis (PCA) model corresponding to the sample point k of the industrial process; and adjust the industrial process based on the recommended value of the process variable.
In some embodiments, a system is provided. The system comprises a memory storing instructions; and a processor communicatively coupled to the memory and configured to execute the instructions to: determine that a batch generated in an industrial process is anomalous at a sample point k during the batch, wherein the batch is ongoing; determine a process variable of the industrial process based on a variable contribution of the process variable towards the batch being anomalous at the sample point k during the batch; determine a recommended value of the process variable based on an anomaly metric corresponding to the sample point k of an assessment batch, wherein the assessment batch is created based on one or more samples of the batch at the sample point k and the recommended value of the process variable, and the anomaly metric corresponding to the sample point k of the assessment batch is determined based on a T2-statistic metric corresponding to the sample point k and a Q-statistic metric corresponding to the sample point k of the assessment batch in a principal component analysis (PCA) model corresponding to the sample point k of the industrial process; and adjust the industrial process based on the recommended value of the process variable.
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the accompanying drawings. These aspects are indicative of various ways which can be practiced, all of which are intended to be covered herein. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.
The accompanying drawings illustrate various embodiments and are a part of the specification. The illustrated embodiments are merely examples and do not limit the scope of the disclosure. Throughout the drawings, identical or similar reference numbers designate identical or similar elements.
The present disclosure is now described with reference to the drawings. In the following description, specific details may be set forth for purposes of explanation. It should be understood that the present disclosure may be implemented without these specific details.
As used herein, the terms “component,” “system,” “platform,” “layer,” “controller,” “terminal,” “station,” “node,” “interface” are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removable affixed solid-state storage drives, an object, an executable object, a thread of execution, a computer-executable program, and/or a computer. By way of illustration, both an application running on a server and the server may be a component. One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between two or more computers.
In addition, components as described herein may execute from various computer readable storage media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component may be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor may be internal or external to the apparatus and may execute at least a part of the software or firmware application. As yet another example, a component may be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components may include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components. As yet another example, interface(s) may include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
As used herein, the terms “to infer” and “inference” generally refer to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. For example, inference may be used to identify a specific context or action, or may generate a probability distribution over states. The inference may be probabilistic, e.g., the inference may be the computation of a probability distribution over states of interest based on a consideration of data and events. Inference may also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference may result in the construction of new events or actions from a set of observed events and/or stored event data, regardless of whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
Moreover, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” In particular, unless clear from the context or specified otherwise, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. Thus, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A, X employs B, or X employs both A and B. In addition, the articles “a” and “an” as used in this present disclosure and the appended claims should generally be construed to mean “one or more” unless clear from the context or specified otherwise to be directed to a singular form.
Furthermore, the term “set” as used herein excludes the empty set, e.g., the set with no elements therein. Thus, a “set” in the present disclosure may include one or more elements or entities. For example, a set of controllers may include one or more controllers, a set of data resources may include one or more data resources, etc. Similarly, the term “group” as used herein refers to a collection of one or more entities. For example, a group of nodes refers to one or more nodes.
Various aspects or features will be presented in terms of systems that may include a number of devices, components, modules, and the like. It should be understood that various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules, etc. that are discussed with reference to the figures. A combination of these approaches may also be used.
Systems and methods for anomaly detection in industrial batch analytics are described herein. In batch production, an industrial process such as a manufacturing process of a product may generate the product in multiple batches. For each batch generated in the industrial process, batch data may be collected and analyzed to determine whether the batch is anomalous. To determine whether the batch is anomalous, some systems may rely on one or more established metrics that are commonly used in anomaly detection. The systems may compute the established metrics for the batch based on the batch data, and determine whether the batch is anomalous based on the established metrics of the batch. However, determining whether the batch is anomalous based on the established metrics often results in a high number of detection results that are false positive or false negative. A detection result that is false positive where an anomaly is incorrectly detected may cause the industrial process to be stopped unnecessarily, thereby causing production loss. On the other hand, a detection result that is false negative where an anomaly goes unnoticed may result in products generated in the batch being unqualified and therefore unusable. Thus, the anomaly detection using the established metrics of the batch is generally unreliable due to its inconsistent accuracy.
Systems and methods described herein are capable of accurately performing anomaly detection for a batch using an anomaly metric that is determined based on a plurality of statistical metrics of the batch. For example, for a batch generated an industrial process, the systems and methods may determine a T2-statistic metric and a Q-statistic metric of the batch in a Principal Component Analysis (PCA) model associated with the industrial process. The systems and methods may then determine the anomaly metric of the batch based on both the T2-statistic metric and the Q-statistic metric of the batch in the PCA model. For example, the systems and methods may compute a normalized T2-statistic metric based on the T2-statistic metric of the batch, compute a normalized Q-statistic metric based on the Q-statistic metric of the batch, and determine the anomaly metric of the batch to be a highest value between the normalized T2-statistic metric and the normalized Q-statistic metric.
The systems and methods described herein may determine whether the batch is anomalous based on the anomaly metric of the batch. For example, the systems and methods may determine that the anomaly metric of the batch satisfies an anomaly detection threshold, and therefore determine that the batch is anomalous. In response to determining that the batch is anomalous, the systems and methods may perform a corresponding operation. For example, the systems and methods may present to a process operator of the industrial process a notification indicating that the batch is anomalous. Additionally or alternatively, the systems and methods may identify, from various process variables of the industrial process, one or more process variables that contribute significantly to the batch being anomalous, and present the one or more process variables and their contribution towards the batch performance to the process operator. Additionally or alternatively, the systems and methods may automatically adjust these process variables of the industrial process to address the anomaly of the batch. Other operations may also be performed in response to determining that the batch is anomalous.
Systems and methods described herein may be advantageous in a number of technical respects. For example, as described herein, the systems and methods may compute the normalized T2-statistic metric of the batch based on the T2-statistic metric of the batch and a confidence limit of the T2-statistic metric. The systems and methods may also compute the normalized Q-statistic metric of the batch based on the Q-statistic metric of the batch and a confidence limit of the Q-statistic metric. The normalization of the T2-statistic metric and the Q-statistic metric may result in the normalized T2-statistic metric and the normalized Q-statistic metric of the batch being in the same scale and therefore can be compared to one another. As described herein, the systems and methods may determine the anomaly metric of the batch to be the highest value between the normalized T2-statistic metric and the normalized Q-statistic metric. Thus, for each batch of the industrial process, the systems and methods may dynamically select a normalized statistical metric that better indicates a conformity level of the batch with the PCA model to be the anomaly metric of the batch. As described herein, the PCA model may be created based on one or more non-anomalous batches generated in the industrial process. Thus, by using the anomaly metric of the batch that better indicates the conformity level of the batch with the PCA model, the accuracy in detecting anomaly for the batch may be improved.
In addition, the systems and methods may determine whether the anomaly metric of the batch satisfies an anomaly detection threshold. If the anomaly metric of the batch satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), the systems and methods may determine that the batch is anomalous. As described herein, the systems and methods may determine the anomaly detection threshold using a machine learning model. For example, the systems and methods may apply the machine learning model to one or more batches of the industrial process to identify, among a plurality of candidate anomaly detection thresholds, a candidate anomaly detection threshold that results in a lowest false detection rate when being used to detect anomaly for the one or more batches. The systems and methods may then select the candidate anomaly detection threshold to be the anomaly detection threshold. Thus, by using the anomaly detection threshold that results in the lowest false detection rate in anomaly detection, the accuracy in detecting anomaly for a batch using the anomaly detection threshold may be improved.
Moreover, the systems and methods may detect anomaly not only for a batch that is already finished but also for a batch that is ongoing. As described herein, for a batch that is ongoing and not yet complete, the systems and methods may determine an anomaly metric corresponding to a sample point during the batch using a PCA model of the industrial process corresponding to the sample point. The anomaly metric of the batch that corresponds to the sample point may also be referred to as the anomaly metric of the batch at the sample point. As described herein, the systems and methods may determine whether the anomaly metric of the batch at the sample point satisfies the anomaly detection threshold. If the anomaly metric of the batch at the sample point satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), the systems and methods may determine that the batch is anomalous at the sample point. In other words, the systems and methods may determine that a portion of the batch that is generated from a start point of the batch up to the sample point during the batch is anomalous.
As described herein, the systems and methods may generate a visual presentation of the anomaly metric for the batch based on the anomaly metric of the batch at different sample points as the batch proceeds in real-time. The systems and methods may present the visual presentation of the anomaly metric for the batch to the process operator of the industrial process. This implementation is advantageous, because it facilitates the process operator in monitoring the anomaly metric of the batch while the batch is ongoing.
As described herein, the systems and methods may also determine one or more process variables of the industrial process that contribute significantly to the anomaly metric of the batch at a particular sample point, and present to the process operator the one or more process variables and their contribution to the anomaly metric of the batch at the particular sample point. Thus, when the systems and methods determine that the batch is anomalous at the particular sample point, the process operator may reference the one or more process variables and their contribution to the anomaly metric of the batch at the particular sample point and adjust the industrial process accordingly. For example, the process operator may adjust a process variable among the one or more process variables of the industrial process to address the anomaly of the batch. As described herein, for each process variable among the one or more process variables, the systems and methods may provide an average value of the process variable in one or more non-anomalous batches of the industrial process to the process operator, thereby facilitating the process operator in adjusting the process variable to address the anomaly of the batch. Additionally or alternatively, when determining that the batch is anomalous at the particular sample point, the systems and methods may provide a recommendation to terminate the particular batch in advance, for example, due to a long time window between a start point of the batch and the particular sample point. In this case, the process operator may consider the recommendation and decide to dispose of the batch. Accordingly, the process operator may terminate the batch before the batch is complete to avoid further wasting production resources on the batch that is not being used.
As described herein, the systems and methods may evaluate the one or more process variables and their contribution to the anomaly metric of the batch at the particular sample point and/or evaluate the time window between the start point of the batch and the particular sample point, and automatically address the anomaly of the batch or terminate the batch based on such evaluation. This implementation is advantageous, because it enables an automatic response to the batch being detected as anomalous without human intervention.
Various illustrative embodiments will now be described in detail with reference to the figures. It should be understood that the illustrative embodiments described below are provided as examples and that other examples not explicitly described herein may also be captured by the scope of the claims set forth below. The systems and methods described herein may provide any of the benefits mentioned above, as well as various additional and/or alternative benefits that will be described and/or made apparent below.
In some embodiments, the industrial devices 120 may perform various operations and/or functionalities within an industrial environment. Non-limiting examples of an industrial device 120 may include, but are not limited to, an industrial controller (e.g., programmable automation controller such as programmable logic controller (PLC), etc.), a field device (e.g., a sensor, a meter, an Internet of Things (IoT) device, etc.), a motion control device (e.g., a motor drive, etc.), an operator interface device (e.g., a human-machine interface device, an industrial monitor, a graphic terminal, a message display device, etc.), an industrial automated machine (e.g., an industrial robot, etc.), a lot control system (e.g., a barcode marker, a barcode reader, etc.), a vision system device (e.g., a vision camera, etc.), a safety relay, an optical safety system, and/or other types of industrial devices. In some embodiments, an industrial device 120 may be positioned at a fixed location within the industrial facility 104. Alternatively, the industrial device 120 may be part of a mobile control system such as a control system implemented in a truck or in a service vehicle.
In some embodiments, the industrial devices 120 in one or more industrial facilities 104 may form one or more industrial automation systems. Non-limiting examples of the industrial automation system may include, but are not limited to, a batch control system (e.g., a mixing system, etc.), a continuous control system (e.g., a proportional integral derivative (PID) control systems, etc.), a discrete control system, and/or other types of industrial automation systems. In some embodiments, the industrial automation system may perform one or more industrial processes that are related to product manufacturing, material handling, and/or other industrial operations within the industrial facilities 104.
In some embodiments, the industrial controllers in the industrial automation system may facilitate the monitoring and/or control of an industrial process performed by the industrial automation system. For example, the industrial controllers may communicate with the field devices using native hardwired I/O or via a plant network (e.g., Ethernet/IP, Data Highway Plus, ControlNet, DeviceNet, etc.) and receive digital and/or analog signals from the field devices. The received signals may indicate a current state of the field devices and/or a current state (e.g., a temperature, a position, a part presence or absence, a fluid level, etc.) of the industrial process performed by the industrial automation system. In some embodiments, the industrial controllers may execute a control program that performs automated decision-making for the industrial process based on the received signals. The industrial controllers may then output corresponding digital and/or analog control signals to the field devices in accordance with the decisions made by the control program. For example, the output signals may include a device actuation signal, a temperature control signal, a position control signal, an operational command to a machining or material handling robot, a mixer control signal, a motion control signal, and/or other types of output signals. In some embodiments, the control program may include any suitable type of code to process input signals provided to the industrial controller and to control output signals generated by the industrial controller. For example, the control program may include ladder logic, sequential function charts, function block diagrams, structured text, and/or other programming structures.
In some embodiments, the edge devices 130 may collect industrial data from the industrial devices 120 and/or from other data sources (e.g., a local data store, an on-premises processing system, etc.) and transmit the data to the cloud platform 102 for storage and/or processing. For example, the edge devices 130 may collect the data from the industrial devices 120 and/or from other data sources at a predefined interval (e.g., every 3 s) and transmit the collected data to the cloud platform 102. In some embodiments, an edge device 130 may be located within an industrial facility 104 as an on-premises device that facilitates data communication between the industrial devices 120 in the industrial facility 104 and the cloud platform 102.
In some embodiments, the cloud platform 102 may provide various cloud-based services for the industrial automation systems implemented in the industrial facilities 104 of the industrial enterprise. As depicted in
In some embodiments, the cloud platform 102 may implement one or more applications and/or storage systems to provide the cloud-based services. For example, the cloud platform 102 may implement a cloud storage system 140 to which data may be ingested for data storage and data analytics. As another example, the cloud platform 102 may implement a control application that performs remote decision-making for an industrial automation system. The control application may generate one or more control commands based on real-time data that is collected from the industrial automation system and transmitted to the cloud platform 102, and issue the control commands to the industrial automation system. As another example, the cloud platform 102 may implement a lot control application that tracks a product unit throughout various stages of production and collects production data (e.g., a barcode identifier, an abnormal flag, production statistics, quality test data, etc.) as the product unit passes through each stage. The cloud platform 102 may also implement a visualization application (e.g., a cloud-based Human Machine Interface (HMI)), a reporting application, an Enterprise Resource Planning (ERP) application, and/or other applications to provide corresponding cloud-based services to one or more industrial automation systems implemented by the industrial enterprise.
In some embodiments, the cloud-based services provided by the cloud platform 102 may facilitate various operations of the industrial automation systems implemented by the industrial enterprise. For example, the cloud-based storage provided by the cloud platform 102 may be dynamically scaled to accommodate a massive amount of data continuously generated by the industrial devices 120 of the industrial automation systems. As another example, the industrial facilities 104 that are located at different geographical locations may transmit data generated by their industrial automation systems to the cloud platform 102 for aggregation, collective analysis, visualization, and/or enterprise-level reporting without the need to establish one or more private networks between the industrial facilities 104. As another example, a diagnostic application implemented on the cloud platform 102 may monitor a working condition of various industrial automation systems and/or various industrial devices 120 included in the industrial automation systems across a particular industrial facility 104, or across multiple industrial facilities 104 of the industrial enterprise. In some embodiments, the cloud platform 102 may also provide software as a service, thereby alleviating the burden of software maintenance, software upgrade, and/or software backup for various software applications implemented in the industrial automation systems.
In some embodiments, an industrial automation system may perform an industrial process in an industrial facility 104 of the industrial enterprise. The industrial process may be a process that generates one or more batches of product. For example, the industrial process may be a manufacturing process of penicillin in a bioreactor. In some embodiments, the industrial process may be associated with one or more process variables. The process variables may indicate a manufacturing condition in which the batches are generated in the industrial process. For example, in the industrial process that manufactures penicillin, the process variables may include a substrate flow rate, a cooling water flow rate, a temperature, a pH level, an off-gas CO2 level, an off-gas O2 level, an aeration rate, an agitator rate, etc. Other examples of the industrial process and the process variables of the industrial process are also possible and contemplated.
In some embodiments, for each batch generated in the industrial process, the system 100 may collect batch data of the batch. The batch data may include one or more samples collected at a predefined interval (e.g., every 3 s) during the batch. Each sample may be collected at a sample point during the batch and may include values of various process variables of the industrial process at the sample point. In some embodiments, to collect a sample of the batch at a sample point, one or more edge devices 130 may obtain values of various process variables of the industrial process at the sample point from one or more industrial devices 120 (e.g., a sensor, a field device, an IoT device, etc.) included in the industrial process that generates the batch. The edge devices 130 may then aggregate the values of the process variables in a predefined order to form the sample of the batch, and transmit the sample of the batch to the cloud platform 102. Thus, the batch data may include one or more samples collected at one or more sample points during the batch. In some embodiments, the batch data may be analyzed by an anomaly detection system to determine whether the batch is anomalous. In some embodiments, the batch data may be collected and analyzed as the batch proceeds in real-time. Additionally or alternatively, the batch data may be collected as the batch proceeds in real-time and may be analyzed after the batch is complete (e.g., during an off-peak time window).
As depicted in
The memory 202 may store and/or otherwise maintain executable data used by the processor 204 to perform one or more functionalities of the anomaly detection system 200 described herein. For example, the memory 202 may store instructions 206 that may be executed by the processor 204. In some embodiments, the memory 202 may be implemented by one or more memory or storage devices, including any memory or storage devices described herein, that are configured to store data in a transitory or non-transitory manner. In some embodiments, the instructions 206 may be executed by the processor 204 to cause the anomaly detection system 200 to perform one or more functionalities described herein. The instructions 206 may be implemented by any suitable application, software, code, and/or other executable data instance. Additionally, the memory 202 may also maintain any other data accessed, managed, used, and/or transmitted by the processor 204 in a particular implementation.
The processor 204 may be implemented by one or more computer processing devices, including general purpose processors (e.g., central processing units (CPUs), graphics processing units (GPUs), microprocessors, etc.), special purpose processors (e.g., application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), etc.), or the like. The anomaly detection system 200 may use the processor 204 (e.g., when the processor 204 is directed to perform operations represented by instructions 206 stored in the memory 202) and perform various functionalities associated with anomaly detection for a batch in any manner described herein or as may serve a particular implementation.
At operation 302, the anomaly detection system 200 may determine, for a batch generated in an industrial process, a T2-statistic metric and a Q-statistic metric of the batch in a Principal Component Analysis (PCA) model associated with the industrial process. The PCA model may be created based on one or more non-anomalous batches generated in the industrial process in which each non-anomalous batch is verified to not include any anomaly throughout its batch duration. In some embodiments, if the batch is already complete, the anomaly detection system 200 may use a PCA model associated with the industrial process that corresponds to an entire batch. In some embodiments, if the batch is ongoing and not yet complete, the anomaly detection system 200 may use a PCA model associated with the industrial process that corresponds to a particular sample point in the batch duration.
At operation 304, the anomaly detection system 200 may determine an anomaly metric of the batch based on the T2-statistic metric and the Q-statistic metric of the batch in the PCA model. For example, the anomaly detection system 200 may compute a normalized T2-statistic metric of the batch based on the T2-statistic metric of the batch and a confidence limit of the T2-statistic metric. The anomaly detection system 200 may compute a normalized Q-statistic metric of the batch based on the Q-statistic metric of the batch and a confidence limit of the Q-statistic metric. The anomaly detection system 200 may then compare the normalized T2-statistic metric and the normalized Q-statistic metric of the batch, and determine the anomaly metric of the batch based on such comparison. For example, the anomaly detection system 200 may determine the anomaly metric of the batch to be a highest value between the normalized T2-statistic metric and the normalized Q-statistic metric of the batch.
At operation 306, the anomaly detection system 200 may determine that the batch is anomalous based on the anomaly metric of the batch. For example, the anomaly detection system 200 may determine that the anomaly metric of the batch satisfies an anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), and therefore determine that the batch is anomalous. In some embodiments, the anomaly detection threshold may be a predefined threshold value (e.g., 1). Additionally or alternatively, the anomaly detection threshold may be determined using a machine learning model.
At operation 308, the anomaly detection system 200 may perform an operation in response to determining that the batch is anomalous. For example, the anomaly detection system 200 may present to a process operator of the industrial process a notification indicating that the batch is anomalous. As another example, the batch may be ongoing and the anomaly detection system 200 may identify, from various process variables of the industrial process, one or more process variables that contribute significantly to the batch being anomalous. The anomaly detection system 200 may then present the one or more process variables and their contribution towards the batch performance to the process operator to facilitate the process operator in addressing the anomaly of the batch. Additionally or alternatively, the anomaly detection system 200 may automatically adjust the one or more process variables based on their average value in one or more non-anomalous batches of the industrial process to address the anomaly of the batch. The anomaly detection system 200 may also perform other operations in response to determining that the batch is anomalous.
Thus, the anomaly detection system 200 may perform the anomaly detection for the batch generated in the industrial process. As described herein, the industrial process may generate one or more batches. In some embodiments, each batch may extend for a predefined batch duration from a start point of the batch to an end point of the batch. If the batch reached its end point, the industrial process may already generate the entire batch and the batch may be considered complete or finished. On the other hand, if the industrial process is still generating the batch and the batch has not reached its end point, the batch may be considered ongoing or in progress.
As described herein, the system 100 may collect multiple samples at a predefined interval (e.g., every 3 s) during the batch. Each sample may be collected at a sample point during the batch and may include values of various process variables of the industrial process at the sample point. In some embodiments, each sample point may be considered a reference point in the batch duration and may indicate a point in time at which a particular sample of a batch is collected relative to a start point of that batch. For example, the system 100 may collect K samples (e.g., 1150 samples) at the predefined interval (e.g., every 3 s) during each batch. Thus, the batch data of each batch may include K samples (e.g., 1150 samples) respectively collected at K sample points (e.g., 1150 sample points) within the batch duration of that batch. Accordingly, at a sample point k during a first batch, a sample kth of the first batch may be collected. Similarly, at the sample point k during a second batch, a sample kth of the second batch may be collected. A time distance between the sample point k during the first batch and the start point of the first batch may be equal to a time distance between the sample point k during the second batch and the start point of the second batch.
As described herein, the anomaly detection system 200 may perform anomaly detection for the batch using a PCA model associated with the industrial process. In some embodiments, the industrial process may have multiple PCA models, each PCA model may correspond to a sample point within the batch duration. Thus, for the industrial process in which K samples (e.g., 1150 samples) are respectively collected at K sample points for each batch, the anomaly detection system 200 may generate K PCA models (e.g., 1150 PCA models) corresponding to K sample points. Among K PCA models, a PCA model corresponding to sample point K may be considered the PCA model corresponding to entire batch, because the sample point K is the last sample point in the batch duration by which all K samples of a batch are collected. In some embodiments, to evaluate the anomaly for a batch that is complete, the anomaly detection system 200 may use the PCA model corresponding to entire batch among K PCA models (e.g., 1150 PCA models) of the industrial process. On the other hand, to evaluate the anomaly for an ongoing batch at a sample point k during the batch, the anomaly detection system 200 may use a PCA model corresponding to sample point k among K PCA models (e.g., 1150 PCA models) of the industrial process. In some embodiments, the anomaly detection system 200 may generate K PCA models (e.g., 1150 PCA models) for the industrial process in advance, and store these PCA models in a data storage (e.g., a local data storage and/or the cloud storage system 140).
As described herein, the anomaly detection system 200 may generate the PCA models for the industrial process based on one or more non-anomalous batches of the industrial process in which each non-anomalous batch is verified to not include any anomaly throughout its batch duration. In some embodiments, to create a PCA model, the anomaly detection system 200 may generate an input matrix corresponding to the PCA model from one or more samples in each non-anomalous batch, and create the PCA model based on the input matrix.
To illustrate,
In some embodiments, the anomaly detection system 200 may generate the input matrix X corresponding to an entire batch and use the input matrix X to create the PCA model corresponding to entire batch for the industrial process. To generate the input matrix X, for each non-anomalous batch in I non-anomalous batches, the anomaly detection system 200 may aggregate K samples of the non-anomalous batch in a chronological order of their sample points to form one row of the input matrix X as depicted in
X∈M
I×(J*K)
In some embodiments, the input matrix X may be subjected to an autoscaling operation (e.g., standardization transformation). The autoscaling operation may be performed for each column of the input matrix X and may move a center of a data cloud representing the elements in the column of the input matrix X to their mean value and normalize the elements in the column of the input matrix X. As a result of the autoscaling operation, for each column of the input matrix X, the elements in the column may center around their mean value and may have a unit variance (e.g., the standard deviation of 1). Accordingly, the dominance impact of the elements in the column of the input matrix X that are in large value ranges and the impact of non-linear trend in the input data when creating the PCA model may be mitigated.
As describe above, the input matrix X may be used to create the PCA model corresponding to entire batch. As described herein, the PCA model corresponding to entire batch may be the PCA model corresponding to sample point K among K PCA models of the industrial process. In some embodiments, the PCA model corresponding to entire batch may include one or more principal components, each principal component may be a linear combination of (J*K) initial variables corresponding to (J*K) columns of the input matrix X. These principal components may be uncorrelated to one another and may represent directions of the data in the input matrix X that indicate a maximal amount of variance. Accordingly, these principal components may be perpendicular to one another and may capture most variance (most information) of the data in the input matrix X. Thus, these principal components may form a principal component space in which the differences (the variance) between the data points representing the data in the input matrix X are better indicated as compared to an original space formed by (J*K) initial variables corresponding to (J*K) columns of the input matrix X. In the original space formed by (J*K) initial variables and in the principal component space formed by the principal components of the PCA model corresponding to entire batch, each data point may correspond to a particular row of the input matrix X and may represent a non-anomalous batch at its end point with all K samples of the non-anomalous batch being included in the particular row of the input matrix X.
An example of an original space and a principal component space of a PCA model is illustrated in diagram 500 of
As described above, the anomaly detection system 200 may generate the PCA model corresponding to entire batch based on the input matrix X. To generate the PCA model corresponding to entire batch, the anomaly detection system 200 may compute a covariance matrix C from the input matrix X as follows:
In Equation 1, I is the number of non-anomalous batches that are used to generate the PCA model corresponding to entire batch and other PCA models of the industrial process. The anomaly detection system 200 may then compute eigenvectors of the covariance matrix C and an eigenvalue of each eigenvector. The covariance matrix C may have (J*K) eigenvectors and (J*K) eigenvalues corresponding to (J*K) eigenvectors. The eigenvectors may represent the directions where there is the most variance of the data in the input matrix X, and therefore the eigenvectors may be used as the principal components of the PCA model corresponding to entire batch. Each eigenvector may have an eigenvalue and the eigenvalue may indicate the amount of variance carried in that eigenvector. Accordingly, the eigenvalue of each eigenvector may be referred to as the eigenvalue of the principal component that corresponds to the eigenvector and may indicate the amount of variance carried in that principal component. As the covariance matrix C has (J*K) eigenvectors, the PCA model corresponding to entire batch may have a maximum of (J*K) principal components.
In some embodiments, for each principal component among (J*K) principal components, the anomaly detection system 200 may compute a percentage between the eigenvalue of the principal component and a sum of the eigenvalues of (J*K) principal components. The percentage of the eigenvalue of the principal component may indicate a percentage of the variance of the data in the input matrix X that is carried by the principal component and may be referred to as the percentage of variance carried by the principal component. In some embodiments, the anomaly detection system 200 may select one or more principal components that carry the highest percentages of variance among (J*K) principal components. For example, the anomaly detection system 200 may select a total of A principal components that carry the highest percentages of variance among (J*K) principal components and have the total percentage of variance collectively carried by A principal components satisfying a predefined percentage threshold (e.g., ≥95%). The principal components being selected may be referred to as the retained principal components of the PCA model corresponding to entire batch. Other principal components may be omitted and may not be used in creating the PCA model corresponding to entire batch.
In some embodiments, the anomaly detection system 200 may form a loading matrix P of the PCA model corresponding to entire batch based on the retained principal components of the PCA model corresponding to entire batch. Each retained principal component may form a column of the loading matrix P. Thus, the loading matrix P may represent the principal component space of the PCA model corresponding to entire batch and may have the following dimensions:
In some embodiments, the anomaly detection system 200 may compute a score matrix T based on the input matrix X and the loading matrix P of the PCA model corresponding to entire batch. The score matrix T may indicate the projection of the input data, which is represented by the input matrix X, onto the principal component space of the PCA model corresponding to entire batch, which is represented by the loading matrix P. In some embodiments, the anomaly detection system 200 may compute the score matrix T as follows:
Thus, the loading matrix P∈M(J+K)×A and the score matrix T∈MI×A may represent the PCA model corresponding to entire batch and may be generated from the input matrix X∈MI×(J*K) that represents all K samples in the entire batch for each non-anomalous batch being used to generate the PCA models for the industrial process. In some embodiments, the loading matrix P and the score matrix T of the PCA model corresponding to entire batch may be generated in advance and may be stored in a data storage (e.g., a local data storage and/or the cloud storage system 140). In some embodiments, the anomaly detection system 200 may re-compute the loading matrix P and the score matrix T of the PCA model corresponding to entire batch periodically (e.g., every 2 months) using the non-anomalous batches that are generated most recently in the industrial process.
In some embodiments, in addition to the PCA model corresponding to entire batch, the anomaly detection system 200 may also create a PCA model for each sample point in the batch duration. For example, for a sample point k in the batch duration, the anomaly detection system 200 may create a PCA model corresponding to sample point k. The PCA model corresponding to sample point k may be created in a manner similar to the manner in which the PCA model corresponding to entire batch is created as described above. However, instead of using the input matrix X corresponding to an entire batch when generating the PCA model corresponding to entire batch, the anomaly detection system 200 may use an input matrix X(k) corresponding to the sample point k when creating the PCA model corresponding to sample point k.
To generate the input matrix X(k), for each non-anomalous batch in I non-anomalous batches, the anomaly detection system 200 may identify k samples that are collected between a start point of the non-anomalous batch and the sample point k during the non-anomalous batch. The anomaly detection system 200 may then aggregate k samples in a chronological order of their sample points to form one row of the input matrix X(k) as depicted in
In some embodiments, similar to the input matrix X, the input matrix X(k) may be subjected to the autoscaling operation (e.g., standardization transformation). The autoscaling operation may be performed for each column of the input matrix X(k) and may move a center of a data cloud representing the elements in the column of the input matrix X(k) to their mean value and normalize the elements in the column of the input matrix X(k). As a result of the autoscaling operation, for each column of the input matrix X(k), the elements in the column may center around their mean value and may have a unit variance (e.g., the standard deviation of 1). Accordingly, the dominance impact of the elements in the column of the input matrix X(k) that are in large value ranges and the impact of non-linear trend in the input data when creating the PCA model may be mitigated.
As describe above, the input matrix X(k) may be used to create the PCA model corresponding to sample point k. In some embodiments, the PCA model corresponding to sample point k may include one or more principal components, each principal component may be a linear combination of (J*k) initial variables corresponding to (J*k) columns of the input matrix X(k). These principal components may be uncorrelated to one another and may represent directions of the data in the input matrix X(k) that indicate a maximal amount of variance. Accordingly, these principal components may be perpendicular to one another and may capture most variance (most information) of the data in the input matrix X(k). Thus, these principal components may form a principal component space in which the differences (the variance) between the data points representing the data in the input matrix X(k) are better indicated as compared to an original space formed by (J*k) initial variables corresponding to (J*k) columns of the input matrix X(k). In the original space formed by (J*k) initial variables and in the principal component space formed by the principal components of the PCA model corresponding to sample point k, each data point may correspond to a particular row of the input matrix X(k) and may represent a non-anomalous batch at the sample point k with k samples that are collected from the start point of the non-anomalous batch up to the sample point k during the non-anomalous batch being included in the particular row of the input matrix X(k).
Considering the illustration in
As described above, the anomaly detection system 200 may generate the PCA model corresponding to sample point k from the input matrix X(k). Similar to generating the PCA model corresponding to entire batch, to generate the PCA model corresponding to sample point k, the anomaly detection system 200 may compute a covariance matrix C (k) from the input matrix X(k) as follows:
In Equation 3, I is the number of non-anomalous batches that are used to generate the PCA model corresponding to entire batch and other PCA models of the industrial process. The anomaly detection system 200 may then compute eigenvectors of the covariance matrix C (k) and an eigenvalue of each eigenvector. The covariance matrix C (k) may have (J*k) eigenvectors and (J*k) eigenvalues corresponding to (J*k) eigenvectors. The eigenvectors may represent the directions where there is the most variance of the data in the input matrix X(k), and therefore may be used as the principal components of the PCA model corresponding to sample point k. Each eigenvector may have an eigenvalue and the eigenvalue may indicate the amount of variance carried in that eigenvector. Accordingly, the eigenvalue of each eigenvector may be referred to as the eigenvalue of the principal component that corresponds to the eigenvector and may indicate the amount of variance carried in that principal component. As the covariance matrix C (k) has (J*k) eigenvectors, the PCA model corresponding to sample point k may have a maximum of (J*k) principal components.
In some embodiments, for each principal component among (J*k) principal components, the anomaly detection system 200 may compute a percentage between the eigenvalue of the principal component and a sum of the eigenvalues of (J*k) principal components. The percentage of the eigenvalue of the principal component may indicate a percentage of the variance of the data in the input matrix X(k) that is carried by the principal component and may be referred to as the percentage of variance carried by the principal component. In some embodiments, the anomaly detection system 200 may select one or more principal components that carry the highest percentages of variance among (J*k) principal components. For example, the anomaly detection system 200 may select a total of A principal components that carry the highest percentages of variance among (J*k) principal components and have the total percentage of variance collectively carried by A principal components satisfying a predefined percentage threshold (e.g., ≥95%). The principal components being selected may be referred to as the retained principal components of the PCA model corresponding to sample point k. Other principal components may be omitted and may not be used in creating the PCA model corresponding to sample point k.
It should be understood that the total number of retained principal components (e.g., A) in the PCA model corresponding to sample point k may be the same as or may be different from the total number of retained principal components in other PCA models of the industrial process (such as the PCA model corresponding to entire batch and/or the PCA model corresponding to another sample point).
In some embodiments, the anomaly detection system 200 may form a loading matrix P(k) of the PCA model corresponding to sample point k based on the retained principal components of the PCA model corresponding to sample point k. Each retained principal component may form a column of the loading matrix P(k). Thus, the loading matrix P(k) may represent the principal component space of the PCA model corresponding to sample point k and may have the following dimensions:
In some embodiments, the anomaly detection system 200 may compute a score matrix T(k) based on the input matrix X(k) and the loading matrix P(k) of the PCA model corresponding to sample point k. The score matrix T(k) may indicate the projection of the input data, which is represented by the input matrix X(k), onto the principal component space of the PCA model corresponding to sample point k, which is represented by the loading matrix P(k). In some embodiments, the anomaly detection system 200 may compute the score matrix T(k) as follows:
Thus, the loading matrix P(k)∈M(J+k)×A and the score matrix T(k)∈MI×A may represent the PCA model corresponding to sample point k and may be generated from the input matrix X(k)∈MI×(J+k). As described herein, the input matrix X(k) may represent k samples that are collected from the start point up to the sample point k in the batch duration for each non-anomalous batch being used to generate the PCA models for the industrial process. Similar to the PCA model corresponding to entire batch, the loading matrix P(k) and the score matrix T(k) of the PCA model corresponding to sample point k may be generated in advance and may be stored in a data storage (e.g., a local data storage and/or the cloud storage system 140). In some embodiments, the anomaly detection system 200 may re-compute the loading matrix P(k) and the score matrix T(k) of the PCA model corresponding to sample point k periodically (e.g., every 2 months) using the non-anomalous batches that are generated most recently in the industrial process.
Thus, as described above, each PCA model (e.g., the PCA model corresponding to entire batch, the PCA model corresponding to sample point k) may be generated from the non-anomalous batches of the industrial process and may represent a principal component space in which each non-anomalous batch is represented as a data point and the variance between the data points (the differences between the non-anomalous batches) are better indicated in the principal component space of the PCA model as compared to the original space formed by the initial variables corresponding to the sample data of the non-anomalous batches. As described herein, for the PCA model corresponding to entire batch, each data point may represent an entire non-anomalous batch, and therefore may reflect all K samples collected during the non-anomalous batch. For the PCA model corresponding to sample point k, each data point may represent a portion of a non-anomalous batch up to the sample point k, and therefore may reflect k samples collected from the start point up to the sample point k during the non-anomalous batch.
In some embodiments, the anomaly detection system 200 may use the PCA models to determine whether a batch generated in the industrial process is anomalous. As described herein, to determine whether a complete batch is anomalous, the anomaly detection system 200 may use the PCA model corresponding to entire batch. To determine whether an ongoing batch is anomalous at a sample point k during the ongoing batch, the anomaly detection system 200 may use the PCA model corresponding to sample point k.
To illustrate, to perform the anomaly detection for a particular batch that is complete or finished, the anomaly detection system 200 may determine a T2-statistic metric and a Q-statistic metric of the particular batch in the PCA model corresponding to entire batch using the loading matrix P and the score matrix T of the PCA model corresponding to entire batch.
For example, the anomaly detection system 200 may generate an input vector x representing the particular batch. Because the particular batch is complete, the particular batch may include all K samples of the particular batch, each sample may be collected at a sample point during the particular batch and may include J values of J process variables of the industrial process that are obtained at the sample point. To generate the input vector x for the particular batch, the anomaly detection system 200 may unfold K samples of the particular batch into the input vector x. For example, the anomaly detection system 200 may aggregate K samples of the particular batch in a chronological order of their sample points to form the only row of the input vector x. Thus, the input vector x representing the particular batch may have the following dimensions:
In some embodiments, the anomaly detection system 200 may compute a score t for the particular batch based on the input vector x and the loading matrix P of the PCA model corresponding to entire batch. The score t of the particular batch may indicate a projection of the data point corresponding to the particular batch, which is represented by the input vector x, onto the principal component space of the PCA model corresponding to entire batch, which is represented by the loading matrix P. In some embodiments, the anomaly detection system 200 may compute the score t of the particular batch as follows:
In some embodiments, the anomaly detection system 200 may compute the T2-statistic metric of the particular batch based on the score t of the particular batch and the score matrix T of the PCA model corresponding to entire batch. The T2-statistic metric of the particular batch may indicate the variance of the data point corresponding to the particular batch within the PCA model corresponding to entire batch. In some embodiments, the anomaly detection system 200 may compute the T2-statistic metric of the particular batch as follows:
In Equation 6, I is the number of non-anomalous batches that are used to generate the PCA model corresponding to entire batch and other PCA models of the industrial process as described herein.
In some embodiments, the anomaly detection system 200 may compute a residual error e for the particular batch based on the input vector x, the score t, and the loading matrix P of the PCA model corresponding to entire batch. The residual error e of the particular batch may indicate the difference of the data point corresponding to the particular batch and the projection of that data point back to the original space of the initial variables after that data point is projected onto the principal component space of the PCA model corresponding to entire batch. In some embodiments, the anomaly detection system 200 may compute the residual error e of the particular batch as follows:
In some embodiments, the anomaly detection system 200 may compute the Q-statistic metric of the particular batch based on the residual error e of the particular batch. The Q-statistic metric of the particular batch may indicate the difference (the residual) of the data point corresponding to the particular batch and the projection of that data point onto the PCA model corresponding to entire batch. In some embodiments, the anomaly detection system 200 may compute the Q-statistic metric of the particular batch as follows:
Thus, the T2-statistic metric and the Q-statistic metric of the particular batch may indicate a conformity level of the particular batch with the PCA model corresponding to entire batch that is created based on the non-anomalous batches generated in the industrial process. As described above, the T2-statistic metric of the particular batch may indicate the variance of the data point corresponding to the particular batch within the PCA model corresponding to entire batch. In other words, the T2-statistic metric may indicate the distance between the data point corresponding to the particular batch and the origin of the model plane in the PCA model corresponding to entire batch. Thus, the T2-statistic metric may indicate the deviation of the particular batch from its desired state within the PCA model corresponding to entire batch. On the other hand, the Q-statistic metric of the particular batch may indicate the difference of the data point corresponding to the particular batch and the projection of that data point onto the PCA model corresponding to entire batch. In other words, the Q-statistic metric may indicate the residual or the squared distance between the data point representing the particular batch and the model plane of the PCA model corresponding to entire batch. Thus, the T2-statistic metric and the Q-statistic metric may indicate 2 types of variance of the data point corresponding to the particular batch in the PCA model corresponding to entire batch. In
In some embodiments, to evaluate the anomaly of the particular batch, the anomaly detection system 200 may not use the T2-statistic metric and the Q-statistic metric of the particular batch, but instead using a normalized T2-statistic metric and a normalized Q-statistic metric of the particular batch.
In some embodiments, the anomaly detection system 200 may compute the normalized T2-statistic metric of the particular batch based on the T2-statistic metric of the particular batch and a confidence limit Tα2 of the T2-statistic metric. The confidence limit Tα2 of the T2-statistic metric may be an upper limit of a confidence interval of the T2-statistic metric that is associated with a predefined α level (e.g., α=5%). In some embodiments, the predefined α level may correspond to a confidence level, and the confidence level may be equal to (1−α)*100%. For example, an a level of 5% may correspond to a confidence level of 95%. In some embodiments, the confidence interval of the T2-statistic metric that is associated with the predefined α level or with the confidence level corresponding to the predefined α level may be a value range where the T2-statistic metrics of the non-anomalous batches lie within with the confidence level. For example, a confidence interval of the T2-statistic metric that is associated with the confidence level of 95% may be the value range where the T2-statistic metrics of the non-anomalous batches lie within 95% of the time, and the confidence limit Tα2 of the T2-statistic metric may be the upper limit of that confidence interval.
In some embodiments, the anomaly detection system 200 may compute the confidence limit Tα2 of the T2-statistic metric based on the PCA model corresponding to entire batch. In some embodiments, the anomaly detection system 200 may compute the confidence limit Tα2 of the T2-statistic metric as follows:
In Equation 9, I is the number of non-anomalous batches that are used to generate the PCA model corresponding to entire batch and other PCA models of the industrial process. A is the number of retained principal components of the PCA model corresponding to entire batch. FA,I-A,α is the F-distribution under an assumption of the predefined α level, with the PCA model being generated from I batches and including A retained principal components.
In some embodiments, the anomaly detection system 200 may compute the normalized T2-statistic metric (Tnorm2) of the particular batch based on the T2-statistic metric of the particular batch and the confidence limit Tα2 of the T2-statistic metric as follows:
Similarly, the anomaly detection system 200 may compute the normalized Q-statistic metric of the particular batch based on the Q-statistic metric of the particular batch and a confidence limit Qα of the Q-statistic metric. The confidence limit Qα of the Q-statistic metric may be an upper limit of a confidence interval of the Q-statistic metric that is associated with a predefined α level. In some embodiments, the confidence interval of the Q-statistic metric that is associated with the predefined α level or with the confidence level corresponding to the predefined α level may be a value range where the Q-statistic metrics of the non-anomalous batches lie within with the confidence level. For example, a confidence interval of the Q-statistic metric that is associated with the confidence level of 95% may be the value range where the Q-statistic metrics of the non-anomalous batches lie within 95% of the time, and the confidence limit Qα of the Q-statistic metric may be the upper limit of that confidence interval.
In some embodiments, the anomaly detection system 200 may compute the confidence limit Qα of the Q-statistic metric based on the PCA model corresponding to entire batch. In some embodiments, the anomaly detection system 200 may compute the confidence limit Qα of the Q-statistic metric as follows:
In Equation 11, zα is the standardized normal variable corresponding to the predefined α level. To compute other components in Equation 11, the anomaly detection system 200 may compute a residual matrix E of the PCA model corresponding to entire batch as follows:
The anomaly detection system 200 may then compute a covariance matrix V of the residual matrix E as follows:
In Equation 13, I is the number of non-anomalous batches that are used to generate the PCA model corresponding to entire batch and other PCA models of the industrial process as described herein.
The anomaly detection system 200 may then compute θ1, θ2, and θ3 based on the covariance matrix V as follows:
Thus, θ1 is the sum of the diagonal elements in the covariance matrix V, θ2 is the sum of the diagonal elements in the covariance matrix V squared, and θ3 is the sum of the diagonal elements in the covariance matrix V cubed.
The anomaly detection system 200 may then compute h0 as follows:
In some embodiments, after computing the components based on Equations 12-15 as described above, the anomaly detection system 200 may use these components in Equation 11 to compute the confidence limit Qα of the Q-statistic metric. The anomaly detection system 200 may then compute the normalized Q-statistic metric (Qnorm) of the particular batch based on the Q-statistic metric of the particular batch and the confidence limit Qα of the Q-statistic metric as follows:
Thus, according to Equation 10, to compute the normalized T2-statistic metric of the particular batch, the anomaly detection system 200 may divide the T2-statistic metric of the particular batch by the upper limit Tα2 of the confidence interval of the T2-statistic metric where the T2-statistic metrics of the non-anomalous batches lie within most of the time (e.g., 95% of the time, if the confidence level is 95%). Similarly, according to Equation 16, to compute the normalized Q-statistic metric of the particular batch, the anomaly detection system 200 may divide the Q-statistic metric of the particular batch by the upper limit Qα of the confidence interval of the Q-statistic metric where the Q-statistic metrics of the non-anomalous batches lie within most of the time (e.g., 95% of the time, if the confidence level is 95%). Thus, due to this normalization, the normalized T2-statistic metric of the particular batch and the normalized Q-statistic metric of the particular batch may be brought to the same scale.
To illustrate, assuming that the particular batch is not anomalous. In this case, the T2-statistic metric of the particular batch may likely (e.g., 95% likely, if the confidence level is 95%) lie within the confidence interval of the T2-statistic metric for the non-anomalous batches, and therefore the normalized T2-statistic metric of the particular batch may likely (e.g., 95% likely) fall within [0, 1] according to Equation 10. Similarly, when the particular batch is not anomalous, the Q-statistic metric of the particular batch may likely (e.g., 95% likely, if the confidence level is 95%) lie within the confidence interval of the Q-statistic metric for the non-anomalous batches, and therefore the normalized Q-statistic metric of the particular batch may likely (e.g., 95% likely) fall within [0, 1] according to Equation 16. Thus, in this case, the normalized T2-statistic metric of the particular batch and the normalized Q-statistic metric of the particular batch may both likely be in the value range [0, 1] even though the T2-statistic metric of the particular batch and the Q-statistic metric of the particular batch may be in very different value ranges prior to normalization. Because the normalization brings the normalized T2-statistic metric of the particular batch and the normalized Q-statistic metric of the particular batch to the same scale, the normalized T2-statistic metric of the particular batch and the normalized Q-statistic metric of the particular batch can be compared to one another.
In some embodiments, the anomaly detection system 200 may compare the normalized T2-statistic metric of the particular batch and the normalized Q-statistic metric of the particular batch, and determine an anomaly metric of the particular batch based on such comparison. For example, the anomaly detection system 200 may determine the anomaly metric of the particular batch to be the highest value between the normalized T2-statistic metric of the particular batch and the normalized Q-statistic metric of the particular batch. Accordingly, the anomaly detection system 200 may determine the anomaly metric of the particular batch as follows:
Determining the anomaly metric of the particular batch using Equation 17 is advantageous. As described herein, the T2-statistic metric and the Q-statistic metric of the particular batch may indicate 2 types of variance of the data point corresponding to the particular batch in the PCA model corresponding to entire batch (also referred to in this paragraph as the PCA model for simplification). Thus, according to Equation 17, the anomaly detection system 200 may select, between the normalized T2-statistic metric and the normalized Q-statistic metric of the particular batch, the normalized metric that indicates the larger amount of variation to be the anomaly metric of the particular batch. In other words, the normalized metric that better indicates the variance between the data point corresponding to the particular batch and the data points corresponding to the non-anomalous batches in the PCA model, and therefore better indicates the inconformity of the particular batch with the PCA model, may be selected as the anomaly metric of the particular batch. As a result, the accuracy in detecting anomaly for the particular batch based on the anomaly metric of the particular batch may be improved.
Due to the flexibility in selecting which normalized metric to be the anomaly metric for a batch, the anomaly metric of the particular batch may be the normalized T2-statistic metric of the particular batch, while the anomaly metric of a different batch may be the normalized Q-statistic metric of the different batch. Alternatively, the anomaly metric of the particular batch may be the normalized Q-statistic metric of the particular batch, while the anomaly metric of the different batch may be the normalized T2-statistic metric of the different batch.
In some embodiments, the anomaly detection system 200 may determine whether the anomaly metric of the particular batch satisfies an anomaly detection threshold. If the anomaly metric of the particular batch satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), the anomaly detection system 200 may determine that the particular batch is anomalous.
In some embodiments, the anomaly detection threshold may be a predefined threshold value. For example, the anomaly detection threshold may be equal to 1. In this case, if the anomaly metric of the particular batch is the normalized T2-statistic metric of the particular batch and the anomaly metric of the particular batch exceeds the anomaly detection threshold
the anomaly detection system 200 may determine that the T2-statistic metric of the particular batch is higher than the upper limit Tα2 of the confidence interval of the T2-statistic metric. Thus, the anomaly detection system 200 may determine that the T2-statistic metric of the particular batch falls outside the confidence interval where the T2-statistic metrics of the non-anomalous batches lie within most of the time (e.g., 95% of the time, if the confidence level is 95%). Accordingly, the anomaly detection system 200 may determine that the particular batch is anomalous.
Similarly, if the anomaly metric of the particular batch is the normalized Q-statistic metric of the particular batch and the anomaly metric of the particular batch exceeds the anomaly detection threshold
the anomaly detection system 200 may determine that the Q-statistic metric of the particular batch is higher than the upper limit Qα of the confidence interval of the Q-statistic metric. Thus, the anomaly detection system 200 may determine that the Q-statistic metric of the particular batch falls outside the confidence interval where the Q-statistic metrics of the non-anomalous batches lie within most of the time (e.g., 95% of the time, if the confidence level is 95%). Accordingly, the anomaly detection system 200 may determine that the particular batch is anomalous.
However, using a predefined threshold value (e.g., 1) as the anomaly detection threshold may result in false positives and/or false negatives in anomaly detection. As an example, because the confidence interval corresponds to a confidence level that is below 100%, there is a possibility that the T2-statistic metric (or the Q-statistic metric) of the particular batch may fall outside the confidence interval where the T2-statistic metrics (or the Q-statistic metrics) of the non-anomalous batches lie within most of the time (e.g., 95% of the time, if the confidence level is 95%) but the particular batch is actually non-anomalous. In this case, the anomaly detection result for the particular batch may be a false positive.
In some embodiments, to reduce the false positives and the false negatives in anomaly detection, instead of or in addition to using a predefined threshold value as the anomaly detection threshold as described above, the anomaly detection system 200 may determine the anomaly detection threshold using a machine learning model. In some embodiments, the machine learning model may be trained by a training system. An example training system 600 is illustrated in
As depicted in
As depicted in
An example method 700 for determining the candidate anomaly detection thresholds using the machine learning model 602 is illustrated in
At operation 702, the machine learning model 602 may assign the candidate anomaly detection threshold an initial value. For example, the machine learning model 602 may set the initial value of the candidate anomaly detection threshold to be 1.
At operation 704, the machine learning model 602 may select a learning rate from a predefined set of learning rate. The predefined set of learning rate may include one or more learning rates. A learning rate may be positive (e.g., 0.01) or may be negative (e.g., −0.01).
At operation 706, the machine learning model 602 may generate a predicted output for the one or more batches 606 based on the candidate anomaly detection threshold. For each batch 606 among the one or more batches 606, the predicted output may indicate whether the batch 606 is predicted to be anomalous.
In some embodiments, to generate the predicted output, the machine learning model 602 may determine the anomaly metric for each batch 606 among the one or more batches 606. As described herein, the anomaly metric of the batch 606 may be the normalized T2-statistic metric or the normalized Q-statistic metric of the batch 606 that are computed using the PCA model corresponding to entire batch. In some embodiments, the machine learning model 602 may compare the anomaly metric of the batch 606 to the candidate anomaly detection threshold. If the anomaly metric of the batch 606 exceeds the candidate anomaly detection threshold, the machine learning model 602 may determine the predicted output for the batch 606 to be anomalous. If the anomaly metric of the batch 606 does not exceed the candidate anomaly detection threshold, the machine learning model 602 may determine the predicted output for the batch 606 to be non-anomalous. Thus, the predicted output of the one or more batches 606 may indicate whether each batch among the one or more batches 606 is predicted to be anomalous based on the candidate anomaly detection threshold. In some embodiments, the machine learning model 602 may provide the predicted output of the one or more batches 606 to the feedback computing unit 604 as depicted in
At operation 708, the feedback computing unit 604 may determine a false detection rate based on the predicted output of the one or more batches 606 and a target output of the one or more batches 606. The target output of the one or more batches 606 may indicate whether each batch in the one or more batches 606 is actually anomalous. In some embodiments, to determine the false detection rate based on the predicted output and the target output, the feedback computing unit 604 may determine a number of false positive results where a batch 606 is predicted to be anomalous as indicated in the predicted output generated by the machine learning model 602, but is actually non-anomalous as indicated in the target output of the one or more batches 606. The feedback computing unit 604 may also determine a number of false negative results where a batch 606 is predicted to be non-anomalous as indicated in the predicted output generated by the machine learning model 602, but is actually anomalous as indicated in the target output of the one or more batches 606. The feedback computing unit 604 may then calculate a sum value of the number of false positive results and the number of false negative results, and determine the false detection rate to be a ratio between the sum value and a total number of the batches 606. Thus, the false detection rate may indicate a rate at which the anomaly detection performed for the batches 606 using the candidate anomaly detection threshold is inaccurate.
In some embodiments, the feedback computing unit 604 may provide the false detection rate back to the machine learning model 602. For example, the feedback computing unit 604 may back-propagate the false detection rate to the machine learning model 602 as depicted in
At operation 710, the machine learning model 602 may determine whether the false detection rate satisfies a predefined false detection rate threshold (e.g., less than 5%). If the false detection rate satisfies the predefined false detection rate threshold, the machine learning model 602 may determine that the anomaly detection using the candidate anomaly detection threshold is sufficiently accurate. In this case, the method 700 may proceed to operation 712. At operation 712, the machine learning model 602 may output the candidate anomaly detection threshold and the false detection rate associated with the candidate anomaly detection threshold.
At operation 714, the machine learning model 602 may determine whether the machine learning model 602 reaches the end of the predefined set of learning rate. If the end of the predefined set of learning rate is reached, the machine learning model 602 may determine that the machine learning model 602 is already trained with all learning rates included in the predefined set of learning rate, and thus the method 700 may end. On the other hand, if the end of the predefined set of learning rate is not reached, at operation 716, the machine learning model 602 may reset the candidate anomaly detection threshold to 1 and select a different learning rate in the predefined set of learning rate. The method 700 may then return to operation 706 to continue training the machine learning model 602 but with the different learning rate.
If at operation 710, the machine learning model 602 determines that the false detection rate does not satisfy the predefined false detection rate threshold (e.g., less than 5%), the machine learning model 602 may determine that the anomaly detection using the candidate anomaly detection threshold is not sufficiently accurate. In this case, the method 700 may proceed to operation 718.
At operation 718, the machine learning model 602 may determine whether the number of training cycles performed by the machine learning model 602 satisfies a number of training cycle threshold (e.g., equal to or greater than 500 training cycles). If the number of training cycles performed by the machine learning model 602 does not satisfy the number of training cycle threshold, the machine learning model 602 may determine that the machine learning model 602 is not sufficiently trained with the learning rate. In this case, the method 700 may proceed to operation 720.
At operation 720, the machine learning model 602 may adjust the candidate anomaly detection threshold to perform another training cycle with the learning rate. For example, the machine learning model 602 may increase the candidate anomaly detection threshold by an amount equal to the learning rate. The method 700 may then return to operation 706 to perform another training cycle of the machine learning model 602 with the learning rate using the adjusted candidate anomaly detection threshold.
If at operation 718, the machine learning model 602 determines that the number of training cycles performed by the machine learning model 602 satisfies the number of training cycle threshold, the machine learning model 602 may determine that the machine learning model 602 is subjected to a sufficient number of training cycles with the learning rate but does not find a candidate anomaly detection threshold that results in a false detection rate satisfying the predefined false detection rate threshold in these training cycles. In this case, the method 700 may return to operation 714 to determine whether there is a different learning rate to continue training the machine learning model 602 as described above.
Thus, as described in
As described herein, the anomaly detection threshold may be used to determine whether a particular batch is anomalous. For example, if the anomaly metric of the particular batch satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), the anomaly detection system 200 may determine that the particular batch is anomalous. In some embodiments, in response to determining that the particular batch is anomalous, the anomaly detection system 200 may display to a process operator (e.g., a human operator) of the industrial process a notification indicating that the particular batch is anomalous. In some embodiments, the anomaly detection system 200 may perform the anomaly detection for multiple complete batches in group. The anomaly detection system 200 may then generate an anomaly detection report including an anomaly detection result for each batch among the multiple complete batches, and provide the anomaly detection report to the process operator. In some embodiments, the anomaly detection system 200 may perform the anomaly detection for multiple complete batches during an off-peak time window.
In some embodiments, the anomaly detection system 200 may not only determine whether a complete batch is anomalous but also determine whether an ongoing batch is anomalous at one or more sample points during the ongoing batch. For example, during a particular batch that is ongoing and not yet finished, when a sample k is collected at a sample point k during the particular batch, the anomaly detection system 200 may determine whether the particular batch is anomalous at the sample point k using the PCA model corresponding to sample point k.
In some embodiments, to determine whether the particular batch is anomalous at the sample point k while the particular batch is ongoing, the anomaly detection system 200 may determine an anomaly metric corresponding to the sample point k during the particular batch. The anomaly metric corresponding to the sample point k during the particular batch may also be referred to as the anomaly metric corresponding to sample point k of the particular batch, the anomaly metric at sample point k of the particular batch, or the anomaly metric of the particular batch at sample point k. As described herein, the anomaly metric of the particular batch at sample point k may be determined using the PCA model corresponding to sample point k.
As described herein, the PCA model corresponding to sample point k may be generated from the non-anomalous batches of the industrial process and may represent a principal component space in which each data point corresponds to a non-anomalous batch and the variance between the data points (the differences between the non-anomalous batches) are better indicated in the principal component space of the PCA model corresponding to sample point k as compared to the original space formed by the initial variables corresponding to the sample data of the non-anomalous batches. In the PCA model corresponding to sample point k, a data point corresponding to a non-anomalous batch may represent a portion of the non-anomalous batch up to the sample point k, and therefore may reflect k samples collected from the start point of the non-anomalous batch up to the sample point k during the non-anomalous batch. As described herein, the PCA model corresponding to sample point k may have the loading matrix P(k)∈M(J*K)×A and the score matrix T(k)∈MI×A.
In some embodiments, the anomaly detection system 200 may determine the anomaly metric corresponding to sample point k of the particular batch using the loading matrix P(k) and the score matrix T(k) of the PCA model corresponding to sample point k. In some embodiments, the anomaly detection system 200 may generate an input vector x(k) representing the particular batch at the sample point k. The particular batch at the sample point k may include k samples of the particular batch that are collected from the start point of the particular batch up to the sample point k during the particular batch. Each sample may be collected at a sample point between the start point and the sample point k during the particular batch and may include J values of J process variables of the industrial process that are obtained at the sample point. In some embodiments, to generate the input vector x(k) representing the particular batch at the sample point k, the anomaly detection system 200 may identify k samples of the particular batch that are collected from the beginning of the particular batch up to the sample point k during the particular batch, and aggregate k samples in a chronological order of their sample points to form the only row of the input vector x(k). Thus, the input vector x(k) representing the particular batch at the sample point k may have the following dimensions:
In some embodiments, the anomaly detection system 200 may determine the anomaly metric corresponding to sample point k of the particular batch that is ongoing in a manner similar to determining the anomaly metric of a batch that is complete as described above. In particular, the anomaly detection system 200 may determine a score t(k), a T2-statistic metric T2(k), a residual error e(k), a Q-statistic metric Q(k), a confidence limit T2(k), a normalized T2-statistic metric Tnorm2(k), a confidence limit Qα(k), a normalized Q-statistic metric Qnorm(k), and the anomaly metric of the particular batch that correspond to sample point k using Equations 5-17. However, when determining these components corresponding to sample point k for the particular batch, the anomaly detection system 200 may not use the input vector x representing the batch that is complete and may not use the loading matrix P and the score matrix T of the PCA model corresponding to entire batch in Equations 5-17. Instead, the anomaly detection system 200 may use the input vector x(k) representing the particular batch at the sample point k and use the loading matrix P(k) and the score matrix T(k) of the PCA model corresponding to sample point k in Equations 5-17 to determine the anomaly metric corresponding to sample point k of the particular batch.
Accordingly, when determining a first anomaly metric corresponding a first sample point that is at a first time t1 for the particular batch, the anomaly detection system 200 may use a first PCA model corresponding to the first sample point. As described herein, the first PCA model corresponding to the first sample point may be created based on a first batch portion of one or more non-anomalous batches in the industrial process, in which the first batch portion of each non-anomalous batch is generated between a start point of the non-anomalous batch and the first sample point during the non-anomalous batch. On the other hand, when determining a second anomaly metric corresponding a second sample point that is at a second time t2 for the particular batch, the anomaly detection system 200 may use a second PCA model corresponding to the second sample point. As described herein, the second PCA model corresponding to the second sample point may be created based on a second batch portion of the non-anomalous batches in the industrial process, in which the second batch portion of each non-anomalous batch is generated between the start point of the non-anomalous batch and the second sample point during the non-anomalous batch. If the second sample point is subsequent the first sample point in the batch duration, the second batch portion of each non-anomalous batch may include the first batch portion of the non-anomalous batch and also include one or more samples that are generated between the first sample point and the second sample point during the non-anomalous batch.
According to Equation 17, when determining the anomaly metric corresponding to sample point k of the particular batch in which the particular batch is ongoing, the anomaly detection system 200 may select the highest value between the normalized T2-statistic metric corresponding to sample point k (Tnorm2(k)) of the particular batch and the normalized Q-statistic metric corresponding to sample point k (Qnorm(k)) of the particular batch to be the anomaly metric of the particular batch at sample point k. Similar to the T2-statistic metric and the Q-statistic metric of a batch that is complete, the T2-statistic metric corresponding to sample point k (T2(k)) and the Q-statistic metric corresponding to sample point k (Q(k)) of the particular batch that is ongoing may indicate 2 types of variance of the data point corresponding to the particular batch in the PCA model (in this case, such variance is the variance of the data point corresponding to the particular batch at sample point k in the PCA model corresponding to sample point k). Thus, according to Equation 17, the anomaly detection system 200 may select, between the normalized T2-statistic metric corresponding to sample point k (Tnorm2(k)) of the particular batch and the normalized Q-statistic metric corresponding to sample point k (Qnorm(k)) of the particular batch, the normalized metric that indicates the larger amount of variation to be the anomaly metric corresponding to sample point k of the particular batch. In other words, the normalized metric that better indicates the variance between the data point corresponding to the particular batch at sample point k and the data points corresponding to the non-anomalous batches at sample point k in the PCA model corresponding to sample point k, and therefore better indicates the inconformity of the particular batch at sample point k with the PCA model corresponding to sample point k, may be selected as the anomaly metric corresponding to sample point k the particular batch or the anomaly metric of the particular batch at sample point k.
Thus, due to the flexibility in selecting which normalized metric to be the anomaly metric of the particular batch at a sample point, the first anomaly metric of the particular batch at the first sample point may be the normalized T2-statistic metric corresponding to the first sample point of the particular batch, while the second anomaly metric of the particular batch at the second sample point may be the normalized Q-statistic metric corresponding to the second sample point of the particular batch. Alternatively, the first anomaly metric of the particular batch at the first sample point may be the normalized Q-statistic metric corresponding to the first sample point of the particular batch, while the second anomaly metric of the particular batch at the second sample point may be the normalized T2-statistic metric corresponding to the second sample point of the particular batch. The normalized T2-statistic metric corresponding to a sample point of the particular batch may be referred to as the normalized T2-statistic metric of the particular batch at the sample point. Similarly, the normalized Q-statistic metric corresponding to the sample point of the particular batch may be referred to as the normalized Q-statistic metric of the particular batch at the sample point.
In some embodiments, the anomaly detection system 200 may generate a visual representation of the anomaly metric for the particular batch based on the anomaly metric of the particular batch at different sample points. For example, when a sample k is collected at a sample point k while the particular batch is ongoing, the sample k may be considered the most recent sample collected for the particular batch. As described herein, the anomaly detection system 200 may determine the anomaly metric of the particular batch at sample point k. The anomaly detection system 200 may then generate or update the visual representation of the anomaly metric of the particular batch to illustrate the anomaly metric of the particular batch from the start point of the particular batch up to the sample point k. The visual representation of the anomaly metric of the particular batch may indicate the anomaly metric of the particular batch at various sample points between the start point of the particular batch and the sample point k at which the sample k is collected. Accordingly, the visual representation of the anomaly metric of the particular batch may indicate a real-time (or substantially real-time or near real-time) trajectory of the anomaly metric of the particular batch while the batch is being generated by the industrial process.
As depicted in
Accordingly, as described above, when the sample k is collected at the sample point k while the particular batch is ongoing, the anomaly detection system 200 may determine the anomaly metric of the particular batch at sample point k, and determine whether the anomaly metric of the particular batch at sample point k satisfies the anomaly detection threshold. If the anomaly metric of the particular batch at sample point k satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), the anomaly detection system 200 may determine that the particular batch at the sample point k, which includes k samples collected from the start point up to the sample point k of the particular batch, does not conform with the PCA model corresponding to sample point k. As described herein, the PCA model corresponding to sample point k may be generated based on a portion of one or more non-anomalous batches, in which the portion of each non-anomalous batch includes k samples collected from the start point up to the sample point k of the non-anomalous batch. As the particular batch at the sample point k does not conform with the PCA model corresponding to sample point k, the anomaly detection system 200 may determine that the particular batch at the sample point k is anomalous or the particular batch is anomalous at the sample point k.
In some embodiments, in response to determining that the particular batch is anomalous at the sample point k, the anomaly detection system 200 may present to the process operator of the industrial process a notification indicating that the particular batch is anomalous at the sample point k. The notification may be an alert notification displayed on the user interface 800 that shows the real-time or near real-time trajectory of the anomaly metric of the particular batch as depicted in
In some embodiments, in response to determining that the particular batch is anomalous at the sample point k, the anomaly detection system 200 may determine a contribution of each process variable of the industrial process to the performance of the particular batch at the sample point k, thereby facilitating the process operator in addressing the anomaly of the particular batch as the particular batch is still ongoing. In some embodiments, to determine the contribution of each process variable to the performance of the particular batch at the sample point k, for each process variable j among J process variables of the industrial process, the anomaly detection system 200 may determine a variable contribution of the process variable j towards the anomaly metric of the particular batch at sample point k. In some embodiments, the variable contribution of the process variable j towards the anomaly metric of the particular batch at sample point k may be the variable contribution of the process variable j towards the pre-normalized anomaly metric (the T2-statistic metric or the Q-statistic metric) of the particular batch at sample point k and may be determined as follows:
Thus, according to Equation 18, if the anomaly metric of the particular batch at sample point k is the normalized T2-statistic metric of the particular batch at sample point k (Tnorm2(k)), the variable contribution of the process variable j towards the anomaly metric of the particular batch at sample point k may be the variable contribution of the process variable j towards the T2-statistic metric of the particular batch at sample point k (CT
In some embodiments, the anomaly detection system 200 may determine the variable contribution of the process variable j towards the T2-statistic metric of the particular batch at sample point k as follows:
In Equation 19, A is the number of retained principal components of the PCA model corresponding to sample point k. S−1k,aa is the diagonal element ath in the inverse matrix of the covariance matrix S of the score matrix T(k). The covariance matrix S of the score matrix T(k) may be computed as follows:
In Equation 20, I is the number of non-anomalous batches that are used to generate the PCA model corresponding to sample point k and other PCA models of the industrial process as described herein.
Back to Equation 19, t(k)a is the element ath of the score t(k). As described herein, the score t(k) may be computed based on the Equation 5 and may have the following dimensions t(k)∈M1×A. In Equation 19, xjk is process variable j among J process variables of the sample k. As described herein, the sample k may be collected at the sample point k during the particular batch and may include J process variables of the industrial process that are obtained at the sample point k. In Equation 19, P(k)jk,a is an element of the loading matrix P(k) that is located at the column a and the row (J*(k−1)+j), which corresponds to the process variable j of the sample k in the column a. As described herein, the loading matrix P(k) may represent the PCA model corresponding to sample point k and may have the following dimensions P(k)∈M(J*k)×A. In some embodiments, the anomaly detection system 200 may determine these components and use these components in Equation 19 to compute the variable contribution of the process variable j towards the T2-statistic metric of the particular batch at sample point k.
In some embodiments, the anomaly detection system 200 may determine the variable contribution of the process variable j towards the Q-statistic metric of the particular batch at sample point k as follows:
In Equation 21, J is the number of process variables of the industrial process, and e(k) is the residual error corresponding to sample point k of the particular batch. As described herein, the residual error e(k) may be computed based on the Equation 7 and may have the following dimensions e(k)∈M1×Jk. In Equation 21, e(k)jk is an element located at column (J*(k−1)+j) of the residual error e(k), which corresponds to the process variable j of the sample k in the residual error e(k). In some embodiments, the anomaly detection system 200 may determine e(k) jk and use this component in Equation 21 to compute the variable contribution of the process variable j towards the Q-statistic metric of the particular batch at sample point k.
Thus, the anomaly detection system 200 may use one or more equations among Equations 18-21 to determine the variable contribution of each process variable of the industrial process towards the anomaly metric of the particular batch at sample point k, depending on whether the anomaly metric of the particular batch at sample point k is the normalized T2-statistic metric of the particular batch at sample point k (Tnorm2(k)) or the normalized Q-statistic metric of the particular batch at sample point k (Qnorm(k)).
In some embodiments, once the variable contribution of each process variable towards the anomaly metric of the particular batch at sample point k is determined, the anomaly detection system 200 may select one or more particular process variables of the industrial process based on their variable contribution. For example, for each process variable of the industrial process, the anomaly detection system 200 may compute a percentage (or other types of ratio) between the variable contribution of the process variable towards the anomaly metric of the particular batch at sample point k and a sum of the variable contributions of all process variables towards the anomaly metric of the particular batch at sample point k. This percentage may be referred to as the contribution percentage of the process variable towards the anomaly of the particular batch at sample point k.
In some embodiments, the anomaly detection system 200 may select the one or more particular process variables that have their contribution percentage towards the anomaly of the particular batch at sample point k satisfying a contribution percentage threshold (e.g., more than 35%). Additionally or alternatively, the anomaly detection system 200 may select a predefined number of particular process variables (e.g., 5 process variables) that have the highest contribution percentage towards the anomaly of the particular batch at sample point k among various process variables of the industrial process. These particular process variables may have a significant contribution towards the pre-normalized anomaly metric (the T2-statistic metric or the Q-statistic metric) of the particular batch at sample point k and therefore may be a potential cause for the particular batch being anomalous at the sample point k.
In some embodiments, the anomaly detection system 200 may present, to the process operator of the industrial process, the particular process variables of the industrial process as the potential cause of the particular batch being anomalous at the sample point k. For example, as depicted in
In some embodiments, to further facilitate the process operator in addressing the anomaly of the particular batch at the sample point k, for each process variable that is determined to be the potential cause of the anomaly of the particular batch at the sample point k, the anomaly detection system 200 may compute an average value of the process variable in one or more non-anomalous batches of the industrial process. The average value of the process variable in the non-anomalous batches may be the average of one or more values of the process variable that are used when the non-anomalous batches are generated. In some embodiments, the anomaly detection system 200 may present to the process operator a recommendation to adjust the industrial process based on the average value of the process variables in the non-anomalous batches. For example, the anomaly detection system 200 may provide to the process operator the average value of the process variable in the non-anomalous batches, and the process operator may adjust the process variable of the industrial process towards the average value. Additionally or alternatively, the anomaly detection system 200 may compute a difference value between a current value of the process variable that is being used to generate the particular batch and the average value of the process variable in the non-anomalous batches. The anomaly detection system 200 may display to the process operator the difference value, and the process operator may adjust the process variable of the industrial process by a delta amount equal to the difference value.
In some embodiments, instead of or in addition to the recommendation to adjust one or more process variables of the industrial process as described above, the anomaly detection system 200 may provide to the process operator a recommendation to terminate the particular batch before the particular batch is complete. For example, when the anomaly detection system 200 determines that the particular batch is anomalous at the sample point k, the anomaly detection system 200 may determine a time distance between the start point of the particular batch and the sample point k, and calculate a percentage (or other types of ratio) between the time distance and the batch duration. This percentage may be referred to as an anomalous time percentage of the particular batch. In some embodiments, the anomaly detection system 200 may determine whether the anomalous time percentage of the particular batch satisfies a time percentage threshold (e.g., more than 75%). If the anomalous time percentage of the particular batch satisfies the time percentage threshold, the anomaly detection system 200 may determine that the time window between the start point of the particular batch and the sample point k accounts for a significant portion of the particular batch and the particular batch at the sample point k, which includes the samples collected during this time window, is determined to be anomalous. Accordingly, the anomaly detection system 200 may determine that a significant portion of the particular batch is likely unusable due to the anomaly of the particular batch at the sample point k. In this case, the anomaly detection system 200 may generate a recommendation to terminate the particular batch prematurely before the particular batch reaches its end point to avoid further wasting production resources on the particular batch. The anomaly detection system 200 may then provide the recommendation to terminate the particular batch to the process operator for consideration.
In some embodiments, instead of providing the recommendation to address the anomaly of the particular batch or to prematurely terminate the particular batch to the process operator, the anomaly detection system 200 may itself address the anomaly of the particular batch or prematurely terminate the particular batch without human intervention. As an example, to address the anomaly of the particular batch, for each process variable that is determined to be the potential cause of the anomaly of the particular batch at the sample point k, the anomaly detection system 200 may automatically adjust the process variable of the industrial process based on the average value of the process variable in the non-anomalous batches. For example, the anomaly detection system 200 may adjust the process variable of the industrial process to be the average value of the process variable in the non-anomalous batches. As another example, when the anomaly detection system 200 determines that the anomalous time percentage of the particular batch satisfies the time percentage threshold (e.g., more than 75%), the anomaly detection system 200 may automatically terminate the particular batch without waiting for the particular batch to finish at its end point. The anomaly detection system 200 may also perform other operations to address the anomaly of the particular batch or to terminate the particular batch in response to determining that the particular batch is anomalous at a sample point while the particular batch is ongoing.
In addition to the systems and methods for anomaly detection in industrial batch analytics described above, the present disclosure also describes systems and methods for optimizing the industrial process.
As described herein, while a batch generated by the industrial process is ongoing, the batch may be determined as being anomalous. When the batch is determined as being anomalous, the process operator of the industrial process may rely on his or her personal knowledge and experience to identify the cause of the batch being anomalous and determine a solution to address the anomaly of the batch. However, this manual approach often results in a significant delay in addressing the anomaly of the batch and/or the anomaly of the batch being addressed ineffectively, especially when the process operator is inexperienced. The delay and/or ineffectiveness in responding to the batch being anomalous while the batch is ongoing may result in products generated in the batch being unqualified and/or unusable, which causes significant waste of production resources and production time.
Systems and methods described herein are capable of addressing an anomaly of a batch that is ongoing, thereby optimizing the batch and the industrial process. In particular, the systems and methods may determine that a batch generated in the industrial process is anomalous at a sample point k during the batch, in which the batch is ongoing. For example, as described herein, the systems and methods may determine an anomaly metric corresponding to sample point k of the batch using the PCA model corresponding to sample point k of the industrial process. The anomaly metric corresponding to sample point k of the batch may be the highest value between the normalized T2-statistic metric corresponding to sample point k of the batch and the normalized Q-statistic metric corresponding to sample point k of the batch. As described herein, the systems and methods may determine that the anomaly metric corresponding to sample point k of the batch satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), and therefore determine that the batch at the sample point k is anomalous or the batch is anomalous at the sample point k during the batch.
In some embodiments, the systems and methods may determine a process variable of the industrial process based on a variable contribution of the process variable towards the batch being anomalous at the sample point k during the batch. For example, for each process variable of the industrial process, the systems and methods may determine a variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch. As described herein, if the anomaly metric corresponding to sample point k of the batch is the normalized T2-statistic metric corresponding to sample point k of the batch, the variable contribution of a process variable j towards the anomaly metric corresponding to sample point k of the batch may be the variable contribution of the process variable j towards the T2-statistic metric corresponding to sample point k of the batch. On the other hand, if the anomaly metric corresponding to sample point k of the batch is the normalized Q-statistic metric corresponding to sample point k of the batch, the variable contribution of the process variable j towards the anomaly metric corresponding to sample point k of the batch may be the variable contribution of the process variable j towards the Q-statistic metric corresponding to sample point k of the batch.
In some embodiments, the systems and methods may select one or more process variables of the industrial process based on their variable contribution. For example, for each process variable of the industrial process, the systems and methods may compute a percentage (or other types of ratio) between the variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch and a sum of the variable contributions of all process variables towards the anomaly metric corresponding to sample point k of the batch. This percentage may be referred to as the contribution percentage of the process variable towards the batch being anomalous at the sample point k. The systems and methods may then select one or more particular process variables that have their contribution percentage towards the batch being anomalous at the sample point k satisfying a contribution percentage threshold (e.g., more than 35%). Additionally or alternatively, the systems and methods may select a predefined number of particular process variables (e.g., 5 process variables) that have the highest contribution percentage towards the batch being anomalous at the sample point k. These particular process variables may have significant contribution towards the pre-normalized anomaly metric corresponding to sample point k (the T2-statistic metric corresponding to sample point k or the Q-statistic metric corresponding to sample point k) of the batch. Therefore, these particular process variables may have significant contribution towards the batch being anomalous at the sample point k, and therefore may be a potential cause of the batch being anomalous at the sample point k.
In some embodiments, for each process variable that has significant contribution towards the batch being anomalous at the sample point k, the systems and methods may determine a recommended value for the process variable. For example, the systems and methods may determine the recommended value of the process variable based on an anomaly metric corresponding to sample point k of an assessment batch, in which the assessment batch is created based on one or more samples of the batch at the sample point k and the recommended value of the process variable. As described herein, the anomaly metric corresponding to sample point k of the assessment batch may be determined based on the T2-statistic metric corresponding to sample point k and the Q-statistic metric corresponding to sample point k of the assessment batch in the PCA model corresponding to sample point k of the industrial process. For example, the anomaly metric corresponding to sample point k of the assessment batch may be the highest value between the normalized T2-statistic metric corresponding to sample point k of the assessment batch and the normalized Q-statistic metric corresponding to sample point k of the assessment batch.
In some embodiments, to determine the recommended value for the process variable, the systems and methods may perform a sequence of computing cycles in which the systems and methods may evaluate various assessment batches that are respectively created based on different candidate values of the process variable. The systems and methods may identify an assessment batch that has a lowest anomaly metric corresponding to sample point k among these assessment batches, and determine a candidate value of the process variable that is used to create the assessment batch to be the recommended value of the process variable as described herein.
In some embodiments, the systems and methods may adjust the industrial process based on the recommended value of the process variable. To adjust the industrial process based on the recommended value of the process variable, the systems and methods may present the recommended value of the process variable to the process operator of the industrial process as a recommendation. The process operator may reference the recommended value of the process variable, and make an informed decision when the process operator manually adjusts the process variable of the industrial process to address the anomaly of the batch. Additionally or alternatively, the systems and methods may automatically apply the recommended value of the process variable to control the industrial process. For example, the systems and methods may set the value of the process variable at the recommended value of the process variable or instruct a control system of the industrial process to set the value of the process variable at the recommended value of the process variable. Thus, in this case, the industrial process may be adjusted based on the recommended value of the process variable without human intervention.
The systems and methods described herein may be advantageous in a number of technical respects. For example, as described herein, to determine the recommended value of the process variable, the systems and methods may evaluate various assessment batches based on their anomaly metric corresponding to sample point k. As described herein, an anomaly metric corresponding to sample point k of a given batch (e.g., an assessment batch, a non-anomalous batch, a batch that is ongoing, etc.) may be determined in a specific manner. In particular, to determine the anomaly metric corresponding to sample point k of the given batch, the systems and methods may use the PCA model corresponding to sample point k of the industrial process to compute a normalized T2-statistic metric corresponding to sample point k of the given batch based on a T2-statistic metric corresponding to sample point k of the given batch and a confidence limit of the T2-statistic metric corresponding to sample point k. The systems and methods may also use the PCA model corresponding to sample point k of the industrial process to compute a normalized Q-statistic metric corresponding to sample point k of the given batch based on a Q-statistic metric corresponding to sample point k of the given batch and a confidence limit of the Q-statistic metric corresponding to sample point k. The normalization of the T2-statistic metric corresponding to sample point k and the Q-statistic metric corresponding to sample point k of the given batch may result in the normalized T2-statistic metric corresponding to sample point k and the normalized Q-statistic metric corresponding to sample point k of the given batch being in the same scale and therefore can be compared to one another. The systems and methods may then determine the highest value between the normalized T2-statistic metric corresponding to sample point k and the normalized Q-statistic metric corresponding to sample point k of the given batch to be the anomaly metric corresponding to sample point k of the given batch.
Thus, the systems and methods may dynamically select the normalized statistical metric that better indicates the variance (e.g., the difference) between the data point corresponding to the given batch at the sample point k and the data points corresponding to the non-anomalous batches at the sample point k in the PCA model corresponding to sample point k, and determine the normalized statistical metric to be the anomaly metric corresponding to sample point k of the given batch. In other words, the systems and methods may dynamically select the normalized statistical metric that better indicates the difference between the given batch at the sample point k and the non-anomalous batches at the sample point k that are used to generate the PCA model corresponding to sample point k to be the anomaly metric corresponding to sample point k of the given batch.
As described herein, the systems and methods may perform the sequence of computing cycles in which the systems and methods may evaluate various assessment batches that are respectively created based on different candidate values of the process variable. The systems and methods may identify an assessment batch that has a lowest anomaly metric corresponding to sample point k among these assessment batches, and determine a candidate value of the process variable that is used to create the assessment batch to be the recommended value of the process variable. Thus, based on the assessment batch that has the lowest anomaly metric corresponding to sample point k among the assessment batches in which the anomaly metric corresponding to sample point k of each assessment batch is determined in the specific manner described above, the systems and methods may determine the recommended value of the process variable where the assessment batch created based on that value has the lowest amount of difference from, and therefore is most similar to, the non-anomalous batches at the sample point k that are used to generate the PCA model corresponding to sample point k. The systems and methods may then use the recommended value of the process variable to adjust the industrial process so that the batch currently generated by the industrial process may become more similar to the non-anomalous batches generated by the industrial process, thereby addressing the anomaly of the batch. Thus, the anomaly of the batch may be addressed effectively without depending on the personal experience and expertise of the process operator. In addition, with the recommended value of the process variable being determined by the systems and methods to address the anomaly of the batch that is ongoing, the delay in addressing the anomaly of the batch may be significantly reduced, and therefore the batch may be adjusted in real-time or near real-time when the anomaly of the batch is detected. As a result, cumulative errors of the batch may be reduced, the product quality of the batch may be improved, and thus the waste reduction and the overall performance of the industrial process may be improved.
The systems and methods for addressing an anomaly of a batch that is ongoing to optimize the batch and the industrial process as described herein may be implemented by a batch management system. An example batch management system 900 is illustrated in
In some embodiments, the batch management system 900 may include the anomaly detection system 200 described herein. For example, the anomaly detection system 200 may be integrated into the batch management system 900 and may operate as part of the batch management system 900. Additionally or alternatively, the batch management system 900 may be configured to perform one or more operations of the anomaly detection system 200 described herein. Accordingly, the batch management system 900 may be capable of performing the anomaly detection operations described herein to determine whether a complete batch is anomalous or to determine whether an ongoing batch is anomalous at a particular sample point during the ongoing batch. For the ongoing batch that is anomalous at the particular sample point, the batch management system 900 may also be capable of determining one or more process variables of the industrial process that have significant contribution towards the ongoing batch being anomalous at the particular sample point. In addition to these operations, the batch management system 900 may be configured to perform other batch analytic operations, industrial process optimization, and/or other functionalities described herein.
As depicted in
The memory 902 may store and/or otherwise maintain executable data used by the processor 904 to perform one or more functionalities of the batch management system 900 described herein. For example, the memory 902 may store instructions 906 that may be executed by the processor 904. In some embodiments, the memory 902 may be implemented by one or more memory or storage devices, including any memory or storage devices described herein, that are configured to store data in a transitory or non-transitory manner. In some embodiments, the instructions 906 may be executed by the processor 904 to cause the batch management system 900 to perform one or more functionalities described herein. The instructions 906 may be implemented by any suitable application, software, code, and/or other executable data instance. Additionally, the memory 902 may also maintain any other data accessed, managed, used, and/or transmitted by the processor 904 in a particular implementation.
The processor 904 may be implemented by one or more computer processing devices, including general purpose processors (e.g., central processing units (CPUs), graphics processing units (GPUs), microprocessors, etc.), special purpose processors (e.g., application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), etc.), or the like. The batch management system 900 may use the processor 904 (e.g., when the processor 904 is directed to perform operations represented by instructions 906 stored in the memory 902) and perform various functionalities associated with anomaly detection and/or industrial process optimization in any manner described herein or as may serve a particular implementation.
At operation 1002, the batch management system 900 may determine that a batch generated in an industrial process is anomalous at a sample point k during the batch, in which the batch is ongoing. As described herein, the batch may include one or more samples in which each sample is collected at a sample point during the batch and includes values of various process variables of the industrial process at the sample point. In some embodiments, each sample point may be considered a reference point in the batch duration and may indicate a point in time at which a particular sample of a given batch is collected relative to a start point of the given batch. For example, for each batch generated in the industrial process, the samples of the batch may be collected at a predefined interval (e.g., every 3 s) during the batch. At a sample point k during a first batch, a sample kth of the first batch may be collected. Similarly, at the sample point k during a second batch, a sample kth of the second batch may be collected. A time distance between the sample point k during the first batch and the start point of the first batch may be equal to a time distance between the sample point k during the second batch and the start point of the second batch.
In some embodiments, when the sample kth of the batch (also referred to as the sample k of the batch) is collected at the sample point k while the batch is ongoing, the batch management system 900 may determine an anomaly metric corresponding to the sample point k during the batch. The anomaly metric corresponding to the sample point k during the batch may be referred to herein as the anomaly metric corresponding to the sample point k of the batch, the anomaly metric corresponding to sample point k of the batch, the anomaly metric of the batch at the sample point k, or the anomaly metric of the batch at sample point k. In some embodiments, the anomaly metric corresponding to sample point k of the batch may be determined using the PCA model that corresponds to the sample point k (also referred to herein as the PCA model corresponding to the sample point k or the PCA model corresponding to sample point k) of the industrial process and Equations 5-17 described herein. In some embodiments, the batch management system 900 may determine that the anomaly metric corresponding to sample point k of the batch satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), and therefore determine that the batch at the sample point k is anomalous or the batch is anomalous at the sample point k.
At operation 1004, in response to determining that the batch is anomalous at the sample point k, the batch management system 900 may determine a process variable of the industrial process based on a variable contribution of the process variable towards the batch being anomalous at the sample point k during the batch. For example, for each process variable of the industrial process, the batch management system 900 may determine a variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch using Equations 18-21 described herein. The batch management system 900 may then select one or more particular process variables of the industrial process based on their variable contribution. For example, for each process variable of the industrial process, the batch management system 900 may compute a percentage (or other types of ratio) between the variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch and a sum of the variable contributions of all process variables towards the anomaly metric corresponding to sample point k of the batch. This percentage may be referred to as the contribution percentage of the process variable towards the anomaly of the batch at the sample point k, the contribution percentage of the process variable towards the anomaly of the batch at sample point k, or the contribution percentage of the process variable towards the batch being anomalous at the sample point k.
In some embodiments, the batch management system 900 may select the particular process variables of the industrial process that have their variable contribution towards the batch being anomalous at the sample point k satisfying a contribution percentage threshold (e.g., more than 35%) and/or select a predefined number of particular process variables (e.g., 5 process variables) that have the highest contribution percentage towards the batch being anomalous at the sample point k among various process variables of the industrial process. These particular process variables may have significant contribution towards the pre-normalized anomaly metric corresponding to sample point k (the T2-statistic metric corresponding to sample point k or the Q-statistic metric corresponding to sample point k) of the batch. Therefore, these particular process variables may have significant contribution towards the batch being anomalous at the sample point k, and therefore may be a potential cause of the batch being anomalous at the sample point k.
At operation 1006, for each process variable that has significant contribution towards the batch being anomalous at the sample point k as described above, the batch management system 900 may determine a recommended value for the process variable. For example, the batch management system 900 may determine the recommended value of the process variable based on an anomaly metric corresponding to sample point k of an assessment batch, in which the assessment batch is created based on one or more samples of the batch at the sample point k and the recommended value of the process variable. As described herein, the batch at the sample point k may include k samples that are respectively collected at k samples points from the start point of the batch up to the sample point k during the batch and may be referred to herein as the batch at sample point k. The anomaly metric corresponding to sample point k of the assessment batch may be determined based on a T2-statistic metric corresponding to the sample point k and a Q-statistic metric corresponding to the sample point k of the assessment batch in the PCA model corresponding to sample point k of the industrial process. For example, the anomaly metric corresponding to sample point k of the assessment batch may be the highest value between a normalized T2-statistic metric corresponding to sample point k of the assessment batch and a normalized Q-statistic metric corresponding to sample point k of the assessment batch as described herein.
In some embodiments, to determine the recommended value of the process variable, the batch management system 900 may perform a sequence of computing cycles in which the batch management system 900 may evaluate one or more assessment batches that are respectively created based on one or more candidate values of the process variable. Based on such evaluation, the batch management system 900 may identify a candidate value of the process variable where an assessment batch created based on that candidate value has a lowest anomaly metric corresponding to sample point k among these assessment batches, and determine that candidate value to be the recommended value of the process variable.
At operation 1008, the batch management system 900 may adjust the industrial process based on the recommended value of the process variable. To adjust the industrial process based on the recommended value of the process variable, the batch management system 900 may present the recommended value of the process variable to the process operator of the industrial process as a recommendation. The process operator may reference the recommended value of the process variable, and make an informed decision when the process operator manually adjusts the process variable of the industrial process to address the anomaly of the batch. Additionally or alternatively, the batch management system 900 may automatically apply the recommended value of the process variable to control the industrial process. For example, the batch management system 900 may set the value of the process variable at the recommended value of the process variable or instruct a control system of the industrial process to set the value of the process variable at the recommended value of the process variable. Thus, in this case, the industrial process may be adjusted based on the recommended value of the process variable without human intervention.
Thus, as described above, for the batch generated by the industrial process in which the batch is ongoing, the batch management system 900 may determine that the batch is anomalous at the sample point k during the batch. In response to determining that the batch is anomalous at the sample point k during the batch, for each process variable of the industrial process that has significant contribution towards the batch being anomalous at the sample point k, the batch management system 900 may determine a recommended value for the process variable. The batch management system 900 may then use the recommended value of the process variable in adjusting the industrial process to address the anomaly of the batch, thereby optimizing the batch and the industrial process.
To illustrate, while the batch is ongoing, the batch management system 900 may determine that the batch is anomalous at the sample point k during the batch. For example, when the sample k of the batch is collected at the sample point k while the batch is ongoing, the batch management system 900 may determine the anomaly metric corresponding to sample point k of the batch using the PCA model corresponding to sample point k of the industrial process. As described herein, the PCA model corresponding to sample point k may be created based on a batch portion of each non-anomalous batch among a plurality of non-anomalous batches (e.g., I non-anomalous batches) generated in the industrial process, in which the batch portion of a non-anomalous batch is generated between the start point of the non-anomalous batch and the sample point k during the non-anomalous batch. In some embodiments, to determine the anomaly metric corresponding to sample point k of a given batch (e.g., the batch that is ongoing, a non-anomalous batch, an assessment batch, etc.), the batch management system 900 may use the PCA model corresponding to sample point k and Equations 5-17 described herein.
In particular, as indicated in Equations 5-16 and the description related to the ongoing batch in this present disclosure, the batch management system 900 may compute a normalized T2-statistic metric corresponding to sample point k (Tnorm2(k)) of the given batch based on a T2-statistic metric corresponding to sample point k (T2(k)) of the given batch and a confidence limit (T2(k)) of the T2-statistic metric corresponding to sample point k. The batch management system 900 may also compute a normalized Q-statistic metric corresponding to sample point k (Qnorm(k)) of the given batch based on a Q-statistic metric corresponding to sample point k (Q(k)) of the given batch and a confidence limit (Qα(k)) of the Q-statistic metric corresponding to sample point k. As indicated in Equation 17 and the description related to the ongoing batch in this present disclosure, the batch management system 900 may determine the anomaly metric corresponding to sample point k of the given batch to be a highest value between the normalized T2-statistic metric corresponding to the sample point k (Tnorm2(k)) of the given batch and the normalized Q-statistic metric corresponding to the sample point k (Qnorm(k)) of the given batch.
Thus, the batch management system 900 may dynamically select the normalized statistical metric that indicates the larger amount of variation, and therefore better indicates the variance (e.g., the difference) between the data point corresponding to the given batch at the sample point k and the data points corresponding to the non-anomalous batches at the sample point k in the PCA model corresponding to sample point k, and determine the normalized statistical metric to be the anomaly metric corresponding to sample point k of the given batch. In other words, the normalized statistical metric that better indicates the difference between the given batch at the sample point k and the non-anomalous batches at the sample point k that are used to generate the PCA model corresponding to sample point k, and therefore better indicates the inconformity of the given batch at the sample point k with the PCA model corresponding to sample point k, may be selected as the anomaly metric corresponding to sample point k of the given batch. The anomaly metric corresponding to sample point k of the given batch (e.g., the batch that is ongoing, a non-anomalous batch, an assessment batch, etc.) being determined in this specific manner is advantageous, because it may be used to accurately detect an anomaly for an ongoing batch and/or to determine a recommended value of a process variable that can address the anomaly of the ongoing batch effectively as described herein.
In some embodiments, for the batch that is ongoing, the batch management system 900 may determine the anomaly metric corresponding to sample point k of the batch as described above, and determine whether the anomaly metric corresponding to sample point k of the batch satisfies the anomaly detection threshold. If the anomaly metric corresponding to sample point k of the batch satisfies the anomaly detection threshold (e.g., the anomaly metric exceeds the anomaly detection threshold), the batch management system 900 may determine that the batch at the sample point k, which includes k samples collected from the start point of the batch up to the sample point k of the batch, does not conform with the PCA model corresponding to sample point k and is significantly different from the non-anomalous batches at the sample point k that are used to generate the PCA model corresponding to sample point k. Accordingly, the batch management system 900 may determine that the batch at the sample point k is anomalous or the batch is anomalous at the sample point k.
In some embodiments, in response to determining that the batch is anomalous at the sample point k, the batch management system 900 may determine the contribution of each process variable of the industrial process towards the batch performance of the batch at the sample point k. For example, for each process variable of the industrial process, the batch management system 900 may determine the variable contribution of the process variable towards the batch being anomalous at the sample point k. In particular, the batch management system 900 may determine the variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch using Equations 18-21 described herein. As indicated in Equation 18, if the anomaly metric corresponding to sample point k of the batch is the normalized T2-statistic metric corresponding to sample point k (Tnorm2(k)) of the batch, the variable contribution of a process variable j towards the anomaly metric corresponding to sample point k of the batch may be the variable contribution (CT
Thus, as described above, the variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch may be the variable contribution of the process variable towards the pre-normalized anomaly metric corresponding to sample point k (the T2-statistic metric corresponding to sample point k (T2(k)) or the Q-statistic metric corresponding to sample point k (Q(k))) of the batch. In this present disclosure, the T2-statistic metric corresponding to sample point k (T2(k)) of the batch may be referred to herein as the T2-statistic metric corresponding to the sample point k of the batch, the T2-statistic metric of the batch at sample point k, or the T2-statistic metric of the batch at the sample point k. Similarly, the normalized T2-statistic metric corresponding to sample point k (Tnorm2(k)) of the batch may be referred to herein as the normalized T2-statistic metric corresponding to the sample point k of the batch, the normalized T2-statistic metric of the batch at sample point k, or the normalized T2-statistic metric of the batch at the sample point k. In this present disclosure, the Q-statistic metric corresponding to sample point k (Q(k)) of the batch may be referred to herein as the Q-statistic metric corresponding to the sample point k of the batch, the Q-statistic metric of the batch at sample point k, or the Q-statistic metric of the batch at the sample point k. Similarly, the normalized Q-statistic metric corresponding to sample point k (Qnorm(k)) of the batch may be referred to herein as the normalized Q-statistic metric corresponding to the sample point k of the batch, the normalized Q-statistic metric of the batch at sample point k, or the normalized Q-statistic metric of the batch at the sample point k.
In some embodiments, the batch management system 900 may select, from various process variables of the industrial process, one or more particular process variables based on their variable contribution towards the anomaly metric corresponding to sample point k of the batch. For example, for each process variable of the industrial process, the batch management system 900 may compute a percentage (or other types of ratio) between the variable contribution of the process variable towards the anomaly metric corresponding to sample point k of the batch and a sum of the variable contributions of all process variables towards the anomaly metric corresponding to sample point k of the batch. This percentage may be referred to as the contribution percentage of the process variable towards the anomaly of the batch at sample point k or the contribution percentage of the process variable towards the batch being anomalous at the sample point k. The batch management system 900 may then select the particular process variables that have their contribution percentage towards the batch being anomalous at the sample point k satisfying a contribution percentage threshold (e.g., more than 35%). Additionally or alternatively, the batch management system 900 may select a predefined number of particular process variables (e.g., 5 process variables) that have the highest contribution percentage towards the batch being anomalous at the sample point k among various process variables of the industrial process. These particular process variables may have significant contribution towards the pre-normalized anomaly metric corresponding to sample point k (the T2-statistic metric corresponding to sample point k (T2(k)) or the Q-statistic metric corresponding to sample point k (Q(k))) of the batch. Therefore, these particular process variables may have significant contribution towards the batch being anomalous at the sample point k, and therefore may be a potential cause of the batch being anomalous at the sample point k.
In some embodiments, for each process variable that has significant contribution towards the batch being anomalous at the sample point k, the batch management system 900 may determine a recommended value for the process variable. The recommended value of the process variable (e.g., the process variable “temperature”) may be used in adjusting the industrial process to address the anomaly of the batch that is still ongoing, thereby optimizing the batch and the industrial process. In some embodiments, to determine the recommended value of the process variable, the batch management system 900 may perform a sequence of computing cycles in which the batch management system 900 may evaluate one or more assessment batches that are respectively created based on one or more candidate values of the process variable. Based on such evaluation, the batch management system 900 may identify a candidate value of the process variable where an assessment batch created based on that candidate value has a lowest anomaly metric corresponding to sample point k in the PCA model corresponding to sample point k, and therefore the assessment batch at sample point k is most similar to the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k, among the assessment batches created based on different candidate values of the process variable. The batch management system 900 may then determine the identified candidate value to be the recommended value of the process variable and use the recommended value of the process variable to adjust the industrial process.
To illustrate, to determine the recommended value of the process variable (e.g., the process variable “temperature”), the batch management system 900 may determine an initial candidate value of the process variable. To determine the initial candidate value of the process variable, the batch management system 900 may obtain the plurality of non-anomalous batches (e.g., I non-anomalous batches) generated in the industrial process that are used to generate the PCA models associated with the industrial process (e.g., the PCA model corresponding to entire batch, the PCA model corresponding to sample point k, etc.). In some embodiments, for each non-anomalous batch among the plurality of non-anomalous batches, the batch management system 900 may determine an anomaly metric corresponding to sample point k of the non-anomalous batch using the PCA model corresponding to sample point k and Equations 5-17 described herein. The batch management system 900 may then select the non-anomalous batch that has a lowest anomaly metric corresponding to sample point k among the plurality of non-anomalous batches to be a reference batch. Thus, the non-anomalous batch that has the lowest amount of variance (e.g., the lowest amount of difference) between the data point corresponding to the non-anomalous batch at sample point k and the data points corresponding to the non-anomalous batches at sample point k in the PCA model corresponding to sample point k, and therefore the non-anomalous batch most conforms with the PCA model corresponding to sample point k, among the plurality of non-anomalous batches may be selected as the reference batch.
In some embodiments, after the reference batch is selected, the batch management system 900 may identify a sample k of the reference batch that is collected at the sample point k during the reference batch, and identify a value of the process variable (e.g., the process variable “temperature”) in the sample k of the reference batch to be the initial candidate value of the process variable. As described herein, the process variable (e.g., the process variable “temperature”) may be a process variable of the industrial process that has significant contribution towards the batch being anomalous at the sample point k. Thus, the initial candidate value of the process variable may be the value of the process variable in the sample k collected at the sample point k during the reference batch, in which the reference batch is the non-anomalous batch that most conforms with the PCA model corresponding to sample point k among the plurality of non-anomalous batches (e.g., I non-anomalous batches) that are used to generate the PCA model corresponding to sample point k.
In some embodiments, in addition to determining the initial candidate value of the process variable, the batch management system 900 may also select an initial type of adjustment from an increasing adjustment and a decreasing adjustment. For example, the batch management system 900 may select the initial type of adjustment to be the increasing adjustment. Alternatively, the batch management system 900 may select the initial type of adjustment to be the decreasing adjustment. The batch management system 900 may then set a current type of adjustment to be the initial type of adjustment. In some embodiments, the batch management system 900 may start performing the sequence of computing cycles with the current type of adjustment being the initial type of adjustment and with the initial candidate value of the process variable described above.
As described above, the batch management system 900 may perform the sequence of computing cycles to determine the recommended value of the process variable (e.g., the process variable “temperature”). In each computing cycle, a candidate value of the process variable may be evaluated and that candidate value of the process variable may be referred to as the candidate value of the process variable associated with the computing cycle. As described herein, in the sequence of computing cycles, the batch management system 900 may evaluate various assessment batches, in which each assessment batch is created using the samples of the batch at sample point k and a candidate value of the process variable. The batch management system 900 may determine an anomaly metric corresponding to sample point k of the assessment batch using the PCA model corresponding to sample point k and Equations 5-17 described herein. As described herein, the anomaly metric corresponding to sample point k of the assessment batch being determined in this specific manner may better indicate the amount of variance (e.g., the amount of difference) between the data point corresponding to the assessment batch at sample point k and the data points corresponding to the non-anomalous batches at sample point k in the PCA model corresponding to sample point k, and therefore better indicate the difference between the assessment batch at sample point k and the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. In some embodiments, the batch management system 900 may identify a candidate value of the process variable where an assessment batch created based on that candidate value has a lowest anomaly metric corresponding to sample point k, and therefore the assessment batch at sample point k is most similar to the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k, among the assessment batches created based on different candidate values of the process variable. The batch management system 900 may then determine the identified candidate value to be the recommended value of the process variable and use the recommended value of the process variable to adjust the industrial process.
In particular, when performing the sequence of computing cycles, the batch management system 900 may perform a first computing cycle at a start point of the sequence of computing cycles using the initial candidate value of the process variable and the current type of adjustment being the initial type of adjustment. For example, in the first computing cycle, the batch management system 900 may create a particular assessment batch based on the one or more samples of the batch at sample point k and the initial candidate value of the process variable. As described herein, the batch at sample point k may include k samples that are respectively collected at k sample points from the start point of the batch up to the sample point k during the batch. The initial candidate value of the process variable may be the value of the process variable in the sample k collected at the sample point k during the reference batch, in which the reference batch is the non-anomalous batch that most conforms with the PCA model corresponding to sample point k among the plurality of non-anomalous batches (e.g., I non-anomalous batches) that are used to generate the PCA model corresponding to sample point k.
In some embodiments, to create the particular assessment batch, the batch management system 900 may generate a batch representation of the particular assessment batch in the form of a batch vector. For example, the batch management system 900 may obtain k samples of the batch that are collected from the start point of the batch up to the sample point k during the batch. For the sample k of the batch that is collected at the sample point k during the batch, the batch management system 900 may replace a value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch with the initial candidate value of the process variable to obtain a modified sample k of the batch. The batch management system 900 may then use (k−1) samples of the batch that are collected from the start point of the batch up to the sample point (k−1) during the batch and the modified sample k corresponding to the sample point k that is created by the batch management system 900, and aggregate these samples in a chronological order of their sample points to form the only row of the batch vector that represents the particular assessment batch. Thus, the batch representation of the particular assessment batch may indicate the samples of the batch at sample point k, with the only difference between the particular assessment batch created by the batch management system 900 and the batch generated by the industrial process being the value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch is replaced with the initial candidate value of the process variable to create the particular assessment batch. As the particular assessment batch created by the batch management system 900 includes k samples corresponding to k sample points, the particular assessment batch may be considered a batch that is not yet finish and may be referred to as the particular assessment batch at the sample point k or the particular assessment batch at sample point k.
In some embodiments, the batch management system 900 may determine an anomaly metric corresponding to sample point k of the particular assessment batch using the PCA model corresponding to sample point k and Equations 5-17 described herein. As described herein, the anomaly metric corresponding to sample point k of the particular assessment batch may indicate the amount of variance (e.g., the amount of difference) between the data point corresponding to the particular assessment batch at sample point k and the data points corresponding to the non-anomalous batches at sample point k in the PCA model corresponding to sample point k. Accordingly, the anomaly metric corresponding to sample point k of the particular assessment batch may indicate the difference between the particular assessment batch at sample point k and the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k.
In some embodiments, because the first computing cycle is performed at the start point of the sequence of computing cycles and there is no computing cycle being performed prior to the first computing cycle, the particular assessment batch created based on the initial candidate value of the process variable may be considered the assessment batch that has the lowest anomaly metric corresponding to sample point k, and therefore is most similar to the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k, up to this point. Accordingly, the batch management system 900 may update the recommended value of the process variable to be equal to the initial candidate value of the process variable that is included in the batch representation of the particular assessment batch. Thus, after the first computing cycle is performed, the recommended value of the process variable may be equal to the initial candidate value of the process variable. As described herein, the initial candidate value of the process variable may be the value of the process variable in the sample k collected at the sample point k during the reference batch, in which the reference batch is the non-anomalous batch that most conforms with the PCA model corresponding to sample point k among the non-anomalous batches that are used to generate the PCA model corresponding to sample point k. In some embodiments, the initial candidate value of the process variable and the anomaly metric corresponding to sample point k of the particular assessment batch may be respectively considered the candidate value of the process variable and the anomaly metric corresponding to sample point k of the assessment batch that are associated with the first computing cycle.
Thus, as described above, the batch management system 900 may perform the first computing cycle at the start point of the sequence of computing cycles based on the initial candidate value of the process variable. For a particular computing cycle that is not the first computing cycle in the sequence of computing cycles, the batch management system 900 may perform the particular computing cycle based on a preceding computing cycle, in which the preceding computing cycle may be performed sequentially prior to the particular computing cycle in the sequence of computing cycles without any computing cycle being performed between the particular computing cycle and the preceding computing cycle.
As depicted in
As an example, in the preceding computing cycle, the batch management system 900 may create the first assessment batch based on the one or more samples of the batch at sample point k and the first candidate value of the process variable. To create the first assessment batch, the batch management system 900 may generate a batch representation of the first assessment batch in the form of a batch vector. For example, the batch management system 900 may obtain k samples of the batch that are collected from the start point of the batch up to the sample point k during the batch. For the sample k of the batch that is collected at the sample point k during the batch, the batch management system 900 may replace a value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch with the first candidate value of the process variable to obtain a modified sample k of the batch. The batch management system 900 may then use (k−1) samples of the batch that are collected from the start point of the batch up to the sample point (k−1) during the batch and the modified sample k corresponding to the sample point k that is created by the batch management system 900, and aggregate these samples in a chronological order of their sample points to form the only row of the batch vector that represents the first assessment batch. Thus, the batch representation of the first assessment batch may indicate the samples of the batch at sample point k, with the only difference between the first assessment batch created by the batch management system 900 and the batch generated by the industrial process being the value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch is replaced with the first candidate value of the process variable to create the first assessment batch. As the first assessment batch created by the batch management system 900 includes k samples corresponding to k sample points, the first assessment batch may be considered a batch that is not yet finish and may be referred to as the first assessment batch at the sample point k or the first assessment batch at sample point k.
In some embodiments, in the preceding computing cycle, the batch management system 900 may determine an anomaly metric corresponding to sample point k of the first assessment batch using the PCA model corresponding to sample point k and Equations 5-17 described herein. As described herein, the anomaly metric corresponding to sample point k of the first assessment batch may indicate the amount of variance (e.g., the amount of difference) between the data point corresponding to the first assessment batch at sample point k and the data points corresponding to the non-anomalous batches at sample point k in the PCA model corresponding to sample point k. Accordingly, the anomaly metric corresponding to sample point k of the first assessment batch may indicate the difference between the first assessment batch at sample point k and the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. It should be understood that the batch management system 900 may perform other operations in the preceding computing cycle. In some embodiments, the first candidate value of the process variable and the anomaly metric corresponding to sample point k of the first assessment batch that are associated with the preceding computing cycle may be determined in a different manner.
At operation 1104, the batch management system 900 may determine a second candidate value of the process variable based on the first candidate value of the process variable and a predefined adjustment amount being applied in the current type of adjustment. For example, the current type of adjustment may be the increasing adjustment, and the batch management system 900 may determine the second candidate value of the process variable to be equal to the first candidate value of the process variable being increased by the predefined adjustment amount. Thus, in this case, the batch management system 900 may add the predefined adjustment amount to the first candidate value of the process variable to obtain the second candidate value of the process variable. Alternatively, the current type of adjustment may be the decreasing adjustment, and the batch management system 900 may determine the second candidate value of the process variable to be equal to the first candidate value of the process variable being decreased by the predefined adjustment amount. Thus, in this case, the batch management system 900 may subtract the predefined adjustment amount from the first candidate value of the process variable to obtain the second candidate value of the process variable. In some embodiments, the predefined adjustment amount may be relatively small. For example, for the process variable “temperature,” the predefined adjustment amount may be 2° K.
At operation 1106, the batch management system 900 may determine whether the second candidate value of the process variable is within an operation range of the process variable. The operation range of the process variable may specify a maximum value and a minimum value that are establishable for the process variable. In other words, the operation range of the process variable may specify the maximum value and the minimum value at which the process variable may be established. In some embodiments, the batch management system 900 may determine that the second candidate value of the process variable is higher than or equal to the minimum value specified by the operation range of the process variable and lower than or equal to the maximum value specified by the operation range of the process variable. In this case, the batch management system 900 may determine that the second candidate value of the process variable is within the operation range of the process variable, and therefore the process variable can be set at the second candidate value. Alternatively, the batch management system 900 may determine that the second candidate value of the process variable is lower than the minimum value specified by the operation range of the process variable or higher than the maximum value specified by the operation range of the process variable. In this case, the batch management system 900 may determine that the second candidate value of the process variable is outside the operation range of the process variable, and therefore the process variable cannot be set at the second candidate value.
In some embodiments, if at operation 1106, the batch management system 900 determines that the second candidate value of the process variable is within the operation range of the process variable, the method 1100 may proceed to operation 1108. At operation 1108, the batch management system 900 may create a second assessment batch based on the one or more samples of the batch at sample point k and the second candidate value of the process variable. To create the second assessment batch, the batch management system 900 may generate a batch representation of the second assessment batch in the form of a batch vector. For example, the batch management system 900 may obtain k samples of the batch that are collected from the start point of the batch up to the sample point k during the batch. For the sample k of the batch that is collected at the sample point k during the batch, the batch management system 900 may replace a value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch with the second candidate value of the process variable to obtain a modified sample k of the batch. The batch management system 900 may then use (k−1) samples of the batch that are collected from the start point of the batch up to the sample point (k−1) during the batch and the modified sample k corresponding to the sample point k that is created by the batch management system 900, and aggregate these samples in a chronological order of their sample points to form the only row of the batch vector that represents the second assessment batch. Thus, the batch representation of the second assessment batch may indicate the samples of the batch at sample point k, with the only difference between the second assessment batch created by the batch management system 900 and the batch generated by the industrial process being the value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch is replaced with the second candidate value of the process variable to create the second assessment batch. As the second assessment batch created by the batch management system 900 includes k samples corresponding to k sample points, the second assessment batch may be considered a batch that is not yet finish and may be referred to as the second assessment batch at the sample point k or the second assessment batch at sample point k.
At operation 1110, the batch management system 900 may determine an anomaly metric corresponding to sample point k of the second assessment batch using the PCA model corresponding to sample point k and Equations 5-17 described herein. As described herein, the anomaly metric corresponding to sample point k of the second assessment batch may indicate the amount of variance (e.g., the amount of difference) between the data point corresponding to the second assessment batch at sample point k and the data points corresponding to the non-anomalous batches at sample point k in the PCA model corresponding to sample point k. Accordingly, the anomaly metric corresponding to sample point k of the second assessment batch may indicate the difference between the second assessment batch at sample point k and the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k.
In some embodiments, the batch management system 900 may compare the anomaly metric corresponding to sample point k of the first assessment batch and the anomaly metric corresponding to sample point k of the second assessment batch. As described herein, the batch representation of the first assessment batch may indicate the samples of the batch at sample point k, with the only difference between the first assessment batch created by the batch management system 900 and the batch generated by the industrial process being the value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch is replaced with the first candidate value of the process variable to create the first assessment batch. In addition, as described herein, the anomaly metric corresponding to sample point k of the first assessment batch may indicate the difference between the first assessment batch at sample point k and the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. Similarly, the batch representation of the second assessment batch may indicate the samples of the batch at sample point k, with the only difference between the second assessment batch created by the batch management system 900 and the batch generated by the industrial process being the value of the process variable (e.g., the process variable “temperature”) in the sample k of the batch is replaced with the second candidate value of the process variable to create the second assessment batch. In addition, as described herein, the anomaly metric corresponding to sample point k of the second assessment batch may indicate the difference between the second assessment batch at sample point k and the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k.
In some embodiments, when comparing the anomaly metric corresponding to sample point k of the first assessment batch and the anomaly metric corresponding to sample point k of the second assessment batch, at operation 1112, the batch management system 900 may determine whether the anomaly metric corresponding to sample point k of the second assessment batch is lower than or equal to the anomaly metric corresponding to sample point k of the first assessment batch. If at operation 1112, the batch management system 900 determines that the anomaly metric corresponding to sample point k of the second assessment batch is lower than or equal to the anomaly metric corresponding to sample point k of the first assessment batch, the batch management system 900 may determine that among the first assessment batch at sample point k and the second assessment batch at sample point k, the second assessment batch at sample point k has a lower amount of difference from the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. Accordingly, the batch management system 900 may determine that among the first assessment batch at sample point k that includes the first candidate value of the process variable in its batch representation and the second assessment batch at sample point k that includes the second candidate value of the process variable in its batch representation, the second assessment batch at sample point k is less different from, and therefore is more similar to, the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. In this case, the method 1100 may proceed to operation 1114.
At operation 1114, the batch management system 900 may update the recommended value of the process variable to be equal to the second candidate value of the process variable. Thus, in this case, as the second assessment batch created based on the second candidate value of the process variable is more similar to the non-anomalous batches at sample point k than the first assessment batch created based on the first candidate value of the process variable, the batch management system 900 may update the recommended value of the process variable to be equal to the second candidate value of the process variable.
At operation 1116, the batch management system 900 may perform a following computing cycle that is sequentially subsequent to the particular computing cycle in the sequence of computing cycles. When performing the following computing cycle, the second candidate value of the process variable and the anomaly metric corresponding to sample point k of the second assessment batch may be respectively considered the candidate value of the process variable and the anomaly metric corresponding to sample point k of the assessment batch that are associated with the particular computing cycle being performed sequentially prior to the following computing cycle. In this case, the current type of adjustment may remain the same between the particular computing cycle and the following computing cycle. In some embodiments, the following computing cycle may be performed in a manner similar to the manner in which the particular computing cycle is performed as described above.
On the other hand, if at operation 1112, the batch management system 900 determines that the anomaly metric corresponding to sample point k of the second assessment batch is higher than the anomaly metric corresponding to sample point k of the first assessment batch, the batch management system 900 may determine that among the first assessment batch at sample point k and the second assessment batch at sample point k, the second assessment batch at sample point k has a higher amount of difference from the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. Accordingly, the batch management system 900 may determine that among the first assessment batch at sample point k that includes the first candidate value of the process variable in its batch representation and the second assessment batch at sample point k that includes the second candidate value of the process variable in its batch representation, the second assessment batch at sample point k is more different from, and therefore is less similar to, the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k. In this case, as the second assessment batch created based on the second candidate value of the process variable is less similar to the non-anomalous batches at sample point k than the first assessment batch created based on the first candidate value of the process variable, the batch management system 900 may not update the recommended value of the process variable using the second candidate value of the process variable. The method 1100 may proceed to operation 1120.
At operation 1120, the batch management system 900 may determine whether the current type of adjustment has been switched from the initial type of adjustment to a different type of adjustment in a previous computing cycle being performed prior to the particular computing cycle. If at operation 1120, the batch management system 900 determines that the current type of adjustment has not been switched from the initial type of adjustment to the different type of adjustment in a previous computing cycle, the method 1100 may proceed to operation 1130.
At operation 1130, the batch management system 900 may switch the current type of adjustment from the initial type of adjustment to the different type of adjustment among the increasing adjustment and the decreasing adjustment. For example, the current type of adjustment may match the initial type of adjustment, and the initial type of adjustment may be the increasing adjustment. In this case, the batch management system 900 may switch the current type of adjustment from the increasing adjustment, which is the initial type of adjustment, to the decreasing adjustment, which is different from the initial type of adjustment. As another example, the current type of adjustment may match the initial type of adjustment, and the initial type of adjustment may be the decreasing adjustment. In this case, the batch management system 900 may switch the current type of adjustment from the decreasing adjustment, which is the initial type of adjustment, to the increasing adjustment, which is different from the initial type of adjustment.
Thus, in response to determining that the anomaly metric corresponding to sample point k of the second assessment batch is higher than the anomaly metric corresponding to sample point k of the first assessment batch and that the current type of adjustment has not been switched from the initial type of adjustment to the different type of adjustment, the batch management system 900 may switch the current type of adjustment from the initial type of adjustment to the different type of adjustment. Accordingly, the second candidate value of the process variable may be adjusted differently with the different type of adjustment to determine another candidate value of the process variable in the following computing cycle. With the current type of adjustment being switched to the different type of adjustment, the method 1100 may proceed to operation 1116.
At operation 1116, the batch management system 900 may perform the following computing cycle that is sequentially subsequent to the particular computing cycle in the sequence of computing cycles. When performing the following computing cycle, the second candidate value of the process variable and the anomaly metric corresponding to sample point k of the second assessment batch may be respectively considered the candidate value of the process variable and the anomaly metric corresponding to sample point k of the assessment batch that are associated with the particular computing cycle being performed sequentially prior to the following computing cycle. The following computing cycle may be performed using the current type of adjustment that is switched from the initial type of adjustment being used in the particular computing cycle to the different type of adjustment being used in the following computing cycle as described above. In some embodiments, the following computing cycle may be performed in a manner similar to the manner in which the particular computing cycle is performed as described above.
On the other hand, if at operation 1120, the batch management system 900 determines that the current type of adjustment has been switched from the initial type of adjustment to the different type of adjustment in a previous computing cycle being performed prior to the particular computing cycle, the batch management system 900 may determine that the candidate value of the process variable has been adjusted with both types of adjustment (e.g., the increasing adjustment and the decreasing adjustment) when previous computing cycles in the sequence of computing cycles are performed. As the candidate value of the process variable has been adjusted with both types of adjustment in the previous computing cycles prior to the particular computing cycle and the anomaly metric corresponding to sample point k of the second assessment batch is higher than the anomaly metric corresponding to sample point k of the first assessment batch in the particular computing cycle, the batch management system 900 may determine that the anomaly metric corresponding to sample point k of the assessment batch that is determined in each computing cycle has reached its minimum value in one of the previous computing cycles being performed prior to the particular computing cycle. In other words, as the candidate value of the process variable has been adjusted with different types of adjustment in the previous computing cycles, the anomaly metric corresponding to sample point k of the assessment batch, in which the assessment batch is created based on different candidate values of the process variable in different computing cycles, has decreased to its minimum value in one of the previous computing cycles and now increases in the particular computing cycle. Because the anomaly metric corresponding to sample point k of the assessment batch has reached its minimum value in one of the computing cycles being performed, the method 1100 may proceed to operation 1122. At operation 1122, the batch management system 900 may end the sequence of computing cycles.
Thus, in response to determining that the anomaly metric corresponding to the sample point k of the second assessment batch is higher than the anomaly metric corresponding to the sample point k of the first assessment batch and that the current type of adjustment has been switched from the initial type of adjustment to the different type of adjustment, the batch management system 900 may end the sequence of computing cycles. At operation 1124, when the sequence of computing cycles is ended, the batch management system 900 may provide the recommended value of the process variable to adjust the industrial process. For example, the batch management system 900 may obtain the recommended value of the process variable that is determined in the sequence of computing cycles, and use the recommended value of the process variable in adjusting the industrial process.
Referring back to operation 1106 of the method 1100, if at operation 1106, the batch management system 900 determines that the second candidate value of the process variable is outside the operation range of the process variable, the method 1100 may proceed to operation 1140. At operation 1140, the batch management system 900 may determine whether the current type of adjustment has been switched from the initial type of adjustment to a different type of adjustment in a previous computing cycle being performed prior to the particular computing cycle. If at operation 1140, the batch management system 900 determines that the current type of adjustment has not been switched from the initial type of adjustment to the different type of adjustment in a previous computing cycle, the method 1100 may proceed to operation 1150.
At operation 1150, the batch management system 900 may switch the current type of adjustment from the initial type of adjustment to the different type of adjustment among the increasing adjustment and the decreasing adjustment. For example, the current type of adjustment may match the initial type of adjustment, and the initial type of adjustment may be the increasing adjustment. In this case, the batch management system 900 may switch the current type of adjustment from the increasing adjustment, which is the initial type of adjustment, to the decreasing adjustment, which is different from the initial type of adjustment. As another example, the current type of adjustment may match the initial type of adjustment, and the initial type of adjustment may be the decreasing adjustment. In this case, the batch management system 900 may switch the current type of adjustment from the decreasing adjustment, which is the initial type of adjustment, to the increasing adjustment, which is different from the initial type of adjustment.
At operation 1152, the batch management system 900 may set the second candidate value of the process variable to be equal to the first candidate value of the process variable that is associated with the preceding computing cycle.
At operation 1154, the batch management system 900 may set the anomaly metric corresponding to sample point k of the second assessment batch to be equal to the anomaly metric corresponding to sample point k of the first assessment batch that is associated with the preceding computing cycle.
Thus, in response to determining that the second candidate value of the process variable is outside the operation range of the process variable and that the current type of adjustment has not been switched from the initial type of adjustment to the different type of adjustment, the batch management system 900 may switch the current type of adjustment from the initial type of adjustment to the different type of adjustment. The batch management system 900 may also set the second candidate value of the process variable and the anomaly metric corresponding to sample point k of the second assessment batch in the particular computing cycle to be respectively equal to the first candidate value of the process variable and the anomaly metric corresponding to sample point k of the first assessment batch that are associated with the preceding computing cycle. Accordingly, the second candidate value of the process variable, which is equal to the first candidate value of the process variable, may be adjusted differently with the different type of adjustment to determine another candidate value of the process variable in the following computing cycle. With the current type of adjustment being switched to the different type of adjustment, the second candidate value of the process variable being set equal to the first candidate value of the process variable, and the anomaly metric corresponding to sample point k of the second assessment batch being set equal to the anomaly metric corresponding to sample point k of the first assessment batch, the method 1100 may proceed to operation 1116.
At operation 1116, the batch management system 900 may perform the following computing cycle that is sequentially subsequent to the particular computing cycle in the sequence of computing cycles. When performing the following computing cycle, the second candidate value of the process variable, which is set equal to first candidate value of the process variable, may be considered the candidate value of the process variable that is associated with the particular computing cycle being performed sequentially prior to the following computing cycle. The anomaly metric corresponding to sample point k of the second assessment batch, which is set equal to the anomaly metric corresponding to sample point k of the first assessment batch, may be considered the anomaly metric corresponding to sample point k of the assessment batch that is associated with the particular computing cycle being performed sequentially prior to the following computing cycle. The following computing cycle may be performed using the current type of adjustment that is switched from the initial type of adjustment being used in the particular computing cycle to the different type of adjustment being used in the following computing cycle as described above. In some embodiments, the following computing cycle may be performed in a manner similar to the manner in which the particular computing cycle is performed as described above.
On the other hand, if at operation 1140, the batch management system 900 determines that the current type of adjustment has been switched from the initial type of adjustment to the different type of adjustment in a previous computing cycle being performed prior to the particular computing cycle, the batch management system 900 may determine that the candidate value of the process variable has been adjusted with both types of adjustment (e.g., the increasing adjustment and the decreasing adjustment) when previous computing cycles in the sequence of computing cycles are performed. As the candidate value of the process variable has been adjusted with both types of adjustment in the previous computing cycles prior to the particular computing cycle and the second candidate value of the process variable determined in the particular computing cycle is outside the operation range of the process variable, the batch management system 900 may determine that the anomaly metric corresponding to sample point k of the assessment batch, in which the assessment batch is created based on different candidate values of the process variable in different computing cycles and these different candidate values are within the operation range of the process variable, has decreased to its minimum value in one of the previous computing cycles and now the candidate value of the process variable falls outside the operation range of the process variable in the particular computing cycle. Because the anomaly metric corresponding to sample point k of the assessment batch, where the assessment batch is created based on different candidate values that are within the operation range of the process variable in different computing cycles, has reached its minimum value in one of the computing cycles being performed, the method 1100 may proceed to operation 1142. At operation 1142, the batch management system 900 may end the sequence of computing cycles.
Thus, in response to determining that the second candidate value of the process variable determined in the particular computing cycle is outside the operation range of the process variable and that the current type of adjustment has been switched from the initial type of adjustment to the different type of adjustment, the batch management system 900 may end the sequence of computing cycles. At operation 1144, when the sequence of computing cycles is ended, the batch management system 900 may provide the recommended value of the process variable to adjust the industrial process. For example, the batch management system 900 may obtain the recommended value of the process variable that is determined in the sequence of computing cycles, and use the recommended value of the process variable in adjusting the industrial process.
Thus, as described above, in each computing cycle where the second candidate value of the process variable determined in the computing cycle is within the operation range of the process variable and the anomaly metric corresponding to sample point k of the second assessment batch determined in the computing cycle is lower than or equal to the anomaly metric corresponding to sample point k of the first assessment batch determined in a preceding computing cycle sequentially prior to the computing cycle, the batch management system 900 may update the recommended value of the process variable to be equal to the second candidate value of the process variable that is included in the batch representation of the second assessment batch. Thus, the recommended value of the process variable may be equal to the candidate value of the process variable where the assessment batch created based on that candidate value has the lowest anomaly metric corresponding to sample point k, and therefore the assessment batch has the lower amount of difference from and is most similar to the non-anomalous batches at sample point k that are used to generate the PCA model corresponding to sample point k, among various assessment batches created based on different candidate values of the process variable. Accordingly, the recommended value of the process variable may be used to adjust the industrial process so that the batch currently generated by the industrial process may become more similar to the non-anomalous batches generated by the industrial process, thereby addressing the anomaly of the batch. Thus, the batch may be dynamically adjusted and optimized in real-time or near real-time when the anomaly of the batch is detected while the batch is ongoing. As a result, the cumulative errors in the batch may be reduced, the product quality of the batch may be improved, and therefore the waste reduction and the overall performance of the industrial process may be improved.
In some embodiments, to adjust the industrial process and the batch currently generated by the industrial process based on the recommended value of the process variable, when the sequence of computing cycles is ended, the batch management system 900 may obtain the recommended value of the process variable that is determined in the sequence of computing cycles as described above. The batch management system 900 may then present the recommended value of the process variable to the process operator of the industrial process as a recommendation in a user interface.
An example user interface 1200 presented to the process operator is illustrated in
In some embodiments, when the batch is determined as being anomalous at a sample point (e.g., the sample point k), the batch management system 900 may determine one or more process variables that have significant contribution towards the batch being anomalous at the sample point k as described herein. For each process variable that have significant contribution towards the batch being anomalous at the sample point k, the batch management system 900 may determine the recommended value of the process variable as described herein. In some embodiments, the batch management system 900 may present to the process operator the process variables that have significant contribution towards the batch being anomalous at the sample point k as the potential cause of the batch being anomalous at the sample point k, and also present to the process operator the recommended values of these process variables.
For example, as depicted in
Additionally or alternatively, the batch management system 900 may automatically apply the recommended value of the process variable to control the industrial process. For example, for each process variable that has significant contribution towards the batch being anomalous at the sample point k, the batch management system 900 may set the value of the process variable of the industrial process at the recommended value of the process variable, or instruct a control system of the industrial process to set the value of the process variable of the industrial process at the recommended value of the process variable. Thus, in this case, the industrial process may be adjusted based on the recommended value of the process variable without human intervention.
Embodiments, systems, and components described herein, as well as control systems and automation environments in which various aspects set forth in the present disclosure may be carried out, may include computer or network components such as servers, clients, programmable logic controllers (PLCs), automation controllers, communications modules, mobile computers, on-board computers for mobile vehicles, wireless components, control components and so forth which are capable of interacting across a network. Computers and servers may include one or more processors (e.g., electronic integrated circuits that perform logic operations using electric signals) configured to execute instructions stored in media such as random access memory (RAM), read only memory (ROM), hard drives, as well as removable memory devices (e.g., memory sticks, memory cards, flash drives, external hard drives, etc.).
Similarly, the term PLC or automation controller as used herein may include functionality that can be shared across multiple components, systems, and/or networks. As an example, one or more PLCs or automation controllers may communicate and cooperate with various network devices across the network. These network devices may include any type of control, communications module, computer, Input/Output (I/O) device, sensor, actuator, and human machine interface (HMI) that communicate via the network, which includes control, automation, and/or public networks. The PLC or automation controller may also communicate with and may control other devices such as standard or safety-rated I/O modules including analog, digital, programmed/intelligent I/O modules, other programmable controllers, communication modules, sensors, actuators, output devices, and the like.
The network may include public networks such as the Internet, intranets, and automation networks such as control and information protocol (CIP) networks including DeviceNet, ControlNet, safety networks, and Ethernet/IP. Other networks may include Ethernet, DH/DH+, Remote I/O, Fieldbus, Modbus, Profibus, CAN, wireless networks, serial protocols, etc. In addition, the network devices may include various possibilities (hardware and/or software components). The network devices may also include components such as switches with virtual local area network (VLAN) capability, LANs, WANs, proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.
To provide a context for various aspects of the present disclosure,
The program modules may include routines, programs, components, data structures, etc., that perform particular tasks or may implement particular abstract data types. Moreover, it should be understood that the methods described herein may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, Internet of Things (IoT) devices, distributed computing systems, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which may be operatively coupled to one or more associated devices.
The exemplary embodiments described herein may also be practiced in distributed computing environments where certain tasks may be performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Computing devices may include a variety of media, which may include computer-readable storage media, machine-readable storage media, and/or communications media. Computer-readable storage media or machine-readable storage media may be any available storage media that can be accessed by the computer and may include both volatile and nonvolatile media, removable and non-removable media. By way of example and not limitation, computer-readable storage media or machine-readable storage media may be implemented in connection with any method or technology for storage of information such as computer-readable or machine-readable instructions, program modules, structured data or unstructured data. Computer-readable storage media may be accessed by one or more local or remote computing devices (e.g., via access requests, queries, or other data retrieval protocols) for various operations with respect to the information stored in the computer-readable storage media.
Examples of computer-readable storage media may include, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD), Blu-ray disc (BD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or other solid state storage devices, or other tangible and/or non-transitory media, which may be used to store desired information. The terms “tangible” or “non-transitory” as applied to storage, memory or computer-readable media herein, should be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory, or computer-readable media that are not only propagating transitory signals per se.
Communications media may embody computer-readable instructions, data structures, program modules, or other structured or unstructured data in a data signal such as a modulated data signal (e.g., a carrier wave or other transport mechanism) and may include any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed to encode information in one or more signals. By way of example and not limitation, communication media may include wired media (e.g., a wired network or direct-wired connection) and wireless media (e.g., acoustic, RF, infrared, etc.).
The system bus 1308 may be a bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any commercially available bus architecture. The system memory 1306 may include ROM 1310 and RAM 1312. A basic input/output system (BIOS) may be stored in a non-volatile memory such as ROM, erasable programmable read only memory (EPROM), EEPROM, etc. BIOS may contain the basic routines for transferring information between elements in the computing device 1302, such as during startup. The RAM 1312 may also include a high-speed RAM such as static RAM for caching data.
The computing device 1302 may additionally include an internal hard disk drive (HDD) 1314 (e.g., EIDE, SATA), one or more external storage devices 1316 (e.g., a magnetic floppy disk drive (FDD), a memory stick or flash drive reader, a memory card reader, etc.), and an optical disk drive 1320 (which may read or write from a CD-ROM disc, a DVD, a BD, etc.). While the internal HDD 1314 is illustrated as located within the computing device 1302, the internal HDD 1314 may also be configured for external use in a suitable chassis (not shown). Additionally, while not shown in the environment 1300, a solid state drive (SSD) may be used in addition to, or in place of, the HDD 1314. The HDD 1314, external storage device(s) 1316, and optical disk drive 1320 may be connected to the system bus 1308 by an HDD interface 1324, an external storage interface 1326, and an optical drive interface 1328, respectively. The interface 1324 for external drive implementations may include at least one or both of Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technologies. Other external drive connection technologies are also possible and contemplated.
The drives and their associated computer-readable storage media may provide nonvolatile storage of data, data structures, computer-executable instructions, etc. In the computing device 1302, the drives and storage media may accommodate the storage of any data in a suitable digital format. Although the description of computer-readable storage media above refers to respective types of storage devices, it should be understood that other types of storage media which are readable by a computer, whether presently existing or developed in the future, may also be used in the example operating environment 1300, and that any such storage media may contain computer-executable instructions for performing the methods described herein.
A number of program modules may be stored in the drives and RAM 1312, including an operating system 1330, one or more application programs 1332, other program modules 1334, and program data 1336. All or portions of the operating system 1330, the applications 1332, the modules 1334, and/or the data 1336 may also be cached in the RAM 1312. The systems and methods described herein may be implemented using various operating systems or combinations of operating systems that are commercially available.
The computing device 1302 may optionally include emulation technologies. For example, a hypervisor (not shown) or other intermediary may emulate a hardware environment for the operating system 1330, and the emulated hardware may optionally be different from the hardware illustrated in
In addition, the computing device 1302 may be enable with a security module, such as a trusted processing module (TPM). For example, with a TPM, boot components may hash next-in-time boot components, and wait for a match of results to secured values, before loading a next boot component. This process may take place at any layer in the code execution stack of the computing device 1302 (e.g., applied at the application execution level or at the operating system (OS) kernel level) thereby enabling security at any level of code execution.
A user may enter commands and information into the computing device 1302 through one or more wired/wireless input devices (e.g., a keyboard 1338, a touch screen 1340, and a pointing device, such as a mouse 1342). Other input devices (not shown) may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control, or other remote control, a joystick, a virtual reality controller and/or virtual reality headset, a game pad, a stylus pen, an image input device (e.g., one or more cameras), a gesture sensor input device, a vision movement sensor input device, an emotion or facial detection device, a biometric input device (e.g., fingerprint or iris scanner), etc. These input devices and other input devices may be connected to the processing unit 1304 through an input device interface 1344 that may be coupled to the system bus 1308, but may be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a BLUETOOTH® interface, etc.
A monitor 1318 or other type of display device may be also connected to the system bus 1308 via an interface, such as a video adapter 1346. In addition to the monitor 1318, the computing device 1302 may also include other peripheral output devices (not shown), such as speakers, printers, etc.
The computing device 1302 may operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as remote computer(s) 1348. The remote computer(s) 1348 may be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device, or other common network node. The remote computer(s) 1348 may include many or all of the elements in the computing device 1302 although only a memory/storage device 1350 is illustrated for purposes of brevity. As depicted in
When used in a LAN networking environment, the computing device 1302 may be connected to the local network 1352 through a wired and/or wireless communication network interface or adapter 1356. The adapter 1356 may facilitate wired or wireless communication to the LAN 1352, which may also include a wireless access point (AP) disposed thereon for communicating with the adapter 1356 in a wireless mode.
When used in a WAN networking environment, the computing device 1302 may include a modem 1358 or may be connected to a communication server on the WAN 1354 via other means to establish communication over the WAN 1354, such as by way of the Internet. The modem 1358, which may be internal or external and a wired or wireless device, may be connected to the system bus 1308 via the input device interface 1344. In a networked environment, program modules that are depicted relative to the computing device 1302 or portions thereof, may be stored in the remote memory/storage device 1350. It should be understood that the network connections depicted in
When used in either a LAN or WAN networking environment, the computing device 1302 may access cloud storage systems or other network-based storage systems in addition to, or in place of, the external storage devices 1316 as described herein. In some embodiments, a connection between the computing device 1302 and a cloud storage system may be established over the LAN 1352 or WAN 1354 (e.g., by the adapter 1356 or the modem 1358, respectively). Upon connecting the computing device 1302 to an associated cloud storage system, the external storage interface 1326 may, with the aid of the adapter 1356 and/or the modem 1358, manage the storage provided by the cloud storage system as it would for other types of external storage. For example, the external storage interface 1326 may be configured to provide access to cloud storage resources as if those resources were physically connected to the computing device 1302.
The computing device 1302 may be operable to communicate with any wireless devices or entities operatively disposed in wireless communication such as a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, store shelf, etc.), telephone, etc. This communication may use Wireless Fidelity (Wi-Fi) and BLUETOOTH® wireless technologies. Thus, the communication may be a predefined structure as in a conventional network or simply an ad hoc communication between at least two devices.
The foregoing description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the specification to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the disclosure is not limited by this detailed description and the modifications and variations that fall within the spirit and scope of the appended claims are included. As will be understood by those familiar with the art, the specification may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.
In particular and with regard to various functions performed by the above-described components, devices, circuits, systems, and/or the like, the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even if such component may not be structurally equivalent to the described structure, which illustrates exemplary aspects of the present disclosure. In this regard, it should also be recognized that the present disclosure includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of various methods described herein.
In addition, while a particular feature of the present disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for a given application. Furthermore, to the extent that the terms “includes,” and “including” and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising.”
In this application, the word “exemplary” is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Instead, the use of the word exemplary is intended to present concepts in a concrete fashion.
Various aspects or features described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from a computer-readable device, carrier, or media. For example, computer readable media may include, but are not limited to, magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips, etc.), optical disks (e.g., compact disk (CD), digital versatile disk (DVD), etc.), smart cards, and flash memory devices (e.g., card, stick, key drive, etc.).
In the preceding specification, various embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
This application is a continuation in part of, and claims priority to, U.S. patent application Ser. No. 18/308,234, filed on Apr. 27, 2023, and entitled “SYSTEMS AND METHODS FOR ANOMALY DETECTION IN INDUSTRIAL BATCH ANALYTICS,” which is incorporated by reference herein in its entirety. This application also claims priority to U.S. Provisional Application Ser. No. 63/595,035, filed on Nov. 1, 2023, and entitled “SYSTEMS AND METHODS FOR OPTIMIZING INDUSTRIAL PROCESS”, which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
63595035 | Nov 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 18308234 | Apr 2023 | US |
Child | 18596193 | US |