Detecting the cause of abnormal operation of industrial machines
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- PAUL WURTH SA
- Filing Date
- 2023-04-14
- Publication Date
- 2026-04-20
AI Technical Summary
The prior art is difficult to effectively identify and resolve abnormal operations of industrial machines, especially the root parameters that cause abnormal operations.
Through calculation implementation methods, multivariate time series data are processed and critical parameters (CPs) are identified that can cause abnormal behavior of industrial machines or indicate other parameters to cause abnormal behavior. The method includes receiving an operation time series and a reference time series, identifying a deviation segment, replacing the deviation segment to minimize error values, and determining a critical parameter.
It can identify key parameters that cause abnormal operation of industrial machines in real time or predictive ways, thereby helping operators to repair in a timely manner and improve the normal operation rate of the machine.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to industrial machines, and more particularly to computer systems, methods, and computer program products for identifying parameters critical to the operation of industrial machines. [Background technology]
[0002] An industrial machine that continues to operate as expected is as rare as a perpetual motion machine. Abnormal operation is the result of relatively rare events that are unpredictable and usually have adverse effects. Therefore, human machine operators seek to avoid abnormal operation.
[0003] To name just a few examples, a machine may suddenly stop but an operator can identify a broken component by looking at a sensor. In other situations, the machine may still be able to operate, still deliver a product, etc., but parts of the machine may behave differently than normal.
[0004] Experienced operators can hear the machines and tell the difference, but traditional methods are likely to fail when it comes to modern industrial machines.
[0005] The computer can receive sensor data (and other data) from the machine and can alert the operator as early as possible. However, regular monitoring of current or future abnormal operation still does not encourage the operator to modify the machine (e.g., change certain parameters). In other words, detecting abnormal operation of an industrial machine is not the same as detecting the cause of the abnormal operation, and still does not by itself detect the root cause.
[0006] Even worse, one parameter deviation from its normal range can cause other parameters to deviate and result in erratic behavior - and this troublesome parameter may go undetected.
[0007] Summary of the Invention The present invention relates to a computer-implemented method for distinguishing parameters of a specific industrial machine as claimed in claim 1. The computer applies the computer-implemented method for distinguishing parameters of a specific industrial machine, whereby the computer identifies a subset of parameters that are critical parameters (CP) in the sense that they cause abnormal operation of the industrial machine and / or that they point to one or more further parameters that cause the abnormal operation.
[0008] The computer processes a multivariate time series, which is a plurality of univariate time series representing parameters of a particular industrial machine.
[0009] In the receiving step, the computer receives a first multivariate time series representative of the operation of a particular industrial machine: an operational (multivariate) time series.
[0010] In the obtaining step, the computer obtains a second multivariate time-series: a reference (multi-variate) time-series, having representative samples corresponding to the first multivariate time-series. The correspondence is variate correspondence (the operational and reference multivariate time-series have common variables) and time correspondence (the operational and reference time-series may be synchronized).
[0011] In the identification step, the computer examines the first multivariate time series and identifies (at least) two deviant segments where the samples deviate from the expected values.
[0012] The computer performs calculations to obtain multiple error values of the error function, each calculation including the steps of selection, substitution, and decision.
[0013] In the selection step, the computer identifies one or more deviating segments in the calculation-specific variation.
[0014] In the replacing step, the computer replaces the one or more selected deviant segments with one or more corresponding segments of the second multivariate time series, thereby obtaining a modified first multivariate time series.
[0015] In the error value determination step, the computer calculates an error value as a sum of a first error component (for the corrected first multivariate time series and the second multivariate time series) and a second error component for the corrected first multivariate time series and the (original) first multivariate time series.
[0016] The computer determines a plurality of error values and determines the variation with the lowest error value. For the determined variation, the computer selects one or more variables with the one or more preselected deviation segments as one or more variables representing the one or more critical parameters. The industrial machine operator then identifies the one or more critical parameters via the computer.
[0017] Optionally, the computer determines the error values such that the first error component comprises a sum of squared differences between the corrected first multivariate time series and the second multivariate time series, and the second error component comprises an absolute value of a linear difference between the corrected first multivariate time series and the first multivariate time series.
[0018] Optionally, the computer determines an error value such that the first error component comprises a sum of the number of time slots in which the corrected first multivariate time series and the second multivariate time series differ within that time slot.
[0019] Optionally, the computer determines the error value such that the first error component comprises a sum of the number of time slots for the univariate time series whose values are binary (ie, a binary time series).
[0020] Optionally, the computer determines an error value such that a first error component comprises a number of corrections in the corrected first multivariate time series.
[0021] Optionally, the computer determines an error value by the sum of the number of time slots to which the binary substitution correction has been applied.
[0022] Optionally, the first error component includes a first weight factor and the second error component includes a second weight factor.
[0023] Optionally, the first and second error components each further comprise variate-specific weight factors, with a first group of variate-specific weight factors specific to variables representing modifiable parameters and a second group of weight factors specific to variables representing non-modifiable parameters.
[0024] Optionally, one or more of the critical parameters are abnormal operation cause parameters.
[0025] Optionally, the computer identifies segments with deviations in the first multivariate time series by applying predefined rules selected from: (i) comparing univariate time series of the first and second multivariate time series for each variable separately and identifying segments whose corresponding samples have a value difference exceeding a predefined threshold as deviating segments; (ii) comparing univariate time series of the first and second multivariate time series for each variable separately and identifying segments whose integrals exceed a predefined threshold integral as deviating segments; and (iii) comparing univariate time series of the first and second multivariate time series for each variable separately and identifying deviating segments by derivatives.
[0026] Optionally, the computer identifies the deviant segments by processing the first multivariate time series through a pre-trained autoencoder module that establishes a reconstruction of the first multivariate time series such that the reconstruction of the first multivariate time series enables the first multivariate time series to assume a function of the second multivariate time series.
[0027] Optionally, the computer obtains the second multivariate time series by processing the first multivariate time series with a pre-trained autoencoder module that establishes a reconstruction of the first multivariate time series such that the reconstruction of the first multivariate time series enables the first multivariate time series to assume a function of the second multivariate time series.
[0028] Optionally, the processing of the first multivariate time series with the pre-trained autoencoder module includes using a convolutional autoencoder.
[0029] Optionally, obtaining the second multivariate time series is performed by processing the historical multivariate time series.
[0030] Optionally, obtaining the second multivariate time series is performed by any of the following: obtaining data for a different time period from the same physical machine, obtaining data from a similar machine, obtaining data from a virtual machine, obtaining data from an autoencoder module as a reconstruction of the first multivariate time series, and by applying predefined rules.
[0031] Optionally, a second multivariate time series update is performed to repeat the steps of identification, selection, replacement, and decision. These and other embodiments of the invention are set out in the appended dependent claims.
[0032] The computer program product, when loaded into a memory of a computer system and executed by at least one processor of the computer system, causes the computer system to perform the steps of a computer-implemented method.
[0033] The computer system includes a number of modules that perform the steps of a computer-implemented method when executed by the computer system.
[0034] The computer system can be used to differentiate between parameters of a particular industrial machine and identify a subset of parameters that are critical parameters (CPs) that cause abnormal operation of the industrial machine. [Brief description of the drawings]
[0035] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings, in which: [Figure 1] FIG. 1 illustrates an industrial machine and a computer. [Diagram 2] FIG. 2 shows industrial machinery and a computer in further detail. [Diagram 3] FIG. 1 illustrates a simplified overview of a computer-implemented method for identifying one or more critical parameters causing abnormal operation of an industrial machine. [Figure 4]FIG. 1 illustrates a multivariate time series representing multiple machine parameters. [Diagram 5] FIG. 1 illustrates a multivariate time series representing multiple machine parameters. [Figure 6] FIG. 1 illustrates the conceptual differences between timelines related to different machine roles. [Figure 7] FIG. 1 illustrates a multivariate time series with one deviation in the univariate time series. [Figure 8] FIG. 8 illustrates the multivariate time series of FIG. 7 with further deviations. [Figure 9] FIG. 2 illustrates aspects and details for determining the error value of an error function. [Figure 10] FIG. 13 is a diagram showing an example of an error function formula. [Figure 11] FIG. 1 illustrates replacement variation as a tool to identify a specific erroneous value among multiple values. [Figure 12] 1 shows a method flow diagram of a computer-implemented method. [Figure 13] FIG. 1 illustrates the optional use of an autoencoder to detect deviating segments of a time series. [Figure 14] 13 illustrates the method flow diagram of FIG. 12 of a computer-implemented method according to an optional approach for updating criteria. [Figure 15] FIG. 1 shows a time series for calculating the error function in a scenario with binary data. [Figure 16] FIG. 1 illustrates variable preprocessing by showing adapters. [Figure 17] FIG. 1 illustrates the variable pre-processing by showing image data. [Figure 18] FIG. 1 illustrates variable preprocessing by data integration. [Figure 19] FIG. 1 illustrates a general-purpose computer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] Overview of industrial machines and parameters 1 and 2 both show industrial machines 101 and 102 and show a computer 200. Simply put, the machine 101 does not work as expected and from a time point of view, the following scenarios can be distinguished: The machine 101 can indicate current abnormal operation, and the computer 200 can assist the operator 190 in restoring the machine 101 to normal operation. The machine 101 can indicate future (eg, at a predictable time) abnormal behavior and the computer 200 can assist the operator 190 in identifying appropriate measures to prevent the abnormal behavior. The machine 101 can indicate past abnormal operation and the computer 200 can assist the operator 190 in identifying the cause.
[0037] For perspective, it is useful to also look at figures 3 and 12: The computer 200 executes a computer-implemented method (criterion 400 in FIG. 12) for distinguishing parameters of a (particular) industrial machine 101 by identifying a subset of parameters ("critical parameters", CP) that are critical to abnormal operation of the machine. In FIG. 3, CP is parameter β.
[0038] The computer 200 provides the identification of the CP to the operator 190 via a user interface 290 as shown, or in some other manner.
[0039] A subset can have one or more critical parameters, but for simplicity, the description uses one (the "critical parameter").
[0040] The critical parameter (CP) is parameters that may cause anomalous operation ("Cause of Anomaly Operation" (CAO) parameters), and / or Parameters that may cause anomalous operation ("Indicators for Abnormal Operation" (IAO) parameters) It is.
[0041] Although parameters outside the subset may indeed be critical parameters, the critical parameters (i.e., parameters within a subset, such as subset β in parameter set α, β, γ, δ of FIG. 3) have a relatively high likelihood of being critical parameters. In other words, one or more parameters within the subset are associated with a relatively high confidence of being the cause of anomalous operation than parameters outside the subset.
[0042] The industrial machine 101 and the computer 200 operate substantially simultaneously (at least in current and future scenarios), in other words, the operation time of the machine 101 substantially corresponds to the execution time of the computer 200, so that the critical parameters CP become known early enough for the operator 190 to take measures within a reasonable time frame.
[0043] As used herein, a parameter is a characteristic, and a parameter has two aspects: the parameters affect the operation of the machine 101 (i.e., they are "influencing" parameters), or The parameters indicate the operation of the machine 101 for a particular machine component (part) (eg, machine components 110, 120 or 130 are "critical components", i.e., they are "indicative" parameters).
[0044] Both aspects can be combined, so that some parameters both affect and indicate the operation. In this description, we distinguish between affecting and indicating parameters, considering the operator 190. The operator can directly modify the affecting parameters. The operator can identify a particular machine component by looking at the indicating parameters. The operator can then modify the machine component.
[0045] In principle, the operator 190 can change the parameters (and / or components) at any time; the operator 190 will usually change the CP (and / or critical components) so that the machine returns to normal operation.
[0046] computer In brief, the computer 200 processes data representative of the parameters (at least some of them). Conveniently, the data is available as a multivariate time series {{X}}_op (reference numeral 501 in the time diagrams of Figs. 6-9). The skilled person obtains such data, for example, by communicatively coupling the machine 101 and the computer 200, and therefore the present description will not go into details in that respect.
[0047] The computer 200 identifies the critical parameters that are related to the abnormal operation. There are two aspects to this relationship: The critical parameter CP has an effect on the operation, which results (at present time or in future / past time) in an abnormal operation of the machine, or · Critical parameters CP indicate that the machine is exhibiting abnormal operation of certain machine components.
[0048] In either aspect, the identification of the critical parameters is important to the operator. In the first aspect, the operator may change the critical parameters so that the machine returns to normal operation. In the second aspect, the operator further inspects the particular machine component of the machine, and ultimately repairs or replaces the machine component so that the machine returns to normal operation again.
[0049] The notation "identify critical parameters" is a simplification. Rather, the computer distinguishes between parameters according to likelihood. As will be explained in more detail below, the computer obtains intermediate computational results ("errors", L(v)) that represent the likelihoods, and the parameters associated with the smallest (or sometimes the "largest") error are the critical parameters.
[0050] The critical parameter CP has a higher likelihood of being associated with abnormal behavior than other parameters.
[0051] Distinguishing by likelihood can be advantageous from a time standpoint: the computer 200 executes the method relatively quickly in order to have the critical parameters available when a return to normal operation is still possible (or possible without significant interruption). Using relatively high resources (computers running even very complex software) to find the critical parameters as accurately as possible (i.e. with almost 100% accuracy, e.g. identifying β instead of α in Figure 3), and Finding the critical parameters as quickly as possible with enough precision to allow the operator to change the parameters (or repair / replace machine components), There is a compromise between.
[0052] Identifying the critical parameters can inform the operator that other parameters may be the cause (eg, "no data parameters" where no parameters for that data are available).
[0053] Deviation Segment In many cases, critical parameters deviate (from expected values) within a certain period of time. In the terms of the present description, they deviate during deviations of a segment of the time series. This method takes advantage of that.
[0054] method As will be explained in more detail below, the computer 200 executes the method 400 by receiving / obtaining a (multivariate) time series (steps 410 / 420 in FIG. 12, see FIGS. 4-9) and by identifying deviant segments (step 430 in FIG. 12, FIGS. 7-8, represented by the identification module 210, FIG. 1).
[0055] The computer 200 then executes multiple activities 440 in a loop, serially, in parallel, or by other schemes. The activities are controlled by a controller module 240 or the like.
[0056] In this description, we distinguish activities by an index v (short for "variation", variation index) with V being the number of activities (ie number of variations).
[0057] Each activity (v) has the following steps: Selection and replacement of segments (steps 441, 442, i.e. applying variations by changing segments, also Figs. 3 and 11), and Determination of the error (by calculating, step 443, also FIGS. 3, 9 and 10).
[0058] The computer 200 separates one or more deviating segments ( / / ) into non-deviant (non-deviant) segments ( ~~ ), so that each calculation (in step 443) assumes a different permutation. The skilled person can identify an appropriate scheme, which is symbolically shown in this description to permute one segment per variation (in FIG. 3) or permute more than one segment per variation (in FIG. 11). Other schemes include variations with iterations, with gradients, etc. For example, the skilled person could apply a gradient-based optimization so that the error function L(v) does not have to be applied to all variations V.
[0059] The diagram symbolizes activity-specific replacement by the replacement module 220 .
[0060] The computer 200 calculates an error value of an error function (L(v), symbolized by error calculation module 230), specific to each permutation variation (v).
[0061] The assumption is that the error function L(v) has a minimum for a particular permutation variation (v), and that the particular permutation (with minimum error) is a pointer to the critical parameters.
[0062] In other words, the computer optimizes the error function L(v) (to minimize it, see FIG. 10) and thereby is able to identify the parameter deviations of interest (ie, the critical parameters).
[0063] Calculating the error function L(v) is analogous to calculating the loss function in a trained neural network: training the network requires variation of weights, but here the segment permutations are diverse.
[0064] Typographical Conventions Terms such as "abnormal" and "deviant" may be considered synonymous, but in this description deviations from the machine's parameters, and - Abnormal operation of the machine (as a whole); are considered to be different.
[0065] Theoretical example in Figure 3 Although the first parameter α may deviate from normal, such deviation of the parameter may not cause the abnormal operation of the machine. In other words, even if the parameter α deviates, the machine will operate normally and α is not a critical parameter. At a later point in time, the second parameter β may also deviate, and thereby the third parameter γ and the fourth parameter δ may deviate. As a result of the deviations of γ and δ, the machine will no longer operate normally. The computer 200 processes the deviations of α, β, γ, and δ and identifies β as a critical parameter.
[0066] Since there are no other critical parameters, β becomes the root cause parameter of the anomaly, or "RCAO parameter."
[0067] First actual machine example The first aerial machine (not shown in detail) A heater coil for heating water, with the power state of the coil as parameter P1 (measured, for example, by electrical parameters such as current and / or voltage), A circuit breaker that cuts off the power to the heater coil, with the ON-OFF-state as parameter P2, and It should have parameter P3, a thermometer for measuring the water temperature.
[0068] In normal operation, the thermometer detects that the water temperature increases over time, but in abnormal operation it does not: the change in temperature is the effect, not the cause.
[0069] There could be many reasons (i.e., causes) for this, so the computer would detect the deviation of P2 as the cause. The computer would present P2 (or the variable X2, which is conceptually the same) to the operator as the critical parameter (CP). The operator could then reclose the circuit breaker, restoring normal operation.
[0070] P2 is an example of an affect parameter that can be changed by the operator (the operator actually changes it from OFF to ON).
[0071] Second practical machine example A second fictitious machine (also not shown in detail) would have a motor with sensors monitoring bearings. The sensors measure parameters such as temperature and vibration of the bearings, and further parameters indicate the power consumption of the motor. Damage to the bearings would cause friction (instead of minimizing it) and therefore the machine would exhibit abnormal behavior consuming more power than normal. In this example, the parameters indicate aspects of the behavior (temperature, vibration, power, etc.), but the computer would identify the deviating temperature and vibration of a particular bearing as the critical parameters.
[0072] Temperature and vibration are examples of parameters to indicate, but the indication includes identification of the particular bearing (assuming the computer receives the parameters for each bearing individually). The status of the bearing is a data-less parameter, but the status can be derived (by the computer applying predefined rules, by the computer applying machine learning experience, by the operator using knowledge experience, etc.). The operator 190 can eventually discover that the bearing is broken and replace it.
[0073] Abstraction from Semantics In this description, a simplified fictitious machine is described with semantics, but the computer processes the representation of the parameters as numerical values (over time), essentially without semantics, and without considering the physical relationships between the parameters. In other words, the computer does not apply rules that reflect physical relationships (e.g., a heater passing an electric current heats water, friction in bearings takes temperature and vibration into account). Ignoring semantics can be advantageous, since the computer does not need to use rules that represent relationships between parameters.
[0074] Variables representing parameters In this description, we distinguish between parameters of the machine and variables in the computer. As used herein, a variable is a representation of a parameter by the computer, such that variable X1 represents parameter P1, variable X2 represents P2, variable X3 represents P3, etc. (variable Xi represents parameter Pi).
[0075] Although the computer cannot change the parameters (this is the job of the operator), the computer can apply variations to the data (ie, change the variables, steps 441, 442).
[0076] By identifying variations (in the variables) that lead to relatively small error values (function L(v), step 443), a one-to-one representation is returned for one or more critical parameters (where the critical variables represent the critical parameters) and the critical variable (or variables) are also identified.
[0077] By identifying the critical parameters, the computer 200 indicates the status of the industrial machine 101 as a technical system, based on which the operator 190 can proactively modify (or change) the critical parameters accordingly, or repair or replace the machine components that cause abnormal operation with respect to the indicated parameters.
[0078] Causes and root causes of abnormal behavior It may be desirable to evaluate parameters to identify one or more Cause of Abnormal Operation (CAO) parameters. One of these CAO parameters may be a Root (R) Cause (C) of the Abnormal (A) Operation (O), i.e., a RCAO parameter.
[0079] The first virtual machine may have further parameters, such as a parameter indicating a short circuit (triggering the breaker to turn OFF). A short circuit may be a CAO parameter. The second virtual machine may indicate that temperature and vibrations exceeding a threshold are indicators and critical parameters. The cause may be different (e.g. excessive load to damage a bearing), but knowing the critical parameters, it is possible to request the operator to look at the corresponding machine component without wasting much time. This approach can increase the chances that the machine will return to normal operation.
[0080] Deviations taking into account normative data 1 shows industrial machines 101 and 102 in combination with a computer 200. Machines 101 and 102 are of the same type (i.e., the machines use corresponding parameters).
[0081] To stick with the first example, both machines have heater coils, circuit breakers, thermometers, and sensors for parameters P1, P2, P3 with variables X1, X2, X3 respectively. In the second example, the machine components may be distinguished as motor 110 and bearings 120, 130. Sensors and other sources of data (such as for power consumption) are not shown.
[0082] The machines are distinguished by the different roles they perform: The industrial machine 101 is a machine that may exhibit abnormal operation and for which one or more critical parameters (CP), possibly CAO and RCAO parameters, must be identified. · Industrial machine 102 ("reference machine") has provided (or is providing) reference data for the operation of machine 101.
[0083] It is convenient to assume that machine 101 is currently operating (i.e., an "operating machine"), so that computer 200 identifies critical parameters substantially in real time, so that they can be modified to enable machine 101 to continue operating normally (see the "current time" scenario above).
[0084] Reference data as a replacement basis The reference data serves the primary purpose of providing replacement segments (see replacement step 442).
[0085] In light of this substitution, the present description applies a simplification: we discuss reference data as reference(multivariate time series {{X}}_rf) which means data in the same format (i.e., multivariate time series) as {{X}}_op.
[0086] A skilled artisan can obtain criteria such as {{X}}_rf in various implementations. Machine 102 can be considered a physical machine or an equivalent implemented elsewhere, such as a computer (e.g., by computer 200 or by another computer). In a first implementation scenario, machines 101 and 102 are the same physical machine working in different roles at different times. The machine (working as 102) provides {{X}}_rf as historical data. Typically there is a collection of such data. In a second implementation scenario, machines 101 and 102 are physically distinct machines that belong to a group of similar machines. In a third implementation scenario, machine 102 is a computer virtualized machine. The skilled artisan is familiar with the concept of having a digital twin (machine 101 is the original and machine 102 is the twin). The digital twin provides {{X}}_rf. In a fourth implementation scenario, the computer 200 uses an autoencoder module 215, details of which are described in relation to FIG. In a fifth implementation scenario, the computer 200 implements predefined rules. For example, the computer can detect that a univariate time series begins to deviate (i.e., has a deviating segment) when the value of the variable (such as temperature) exceeds a predefined threshold, and the computer can identify the end of the deviation when the value of the variable falls below the threshold. A skilled artisan can apply such rules or other rules (e.g., different thresholds to reflect hysteresis) in other ways.
[0087] Further objectives as standards of expectation The reference data may serve the further purpose of providing expected values for the individual parameters. In other words, the reference data provides an expectation reference. If one parameter does not have the expected value, the parameter indicates a deviation. In the first example, the circuit breaker is predicted to always be ON (or conductive), but parameter P2 deviates when the breaker turns OFF. In the second example, parameters such as temperature, vibration, power consumption, etc. are predicted to fall below certain thresholds. They may deviate individually.
[0088] Further purposes as a criterion for proper operation The reference data may serve an additional purpose for identifying abnormal operation: deviation of one parameter alone does not indicate abnormal operation (of the machine).
[0089] The expert can define rules for detecting anomalous behavior. In a first example, an anomalous behavior occurs when the circuit breaker (P2) turns OFF, regardless of the other parameters P1 and P3. In a second example, an anomalous behavior can be defined for either temperature or vibration exceeding a threshold, in combination with excessive power consumption.
[0090] It may be advantageous (eg, to conserve computing resources) to have computer 200 perform method 400 in the event of detection of anomalous behavior.
[0091] It is not necessary for the operator 190 to be aware of the machine 101 exhibiting abnormal operation.
[0092] Changing the reference data If a parameter (or component) is changed for any reason (such as to restore normal operation during a maintenance process), the skilled person can update the reference data as well. Also, the reference data can be updated (or refreshed) while the computer is performing the method. More details on such optional techniques are provided below in conjunction with FIG. 14.
[0093] simplification In this description, we apply a further simplification: As used herein, a multivariate time series {{X}}_rf is Provide a replacement segment (replacement reference), · Provides expectations, and · Provides inputs (normal operating criteria) to determine abnormal operation.
[0094] The practitioner may use different criteria for these three functions.
[0095] Parameter details, taxonomy 2 shows machines 101 and 102 with interacting machine components, here indicated as blocks 110, 120 and 130. The arrows between the blocks indicate dependencies between the machine components.
[0096] The parameters can be differentiated by their location on the machine components (i.e., by component topology). Input parameters characterize the materials, energy, etc. that the machine receives at an input or intake (such as the characteristics of the machine that processes water or other materials). · Process parameters are characterized by their relationship to specific process steps, such as the processing of specific materials, the consumption of energy or other resources (e.g. electricity or heat power), or the emission of substances (including CO2). Output parameters characterize the product (or intermediate product). For example, output parameters characterize the quantity and quality of a product (in a simple example, hot water and its temperature).
[0097] Parameters can be further differentiated by their availability to the operator to change them. There are two categories: -Changeable parameters, and · Non-changeable parameters.
[0098] Categorizing the parameters can optionally aid in the application of different weights in determining the error function (see Figures 10, 12 and 14, step 443 below).
[0099] In the first example above, an operator may not be able to replace the broken heater coil, but may manually turn the breaker ON (after performing periodic checks, of course) and the operator may use an alternate sensor to measure the water temperature.
[0100] Parameters that can be modified by the operator 190 (of the machines 101, 102) are modifiable parameters or "actuator parameters", otherwise they are non-modifiable parameters or "machine characterizers". In other words, parameters are active parameters (modifiable) or passive parameters (non-modifiable). In the figure, the index j is used in the example from j=1 to J=3.
[0101] The corresponding variables (i.e., representations of parameters) are "mutable" and "non-mutable" variables. Note, however, that operators modify parameters, not variables.
[0102] What is changeable and what is not changeable depends on the type of machine and other factors.
[0103] Some modifiable parameters can only be indirectly modifiable: directly modifiable parameters can be input parameters (such as materials at the input of the machine, e.g. raw materials), process parameters of the machine (such as the operating state mode of the machine, standby, full operation), and others.
[0104] The diagram illustrates modifiable parameters (and modifiable variables) with arrow symbols. Note that operator 190 can, for example, modify the behavior of machine component 110 (see arrow), which can act on machine component 120, etc.
[0105] Indirectly modifiable parameters may be, for example, machine vibrations (measured by a sensor), environmental or other temperature (measured by a thermometer), humidity, etc.
[0106] The diagram shows the parameters that cannot be changed with index k, in this example k=1 to K=4.
[0107] The figure shows the multivariate time series {{X}} over time (time t is shown from left to right) below the machine. Note that this diagram is greatly simplified and that real machines have more parameters than N=6 (N=J+K).
[0108] The skilled artisan may identify additional parameters, and the description therefore mentions parameters merely as examples.
[0109] The parameters may be further differentiated into groups, where a first group of parameters may be associated with machine component 110, a second group with machine component 120, and so on.
[0110] Abnormal operation In the first example, a circuit breaker only turns OFF when the current exceeds a threshold, but it typically does not turn ON automatically (unlike a switch that is part of a control loop).
[0111] An abnormal operation (and deviation in one parameter) can cause one or more parameters to change. It doesn't matter if the parameters are changeable or not. Computers represent parameters as variables, so they can detect anomalies by processing the variables.
[0112] Abnormal operation (and deviation of one parameter) can be differentiated according to its impact on the process: A sensor or measuring device may provide an erroneous variable: in a first example, a thermometer may be broken (or incorrectly calibrated, or incorrectly identified by the computer, etc.), so that the variable X3 may not correctly represent the (otherwise normal) parameter P3.
[0113] In a typical scenario, the operator 190 modifies one of the (modifiable) parameters, a critical parameter, giving priority to modifying the CAO parameter and - if possible - modifying the root cause parameter (RCAO parameter).
[0114] FIG. 3 shows a simplified overview of a computer-implemented method for detecting one or more critical parameters.
[0115] As used herein, the description uses slashes / / for deviating parameters, which the description distinguishes with small Greek letters. The arrows point to causes, which the computer 200 does not know a priori.
[0116] The variable Xα changes, but the parameter λα does not affect the other parameters. After a while, the parameter β (variable Xβ) deviates, causing deviations in γ and δ.
[0117] The computer identifies the four deviations / X / α, / X / β, / X / γ, / X / δ and - for computer activity only and without interfering with the industrial machinery - replaces the deviation segments / / with replacement segments ~~ Modify the time series (i.e., {X}β, etc.) by replacing ~ X ~ α, ~ X ~ β, ~ X ~ γ, ~ X ~ δ represents sequences taken from the non-deviant time series (e.g., replacement criteria).
[0118] The computer calculates the error values (for multivariate time series, for virtually all variables, even those that have not been changed, as shown in detail in Figures 9-10). Since changes in Xβ have the most impact, parameter β (i.e., Pβ in the above notation) is identified as the critical parameter (as a potential CAO or even RCAO).
[0119] If parameter β is a changeable parameter, an operator can change it to enable the machine to operate normally again (restore normal operation).
[0120] Since the industrial machine 101 (and the machine 102 if physical) operates according to physical laws, deviations in the parameters (and the variables that represent them) take a certain duration related to the components of the machine. Continuing with the first example, when the power is cut off, the heater stops, but it takes a certain interval before a drop in the temperature of the water is detected.
[0121] Therefore, the computer processes the parameters taking into account such intervals, and the variables representative thereof are collected in appropriate time windows (see Figures 4-5).
[0122] Figures 4 and 5 show a multivariate time series 500 representing multiple machine parameters. The figures are identical and only differ in how the parameter samples are shown: Figure 4 shows discrete samples as dots, and Figure 5 connects the dots with lines (as in Figure 2).
[0123] Let {{X}} represent a multivariate time series, with variables {X}i, i = 1 to N, where index i is the variable index and N is the number of variables. {{X}} contains multiple univariate time series.
[0124] The variables {X}i are specified in a univariate time series. In another notation, a univariate time series is specified as an array of samples {X1...XM}i.
[0125] M is the number of samples in the monitoring interval WINDOW (i.e., the time length of the time series), and individual samples are identified by index m. The interval is WINDOW duration = Δt * M. Δt represents the sampling interval. As used here, Δt is the same for all i. This is convenient for illustration, but is not required in practice. Different univariate time series can use different sampling intervals. For example, temperature is measured every Δt = 60 seconds, while current is measured every Δt = 1 second.
[0126] As mentioned above, the WINDOW duration takes into account delays (such as measurement delays caused by inherent characteristics of the machine's components).
[0127] The notation Xmi represents the numerical value of the variable {X}i at the time tm of the parameter sample 505. For example, Xmi can be a temperature value of 30°C. Since the semantics are not important, the values can be normalized. For example, in a temperature range from -30°C to 70°C ("0" to "1"), 30°C can be treated as "0.5". The diagram indicates the variable ranges by arrows 510 (i.e., the y-axis for each variable). The skilled person can apply preprocessing to filter out unrealizable variable values. For example, a defective sensor may occasionally output a value of 1000°C, but such excess values can be ignored.
[0128] A time instant tm is designated relative to the end of each sampling interval Δt. This is a convenient convention, in other words, tm identifies the sampling interval that ends at time tm.
[0129] As used herein, a time series represents a complete monitoring interval, from t1 to tM. Each division of time is called a "segment" (described in more detail in Figures 7 and 8).
[0130] In view of distinguishing between modifiable parameters (index j in FIG. 2) and non-modifiable parameters (index k in FIG. 2), either index j or index k is applied.
[0131] In explanations, we distinguish between multivariate and univariate time series by writing {{}} or {}, but explanations sometimes omit "multivariate / univariate" or enclose them in parentheses, respectively.
[0132] Other time series In this description, we refer to time series where the parameter samples 505 have numerical values. With or without normalization, the skilled person can code Xmi in an appropriate data format (floating point real numbers, integers, etc.). Some parameters are usually represented as binary data (TRUE / FALSE, ON / OFF, etc.) or as text or strings, so the skilled person can apply this method to such variables.
[0133] Timeline of different machine roles Figure 6 illustrates the conceptual differences between time series related to the different machine roles (101, 102 in Figures 1-2).
[0134] An operational (multivariate) time series 501 - also denoted as "first series" or {{X}}_op - represents the operation of the industrial machine 101. The diagram uses bold notation.
[0135] The reference (multivariate) time series 502 - also denoted as "second series" or {{X}}_rf) - represents the behavior of the reference industrial machine 102 (implemented by any of the implementation scenarios 1-5 above). The figure uses dashed line notation.
[0136] Both multivariate time series 501 and 502 correspond in that the reference series 502 has samples that correspond to samples in the operational time series 501 ({{X}}_op corresponds to {{X}}_rf).
[0137] Variate correspondence 513 (indicated by different line styles, bold and dashed, see legend) means that a univariate time series {X}i_op has an equivalent univariate time series {X}i_rf, since both series refer to the same type of parameters. The expert can identify the corresponding time series beforehand, and the present description uses the same index i. In the above example, the parameter P3 (temperature) has corresponding time series {X}3_op and {X}3_rf.
[0138] For simplicity, we can assume that the number of variables N is the same in both {{X}}_op and {{X}}_rf. This is convenient, but not required.
[0139] Time correspondence 514 (denoted by a vertical line) means that for two univariate time series {X}i_op and {X}i_rf, there are samples taken at the same relative time (here t10).
[0140] Experts can normalize times. A reference time series is usually taken prior to the running time series, so absolute calendar points in time (in YYYYMMDDHHMMSS) can be recalculated to relative points in time (e.g. at the beginning of the monitoring WINDOW, at time t0). For example, {{X}}_op starts at 20220222220000, {{X}}_op starts at 20220122220000 (10pm one month ago), and t10 occurs 10 minutes later. The relative point in time t10 will be HHMMSS=001000.
[0141] The variable correspondence 513 and time correspondence 514 do not imply that all samples are equal, and the figure indicates this by the different magnitudes of the lines.
[0142] In the above example, {X}1 can have any value within a certain tolerance range, {X}2 will always be ON and {X}3 will rise (under normal operation from t0 to tM).
[0143] The correspondence is from a first sequence 501 to a second sequence 502 (ie, from operational to baseline).
[0144] Correspondence may be missing: Reference sequence 502 may have variables (e.g., variable 512) that are not available in sequence 501{{X}}_op. For example, reference machine 102 measures temperature at more points than machine 101. Or sequence 501 may have variables (such as variable 511) for which there is no reference.
[0145] A skilled artisan may define time correspondence 514 differently, for example to define the OFF-ON switching of a machine component as corresponding points in time, regardless of the relative time elapsed since t0.
[0146] Note that a practitioner may obtain a reference multivariate time series 502 (i.e., a reference) by the following technique: A computer (not necessarily computer 200) can process the collection of historical running multivariate time series {{X}}_op and apply statistical metrics. For example, the metrics can identify (a) the minimum and maximum (for Xmi) divided by m, (b) the mean (for Xmi), (c) the median (for Xmi), and (d) lower and upper confidence values (e.g., taking into account the statistical standard deviation). The computer can use a trained autoencoder (module 215 in FIG. 1, see further in the detailed description below in relation to FIG. 13 for more details), which re-establishes {{X}}_op but ignores deviations.
[0147] The method for acquiring the reference multivariate time series 502 can be applied to the implementation scenario of the machine 102 in which the above (first to fifth) have been introduced.
[0148] This description has already started to discuss deviations. Since some deviations will be replaced by normal (reference) segments, this description will discuss segments in more detail. This description also refers to the error function L(v).
[0149] Further theoretical examples The discussion continues with a further theoretical example, with the deviating parameters (and variables) identified here by the Greek letters λ, μ, and ρ.
[0150] Deviations FIG. 7 shows a multivariate time series 501{{X}}_op with a deviation in one of the univariate time series {X}λ.
[0151] As used herein, a univariate time series {X}i is a deviant univariate time series if it contains at least one "deviant segment" / X / i (i.e., a segment whose samples deviate from the corresponding samples of the reference time series 502). In other words, the property "deviant" applies to a time series if at least one segment is deviant. In other words, a univariate time series can "inherit" the attribute "deviant" from one of its segments.
[0152] The computer establishes deviations by applying predefined rules (set by an expert). One option is to use the above expected criteria ({{X}}_rf) in its function.
[0153] In simple terms, rules can be applied to well-known curve discussions, and experts can use additional rules. For example, / X / λ looks like a U-shaped line, and experts can detect such and similar patterns as deviations. Or, sequences usually follow a standard shape, but sometimes curves turn off-shape.
[0154] The figure shows the univariate time series {X}1, {X}2, and {X}N as non-deviant, and {X}λ as deviant.
[0155] A deviation segment is limited to a time interval that starts at tSλ and ends at tEλ. Index S ("start") represents the first sampling time tS, and index E ("end") represents the last sampling time tE of the segment. As used herein, the limiting samples belong to a segment. This is merely a convention, and the skilled artisan may also define a segment as an open interval.
[0156] To keep the mathematics as simple as possible, the description writes !X! for any (univariate) segment (in a deviating time series) that does not show a deviation (optionally with index i). In this example, there are two such segments (before tS and after tE). The !! notation can also be applied to non-deviant univariate time series {X}1, {X}2, and {X}N.
[0157] In other words, the notation {} refers to a time series and the notation !! refers to a non-deviant segment in the time series, where the non-deviant segment may be the same as the time series (i.e., in the case of a non-deviant time series).
[0158] Univariate deviations may or may not be related to abnormal machine operation.
[0159] In the first example above, a drop in temperature (detected by a computer identifying deviations in the thermometer readings) may be an indicator of an abnormality, but not its cause. Assuming that the temperature is rising normally (i.e., there is no deviation from the baseline), the computer can use the corrected variables to calculate the machine's performance indicators.
[0160] As mentioned above, the computer does not apply semantics and the deviation time series only has samples with numerical values (e.g. 0.5 instead of 30°C).
[0161] Pseudo-fix by replacement 7 also shows the correction samples (obtained from the reference, shown by the dotted line) in the corresponding segments from the reference time series (in the function that is the replacement reference). As used herein, correspondence to a reference time series 502 (FIG. 6) is established by applying tS and tE to a univariate time series {X}λ_rf with the same variance λ.
[0162] In other words, the computer by maintaining at least one non-deviant segment (e.g., !x!λ before tSλ and !x!λ after tEλ), and By replacing one or more deviant segments (e.g.: / X / λ) with the corresponding replacement segments of the reference time series (e.g.: {X}λ_rf), Corrects deviant (univariate) time series (e.g. {X}λ).
[0163] In other words, the computer concatenates the segments:
[0164] {X}λ_cv=!X!λo ~ X ~ λo!X!λ. The symbol "o" represents the linkage and the index v identifies the variation (see FIG. 11, v=1 and v=3).
[0165] The multivariate time series {{X}}_op is corrected to {{X}}_cv (for a combination of plain and dotted lines or for plain lines only, see figure 503). (The acronym "cv" can be seen as a shortened version of "co_v" corrected to variation v).
[0166] Here, we introduce this correction as a tool to assess a would-be-development of the deviation time series {X}λ.
[0167] As used herein, a correction may be a "zero correction" for a non-deviant time series. Since there are no deviation segments, a "corrected" time series corresponds to the original time series, or {X}_cv = !X!.
[0168] Figure 7 shows such non-deviant time series for {X}1_cv=!X!1, {X}2_cv=!X!2, and for {X}N_cv=!X!N (the index v applies from v=1 to v=V).
[0169] Since industrial machinery has multiple parameters, the description will focus on this aspect.
[0170] Multiple deviations as candidates for substitution FIG. 8 shows the multivariate time series of FIG. 7 with an additional deviation segment / X / μ in the variables {X}μ.
[0171] The above notation applies to the following: ·{X}λ_cv=!X!λo ~ X ~ λo!X!λ. ·{X}μ_cv=!X!μo ~ X ~ μo!X!μ.
[0172] Multivariate time series {{X}}_op is modified to {{X}}_cv. In terms of Fig. 11, the index v will be v=3, since the permutation is applied to both λ and μ. For different variations, the concatenation o is applied differently (other permutations, v=1, 2, 4).
[0173] In this example, a permutation of a univariate time series is applied to a multivariate time series. {{X}}_cv={{X}1_cv},{X}2_cv},{X}λ_cv,{X}μ_cv}} (see v=3 in Figure 11) {{X}}_cv={{X}1},{X}2},{X}λ_cv,{X}μ_cv}} (variables 1 and 2 are not changed, so the notation is the same)
[0174] In this simplified view, the deviation segment / X / λ or the deviation segment / X / μ can lead to the identification of λ, which is the critical parameter.
[0175] Multiple deviances distributed across the same univariate time series The deviation segments do not have to be distributed across different time series of different variables (here {X}λ and {X}μ): one and the same variable (say {X}ρ) can represent two (or more) deviation segments (say non-deviation segment!!, deviation segment / / , non-deviation segment!!, deviation segment / / , etc.).
[0176] As an example, FIG. 8 also shows the segments ~ X ~ ρ1, ~ X ~ ρ2, and ~ X ~ ρ3. The indices 1, 2, and 3 may be considered as position indices within {X}ρ.
[0177] The computer processes the corrected multivariate time series {{X}}_cv, together with the reference multivariate time series {{X}}_rf, and together with the operating multivariate time series {{X}}_op to determine an error value (error function L(v), FIG. 10).
[0178] However, before going into the details of this, it should be noted that this explanation does not need to apply substitutions to all possible options. The computer rather diversifies the possible substitutions. For example, there are four substitution variations: v=1: Substitute only / X / λ, v=2: Substitute only / X / μ, v=3: Substitute both / X / λ and / X / μ, and v=4: Do not substitute anything.
[0179] There are eight further variations of {X}ρ: substituting / X / ρ1 only, substituting / X / ρ2 only, substituting / X / ρ3 only, substituting / X / ρ1 and / X / ρ2, substituting / X / ρ2 and / X / ρ3, substituting / X / ρ1 and / X / ρ3, substituting / X / ρ1, / X / ρ2 and X / ρ3, or leaving any / X / ρ unchanged.
[0180] In total there are V = 32 variations (for λ, μ, ρ).
[0181] For each variation, the difference between _cv and _rf (if quantified) is different (see L(v) in Figure 10).
[0182] Finding the critical parameters In terms of the goal of finding the critical parameters, there are two aspects to consider, which are interrelated but also contradictory: the computer can identify specific permutation variations for which it is possible to minimize the difference between the time series with and without permutation. However, it may happen that such permutation variations do not point to the critical parameters.
[0183] In a first aspect, a computer includes: The corrected (multivariate) time series {{X}}_cv (for a particular variation v) and · Reference (multivariate) time series {{X}}_rf Calculate the first term (571 in FIG. 10) which represents the difference between
[0184] From the figure, the first term corresponds to the area between the bold and dotted lines. Some variations modify more segments and some modifications less segments. In simple terms, there is one variation for which the first term is minimal. However, the variation has relatively many modifications, and these many modifications do not point to the critical parameter. On the other hand, relatively large areas may be associated with the critical parameter CP. For example, in Figure 8, / X / λ and its permutations ~ X ~ The domain of λ is / X / μ and its permutations ~ X ~ Larger than the region of μ.
[0185] In the second aspect, the computer also takes into account the number of permutations.
[0186] The second term (i.e., 572 in FIG. 10) is the corrected (multivariate) time series {{X}}_cv (for a particular variation v), and The working (multivariate) time series {{X}}_op (i.e. the original) It represents the difference between
[0187] For example, permutation of the first, second and third deviant segments in {X}ρ makes the total area (first aspect) relatively small, but it obscures the critical parameters.
[0188] Both aspects (i.e. both terms) are interrelated as follows: The (variation-specific) error function L(v) is the sum of two error components: L(v) = C1(v) + C2(v), see error components 551 and 551 in Figure 10. Both components C1(v) and C2(v) contain weighting factors f1 and f2 that are independent of the variables (and independent of permutation variations). In the implementation, both components C1(v) and C2(v) may contain terms 571 and 572 with non-linear emphasis: the first term 571 is multiplied by squaring it (...) 2 , and the second term 572 preserves the difference by simply manipulating their absolute values |...|.
[0189] In that sense, the error function is sensitive not only to the permutations that correct the deviations, i.e., the first term, but also to the number of permutations (the second term). In other words, making permutations is the correct approach to find the critical parameter CP, but applying too many permutations widens the number of possible CPs. The coefficients f1 and f2 fine-tune the sensitivity. Thus, the calculation of the error function L(v) is a compromise.
[0190] In other words, C1 decreases the error value (i.e., by the amount of deviation) for segments that are relatively "far" from the criterion, while C2 increases the error value by the number of substitutions. C1 and C2 function like "reward" and "punishment," respectively.
[0191] In this description, the details for calculating the error value (by the error function L(v)) are explained in relation to Figures 9 and 10. Hereby, the description is limited to the example of λ and μ. The skilled person can take ρ (and further deviation series) into account.
[0192] 9 shows the corrected univariate time series {X}λ_cv and {X}μ_cv. As with line 503 in FIGS. 7-8, the bold lines for the original ("op") are connected with dotted lines for the permuted ("rf") series.
[0193] The figure also shows the corresponding univariate time series {X}λ_rf and {X}μ_rf of the substitution criteria (dashed lines). The time series belong to multivariate time series, non-deviant time series are not shown (see Figs. 7-8). The example in Fig. 9 corresponds to the substitution variation (substitution at / X / λ and / X / μ) with index v=3 in Fig. 11.
[0194] Considering C1 (first aspect), the diagram shows that - for any time tm - Sample values Xmi_cv (corrected time series, bold or dotted line) and Sample values Xmi_rf (reference time series, dashed line) Also shown is the modified criterion difference ΔXmi_cv_rf, which is the difference between
[0195] For simplicity, the figure only shows ΔXmi_cv_rf for the deviation time series {X}λ and {X}μ, but the general definition is: ΔXmi_cv_rf = Xmi_cv - Xmi_rf.
[0196] ΔXmi_cv_rf can be (effectively) zero when {X}i_op tracks {X}i_rf for some time. In theory, ~~ is obtained), ΔXmi_cv_rf is 0 for the replaced segment.
[0197] Squared Difference In the example implementation, the metrics indicating the distance between the corrected time series {X}i_cv and the reference time series {X}i_rf are specified by summing ΔXmi_cv_rf*ΔXmi_cv_rf from t1 to tM, i.e. from m=1 to m=M. The total SDV(i) (squared difference for a variate) is calculated as follows:
[0198] SDV(i) = Σ(ΔXmi_cv_rf) 2 (for m=1 to m=M)
[0199] Since distance on the graph corresponds to the difference in values, SDV(i) can be thought of as the "difference in values."
[0200] To obtain the SDS (squared differences for multivariate time series), the SDV(i) (for each individual variable i) can be summed across variables.
[0201] SDS = ΣSDV(i) for i=1 to i=N
[0202] Considering the overall goal of detecting the cause of the anomaly (in the operation of the machine 101), correcting all variables (until normal) may not lead to identification of the CAO parameters.
[0203] The metrics can be part of the error function (C1(v)) and can take into account the variable-specific weights, see Figure 10. Figure 10 shows the variable-specific weights "wi" in both terms 571 and 572.
[0204] Optionally, the first and second error components 551, 552 may each further comprise variable-specific weighting factors wi. The variable-specific weighting factors wi of the first group (if index i corresponds to index j, see FIG. 2) may be specific for variables representing modifiable parameters, and the weighting factors wi of the second group (i corresponds to k, see FIG. 2) may be specific for variables representing non-modifiable parameters. All weights of the first group may be different (in the sense of being "greater" or "less" than) all weights of the second group.
[0205] The assumption is that since operators may change the mutable parameters, they contribute more to anomalous behavior than the non-mutable parameters. The weights are selected accordingly: the weights of the first group can be larger than the weights of the second group.
[0206] Linear Difference Having explained the squaring of differences, we will shortly return to Figures 7-8. Similarly, the difference between the samples of the corrected time series and the (original) running time series can be calculated: ΔXmi_cv_op=Xmi_cv-Xmi_op. The mathematical order is not important, since the difference is a part of the second term (i.e., 572 in Figure 10) by its absolute value.
[0207] Read more Component C1(v) focuses on the value (see squared value) and can be considered the “deviation value component”, and component C2(v) focuses on the number of occurrences and can be considered the “deviation count component”.
[0208] Substitution Variation Pointing to CP Figure 11 shows the substitution variations that the computer uses as a tool to identify a particular error value among multiple values. In this example, the computer applies a substitution scheme to consider all possible variations, such as substituting only / X / λ, substituting / X / μ, substituting both, or substituting nothing.
[0209] A variation v is specified along with an error value L(v). For ease of explanation, we can assume that L(1) is L_min, so that the variation v'=1, which simply replaces / X / λ, results in the smallest error (i.e., L(1)=C1(1)+C2(1)), see step 450 in FIG. 12.
[0210] For the determined variation (v'), the computer selects one or more variables with preselected (441) one or more deviant segments ( / X / λ, / X / μ) as one or more variables representing one or more critical parameters (CP). For variation v=1, the computer has selected / X / λ for substitution, so that the variable {X}λ represents the critical parameter CP.
[0211] As symbolized in Figure 1 (user interface 290), the computer provides identification of one or more critical parameters CP to an operator 190 of the industrial machine 101 (step 460 in Figure 12). In this example, the computer communicates CP = λ. The operator 190 can now modify λ (and possibly otherwise modify the corresponding machine components).
[0212] In the discussion so far we have used the singular (critical parameter CP), but it is possible to identify multiple parameters (i.e., a subset of parameters, i=1 to N) as being critical (causing anomalous behavior or pointing to the parameter). For example, the two smallest L(v), with v' and v'', refer to the two critical parameters.
[0213] Replacement variation for pointing to CP with high accuracy It is convenient for the operator to identify CP=λ, and - although optional in many scenarios - the computer lets the operator look at the data. In this example, the operator can see that the parameter λ deviated between tSλ and tEλ (see Figures 7-8).
[0214] However, not only - in addition - does the computer select a variable with a preselected 441 deviation segment (e.g., / X / λ), the computer can also identify the deviation segment (e.g., by a position index). The example with deviations in λ and μ (Figure 8) assumes one deviation per time series, while the example with deviations in ρ assumes multiple deviations per time series (e.g., / X / ρ1, / X / ρ2, and / X / ρ3 in Figure 8). Since permutation variations are possible for such cases (see the discussion of the V=32 variation above), for a particular choice of ρ, L(v) can be minimal. The computer points out the variable (with parameter ρ represented as CP) and also points out its position.
[0215] Method flow chart FIG. 12 illustrates a method flow diagram of a computer-implemented method 400 .
[0216] Method 400 is a computer-implemented method for distinguishing parameters (see parameters shown as line 501 in FIG. 6) of a particular industrial machine (see machine 101 in FIGS. 1-2).
[0217] A computer (such as computer 200 in FIG. 2) identifies a subset of parameters (represented as a variable subset such as β in FIG. 3 or μ, 550 in FIG. 8) as critical parameters (CPs) that cause abnormal operation of the industrial machine (and / or point to one or more additional parameters that cause abnormal operation).
[0218] The computer processes a multivariate time series (such as 500, 501, 502{X}i in Figures 5 and 6), which is a plurality of univariate time series representing parameters of a specific industrial machine.
[0219] In a receiving step 410, the computer receives a first multivariate time series {{X}}_op (eg, series 501) that represents the operation of a particular industrial machine.
[0220] In an obtaining step 420, the computer obtains a second multivariate time series {{X}}_rf (such as series 502) having representative samples corresponding to the first multivariate time series {{X}}_op. The correspondence has two aspects: variance correspondence 513 (i_op corresponding to i_rf) and time correspondence 514 (between t0 and tM, tm correspondence). The computer can perform receiving 410 and obtaining 420 in any order, and the computer does not need to perform step 420 for each method execution instance.
[0221] In an identification step 430, the computer identifies at least two deviant segments - in the first multivariate time series - where the samples deviate from the expected values (illustrated on the example of / X / λ, / X / μ in Figures 7-8).
[0222] The computer then executes a number V of activities that apply activity-specific permutation variations v (see FIG. 11). In this description, we refer to them as activities 440 and distinguish them as steps 441, 442, and 443.
[0223] In a selection step 441, the computer selects one or more of the identified deviating segments (see / X / λ, / X / μ) according to a particular substitution variation v (see example in FIG. 11).
[0224] In a substitution step 442, the computer substitutes one or more selected deviant segments ( / X / λ, / X / μ) into a second multivariate time series (~ X ~ λ, ~ X ~ μ) with the corresponding one or more segments of the first multivariate time series ({{X}}_cv (see Figures 8-9).
[0225] In decision step 443, the computer determines an error value L(v), which was discussed above in this description in conjunction with Figure 10. L(v) is the sum of two error components C1(v) and C2(v), see 551 and 552 in Figure 10.
[0226] The first error component C1(v) is related to the corrected first multivariate time series 503, {{X}}_cv, and the second multivariate time series 502, {{X}}_rf (see Figures 6-9). The second error component C2(v) is related to the corrected first multivariate time series 503, {{X}}_cv, and the (original) first multivariate time series 501, {{X}}_op.
[0227] As a result of these activities, the computer completes, for example, a determination of a V error value L(v) for a variation of V.
[0228] In a decision step 450, the computer determines the variation v' for which the determined error value L(v) has the lowest value (or has a relatively low value compared to the others). Since the computer has already replaced the deviating segments, there is a combination of deviating segments that contributes most to the error (i.e., in the variation v).
[0229] For the determined variation v', the computer selects one or more variables with one or more deviation segments / X / λ, / X / μ preselected (step 441) as one or more variables representing one or more critical parameters CP. (In the example of FIG. 11, v'=1 since the error is L_min.) Also in a providing step 460, the computer provides to the operator 190 of the industrial machine 101 the identification of the one or more critical parameters CP.
[0230] Further method details As described above in FIG. 10, the first error component C1(v), 551 may include the sum of squared differences between the corrected first multivariate time series {{X}}_cv, 503 and the second multivariate time series {{X}}_rf, 502, and the second error component C2(v), 552 may include the absolute value of the linear difference between the corrected first multivariate time series {{X}}_cv, 503 and the first multivariate time series {{X}}_op, 501.
[0231] The first error component C1(v), 551, deserves further attention because it can be calculated in another way. C1(v) can include the sum of the number of time slots Δt during which the corrected first multivariate time series {{X}}_cv, 503 and the second multivariate time series {{X}}_rf, 502 differ. The notation "sum of time slots" is a convenient synonym for "total amount of time." The corrected series {{X}}_cv differs from {{X}}_rf because not all deviations are corrected -based on v. The calculation can use Σ for i=1 to N. In other words, the computer counts the slots of difference for variate {X}1, for variate {X}2, etc., and sums up all N differences.
[0232] Figures 7-8 can serve as an example. The variables {X}1 and {X}2 do not show deviations and there are no slots with corrections. The variable {X}λ may have corrections (at v=1 and v=3, see Figure 11), so the time slot Δt is counted between tSλ and tEλ. The variable {X}λ has no corrections in the variations v=2 and v=4, so the time slot Δt is not counted. The same methodology is applied for the variable {X}μ.
[0233] In an alternative approach, the first error component C1(v), 551 may include the number of corrections to the corrected first multivariate time series (503, {{X}}_cv). This approach may be easier to implement since the start and end time slots can be ignored. Figure 8 may also serve as an example. There are three permutations for possible corrections in the variations that permute / X / λ, / X / μ, and / X / ρ1.
[0234] As already described, in FIG. 10, the first error component and the second error component may include first and second weighting factors f1 and f2, respectively.
[0235] As previously discussed, one or more of the critical parameters may be cause of abnormal operation (CAO) parameters.
[0236] Deviations The computer can identify segments with deviations in the first multivariate time series {{X}}_op (see step 430) by applying one or more predefined rules. Such rules can be selected from:
[0237] For example, the computer may compare - for each variable {X}i individually - the univariate time series of the first and second multivariate time series and identify deviant segments as those segments whose corresponding samples (see time correspondence 514 in FIG. 6) have a value difference (Emi_op_rf in FIG. 6) that exceeds a predefined threshold.
[0238] For example, the computer can compare the univariate time series of the first and second multivariate time series - for each variable {X}i individually - and identify the deviant segments as those whose integral (i.e., the integral of the difference) exceeds a predefined threshold integral. In the illustrated example, the integral of the difference between {X}i_op and {X}i_rf can be considered as the area between the lines 501 and 502, see FIG. 6. For some variables - such as {X}λ in FIG. 7 - the area exceeds the threshold. Such curve discussions are known in the art and will not be described in further detail.
[0239] For example, the computer can compare - for each variable {X}(i) separately - the univariate time series of the first and second multivariate time series and identify the deviation segments according to the derivatives. Figure 7 shows variables {X} with relatively high deviations at tSλ and tEλ (downward and upward).
[0240] Optionally, computer 200 may identify deviant segments (e.g., / X / λ, / X / μ, in step 430) by processing first multivariate time series 501 ("op") with a pre-trained autoencoder module that establishes a reconstruction of first multivariate time series 501 such that the reconstruction of first multivariate time series 501 takes over the functionality of second multivariate time series 502 "rf". Implementation details of the autoencoder and reconstruction are described subsequently in conjunction with FIG. 13.
[0241] The skilled person may apply other techniques, further examples are given in conjunction with FIG. 15 in relation to the (component) states.
[0242] Further details This description introduces some further aspects to the method steps of FIG. 12 in this section, while the next section provides implementation details in conjunction with FIG.
[0243] The computer 200 can identify the deviant segments by a pre-trained autoencoder module 215 (see Figures 1 and 13) that establishes a reconstruction of the first multivariate time series 501 by processing the first multivariate time series 501 with a reconstruction of the first multivariate time series 501 such that the first multivariate time series 501 takes over the functions of the second multivariate time series 502 (step 430).
[0244] For simplicity, the reconstruction will also be referred to as {{X}}_rf and will be indicated by line 521 in FIG.
[0245] Autoencoders as a Reference Figure 13 shows an autoencoder module (see module 215 in Figure 1) in combination with a multivariate time series. The autoencoder corresponds to the fourth implementation scenario for reference data already described.
[0246] The autoencoder 215 may be implemented by a neural network that has been trained on historical data such as the historical time series {{X}}_op from the machine 101 (or it may be historical data such as {{X}}_rf from the reference machine 102, for example).
[0247] It should be noted that the autoencoder 215 does not need to be trained on data that is indicative of anomalies (or that is indicative of deviations). In other words, using an autoencoder can be advantageous because it does not need to be trained on data that represents anomalous behavior of the reference machine 102. Also, annotations (such as to annotate the deviations themselves) are not required.
[0248] Autoencoders are described in scientific papers such as "Cyriana MA Roelofs, Marc-Alexander Lutz, Stefan Faulstich, Stephan Vogt: Autoencoder-based anomaly root cause analysis for wind turbines. Energy and AI 4(2021)100065".
[0249] The autoencoder can be a convolutional autoencoder, an LSTM autoencoder, or any other structure capable of processing sequential data; an example is described in "Roy Assaf, Ioana Giurgiu, Jonas Pfefferle, Serge Monney, Haris Pozidis and Anika Schumann 'An Anomaly Detection and Explainability Framework using Convolutional Autoencoders for Data Storage Systems', Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence (IJCAI-2000) Demonstrations Track".
[0250] As shown in this very simplified example, Figure 13 shows a multivariate time series {{X}}_op with N=6 variables (see Figure 6, thick line 501, variables 1 to 6 are identified). Each individual single time series shows the following noteworthy points: Case (1) for variable {X}1 shows a brief drop below zero in {X}1 at the end of the WINDOW, followed by a brief rise above zero in {X}1. In case (2), variable {X}2 starts approximately when the drop in {X}1 occurs, rises above zero for a short period of time, and remains at that level. Case (3) for variable {X}3 shows a U-shaped drop somewhere before the intermediate period of the WINDOW (see Figure 4). Case (4) for variable {X}4 shows a specific unsupervised series, with no deviations. Case (5) for variable {X}5 shows a short rise / fall at the end. Case (6) for variable {X}6 shows that the value gradually decreases over the WINDOW period.
[0251] Here, these cases (1) to (6) are explained for convenience and illustration, and the computer does not describe them in words.
[0252] The autoencoder 215 processes {{X}}_op and obtains a processed time series that can be considered as a reference {{X}}_rf, or reconstruction 521. This is indicated here by a dashed line (similar to line 502 in FIG. 6). (There is a slight conceptual difference: a reconstruction can be used as a reference in various functions, such as expectation reference, replacement reference, etc., but does not have to be used as a reference.)
[0253] Since the autoencoder 215 reconstructs the sequence by historical observations, some descents and ascents do not repeat in the reconstruction 521. More specifically, for variable {X}1, the criterion shows no descent or ascent but no case (1), variable {X}2 also shows no ascent (2), variable {X}3 arrives without "U", variable {X}4 is more or less the same as the input in "_op", variable {X}5 shows no descent / ascent in (5), and variable {X}6 shows a less steep line (6).
[0254] As described, the computer (i.e., including modules 221, 220, 230 and 240) executes the method 400 (see FIG. 12) and ultimately detects (1), (2), (3), (5) and (6) as deviating segments.
[0255] For a variation, the computer determines the error (right side of the figure). (For simplicity, we can assume that we only have V=6 variations (not the combinations as in FIG. 11 (because of the modification of {X}1 in {X}1, {X}2, ... {X}6)). The error has a positive value: if in case (1) a descent is transformed into an ascent, the ascent remains an ascent: in case (3) U changes to "omega" etc. However, it is the difference between the descending line (left side, op) and the relatively stable line (right side, rf) that has the greatest impact. By applying the modification (see substitution in step 442 of FIG. 12), as explained above, L(v) will be minimized for that variation.
[0256] As a result, the computer will provide the parameter in case (6) to the operator as the critical parameter CP.
[0257] Updates to standards 14 shows a method flow diagram of a computer-implemented method 401 having an optional technique for updating the criteria. The above description has described the method 400 in the context of a permutation variation (index v, 440 in FIG. 12).
[0258] In addition, the accuracy of finding the critical parameter CP can be improved by additionally modifying the criterion {{X}}_rf in the variations. For convenience, the description uses the term "criterion update" and identifies the criterion update with the index "u". The number of updates is limited by the opportunities to modify the criterion, identified here with the capital letter "U".
[0259] Once the initial {{X}}_rf has been used to determine L(v) for the V variation (steps 441, 442, 443, see FIG. 12), the steps can be repeated with an updated basis, for example along the lines of the first through fifth implementation scenarios described above.
[0260] To give some examples, {{X}}_rf can be obtained from different times (first, the same physically machine), from a physically different reference machine 102 (second), from a different virtual reference (third).
[0261] According to the fourth scenario, the autoencoder can – within an iteration – process the modified time series (e.g., {{X}}_cv instead of {{X}}_op) and update the baseline.
[0262] A computer executing method 401 (FIG. 14) may apply the following criteria updates to method 400 (FIG. 12, i.e., steps 410, 420, 430, 440 and 441 / 442 / 443, 450 and 460): · Step 420 is performed (as step 421 in FIG. 14) with the original reference {{X}}_rf. · Step 443 leads to L(v,u) instead of just L(v). · Step 450 determines v from a larger step of the error value L(v,u), theoretically up to an X*U value, not just a V value as in FIG.
[0263] The flow diagram symbolizes the update in a loop ("next u" performed for U updates), but the skilled artisan can implement the update in other ways (e.g., by performing updates and processing in parallel).
[0264] In addition, the method 401 includes the step of updating the criteria 422 (replacing the repeating step 421).
[0265] FIG. 14 also shows optional step 415 "Auto-Encoding" as a step for identifying the next criteria update.
[0266] Data in alternative formats Figure 15 shows a time sequence for calculating the error function L(v) in a scenario with binary data. It does not matter whether the computer applies the optional baseline update (401, Figure 14) to method 400 (Figure 12). Either approach determines L(v), see step 443.
[0267] The error function L(v) = C1(v) + C2(v) has already been described for scenarios where the error component includes the difference between time series (see the squared difference and the linear difference with details in Fig. 10). Instead of the difference between numerical values (real numbers in terms 571, 582, ΔXmi, Fig. 10), the L(v) function can be adapted for at least some of the variables. In the first machine example, the circuit breaker (parameter φ) goes from ON to OFF at time tSφ (there is no tE and it remains OFF).
[0268] The terms 571 and 572 relate to the duration of time because their Σ-parts from m=1 to M collapse compactly over time. In other words, ΔXmi is binary (e.g., zero or nonzero), so the sum corresponds to counting the number of Δt where ΔXmi is nonzero.
[0269] In the example of FIG. 13, the computer identifies / X / φ as a deviation and corrects it ({X}φ_cv for v=1) to always be ON (the reference {X}φ_rf is always ON) and also corrects it to ON / OFF ({X}φ_cv for v=2).
[0270] This figure has been simplified by not pointing out other parameters (such as temperature drop) for which variations apply as well.
[0271] Assuming that the error function L(v) (taking into account the temperature parameter as well) is minimum at v=1 and maximum at v=2, the computer will identify the parameter φ as the critical parameter, again without applying any semantics.
[0272] This diagram shows that L(v) is determined by reference to C1 and C2 and a count Δt.
[0273] Taking the ON / OFF change for the parameter φ as an example, an expert can use that parameter as a derivative (e.g., first transition when the value exceeds a threshold, second transition, see above).
[0274] In other words, computer 200 may determine the total number of time slots Δt for a univariate time series whose values are binary (as shown in the example of the variable {X}φ).
[0275] Alternatively, the time slot Δt can be counted (i.e., summed) by substituting the binary value 442 for the time slot in which the modification was applied. In other words, substituting step 442 (see FIG. 12, FIG. 14) simply substitutes the first binary value (e.g., OFF) of / X / φ for ~ X ~ This means that the second binary value of φ is inverted (e.g., to ON instead of OFF, as shown by the dotted line).
[0276] In summary, the technique to save computing resources is to optionally use / / ~~ can be used for binary variables like {X}φ by simply changing the binary values (i.e., OFF to ON, ON to OFF, 1 to 0, 0 to 1), and optionally counting the permutations per timeslot.
[0277] Essay As explained, the computer 200 presents to the operator 190 a subset with one or more critical parameters (CP). If a critical parameter is a changeable parameter (see FIG. 2, index j), the computer 200 can provide a control signal (or the like) to automate the change. The skilled person can apply such a control loop scenario when an automatic change is possible. (In the first hypothetical machine example, for safety reasons, it is not supposed to automatically turn on the breaker).
[0278] The description includes variations on the numbers V and U (v, for substitution) and optional reference updates (u), respectively. Such an approach may cause the computer to continue executing the method 400 / 401 for a relatively long time before providing the CP in the final step (460). A worst case scenario for this is that the machine starts to burn in one component, and the computer identifies that component as critical. However, the computer is delayed because the burn destroys the machine in the meantime.
[0279] The expert can reduce the number of activities 440 (selection 441, substitution 442, decision 443) by, for example, selecting the next variation to apply according to gradient descent (or a similar technique), by ignoring certain possible variations, by running variations in a random order, by applying iterations, etc.
[0280] From a general point of view, an industrial machine can be a machine that performs an industrial process. For example, the machine can be a chemical reactor, a metallurgical furnace, a vessel, an engine. More specifically, considering the working principle, the furnace can be a blast furnace. Simply put, a blast furnace receives ore and coke as well as hot air (through tuyere) and delivers molten metal. It is a well-established practice for such machines to collect operational operating state data for hundreds of parameters or more. Hence, multivariate time series such as {{X}}_op and {{X}}_rf can be used.
[0281] Variable Preprocessing Figures 16-18 show variable pre-processing. More specifically, Figure 16 shows adapter 280 with image data to be adapted, Figure 17 shows image data to be adapted, and Figure 18 shows aggregation of data by adapter 280.
[0282] The adapter 280 can be implemented as part of a module that performs the receiving and acquiring steps (see module 210 in FIG. 1, steps 410, 420 in FIGS. 12-14). As an example, FIG. 16 shows an adapter 280 for pre-processing data from an industrial machine 101 (or machine 102). The adapter 280 receives (one or more) multivariate measurement time series (as "op" and / or "rf") from the industrial machine 101 or the reference machine 102. Although the illustration is simplified as all N variables go through the adapter, an implementation does not need to adapt all variables.
[0283] As mentioned above, the notation Xmi represents the numerical value of a parameter sample 505 at time tm in a variable {X}i. Figures 4-5 show the parameter sample 505 as a scalar. A skilled artisan may receive (or obtain) the sample in a manner well known to the artisan, such as collecting measurement data (as described in the thermometer example) or collecting metadata (such as in a manufacturing floor application).
[0284] However, data ingestion is not limited to scalar data. It is possible to apply data preprocessing adapted to the data modality, such as from image data to scalar data, from audio data to scalar data, or from vector data to scalar data.
[0285] In other words, the adapter 280 can optionally implement modality adaptation of data originally available as non-scalar data. As an example, this adaptation is shown for the variables {X}p.
[0286] The data for the variables {X}p may be a collection of digital images 281 (i.e., a matrix with pixels representing colors). The images may be taken by a camera or a scanner. The images 281 may be available as a sequence of images (e.g., for images at each Δt, from t1 to t8 in the figure).
[0287] The adapter 280 can process the images and assign them a scalar value, here denoted as the time series {X}p'. The dash 'just points out that the assignment has been made. The skilled artisan can apply image processing techniques such as classification by pre-trained neural networks or otherwise.
[0288] For example, an image may show a moving machine component, and adapter 280 may classify the component as "moving" or "not moving" (binary classification) and as moving at a speed of "0", "1", "2", "3", etc. (speed values ranging from stationary to fast rotation). Movement may be distinguished, for example, into translation and rotation, and adapter 280 may identify attributes (classified or otherwise) to, for example, distinguish between "up" or "down" movement, to distinguish between rotation in a "positive" or "negative" direction or otherwise. Attributes correspond to assigned numerical values.
[0289] In a further example, the image 281 may correspond to one or more parameters visible to the eye (at least to the "machine eye"), such as surface temperature (usually via IR imaging), surface reflectance, surface color, the presence or absence of typical topics on the image, etc.
[0290] For the blast furnace mentioned above, a camera can take pictures of the tuyere. Combustion occurs periodically during operation, so the images can be classified accordingly. In a significant simplification, images showing combustion can be coded as 1 ("combustion present") and images without combustion can be coded as 0 ("combustion not present"). Figure 16 shows the fire very symbolically as a triangle. The resulting univariate time series is {X}p' with parameter samples {0,0,0,0,0,1,1,1}', reference 505 as "op", and the computer executes method 400 (or 401) on {X}p' as described. Assuming the reference is {X}p'_rf with parameter samples {1,1,1,1,0,0,0,0}, deviations can be determined as unexpected "no combustion" at the beginning of the WINDOW and unexpected "combustion" at the end of the WINDOW.
[0291] The skilled person can adapt the sampling rate as needed: for example, image data arrives as a video stream (25 image frames per second) and some frames can be removed as they arrive with Δt (much longer than 1 / 25th of a second).
[0292] In another scenario (not shown in the figure, but easily imaginable), the non-scalar element could be a sequence of sounds. For example, {X}p could be a collection of audio recordings from a microphone sensor (e.g., each recording has a duration of Δt or less). The expert could apply appropriate acoustic processing by, for example, sampling the sounds at a frequency of 20 kHz, resulting in 60×20,000 audio samples per minute.
[0293] In the context of providing a time series at Δt intervals, adapter 280 then processes these millions of samples into a single scalar. For example, the scalar may indicate pitch rise in Δt, pitch fall in Δt, constant pitch in Δt, pitch rise and fall in Δt, etc. Such patterns may be assigned to integers, or the varying pitch itself may be assigned to parameter sample 505.
[0294] FIG. 17 shows image data adapted as in FIG. 16, but with modifications. Here, the adapter 280 also receives a sequence of images (indicated with times tm=t6, t7, t8), but now assigns scalar values in two or more (univariate) time series given as {X}p' and {X}q' (the dash 'represents an assignment). The adapter 280 identifies regions 282, 283 in the image 281, and processes the data for the regions separately. In this example, the region 282 indicates a "0" machine component (circle symbol in the drawing) that rotates in a direction "+1", rotates in a direction "-1", or does not rotate at all, as indicated in the assignment in {X}p'. The region 283 indicates a "burn" (triangle) corresponding to a "1" or "no burn" at "0". In this example, the diagram shows the image 281 at time t6 (rotation at "+1", burn present).
[0295] Processing the data by method 400 / 401 requires computational resources (CPU, memory, etc.) and the overall time of acquisition CR (see FIG. 1) may be critical (see real-time requirements above). The examples in FIGS. 16-17 show that pre-processing (mapping non-scalar data to scalar data) can save on resource consumption.
[0296] FIG. 18 illustrates data aggregation, and applying such aggregation may also contribute to resource savings. As explained above (FIGS. 4-5), a multivariate time series {{X}} is a set of univariate time series {X}i. Before the method 400 / 401 is performed, a subset (of the univariate time series) can be identified and aggregated. To perform the method, the computer can use the at least partially aggregated time series.
[0297] The figure shows an example where three univariate time series {X}1, {X2}, {X3} belong to {{X}}. They are merged into a univariate time series {X}', which is part of a multivariate time series for which the method 400 / 401 is then executed (as "op" or "rf").
[0298] In this example, {X}1 would indicate the rotation of a machine component (with or without the application of the adaptations of Figures 16-18), {X}2 would indicate a specific sound (see Sound Processing above), and {X}3 would indicate a temperature.
[0299] To illustrate this with an example, when a motor is forcibly stopped, it makes a characteristic noise and heats up. A domain expert can define appropriate rules for the way {X}' changes (e.g., from 0 to 1, from t6). For example, the rule: IF X1=0 (no rotation) AND X2=1 (sound) AND X3>80 (hot) THEN X'=1, ELSE X'=0. This rule is written here without {} because it would typically apply at practically all times tm.
[0300] However, such semantics need not be applied and can be pointed out with a further rule: by executing the method 400 / 401, if any subset of variables contains a parameter that is a critical parameter CR (critical in that subset, not for all N variables), an alarm is raised. Rule: if any of the Xi points to CR, then X'=1, otherwise X'=0. Raising an alarm is not necessary and the computer can start investigating further (e.g. by running the method again). In FIG. 18, the vertical dashed line points out that the integrated scalar changes its value. In this example, the values are implemented in a binary manner and it is possible to simplify the method for binary data (see FIG. 15).
[0301] An autoencoder (see 215 in FIG. 13) can be applied here as well, generating numerical values that can be further processed (by the method). In other words, a subset of the univariate time series at the input of the autoencoder allows the encoder to provide one or more time series as input to the method 400 / 401.
[0302] Furthermore, data integration (i.e., complexity reduction from N to 1, N to 2, N to a "small number") is described in papers such as: ·Zhihua Zhang, Michael I. Jordan, “Latent Variable Models for Dimensionality Reduction”, Proceedings of the Twelfth International Conference on Artificial Intelligence and Statistics, PMLR 5:655-662, 2009; ·W. Wang, Y. Huang, Y. Wang and L. Wang, “Generalized Autoencoder: A Neural Network Framework for Dimensionality Reduction,” 2014 IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2014, pp. 496-503.
[0303] For the scenarios introduced in Figures 16-18, the adapter 280 can be implemented by a pre-trained neural network, possibly under supervision (by a human expert). For example, the adapter 280 could have been trained using annotated images showing combustion (in a blast furnace), annotated sound sequences (taken from a blast furnace), etc. The adapter 280 can also be trained in an unsupervised manner to identify abstract representations of images (or sounds). This ensures maximization of the informative content of the images. A sequence of images (or sounds) can then be reduced by this process to a sequence of scalars.
[0304] To identify regions in an image (see Figure 17), an expert can apply techniques from autonomous driving (e.g., car computers distinguishing traffic signs from pedestrians). Statistics may play a role in training the network, applying rules, etc.
[0305] Similar expert involvement can be applied for the selection of the subsets to be integrated (see Fig. 18). When selecting the (time-series) subsets, the industrial machine is virtually divided into groups and the selection can take into account the components (see 110, 120, 130).
[0306] The univariate time series provided by the adapter (e.g., {X}', {X}p', and {X}p' in Figs. 16-18) can be optionally associated with a semantic. Such semantics are often referred to in metaphorical terms such as "health indicator" or "operational status". In the motor example, {X}' has been obtained by integration and becomes a "motor problem indicator" symbolizing a potential malfunction of one machine component (i.e., a specific motor). In that sense, {X}' does not yet indicate a critical parameter CR (in the sense used in method 400 / 401 above), but it can allow the computer to find the (root) cause faster (see the broken bearing scenario). In other words, {X}' can be used to prioritize, saving computational resources, where {X}' may indicate a CR with a relatively low precision, not yet enough to investigate the component, but with a precision sufficient for the computer to further investigate the motor (and the components interacting with it).
[0307] In the example of FIG. 16, the presence of no combustion (in a furnace or similar machine) at a certain point in time may indicate the condition of the machine and may be used as a pointer to normal (or abnormal) operation.
[0308] Pretreatment as a method step Pre-processing can be summarized in terms of method 400 / 401. The steps of receiving 410 a first multivariate time series 501, {{X}}_op, and obtaining 420 a second multivariate time series (502, {{X}}_rf) can be enhanced by pre-processing the data to generate at least one subset of at least one univariate time series ({X}p', {X}q', {X}') along with parameter samples 505.
[0309] As described with respect to Figures 16-18, the generation may follow any of the following approaches. (a) The computer can process the image 281 to assign numerical values to parameter samples 505 of at least one univariate time series {X} p . (b) The computer can process the image 281 by identifying content regions 282, 283 within the image 281 and individually assigning numerical values to the regions, thereby generating a sub-set with at least two univariate time series {X}p', {X}q'. (c) The computer is capable of processing the sounds to assign numerical values to parameter samples of at least one univariate time series {X}p. (d) The computer may combine at least two univariate time series of the first or second multivariate time series 501, 502 into a univariate time series {X}p'. The computer actually performs separate integrations on both sequences, one on the first sequence ("op") and one on the second sequence ("rf"). The result of the "rf" integration can be reused.
[0310] The computer may implement the techniques via adapter 280 or in other ways.
[0311] General-purpose computers FIG. 19 illustrates an example of a general-purpose computing device that may be used with the techniques described herein. FIG. 9 illustrates an example of a general-purpose computing device 900 and a general-purpose mobile computing device 950 that may be used with the techniques described herein. The computing device 900 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The general-purpose computing device 900 may correspond to the computer system 100 of FIG. 1. The computing device 950 is intended to represent various forms of mobile devices, such as personal digital assistants, mobile phones, smart phones, driver assistance systems, or vehicle on-board computers, and other similar computing devices. For example, the computing device 950 may be used as a front end for a user (e.g., a blast furnace operator) to interact with the computing device 900. The components illustrated herein, their connections and relationships, and their functions are for illustrative purposes only and are not intended to limit the practice of the inventions described and / or claimed herein.
[0312] The computing device 900 includes a processor 902, a memory 904, a storage device 906, a high-speed interface 908 connecting to the memory 904 and a high-speed expansion port 910, and a low-speed interface 912 connecting to a low-speed bus 914 and the storage device 906. Each of the components 902, 904, 906, 908, 910, and 912 are interconnected using various buses and may be mounted on a common motherboard or otherwise mounted as needed. The processor 902 can process instructions for execution within the computing device 900, including instructions stored in the memory 904 or the storage device 906 for displaying graphical information for a GUI on an external I / O device such as a display 916 coupled to the high-speed interface 908. In other implementations, multiple processors and / or multiple buses may be used, along with multiple memories and multiple types of memories as needed. Also, multiple computing devices 900 may be connected, with each device providing a portion of the required operations (e.g., as a server bank, a group of blade servers, or a multiprocessor system).
[0313] The memory 904 stores information within the computing device 900. In one implementation, the memory 904 is a volatile memory unit or units. In another implementation, the memory 904 is a non-volatile memory unit or units. The memory 904 may also be in another form that is computer readable, such as a magnetic disk or optical disk.
[0314] The storage device 906 can provide mass storage for the computing device 900. In one implementation, the storage device 906 can be or include a computer-readable medium, including a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices, including devices in a storage area network or other configuration. The computer program product can be tangibly embodied on an information carrier. The computer program product can include instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer or machine-readable medium, such as the memory 904, the storage device 906, or a memory on the processor 902.
[0315] The high-speed controller 908 manages the bandwidth-intensive operations of the computing device 900, while the low-speed controller 912 manages the low-bandwidth-intensive operations. This allocation of functions is merely exemplary. In one implementation, the high-speed controller 908 is coupled to the memory 904, to the display 916 (e.g., via a graphics processor or accelerator), and to a high-speed expansion port 910 that can accept various expansion cards (not shown). In this implementation, the low-speed controller 912 is coupled to the storage device 906 and to a low-speed expansion port 914. The low-speed expansion port may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) and may be coupled to one or more input / output devices (apparatuses) such as a keyboard, a pointing device, a scanner, or a network device such as a switch or router, e.g., via a network adapter.
[0316] The computing device 900 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 920, or multiple times within a group of such servers, or as part of a rack server system 924. It may also be implemented in a personal computer, such as a laptop computer 922. Alternatively, components from the computing device 900 may be combined with other components in a mobile device (not shown), such as device 950. Each such device may include one or more computing devices 900, 950, and the overall system may be made up of multiple computing devices 900, 950 in communication with each other.
[0317] The computing device 950 includes a processor 952, memory 964, input / output devices such as a display 954, a communication interface 966, and a transceiver 968, and other components. The device 950 may also include a storage device, such as a microdrive or other device, to provide additional storage. Each of the components 950, 952, 964, 954, 966, and 968 are interconnected using various buses, and some of the components may be mounted on a common motherboard or in other suitable manners as desired.
[0318] The processor 952 can execute instructions within the computing device 950, including instructions stored in the memory 964. The processor may be implemented as a chipset of chips including separate analog and digital processors. The processor may provide, for example, control of other components of the device 950, such as a user interface, applications executed by the device 950, and coordination of wireless communications by the device 950.
[0319] The processor 952 may communicate with a user via a control interface 958 and a display interface 956 coupled to a display 954. The display 954 may be, for example, a thin-film-transistor liquid crystal display (TFT LCD) or an organic light emitting diode (OLED) display, or other suitable display technology. The display interface 956 may include appropriate circuitry for driving the display 954 to present graphical and other information to the user. The control interface 958 may receive commands from the user and convert them for delivery to the processor 952. Additionally, in communication with the processor 952, an external interface 962 may be provided to enable short-range communication between the device 950 and other devices. The external interface 962 may provide, for example, wired communication in some implementations or wireless communication in other implementations, and multiple interfaces may also be used.
[0320] The memory 964 stores information within the computing device 950. The memory 964 may be implemented as one or more of a computer readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. An expansion memory 984 may also be provided and connected to the device 950 via an expansion interface 982, which may include, for example, a Single In Line Memory Module (SIMM) card interface. Such expansion memory 984 may provide additional storage space for the device 950 or may also store applications or other information for the device 950. In particular, the expansion memory 984 may include instructions for performing or supplementing the processes described above, and may also include secure information. Thus, for example, the expansion memory 984 may function as a security module for the device 950 and may be programmed with instructions that enable secure use of the device 950. Furthermore, secure applications may be provided via a SIMM card, along with additional information, such as placing identification information on the SIMM card in an unhackable manner.
[0321] The memory may include, for example, flash memory and / or NVRAM memory, as described below. In one implementation, the computer program product is tangibly embodied on an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer or machine-readable medium, such as memory 964, expansion memory 984, or memory on processor 952, which may be received, for example, via transceiver 968 or external interface 962.
[0322] The device 950 may communicate wirelessly via a communication interface 966, which may include digital signal processing circuitry as required. The communication interface 966 may provide for communication under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS. Such communication may occur, for example, via a radio frequency transceiver 968. In addition, short-range communication may occur, such as using Bluetooth, WiFi, or other such transceivers (not shown). Furthermore, a GPS (Global Positioning System) receiver module 980 may provide additional navigation and location related wireless data to the device 950, which may be used as appropriate by applications operating on the device 950.
[0323] Device 950 can also communicate audibly using audio codec 960, which can receive voice information from a user and convert it into usable digital information. Audio codec 960 can similarly generate audible sounds for the user, for example, via a speaker in a handset of device 950. Such sounds can include sounds from a voice telephone call, can include recorded sounds (e.g., voice messages, music files, etc.), and can also include sounds generated by applications running on device 950.
[0324] The computing device 950 may be implemented in a number of different forms, as shown, for example as a mobile phone 980, or as part of a smartphone 982, personal digital assistant, or other similar mobile device.
[0325] Various implementations of the systems and techniques described herein may be realized in digital electronic circuitry, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, a storage system, at least one input device, and at least one output device coupled to receive data and instructions and to transmit data and instructions, for either a special purpose or a general purpose purpose.
[0326] These computer programs (also referred to as programs, software, software applications, or code) contain machine instructions for a programmable processor and may be implemented in high level procedural and / or object oriented programming languages, and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0327] To provide for user interaction, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) by which the user can provide input to the computer. Other types of devices can also be used to provide for user interaction. For example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback). Also, input from the user can be received in any form, including acoustic input, speech input, tactile input, etc.
[0328] The systems and techniques described herein may be implemented on a computing device that includes a back-end component (e.g., a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer having a graphical user interface or a web browser that allows a user to interact with an implementation of the systems and techniques described herein), or includes any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0329] Computing devices may include clients and servers. Clients and servers are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0330] Several embodiments have been described. However, it will be understood that various modifications can be made without departing from the spirit and scope of the invention.
[0331] Additionally, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Additionally, other steps can be provided or removed, and other components can be added to or removed from the described systems. Accordingly, other embodiments are within the scope of the following claims. [Explanation of symbols]
[0332] C1(v), C2(v) Error components cv corrected, bold and dotted lines with permutation variation v Emi_op_rf value difference i,N Variable indices, number of variables, number of parameters for univariate time series belonging to a multivariate time series j, J i, N for the parameters / variables that can be changed k, K i, N, but for parameters / variables that cannot be changed L(v),L(v,u) error functions m, M sample index, number of samples within monitoring interval W op - in operation, i.e. data from machine 101, bold line Index containing p,q adaptive non-scalar data rf reference, dashed line SDV(i) Squared Difference for a variable SDS Squared Differences for Multivariate Time Series tm time tSλ,tEλ are the time points that define the deviation segments, and μ is the same. u,U Index and number of standard updates wi is the weight specific to the variable WINDOW monitoring interval Xmi: the numerical value of the parameter sample, time tm, variable i {X}i univariate time series, variate i {{X}},500 Multivariate Time Series !X!,!X!i Segments in univariate series, no deviations / X / λ, / X / μ segments in a univariate time series with deviations, λ and μ are variance indices ~ X ~ λ, ~ X ~ μ Segment to correct univariate series α,β,γ,δ,λ,μ,ρ Variation indices for deviant univariate time series Δt Sampling time 101 Industrial machinery in operation and under monitoring 102 Industrial machines acting as standards and equivalent machines 110,120,130 Machine Components 200 Computers 215 Autoencoder Module 210,....,240 Processing modules within computer 200 280 Optional Adapters 281,282 / 283 Images and content areas 290 User Interface 4xx Methods, Steps(s) 501 Multivariate Time Series in Action {{X}}_op 502 Reference Multivariate Time Series {{X}}_rf 503 Corrected Multivariate Time Series {{X}}_cv 505 Parameter Samples 510 Variable Range 511,512 Variables with missing correspondence 513 Variable Correspondence 514 hours a day 550 variable subset, CAO parameters (multiple) General purpose computer with 9xx components
Claims
1. A computer implementation method (400) for distinguishing parameters (501) of a particular industrial machine (101) by identifying a subset of critical parameters (CP) (550) that cause abnormal operation of the industrial machine (101) and / or one or more further parameters that cause abnormal operation, wherein a computer (200) processes a multivariate time series (500, 501, 502{X}i) which is a plurality of univariate time series representing the parameters (501, {X}i) of the particular industrial machine (101), and the following steps: Step (410) of receiving a first multivariate time series (501, {{X}}_op) representing the operation of a specific industrial machine (101); Step (420): Obtain a second multivariate time series (502, {{X}}_rf) having representative samples corresponding to the first multivariate time series ({{X}}_op) by variable correspondence (513, i_op, i_rf) and time correspondence (514, tm, t0, tM); - In the first multivariate time series (501) - Identify at least two deviation segments ( / X / λ, / X / μ) in which the sample deviates from the expected value (430); For a number of activities (V) of activities (440, v) to which an activity-specific substitution variation (v) is applied: (441) step of selecting one or more deviation segments ( / X / λ, / X / μ) identified by a specific substitution variation (v), To obtain the corrected first multivariate time series ({{X}}_cv), select one or more deviation segments ( / X / λ, / X / μ) and the second multivariate time series ( ~ X ~ λ, ~ X ~ (442) step of replacing with one or more corresponding segments of μ The first error component (C1(v), 551) related to the corrected first multivariate time series (503, {{X}}_cv) and the second multivariate time series (502, {{X}}_rf), and The corrected first multivariate time series (503, {{X}}_cv) and the second error component (552) related to the (original) first multivariate time series (501, {{X}}_op), (443) step of determining the error value (L(v)) which is the sum of; (450) step of determining the variation (v') in which the determined error value (L(v)) has the minimum value; For the determined variation (v'), one or more variables having one or more pre-selected (441) deviation segments ( / X / λ, / X / μ) are selected as one or more variables representing one or more critical parameters (CP); and A step (460) of providing (460) identification information of one or more critical parameters (CPs) to the operator (190) of an industrial machine (101), A method including (400).
2. The method according to claim 1 (400), wherein the computer determines the error value by a first error component (C1(v), 551) which includes the sum of squared differences between a corrected first multivariate time series (503, {{X}}_cv) and a second multivariate time series (502, {{X}}_rf) and a second error component (C2(v), 552) which includes the absolute value of the linear difference between a corrected first multivariate time series (503, {{X}}_cv) and a first multivariate time series (501, {{X}}_op) (443).
3. The method according to claim 1 (400), wherein the computer determines the error value by a first error component (C1(v), 551) which includes the sum of the number of time slots (Δt) in which the corrected first multivariate time series (503, {{X}}_cv) and the second multivariate time series (502, {{X}}_rf) are different within a time slot (443).
4. The method according to claim 3 (400), wherein the computer determines an error value (443) by a first error component which includes the sum of the number of time slots for a univariate time series ({X}φ) whose values are binary (443).
5. The method according to claim 1 (400), wherein the computer determines the error value by a first error component (C1(v), 551) which includes a correction number in the corrected first multivariate time series (503, {{X}}_cv) (443).
6. The method according to claim 5 (400), wherein the computer determines the error value by the sum of the number of time slots to which the correction by binary substitution (442) has been applied (443).
7. The method (400) according to any one of claims 1 to 6, wherein the first error component (551) includes a first weighting coefficient (f1), and the second error component (552) includes a second weighting coefficient (f2).
8. The method (400) of claim 7, wherein the first and second error components (551, 552) each further include a variable-specific weight coefficient (wi), comprising a first group of variable-specific weight coefficients specific to variables representing mutable parameters and a second group of weight coefficients specific to variables representing immutable parameters.
9. The method according to claim 1 (400), wherein one or more critical parameters are abnormal cause of operation (CAO) parameters.
10. Computer (200) then: For each variable ({X}i), the univariate time series of the first and second multivariate time series (501, 502) are compared individually, and segments in which the corresponding sample (514) has a value difference (Emi_op_rf) that exceeds a predefined threshold are identified as deviation segments; - For each variable ({X}i), compare the univariate time series of the first and second multivariate time series (501, 502) individually, and identify segments whose integral value exceeds a predetermined threshold integral value as deviation segments; and For each variable ({X}i), the univariate time series of the first and second multivariate time series (501, 502) are compared individually, and deviation segments are identified by their derivatives. The method according to claim 1 (400), which identifies segments having deviations ( / X / λ, / X / μ) in a first multivariate time series (501, {X}}_op) by applying predefined rules selected from (430).
11. The method (400) according to claim 1, wherein a computer (200) identifies deviation segments ( / X / λ, / X / μ) by processing the first multivariate time series (501) with a pre-trained autoencoder module (215) that establishes a reconstruction (521) of the first multivariate time series (501) such that the reconstruction (521) of the first multivariate time series (501) takes over the function of the second multivariate time series (502).
12. The method (400) according to claim 1, wherein a computer (200) obtains a second multivariate time series (502, {{X}}_rf) by processing the first multivariate time series (501) with a pre-trained autoencoder module (215) that establishes a reconstruction (521) of the first multivariate time series (501) such that the reconstruction (521) of the first multivariate time series (501) takes over the function of the second multivariate time series (502).
13. Processing of a first multivariate time series (501) by a pre-trained autoencoder module (215) is the method (400) according to claim 11 or 12, comprising the use of a convolutional autoencoder.
14. The acquisition (420) of a second multivariate time series (502, {{X}}_rf) is performed by processing a historical multivariate time series, according to the method (400) of any one of claims 1 to 6.
15. The acquisition (420) of a second multivariate time series (502, {{X}}_rf) is performed by any of the methods (400) described in any of claims 1 to 6, which is carried out by: acquiring data for different periods from the same physically identical machine; acquiring data from similar machines; acquiring data from virtual machines; acquiring data from an autoencoder module as a reconstruction (521) of the first multivariate time series; and applying predefined rules.
16. The method according to any one of claims 1 to 6 (400 / 401), further comprising updating a second multivariate time series (502, {{X}}_rf) in order to repeat the steps of identification (430), selection (441), substitution (442), and determination (443).
17. Receiving the first multivariate time series (501, {{X}}_op) (410) and the second multivariate time series (502, {{X}}_rf) (420) means the following: (a) Process the image (281) to assign numerical values to parameter samples (505) of at least one univariate time series ({X}p); (b) Process the image (281) by identifying content regions (282, 283) within the image (281) and assigning numerical values to the regions individually, in order to generate a subset having at least two univariate time series ({X}p', {X}q'); (c) To process sound in order to assign numerical values to parameter samples of at least one univariate time series ({X}p), and (d) Combine at least two univariate time series of the first or second multivariate time series (501, 502) into a single univariate time series ({X}p'), This includes generating a subset of at least one univariate time series ({X}p', {X}q', {X}') comprising parameter samples (505) by preprocessing the data according to one of the following: The method according to any one of claims 1 to 6 (400 / 401).
18. A computer program product that, when loaded into the memory of a computer system and executed by at least one processor of the computer system, causes the computer system to perform the steps of the computer implementation method (400, 401) described in any one of claims 1 to 6.
19. A computer system (200) comprising a plurality of modules (210, 220, 230, 240) that, when executed by a computer system, perform steps of a computer implementation method (400, 401) as described in any one of claims 1 to 6.
20. Use of the computer system according to claim 19 for distinguishing parameters (501) of a specific industrial machine (101) and identifying a subset of parameters that are critical parameters (CPs) causing abnormal operation of the industrial machine (101).