System, method executed by system, and program
The system uses proximity and Bayesian network analysis to quickly and accurately identify failure causes in industrial facilities with complex component relationships, minimizing downtime and costs.
Patent Information
- Application Number
- JP2024123183
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-30
- Publication Date
- 2026-02-12
AI Technical Summary
Conventional maintenance methods for industrial facilities struggle with identifying the cause of failures accurately and efficiently, particularly when components have ambiguous relationships, leading to prolonged downtime and resource wastage.
A system utilizing proximity measurement data, anomaly detection, conditional probability data, and Bayesian network creation to identify the root cause of failures by analyzing data from multiple sensors, even in complex industrial environments with diverse component relationships.
Enhances the accuracy and speed of identifying the root cause of failures, enabling rapid restoration of industrial facilities to normal operation and reducing maintenance costs.
Smart Images

Figure 2026021927000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a technique for estimating the cause of a failure event when it occurs. [Background technology]
[0002] Industrial facilities often have many components (for example, machines, devices, equipment, parts, etc.), and these components often have various relationships with each other.
[0003] On the other hand, when industrial facilities are in operation, various risks may arise, including breakdowns or malfunctions in the components of the facilities. There are several conventionally known maintenance methods for restoring industrial facilities and the like to normal operation or for maintaining normal operation, such as corrective maintenance, preventive maintenance, predictive maintenance, and prescriptive maintenance. In reactive maintenance, components are repaired after a failure or other problem actually occurs. In preventive maintenance, the useful life of each component is determined in advance, and the component is replaced or otherwise handled whenever the useful life expires. In predictive maintenance, digital technology is used to continuously monitor the condition of components, determine the degree of deterioration, predict when the component will fail, and replace the component or other device based on this information. In prescriptive maintenance, digital technology is used to provide not only information predicting when a component will fail, but also actionable recommendations for courses of action to address potential problems in components or equipment.
[0004] Prior art documents relating to grasping or predicting the state of industrial facilities and the like include, for example, Non-Patent Document 1 (Xiangrui Zhang et al.). Non-Patent Document 1 discloses a technology in which spatial and temporal factors are taken into consideration to describe the causal relationships between multiple process variables that describe an industrial process, and the causal relationships are then utilized to predict the process variables. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Xiangrui Zhang, Chunyue Song, Jun Zhao, Zuhua Xu, Xiaogang Deng, "Spatial-Temporal Causality Modeling for Industrial Processes With a Knowledge-Data Guided Reinforcement Learning", IEEE Transactions on Industrial Informatics, IEEE, April 2024, volume:20, Issue:4, pp.5634-5646 Summary of the Invention [Problem to be solved by the invention]
[0006] The longer the downtime, or the period during which an industrial facility, etc. is not operating due to a failure or malfunction of one of its components, the greater the economic losses, safety risks, and adverse impacts on the supply chain to which the facility, etc. contributes. Therefore, when an industrial facility, etc., is not operating normally, it is desirable that the facility, etc. be reliably restored to a normal state and that the time until such restoration is achieved be as short as possible.
[0007] In the corrective maintenance method, once it is detected that industrial equipment is not operating normally, work is carried out to identify which of the equipment's components has failed, and the identified component is then repaired or replaced. When industrial equipment has a large number of components and the relationships between the components are diverse, it takes time to identify the components to be repaired or replaced and to determine the order of priority for repair or replacement. Therefore, with the corrective maintenance method, it tends to take a long time for the equipment to be restored to normal. In preventive maintenance, components in industrial facilities are replaced at predetermined service life intervals, regardless of their actual condition (degree of deterioration). This can lead to excessive maintenance efforts and a tendency to waste resources such as replacement parts. Furthermore, in preventive maintenance, if an unexpected component actually fails, the situation is not much different from that in corrective maintenance.
[0008] Predictive maintenance and prescriptive maintenance utilize digital technology to replace components based on the actual condition (degree of deterioration) of components in industrial equipment. However, predictive maintenance and prescriptive maintenance are similar to preventive maintenance in that they aim to replace components before they actually fail. Therefore, even with predictive maintenance and prescriptive maintenance, there is excess labor involved in maintenance activities and waste of resources such as replacement parts for components. Furthermore, with predictive maintenance and prescriptive maintenance, the situation when an unexpected failure occurs in one of the components is not much different from that in corrective maintenance.
[0009] In addition, in cases where there are many components and the relationships between the components are diverse, such as in industrial facilities, conventional preventive maintenance methods and predictive maintenance methods often cannot fully grasp the relationships between the components. For example, during the design stage of a facility, the existence or degree of a relationship between the state of one component and the state of another component may not be clear (or may be ambiguous), but the relationship may become apparent to a certain extent once the facility is actually operated. In such cases, conventional predictive maintenance methods and prescriptive maintenance methods have difficulty grasping the relationships between components that become apparent once the facility is actually operating.
[0010] FIG. 2 illustrates an example of an ambiguous relationship between components in an industrial facility or the like. FIG. 2 shows an example in which each of components 311 (see FIG. 3) in the industrial facility or the like belongs to one of physical structures 201, a network of pipelines transporting liquids 202, and electric circuits 203. (Needless to say, the application of the present disclosure is not limited to such facilities or the like.) Note that in FIG. 2, each of the components 311 is omitted from the illustration to avoid cluttering the illustration. Instead, each of sensors 312 that may correspond to each of the components 311 is shown as a black circle. The sensor 312 performs some kind of measurement on a component 311 in the vicinity of the sensor 312 or on the component 311 to which the sensor 312 belongs. In Fig. 2, an example of a failure 212 (Failure detected by sensor) of the component 311 that is identified from the sensor value obtained by measurement by the sensor 312 is shown in a speech bubble. If the relationship between one component and another is unclear (ambiguous), then the relationship between the sensor value from the sensor 312 associated with that component and the sensor value from the sensor 312 associated with that other component is also unclear (ambiguous). The physical structure 201 may be, for example, a collection of floors, walls, columns, and ceilings in a facility, etc., or machines, devices, equipment, parts, and robots attached to the floors, walls, columns, and ceilings. Each of the floors, walls, columns, ceilings, machines, devices, equipment, parts, and robots included in the physical structure 201 may be managed in a digital twin format using 3-dimensional computer-aided design (3D CAD) in a system that manages the facility, etc. The network of pipelines 202 for transporting liquids may be a pipeline network for transporting some kind of liquid in or out of a facility or for collecting waste liquids. The electric circuit 203 may be a power distribution network for supplying power to each of the machines, devices, equipment, parts, and robots in the facility or the like.
[0011] In FIG. 2, sensors 312 are connected by solid lines or dashed-dotted lines. The relationship between the sensor values of sensors 312 connected by solid lines is clear (a clear relationship is said to exist). In other words, the relationship between the states of the components 311 corresponding to the sensors 312 connected by solid lines is clear. The relationship between sensors 312 connected by dashed-dotted lines is not clear (ambiguous). (An ambiguous relationship is said to exist). In other words, the relationship between the states of the components 311 corresponding to the sensors 312 connected by dashed-dotted lines is not clear (ambiguous). When industrial facilities, etc., have many components 311 and the relationships between the components 311 are diverse, ambiguous relationships, as shown by the dashed dotted lines in Figure 2, may exist depending on the combination of components 311 (and the sensors 312 corresponding to the components 311). Such ambiguous relationships often do not become apparent until the facility, etc., is actually put into operation. For these reasons, it is difficult to manage the components 311 (sensors 312) that have ambiguous relationships using conventional predictive maintenance methods and prescriptive maintenance methods.
[0012] For example, when an ambiguous relationship exists between components 311 (sensors 312) shown in FIG. 2, the following may become apparent when the equipment is actually operated. (1) A bend in any of the floors, walls, columns, or ceilings included in the physical structure 201 causes a clog in a liquid transport pipe included in the network of pipelines 202 that transports the liquid (pipe clog) and a cable break in an electrical cable included in the electrical circuit 203. Furthermore, a clog in a certain part of the liquid transport pipe causes a pipe break in another part of the liquid transport pipe and a motor overload in yet another part of the liquid transport pipe. (2) Liquid leakage at a certain location in a liquid transport pipe included in the network 202 of pipelines that transport liquid causes a short circuit at a certain location (a location exposed to the leaked liquid) of an electric cable included in the electric circuit 203. This short circuit causes a motor at another location (a location that is powered by the shorted electric cable) included in the network 202 of pipelines that transport liquid to stop. This short circuit also causes some system that is powered by the electric circuit 203 to stop (system stop).
[0013] The prior art disclosed in Non-Patent Document 1 is not intended to appropriately identify components to be repaired or replaced or to determine the order of priority for repair or replacement when a certain condition (for example, a condition corresponding to a failure event) actually occurs in equipment, etc.
[0014] From the above, one of the objects of the present disclosure may be to increase the accuracy of the process for identifying the component (sensor) that is causing a certain state (for example, a state corresponding to a failure event) when one of the components (sensors) enters a certain state, such as in industrial equipment, where there are many components (and sensors corresponding to the components) and the relationships between the components (sensors) are diverse, and to perform the process quickly.
[0015] When any of the components (sensors) enters a certain state (for example, a state corresponding to a failure event), the accuracy of the process for identifying the component (sensor) causing the state is improved, and if this process is carried out quickly, repairs, replacement, etc. of the identified component (sensor) can also be carried out quickly. In addition, the priority order for repairs, replacement, etc. can be appropriately determined. Therefore, it is expected that the equipment, etc. that contains these components (sensors) will be reliably restored to a normal state, and that the time until such restoration will be as short as possible. [Means for solving the problem]
[0016] In order to achieve at least one of the above objects, the present disclosure may have the following features, for example. The present disclosure relates to a system including a proximity measurement data generator, an anomaly detector, a conditional probability data generator, and a Bayesian network generator. The proximity measurement data generator generates proximity measurement data based on information obtained from a plurality of sensors, each of which includes a record having a timestamp, specific information of two sensors, and a proximity value between one sensor and the other sensor for each domain. The anomaly detection unit identifies a record of proximity measurement data corresponding to an anomaly based on information obtained from multiple sensors and the proximity measurement data, and sets the anomaly label of the identified record of proximity measurement data to a value indicating an anomaly. The conditional probability data generator generates conditional probability data for each domain based on the proximity measurement data. The conditional probability data for each domain indicates a correspondence between a proximity value for the domain and a conditional probability value that, when one sensor is in a first predetermined state, the other sensor will be in a second predetermined state, between two sensors having a relationship indicated by the proximity value. The Bayesian network creation unit creates Bayesian network data based on the proximity measurement data and the conditional probability data for each domain. Each record included in the Bayesian network data has specific information for a cause-side sensor, specific information for a result-side sensor, specific information for a state of the cause-side sensor, and a value of the conditional probability that the result-side sensor will be in a specific state. [Effects of the Invention]
[0017] As described above, the present disclosure obtains a proximity value between one sensor and the other sensor of two sensors for each domain based on information obtained from a plurality of sensors. This makes it possible to obtain a proximity value for each domain, even when the relationships between the sensors are diverse and the relationship between any of the sensors is unclear (ambiguous), making it easier to accurately grasp the relationship between the sensors.
[0018] As described above, the present disclosure assigns an anomaly label to a value indicating an anomaly in a proximity measurement data record that includes a timestamp and specific information for two sensors. The present disclosure also creates conditional probability data for each domain that indicates a correspondence between the proximity value for the domain and a conditional probability similar to the probability that the anomaly label will be a value indicating an anomaly. This allows the characteristics of each domain to be understood with respect to information obtained from multiple sensors.
[0019] Furthermore, as described above, the present disclosure creates Bayesian network data indicating the conditional probability of propagation of a certain state between sensors. This makes it possible to perform processing based on the Bayesian network data to identify the component (sensor) that is the cause of a certain state (e.g., a state corresponding to a failure event) in a certain sensor.
[0020] As described above, even in cases where there are many components (and sensors corresponding to the components), such as in industrial equipment, and the relationships between the components (sensors) are diverse, when one of the components (sensors) enters a certain state (for example, a state corresponding to a failure event), the present disclosure can increase the accuracy of the process of identifying the component (sensor) that is causing the state, and can perform the process quickly.
[0021] Methods and programs that achieve the same processing as the above system can also achieve the same effects as the above system. In the form of a program, costs can often be reduced. Programs also make it easier to make design changes to the processing. Other features that the present disclosure may have and the effects corresponding to those features will be disclosed in this specification, claims, or drawings. [Brief explanation of the drawings]
[0022] [Figure 1] 1 illustrates a basic functional configuration of an embodiment of the present disclosure. [Figure 2]This shows an explanation of the ambiguous relationship between sensors. [Figure 3] 1 shows an overall configuration including an embodiment of the present disclosure. [Figure 4] 1 shows a computer architecture for implementing the system 101. [Figure 5] 1 shows a functional configuration of a system 101 according to an embodiment of the present disclosure. [Figure 6] 1 shows a functional configuration of a system 101 according to an embodiment of the present disclosure. [Figure 7] Shows geometric data. [Figure 8] Shows time series data. [Figure 9] Shows fault report data. [Figure 10] Spatial proximity data is shown. [Figure 11] Temporal proximity data is shown. [Figure 12] Causal proximity data is presented. [Figure 13] 1 shows proximity measurement data. [Figure 14] Spatial conditional probability data is shown. [Figure 15] Temporal conditional probability data is shown. [Figure 16] Bayesian network data is shown. [Figure 17] The estimated data is shown. [Figure 18] 10 shows the processing of the asset data collection unit. [Figure 19] 10 shows the processing of a spatial proximity calculation unit. [Figure 20] 10 shows the processing of a temporal proximity calculation unit. [Figure 21] 10 shows the processing of the causal proximity calculation unit. [Figure 22] 1 illustrates the processing of proximity aggregations. [Figure 23] 1 shows the processing of the failure detection unit. [Figure 24] 10 shows the processing of the abnormality detection unit. [Figure 25] 10 shows the processing of the approximation function determination unit. [Figure 26]10 shows the processing of the approximate function value calculation unit. [Figure 27] 10 shows the processing of the conditional probability adjustment unit. [Figure 28] 10 shows the processing of the Bayesian network creation unit. [Figure 29] 10 shows the processing of the non-proximity sensor cut-off portion. [Figure 30] 10 shows the processing of the root cause estimation unit. [Figure 31] 10 shows the processing of the Bayesian network update unit. [Figure 32] An example of display is shown below. DETAILED DESCRIPTION OF THE INVENTION
[0023] Embodiments of the present disclosure will be described in detail below with reference to the drawings. Note that the embodiments described below do not limit the disclosure according to the claims, and not all of the elements and combinations thereof described in the embodiments are necessarily essential to the solutions of the present disclosure. The following description and drawings are examples for explaining the present disclosure, and appropriate omissions and simplifications have been made for clarity of explanation. The present disclosure can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural. The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc., in order to facilitate understanding of the invention. Therefore, the present disclosure is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings. Each of the systems, devices, or functional units disclosed herein may be integrated into a single piece of hardware, or may be divided into multiple parts that work together to perform their functions. Several systems, devices, or functional units may be integrated into one hardware configuration. Each of the systems, devices, or functional units may be realized by causing a computer to execute software (programs) (as in FIG. 4). Some of the functions of the system, device, or functional unit may be realized by hardware (e.g., hardwired logic or a field programmable gate array (FPGA)), and the remaining functions may be realized by executing software (programs). All of the functions of each of the systems, devices, or functional units may be realized by hardware. Some or all of the steps shown in the flowcharts, etc. described in this disclosure may be realized by hardware. One or more systems, devices, or functional units of the present disclosure may be realized using one or more hardware resources. For this purpose, each of the systems, devices, or functional units of the present disclosure may be virtually realized. For example, a virtual computer or virtual container technique may be used. The term "program" may be included in the general concept of software, in which software and hardware resources cooperate to construct a specific system or method of operation according to the intended purpose. In other words, the term "program" is not limited to a specific type or form of program. The program may also be initially recorded in a compressed format. The same reference numbers are used in multiple drawings. In the drawings showing flowcharts, rectangular boxes indicate processing steps, and hexagonal boxes indicate conditional branching steps. In the drawings showing flowcharts, "step" is abbreviated as "S." The displays or outputs shown in the drawings are merely examples. The display or output may be in any form as long as the objectives of the present disclosure can be achieved.
[0024] 1. Basic functional configuration (Figure 1) FIG. 1 shows a basic functional configuration 100 (and the information handled) of a system 101 according to an embodiment of the present disclosure. Note that not all of the functional configurations shown in FIG. 1 are essential. Furthermore, the existence of functional configurations other than those shown in FIG. 1 is not precluded. In FIG. 1 (and FIGS. 5 and 6), solid rectangles with the word "unit" in their names indicate functional units.
[0025] 1, a system 101 performs processing based on information obtained from a plurality of sensors 312 (see FIGS. 2 and 3). In FIG. 1, a collection of the plurality of sensors 312 is referred to as a sensor network 302 (see also FIG. 3). Note that the collection of the plurality of sensors 312 (sensor network 302) itself may be located outside the system 101, inside the system 101, or may exist both inside and outside the system 101. The information obtained from the multiple sensors 312 can be broadly interpreted. In other words, the information obtained from the multiple sensors 312 may include not only information on sensor values obtained by measurements made by the sensors 312 themselves, but also information such as position information (coordinate information) of the sensors 312 obtained by observing the position information (coordinate information) of the sensors 312 from outside the sensors 312, and knowledge information obtained by some method related to the sensors 312 and the components 311 (see FIG. 3) corresponding to the sensors 312. As will be described later with reference to Fig. 3, each of the sensors 312 may correspond to a respective component 311 included in the equipment 301. As already described with reference to Fig. 2, each of the sensors 312 performs some measurement on the component 311 in the vicinity of the sensor 312 or the component 311 to which the sensor 312 belongs.
[0026] The system 101, an embodiment of the present disclosure, generates at least proximity measurement data 1300, conditional probability data 145 (conditional probability table data (CPT data)), and Bayesian network data 1600. The system 101 may also generate estimation data 1700. The system 101 includes, as functional units for creating the above data groups, a proximity measurement data creation unit 122, an anomaly detection unit 2400 (Anomal Detection Unit), a conditional probability data creation unit 127 (Conditional Probability Table Data Creation Unit), and a Bayesian network creation unit 2800 (Bayesian Network Creation Unit). The system 101 may also include a root-cause estimation unit 3000 (Root-Cause Estimation Unit).
[0027] The proximity measurement data creation unit 122 creates proximity measurement data 1300 based on information obtained from multiple sensors 312 (sensor network 302). The proximity measurement data 1300 includes multiple records. Each record included in the proximity measurement data 1300 has a timestamp, specific information of two sensors 312, and a proximity value between one sensor and the other sensor of the two sensors 312 for each domain. The domain means some viewpoint for quantifying some object(s). In the embodiment of the present disclosure, a spatial domain, a temporal domain, and a causal domain are used as examples of domains handled in the proximity measurement data 1300, but other types of domains may also be set. Furthermore, even if there is ambiguity in the relationships between components 311 (sensors 312), if information about multiple sensors 312 (sensor network 302) is handled in the spatial domain, the time domain, and the causal domain, it is expected that the relationships between the sensors 312 can be appropriately estimated through analysis of information from various perspectives. A proximity value indicates an index of the proximity between two sensors 312 in some domain. As will be described in detail later, a spatial proximity value, which is a proximity value in the spatial domain, may be the distance between two sensors 312. A temporal proximity value, which is a proximity value in the temporal domain, may be an index (e.g., a synchronicity score) regarding the similarity between the time-series information of the sensor values of the two sensors 312 included in the time-series data 800 (see FIGS. 5, 6, and 8). A causal proximity value, which is a proximity value in the causal domain, may be an index (e.g., a p-value of a hypothesis test for a null hypothesis indicating no influence) indicating the degree of influence of one piece of time-series information on the other piece of time-series information of the sensor values of the two sensors 312. Figure 1 shows an example of the first record of proximity measurement data 1300, where the timestamp is April 1, 2024, the specific information of the two sensors 312 is sensor A and sensor B, the spatial proximity value (proximity value S in Figure 1) is 35, the temporal proximity value (proximity value T in Figure 1) is 0.85, and the causal proximity value (proximity value C in Figure 1) is 0.021. It should be noted that one of the reasons for the presence of a timestamp in each record of the proximity measurement data 1300 is that the proximity values between the sensors 312 for each domain may change over time.
[0028] The proximity measurement data creation unit 122 in FIG. 1 corresponds to the spatial proximity calculation unit 1900 (Spatial Proximity Calculation Unit), the temporal proximity calculation unit 2000 (Temporal Proximity Calculation Unit), the causal proximity calculation unit 2100 (Causal Proximity Calculation Unit), and the proximity aggregation unit 2200 (Proximity Aggregation Unit) in FIG. 5.
[0029] The anomaly detection unit 2400 identifies a record of the proximity measurement data 1300 corresponding to an anomaly based on information obtained from the multiple sensors 312 (sensor network 302) and the proximity measurement data 1300. Then, the anomaly detection unit 2400 sets the anomaly label of the identified record of the proximity measurement data 1300 to a value indicating an anomaly. 1 shows an example of setting the anomaly label to a value indicating an anomaly, where the anomaly label of the second record in the proximity measurement data 1300 is set to "1", which is a value indicating an anomaly. Note that the value indicating an anomaly is not limited to "1". Any format may be used as long as it is possible to distinguish between a value indicating an anomaly and a value not indicating an anomaly. The fact that a record in the proximity measurement data 1300 corresponds to an anomaly may indicate that, in the relationship between two specific sensors 312 at a specific time period (or time) indicated by the timestamp of the record and the specific information of the two sensors 312, a first predetermined state (e.g., a state corresponding to a failure event) in one sensor 312 is estimated to have propagated (been linked) to a second predetermined state (e.g., a state corresponding to a failure event) in the other sensor 312.
[0030] The conditional probability data creation unit 127 (conditional probability table data creation unit) creates conditional probability data 145 (conditional probability table data) based on the proximity measurement data 1300. The conditional probability data creation unit 127 creates conditional probability data (conditional probability table data) for each domain. In the embodiment of the present disclosure, the spatial domain and the temporal domain are used as examples of domains handled by the conditional probability data 145 (conditional probability table data), but other types of domains may also be considered. The spatial domain corresponds to spatial conditional probability data 1400 (domain S conditional probability data 114 in FIG. 1 ). The temporal domain corresponds to temporal conditional probability data 1500 (domain T conditional probability data 115 in FIG. 1 ).
[0031] The spatial conditional probability data 1400 (domain S conditional probability data 114 in FIG. 1) indicates the correspondence between a spatial proximity value (proximity value S in FIG. 1) and the value of the conditional probability (conditional probability of state propagation) that when one sensor is in a first predetermined state (e.g., a state corresponding to a failure event), the other sensor will be in a second predetermined state (e.g., a state corresponding to a failure event), assuming that there are two sensors having the relationship indicated by the spatial proximity value (proximity value S). In the example of FIG. 1, the second record of the domain S conditional probability data 114 indicates that when the spatial proximity value (proximity value S) is 10, the conditional probability of state propagation is 0.432.
[0032] The temporal conditional probability data 1500 (domain T conditional probability data 115 in Figure 1) indicates the correspondence between a temporal proximity value (proximity value T in Figure 1) and the value of the conditional probability (conditional probability of state propagation) that when one sensor is in a first predetermined state (e.g., a state corresponding to a failure event), the other sensor will be in a second predetermined state (e.g., a state corresponding to a failure event), assuming that there are two sensors having the relationship indicated by the temporal proximity value (proximity value T). In the example of FIG. 1, the third record of the domain T conditional probability data 115 indicates that when the temporal proximity value (proximity value T) is 0.2, the conditional probability of state propagation is 0.400.
[0033] The conditional probability data 145 (conditional probability table data) does not indicate the conditional probability between specific sensors 312 (as in the Bayesian network data 1600 described later), but indicates the correspondence between proximity values and the conditional probabilities of state propagation. Such conditional probability data 145 (conditional probability table data) is useful for extracting and utilizing the characteristics of each domain.
[0034] The conditional probability data creation unit 127 (conditional probability table data creation unit) in Figure 1 corresponds to the approximation function decision unit 2500 (Approximation Function Decision Unit), the approximation function value calculation unit 2600 (Approximation Function Value Calculation Unit), and the conditional probability adjustment unit 2700 (Conditional Probability Adjustment Unit) in Figure 5.
[0035] The Bayesian network creation unit 2800 creates the Bayesian network data 1600 based on the proximity measurement data 1300 and the conditional probability data 145 (conditional probability table data) (conditional probability data for each domain).
[0036] The Bayesian network data 1600 includes a plurality of records. Each record included in the Bayesian network data 1600 has identifying information for a sensor on the cause side (also referred to as a parent sensor), identifying information for a sensor on the result side (also referred to as a child sensor), identifying information for the state of the sensor on the cause side (parent sensor), and a conditional probability (specific state conditional probability) that the sensor on the result side (child sensor) will be in a specific state (e.g., a state corresponding to a failure event). In other words, the Bayesian network data 1600 indicates the conditional probability (specific state conditional probability) that the sensor on the result side (child sensor) will be in a specific state (e.g., a state corresponding to a failure event) corresponding to each possible state of the sensor on the cause side (parent sensor). In the example of Figure 1, the third record of the Bayesian network data 1600 indicates that when the state of sensor A, the cause sensor (parent sensor), is "state H," the conditional probability (specific state conditional probability) that sensor B, the result sensor (child sensor), will be in a specific state (for example, a state corresponding to a failure event) is 0.80.
[0037] The Bayesian network data 1600 can be used to calculate the probability (conditional probability) that another sensor 312 is in a certain state when a predetermined state (a state corresponding to a predetermined event) is detected in one sensor 312. Therefore, by calculating the Bayesian network data 1600 for a plurality of sensors 312 (sensor network 302) in which the relationships between the sensors 312 may be ambiguous, the system 101 can improve the accuracy and speed of processing to respond to events that occur in the sensor network 302.
[0038] The system 101 may have a root cause estimation unit 3000 as a functional unit that actually utilizes the created Bayesian network data 1600. The root cause estimation unit 3000 creates estimation data 1700 based on the specific information 123 of the sensor 312 corresponding to the failure event and the Bayesian network data 1600.
[0039] The inference data 1700 includes one or more records. Each record included in the inference data 1700 has specific information of a candidate sensor 312 (a sensor on the cause side, a parent sensor) corresponding to what is inferred to be the root cause of the failure event (e.g., a component 311), and a value of a conditional probability (root cause conditional probability) associated with the candidate sensor. In the example of Figure 1, (for example, assuming that the identification information 123 of the sensor 312 corresponding to the failure event indicates sensor C), the first record of the estimated data 1700 indicates that the sensor 312 corresponding to what is estimated to be the root cause of the failure event (for example, component 311) is sensor A, and the root cause conditional probability associated with sensor A is 0.60.
[0040] The estimation data 1700 presents the estimation result of the sensor 312 (causal sensor, parent sensor) corresponding to what is estimated to be the root cause of the failure (e.g., component 311) when a certain sensor 312 enters a state corresponding to the failure event. Therefore, when a failure event occurs in the target equipment 301, etc., measured by multiple sensors 312 (sensor network 302), the system 101 can accurately and quickly identify the component 311 to be replaced or repaired. Accordingly, repair, replacement, etc. of the identified component (sensor) can be performed quickly. Furthermore, the priority order of repair, replacement, etc. can be appropriately determined. Therefore, it is expected that the equipment, etc., having these components (sensors) will be reliably restored to a normal state and that the time until the restoration is completed will be as short as possible.
[0041] The system 101 according to the embodiment of the present disclosure has the above-described functional configuration, and therefore can have the effects described in the above-described [Effects of the Invention].
[0042] 2. Overall configuration including system 101 (Fig. 3) Fig. 3 shows an overall configuration 300 including a system 101 according to an embodiment of the present disclosure. Note that not all of the functional configurations shown in Fig. 3 are essential. Furthermore, the presence of functional configurations other than those shown in Fig. 3 is not prohibited.
[0043] Equipment 301, which is a management target of the system 101, has multiple components 311. The relationships between the components 311 may be diverse. The equipment 301 has multiple sensors 312. The multiple sensors 312 may form a sensor network 302. The sensor 312 performs some kind of measurement on the components 311 in the vicinity of the sensor 312 or the component 311 to which the sensor 312 belongs. The system 101 collects information obtained from the multiple sensors 312 (sensor network 302).
[0044] 3, the system 101 may have, as functional units, a group of functional units for the learning phase 305, a group of functional units for the operation phase 306, and a display and output control unit 3299. The system 101 may also have, as databases that store information (data and parameters) handled by the functional units, an asset database 371, a measurement database 372, a knowledge database 373, a Bayesian network database 374, and an estimation database 375.
[0045] The learning phase functional unit group 305 indicates a set of functional units that the system 101 mainly uses when executing the learning phase. The learning phase is a phase in which Bayesian network data 1600, etc. are created based on information (information obtained every moment) obtained from multiple sensors 312 (sensor network 302), and the Bayesian network data 1600, etc. are updated as needed. The learning phase functional unit group 305 may be a set of functional units shown in Fig. 5. Note that, as will be described in detail later, some of the functional units included in the learning phase functional unit group 305 may also be used during the operation phase. The operation phase functional unit group 306 indicates a set of functional units used when the system 101 executes the operation phase. The operation phase is a phase in which, when a certain sensor 312 is in a state corresponding to a failure event, a candidate sensor corresponding to what is presumed to be the root cause of the failure event (e.g., component 311) is identified. The operation phase functional unit group 306 may be the set of functional units shown in FIG. 6. The display output control unit 3299 controls the display to enable a user of the system 101 to input instructions to the system 101, and controls the display or output to present information held by the system 101. An example of the display will be described later with reference to FIG.
[0046] The data and parameters held by the asset database 371, measurement database 372, knowledge database 373, Bayesian network database 374, and estimation database 375 are shown in Figure 5 or 6. Note that which database holds the data and parameters handled by the system 101 and the number of databases may be arbitrary.
[0047] 3. Computer Architecture for Implementing Embodiments of the Present Disclosure (FIG. 4) 4 illustrates a computer architecture 400 for implementing the system 101 of the embodiment of the present disclosure. The computer architecture 400 illustrated in FIG. 4 may be referred to as an information processing device or an information processing system. To realize the system 101, some or all of the processing unit 401, storage device 402, non-volatile storage medium (storage device) 403, external storage medium drive 404, input device 406, display or output device 407, communication device 408, external input / output port 409, and reading device 410 may be interconnected via an interconnection unit 411. (Note that some or all of the interconnection unit 411 may be a network. In that case, the system 101 is realized by a plurality of devices connected via the network.) The arithmetic processing device 401 may be, for example, a processor. Examples of this processor include a CPU, an MPU, or a GPU. Alternatively, the processor referred to here may be any other semiconductor device that executes predetermined processing. Furthermore, the arithmetic processing device 401 may be one or more (micro)processors. For example, the arithmetic processing device 401 may be a multi-core processor having multiple processing cores (CPU cores). The storage device 402 may be, for example, a memory. The non-volatile recording medium (recording device) 403 may be, for example, a non-volatile memory (e.g., a flash memory) or a non-volatile disk device. The external recording medium drive 404 may be, for example, a disk drive. The input device 406 may be, for example, a mouse, a keyboard, an imaging device, a sensor, a touch panel, or a pointing device. The display or output device 407 may be, for example, a display, a printer, or a speaker. The communication device 408 may be, for example, a communication device for wired communication or a communication device for wireless communication. The communication device 408 may be a network interface device (NIC) that controls communication with other systems, devices, terminals, or servers according to a predetermined protocol. The interconnection unit 411 may be, for example, a bus or a crossbar switch. (As described above, part or all of the interconnection unit 411 may be a network.)
[0048] The non-volatile recording medium (recording device) 403 may record various programs included in the program group 431 (for example, programs for realizing the functional configuration related to the present disclosure; for example, various programs for implementing each of the functional units realized in the system 101), various data groups included in the data group 432, or information included in the various information 433. The program group 431 may include various programs for realizing the functional units indicated as "units" in the functional configuration diagrams of Figures 1, 5, and 6. Some of the above programs may be integrated into one program. Also, any of the above programs may be divided into multiple programs. The data group 432 may include information (data, etc.) handled by the above-mentioned functional units. For example, the data group 432 may include information constituting each of the data groups or parameter groups indicated by dotted-line frames in the functional configuration diagrams of Figures 5 and 6. (Note that part or all of the information included in the data groups or parameter groups may be stored in the storage device 402 (memory).) Alternatively, some or all of the various programs included in the program group 431, the various data groups (or parameter groups) included in the data group 432, or the information included in the various information 433 may be acquired from outside the configuration shown in FIG. 4.
[0049] The external recording medium drive 404 can be connected to an external recording medium 405. The external recording medium 405 may be, for example, a portable recording disk (such as a DVD), an IC card, an SD card, a nonvolatile memory (such as a flash memory), or a portable hard disk. Various programs included in the program group 431, various data (or parameter groups) included in the data group 432, or information similar to the information included in the various information 433 may be transferred and stored from the external recording medium 405 to the nonvolatile recording medium (recording device) 403 or the storage device 402. The external recording medium 405 may be used to record programs and data handled in the system 101. The external recording medium drive 404 and the external recording medium 405 may be connected to the system 101 shown in FIG. 4 via a network. The various programs included in the program group 431, the various data included in the data group 432, or the information included in the various information 433 may be brought via the communication device 408, the external input / output port 409, the input device 406, or the reading device 410, and recorded or stored in the non-volatile recording medium (recording device) 403 or the storage device 402.
[0050] In order for the architecture of FIG. 4 to function as the system 101, each functional unit within the system 101, or a part of each functional unit (to execute one or a series of processes (steps)), various programs included in the program group 431 may be loaded into the storage device 402 (for example, from the non-volatile recording medium (recording device) 403). The loaded program is indicated by 421 in FIG. 4. The arithmetic processing device 401 may then execute the program 421 (using, as necessary, various data and the like included in the data group 432 stored in the non-volatile recording medium (recording device) 403, or information included in the various information 433). Execution of the program 421 realizes the function of the system 101, each functional unit within the system 101, or a part of each functional unit (to execute one or a series of processes (steps)). At this time, various buffers 423 temporarily formed in the storage device 402 may also be used as appropriate.
[0051] 4. Functional configuration of system 101 (Figs. 5 to 17) 5 shows a functional configuration 500 (and information handled) of the system 101 according to an embodiment of the present disclosure, mainly during the learning phase. Note that not all of the functional configurations shown in FIG. 5 are essential. Also, the presence of functional configurations other than those shown in FIG. 5 is not prohibited. 6 shows a functional configuration 600 (and information handled) of the system 101 according to an embodiment of the present disclosure during the operation phase. Note that not all of the functional configurations shown in FIG. 6 are essential. Furthermore, the presence of functional configurations other than those shown in FIG. 6 is not prohibited. The content of the processing performed by the system 101 shown in Figures 5 and 6 will be described in detail in Section "5. Processing Performed by an Embodiment of the Present Disclosure" below. In Section "4. Functional Configuration of the System 101", an outline of the content of the processing performed by the system 101 and an outline of the information (data or parameters) handled by the system 101 will be described. Note that parts that have already been described with reference to Figure 1 may be omitted below. 5 and 6, solid rectangles with the word "unit" in their names indicate functional units, and dotted frames indicate handled information (data or parameters).
[0052] 4-1. Functional configuration during the learning phase As shown in FIG. 5 , the system 101 includes, as functional units during the learning phase, an asset data collection unit 1800 (Asset Data Collection Unit), a spatial proximity calculation unit 1900 (Spatial Proximity Calculation Unit), a temporal proximity calculation unit 2000 (Temporal Proximity Calculation Unit), a causal proximity calculation unit 2100 (Causal Proximity Calculation Unit), a proximity aggregation unit 2200 (Proximity Aggregation Unit), a failure detection unit 2300 (Failure Detection Unit), an anomaly detection unit 2400 (Anomal Detection Unit), an approximation function decision unit 2500 (Approximation Function Decision Unit), an approximation function value calculation unit 2600 (Approximation Function Value Calculation Unit), and a conditional probability adjustment unit 2700 (Conditional Probability Adjustment Unit). The Bayesian network creation unit 2800 may include a Bayesian network creation unit. In the computer architecture 400 shown in FIG. 4 described above, when a program corresponding to each functional unit is executed during the learning phase to realize each functional unit in software, such software-realized functional unit does not need to be constantly realized in the system 101. For example, when a function provided by a functional unit is needed, the functional unit may be realized in software in the system 101. Also, in the system 101, any of the functional units (or a part of the function of any of the functional units) may be implemented more in hardware. These points also apply to each of the functional units during the operation phase described below.
[0053] As shown in FIG. 5 , the system 101 receives, as data or parameters indicating information handled by any of the functional units during the learning phase, geometric data 700 (Geometry Data), time-series data 800 (Time-Series Data), failure report data 900 (Failure Report Data), spatial proximity data 1000 (Spatial Proximity Data), temporal proximity data 1100 (Temporal Proximity Data), causal proximity data 1200 (Causal Proximity Data), proximity measurement data 1300 (Proximal Measurement Data), approximation function parameters 525 (Approximation Function Parameter), spatial conditional probability data 1400 (Spatial Conditional Probability Data) (Spatial Conditional Probability Table Data), temporal conditional probability data 1500 (Temporal Conditional Probability Data) (Temporal Conditional Probability Table Data), and Bayesian network data 1600 (Bayesian Network Data). Of the above data or parameters, the geometric data 700, the time series data 800, and the fault report data 900 may be included in the asset database 371. Of the above data, the spatial proximity data 1000, the temporal proximity data 1100, and the causal proximity data 1200 may be included in the measurement database 372. Of the above data, the proximity measurement data 1300, the approximation function parameters 525, the spatial conditional probability data 1400, and the temporal conditional probability data 1500 may be included in the knowledge database 373. Of the above data, the Bayesian network data 1600 may be included in the Bayesian network database 374. Of the above data, the spatial conditional probability data 1400 and the temporal conditional probability data 1500 may be collectively referred to as conditional probability data 145 (Conditional Probability Data) (Conditional Probability Table Data (CPT Data)). Each of the data and parameters during the learning phase described above may be recorded as part of data group 432 in non-volatile recording medium (storage device) 403 in computer architecture 400 of Fig. 4, may be stored in various buffers 423 in storage device (memory) 402, or may be held in a recording medium, storage medium, device, system, server, etc. that is accessible or communicable by computer architecture 400. The same applies to each of the data during the operation phase described below.
[0054] 4.1.1. Overview of Functional Sections during the Learning Phase Below, an overview of the processing of each of the functional units shown in Fig. 5 will be shown. However, what has already been explained together with Fig. 1 may be omitted below.
[0055] 4.1.1.1.Outline of Asset Data Collection Department The asset data collection unit 1800 collects information about the equipment 301. Because the equipment 301 has multiple components 311 and multiple sensors 312, the asset data collection unit 1800 mainly collects information about the components 311 and sensors 312. Over time, the situation in the equipment 301 may change. Therefore, the asset data collection unit 1800 periodically collects information repeatedly or collects information at appropriate times, depending on the type of information. The asset data collection unit 1800 may store the collected information in the asset database 371.
[0056] In the example of FIG. 5, the asset data collector 1800 periodically collects information about the spatial domain (eg, coordinate information for each of the sensors 312) and stores it as geometric data 700 in the asset database 371. 7 shows an example of geometric data 700. The geometric data 700 includes multiple records. Each record included in the geometric data 700 may include a timestamp, specific information about the sensor 312, and information indicating coordinate information about the sensor 312 (e.g., X coordinate value, Y coordinate value, Z coordinate value). 7, the fifth record of the geometric data 700 indicates that, for the coordinates of sensor E associated with the timestamp of April 1, 2024, 0:00, the X coordinate value is 50, the Y coordinate value is 50, and the Z coordinate value is 0. The coordinate values may be expressed in any unit, such as centimeters.
[0057] 5, the asset data collection unit 1800 periodically collects information relating to the time domain (e.g., information on sensor values provided by each of the sensors 312) and stores the information as time-series data 800 in the asset database 371. Note that the period in which the asset data collection unit 1800 collects information relating to the spatial domain and the period in which the asset data collection unit 1800 collects information relating to the time domain may be the same or different. 8 shows an example of time-series data 800. The time-series data 800 includes a plurality of records. Each record included in the time-series data 800 may include a timestamp and information indicating the sensor value for each sensor 312. 8, the fourth record of the time-series data 800 corresponds to the timestamp 3:00 in the year 2024, and indicates that the sensor value of sensor A is 102, the sensor value of sensor B is 201, the sensor value of sensor C is 149, the sensor value of sensor D is 181, and the sensor value of sensor E is 119. The unit of the sensor value is determined according to the type of the sensor 312.
[0058] 5, the asset data collector 1800 timely collects information on the causal domain (for example, for each failure event, report information consisting of specific information on the sensor corresponding to the failure event and information on the cause of the failure or information on the effect brought about by the failure) and stores it in the asset database 371 as failure report data 900. The information on the causal domain (report information) may be information obtained based on a Failure Mode and Effects Analysis (FMEA), or may be information provided to the system 101 by a manager or user of the facility 301 on an individual basis. 9 shows an example of failure report data 900. The failure report data 900 includes a plurality of records. Each record included in the failure report data 900 has a timestamp and specific information about the sensor 312 corresponding to the failure event (and information indicating the failure mode). Each record included in the failure report data 900 also has one or both of information about the cause of the failure and information about the effect of the failure. Furthermore, each record included in the failure report data 900 may include information about the root cause of the failure event. In the example of Figure 9, the third record of the failure report data 900 indicates, as the content of the report information at the timestamp of 00:00 on April 1, 2024, that the sensor 312 corresponding to the failure event is sensor C, the failure mode of the component 311 corresponding to sensor C or sensor C itself is "malfunction", the cause of the failure is a failure of the component 311 corresponding to sensor A or sensor A itself (Sensor A Failure), the effect of the failure is a failure of the component 311 corresponding to sensor D or sensor D itself (Sensor D Failure), and the root cause of the failure event is the component 311 corresponding to sensor B or sensor B itself.
[0059] 9, each record of the failure report data 900 is divided into items. However, each record of the failure report data 900 may be in any format according to the format of the information (report information) related to the causal domain collected by the asset data collection unit 1800. For example, if the information provided each time by the manager or user of the equipment 301 to the system 101 indicates a sentence in a natural language, the record of the failure report data 900 may have a timestamp and information indicating the sentence. In general, as long as the causal proximity calculation unit 2100 can perform processing based on the record of the failure report data 900, the format of the record of the failure report data 900 does not need to be strictly defined.
[0060] 4.1.1.2. Overview of spatial proximity calculation unit The spatial proximity calculation unit 1900 creates spatial proximity data 1000 based on the geometric data 700 and stores the spatial proximity data 1000 in the measurement database 372. In the examples shown in Figures 5, 7 and 10, the spatial proximity calculation unit 1900 calculates the inter-sensor distance for each combination of two sensors based on the coordinate information of each sensor 312 included in the geometric data 700, and stores the spatial proximity data 1000 including information based on the inter-sensor distance for each combination of two sensors in the measurement database 372. 10 shows an example of spatial proximity data 1000. The spatial proximity data 1000 includes multiple records. Each record included in the spatial proximity data 1000 includes a timestamp, specific information about two sensors, and a spatial proximity value that is information based on the distance between the sensors. In the example of Figure 10, the fourth record of the spatial proximity data 1000 indicates that the inter-sensor distance between sensor A and sensor E at the timestamp of April 1, 2024 is 70.71 (the unit of distance in the example of Figure 10 is centimeters).
[0061] 10, the inter-sensor distance may change if the timestamps are different, even for the same combination of sensors 312. For example, in the physical structure 201 in FIG. 2, if a deformation or the like occurs in the component 311, the coordinate information of the sensor 312 may also change.
[0062] 4.1.1.3. Overview of the temporal proximity calculation unit The temporal proximity calculation unit 2000 creates temporal proximity data 1100 based on the time series data 800 and stores the temporal proximity data 1100 in the measurement database 372. In the examples shown in FIGS. 5 , 8 and 11 , the temporal proximity calculation unit 2000 calculates a simultaneity score, which is an index indicating the similarity between the time series information of the sensor values of each of the sensors 312, for each combination of two sensors 312, based on the time series information of the sensor values of each of the sensors 312 included in the time series data 800. The temporal proximity calculation unit 2000 stores the temporal proximity data 1100, which includes information based on the simultaneity score for each combination of the two sensors 312, in the measurement database 372. 11 shows an example of temporal proximity data 1100. The temporal proximity data 1100 includes multiple records. Each record included in the temporal proximity data 1100 includes a timestamp, specific information of two sensors, and a temporal proximity value that is information based on the simultaneity score. In the example of FIG. 11, the fourth record of the temporal proximity data 1100 indicates that the simultaneity score between sensor A and sensor E at the timestamp April 1, 2024 is 0.55.
[0063] 11, the simultaneity score may change if the timestamps are different even for the same combination of sensors 312. This corresponds to the fact that the time-series information of the sensor values provided by each of the sensors 312 may change over time.
[0064] 4.1.1.4. Overview of the Causal Proximity Calculation Unit The causal proximity calculation unit 2100 creates causal proximity data 1200 based on the failure report data 900 and the time-series data 800, and stores the causal proximity data 1200 in the measurement database 372. In the examples shown in FIGS. 5 , 8 , 9 , and 12 , the causal proximity calculation unit 2100 estimates each combination of the cause-side sensor 312 (parent sensor) and the result-side sensor 312 (child sensor) for each failure event based on the information included in the failure report data 900. Then, for the estimated combination of sensors 312, the causal proximity calculation unit 2100 performs a hypothesis test on the null hypothesis that there is no causal relationship between the time-series information of the sensor values provided by the cause-side sensor 312 (parent sensor) and the time-series information of the sensor values provided by the result-side sensor 312 (child sensor), and calculates a p-value (a value indicating the probability that the information indicating the presented fact will come true when the null hypothesis is assumed). Furthermore, the causal proximity calculation unit 2100 stores the causal proximity data 1200 including information based on the p-value for each combination of the estimated sensors 312 in the measurement database 372. Note that the test on the causal relationship performed by the causal proximity calculation unit 2100 may be, for example, a Granger Causality Test. 12 shows an example of causal proximity data 1200. The causal proximity data 1200 includes a plurality of records. Each record included in the causal proximity data 1200 has a timestamp, specific information of the sensor 312 (parent sensor) on the cause side, specific information of the sensor 312 (child sensor) on the result side, and a causal proximity value that is information based on the p-value. In the example of FIG. 12, the first record of the causal proximity data 1200 indicates that the p-value, which is the result of a hypothesis test for the null hypothesis that there is no causal relationship between the time series information of the sensor values provided by the sensor 312 for a combination of sensor B as the cause sensor 312 (parent sensor) and sensor A as the result sensor 312 (child sensor) at a timestamp of April 1, 2024, is 0.021. In other words, assuming the null hypothesis, it indicates that the probability that the information indicating the presented fact (the time series information of the sensor values provided by sensor B and sensor A, respectively, shown in the time series data 800) will be realized is 0.021. Generally, if the p-value is less than 0.05, the null hypothesis is rejected. In other words, in this example, it is estimated that there is a causal relationship in which the time series information of the sensor values provided by sensor B is the cause and the time series information of the sensor values provided by sensor A is the result.
[0065] 12, the p-value for the combination of sensor B as the cause and sensor A as the effect can change if the timestamps are different, even for the same combination of sensors 312. This corresponds to the fact that the causal relationship between the time-series information of the sensor values provided by each of the sensors 312 can fluctuate.
[0066] 4.1.1.5. Overview of Proximity Aggregation The proximity aggregation unit 2200 creates proximity measurement data 1300 based on the spatial proximity data 1000, the temporal proximity data 1100, and the causal proximity data 1200, and stores the proximity measurement data 1300 in the knowledge database 373. In the examples shown in Figures 5, 10, 11, 12, and 13, the proximity aggregation unit 2200 creates records to be included in the proximity measurement data 1300 in such a manner as to extract and combine records having the same or similar timestamps and identifying information of the two sensors 312 from the records of the spatial proximity data 1000, the temporal proximity data 1100, and the causal proximity data 1200, and stores the created records of the proximity measurement data 1300 in the knowledge database 373. 13 shows an example of proximity measurement data 1300. The proximity measurement data 1300 includes multiple records. Each record included in the proximity measurement data 1300 has a timestamp, specific information of the two sensors 312, a spatial proximity value based on the distance between the sensors, a temporal proximity value based on the simultaneity score, and a causal proximity value based on the p-value. Each record included in the proximity measurement data 1300 also has an anomalous label as information set by the anomaly detection unit 2400. The example in Figure 13 shows that the second record of the proximity measurement data 1300 indicates that for the combination of sensor A and sensor C at the timestamp of April 1, 2024, the inter-sensor distance is 50, the simultaneity score is 0.60, the p-value is 0.038 (although not shown in the figure, this may also include information indicating which of sensor A and sensor C is the causative sensor), and the anomaly label value is 1 (a value indicating that there was an anomaly (a situation in which it is estimated that a specified state has propagated between the sensors) for the combination of sensor A and sensor C on April 1, 2024).
[0067] 4.1.1.6.Outline of the fault detection unit The fault detection unit 2300 detects a fault event based on the time-series data 800. In the examples shown in Fig. 5, Fig. 6, and Fig. 8, the fault detection unit 2300 identifies the sensor 312 in a state corresponding to a fault event, and identifies a timestamp corresponding to the fault event, based on time-series information of the sensor values provided from each of the sensors 312, which is indicated by a record group included in the time-series data 800.
[0068] Any method may be used for determining, by the fault detection unit 2300, what condition must be met for a certain sensor 312 to determine that the certain sensor 312 is in a state corresponding to a fault event. For example, the fault detection unit 2300 may determine that a certain sensor 312 at a certain timestamp is in a state corresponding to a fault event when the following conditions are met: (1) when the sensor value provided by the sensor 312 deviates from a predetermined value range, (2) when time-series information of the sensor value provided by the sensor 312 indicates a sudden change in the sensor value, (3) when the pattern indicated by the time-series information of the sensor value provided by the sensor 312 deviates from an allowable normal range, (4) when, as a result of inputting the time-series information of the sensor value provided by the sensor 312 into a machine-learned fault detection model, the fault detection model outputs a notification that a fault event has been detected, or (4) when the sensor value provided by the sensor 312 should be determined to be in a state corresponding to a fault event in light of other empirical rules.
[0069] The fault detection unit 2300 may, for example, periodically read out unread records from the time-series data 800 stored in the asset database 371 and make the above-described determination. As already described, the asset data collection unit 1800 stores, over time, time-series information of sensor values provided from the multiple sensors 312 (sensor network 302) of the equipment 301 in the time-series data 800. Therefore, by the fault detection unit 2300 periodically reading out the time-series data 800, it is possible to make a determination regarding a fault event based on the time-series information of sensor values that are sequentially provided additionally from the multiple sensors 312 (sensor network 302).
[0070] As is clear from the presence of the fault detection unit 2300 in both Figures 5 and 6, the fault detection unit 2300 can be used in both the learning phase, in which Bayesian network data 1600, etc. are created and updated, and the operation phase, in which the Bayesian network data 1600, etc. are used to estimate the root cause of a fault event. In the operation phase, when it is desired to make a judgment regarding a failure event as early as possible, the asset data collection unit 1800 may provide information to be added to and stored in the time series data 800 (for example, time series information of sensor values provided by each of the sensors 312) directly to the failure detection unit 2300, bypassing the asset database 371.
[0071] When the failure detection unit 2300 determines that a certain sensor 312 at a certain timestamp has entered a state corresponding to a failure event, it may notify the content of the determination to the anomaly detection unit 2400 shown in Fig. 5 or the non-proximity sensor cut-off unit 2900 shown in Fig. 6. The failure detection unit 2300 may notify the anomaly detection unit 2400 or the non-proximity sensor cut-off unit 2900 of, for example, identification information of the sensor 312 corresponding to the failure event and the timestamp corresponding to the failure event. In the learning phase in which the Bayesian network data 1600 and the like are created and updated, the fault detection unit 2300 notifies the anomaly detection unit 2400 of the above-mentioned determination results. In the operation phase, in which the root cause of a failure event is estimated using the Bayesian network data 1600, etc., the failure detection unit 2300 notifies the non-proximity sensor cutoff unit 2900 of the content of the above-mentioned determination. Also, even in the operation phase, when the spatial conditional probability data 1400, the temporal conditional probability data 1500, or the Bayesian network data 1600 is updated as in the learning phase, the failure detection unit 2300 may also notify the anomaly detection unit 2400 of the content of the above-mentioned determination.
[0072] 4.1.1.7. Overview of the Anomaly Detection Unit The anomaly detection unit 2400 identifies a record in the proximity measurement data 1300 that corresponds to the anomaly in response to a notification from the failure detection unit 2300 that a certain sensor 312 has entered a state corresponding to a failure event at a certain timestamp. The anomaly detection unit 2400 sets an anomaly label of the record in the proximity measurement data 1300 that has been identified as corresponding to the anomaly to a value indicating the anomaly. As already explained, the fact that a record in the proximity measurement data 1300 corresponds to an anomaly may indicate that, in the relationship between two specific sensors 312 at a specific time period (or time) indicated by the timestamp of the record and the specific information of the two sensors 312, a first predetermined state (e.g., a state corresponding to a failure event) in one sensor 312 is estimated to have propagated (been linked) to a second predetermined state (e.g., a state corresponding to a failure event) in the other sensor 312.
[0073] Any method may be used to determine what conditions must be met for a record included in the proximity measurement data 1300 to cause the anomaly detection unit 2400 to determine that the record corresponds to an anomaly. For example, the anomaly detection unit 2400 may determine that a record included in the proximity measurement data 1300 corresponds to an anomaly when any of the following conditions is satisfied: (1) the record has, as its information, both the identification information of the sensor 312 corresponding to the failure event and the timestamp corresponding to the failure event; (2) the record has, as its information, both the identification information of the sensor 312 corresponding to the failure event and the timestamp corresponding to the failure event, and various proximity values of the record satisfy predetermined conditions; (3) the failure detection unit 2300 notifies multiple sensors 312 that they have entered a state corresponding to a failure event at approximately the same time (at the same time or in the same time period), and the record has, as its information, the identification information of any two of the multiple sensors 312 that have entered a state corresponding to the failure event and the timestamp corresponding to the failure event; or (4) the record should be determined to correspond to an anomaly in light of other empirical rules.
[0074] 4.1.1.8.Outline of Approximation Function Determination Unit 1, the conditional probability data generation unit 127 may include an approximate function determination unit 2500, an approximate function value calculation unit 2600, and a conditional probability adjustment unit 2700. On the other hand, both the spatial conditional probability data 1400 and the temporal conditional probability data 1500, which constitute the conditional probability data 145 (conditional probability table data), indicate the correspondence between proximity values (spatial proximity values (e.g., distances) and temporal proximity values (e.g., simultaneity scores)) for any domain (spatial domain, temporal domain) and the conditional probability values of state propagation. Here, the approximation function determination unit 2500 and the approximation function value calculation unit 2600 express the correspondence between the proximity value and the conditional probability value of state propagation using an approximation function for each domain. To show the division of roles between the approximation function determination unit 2500 and the approximation function value calculation unit 2600, the approximation function determination unit 2500 determines an approximation function for each domain based on the proximity measurement data 1300, while the approximation function value calculation unit 2600 calculates the conditional probability value of state propagation to be stored in the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 based on the approximation function for each domain determined by the approximation function determination unit 2500.
[0075] More specifically, the approximation function determination unit 2500 calculates spatial approximation function parameters and temporal approximation function parameters based on the proximity measurement data 1300, and stores the calculated parameter group in the knowledge database 373. In Fig. 5, the spatial approximation function parameters and the temporal approximation function parameters are collectively represented as approximation function parameters 525. The spatial approximation function parameters are parameters that define a spatial approximation function, which is an approximation function that approximately indicates the relationship between a spatial proximity value (e.g., distance) and a conditional probability of state propagation (assuming that two sensors 312 having a relationship indicated by the spatial proximity value (e.g., distance) exist, the conditional probability that when one sensor 312 is in a first predetermined state (e.g., a state corresponding to a failure event) between the two sensors 312, the other sensor will be in a second predetermined state (e.g., a state corresponding to a failure event)). For example, when a logistic function such as that exemplified later is used as the spatial approximation function, the logistic function (spatial approximation function) is defined by two spatial approximation function parameters. The temporal approximation function parameters are parameters that define the temporal approximation function, which is an approximation function that approximately indicates the relationship between a temporal proximity value (e.g., a synchronization score) and a conditional probability of state propagation (assuming that two sensors 312 having a relationship indicated by the temporal proximity value (e.g., a synchronization score) exist, the conditional probability that when one sensor 312 is in a first predetermined state (e.g., a state corresponding to a failure event) between the two sensors 312, the other sensor will be in a second predetermined state (e.g., a state corresponding to a failure event)). For example, when a logistic function such as that exemplified later is used as the temporal approximation function, the logistic function (temporal approximation function) is defined by two temporal approximation function parameters.
[0076] The approximation function determiner 2500 may use data points (spatial data points) with spatial proximity values (e.g., distances) and anomaly labels (indicating the presence or absence of state propagation) included in each record of the proximity measurement data 1300. The approximation function determiner 2500 may handle a log-likelihood function (spatial log-likelihood function) based on the spatial data points and the spatial approximation function. The approximation function determiner 2500 may determine spatial approximation function parameters so that the value of the spatial log-likelihood function is in a desired situation (e.g., maximum or local maximum). Similarly, the approximation function determiner 2500 may use data points (temporal data points) based on temporal proximity values (e.g., simultaneity scores) and anomaly labels (indicating the presence or absence of state propagation) included in each record of the proximity measurement data 1300. The approximation function determiner 2500 may handle a log-likelihood function (temporal log-likelihood function) based on the temporal data points and the temporal approximation function. The approximation function determiner 2500 may determine temporal approximation function parameters so that the value of the temporal log-likelihood function is in a desired situation (e.g., maximum or local maximum).
[0077] As described above, the approximation function determination unit 2500 can determine an approximation function for each domain so that the logarithmic likelihood indicating the degree to which the fact indicated by the record group included in the proximity measurement data 1300 will be realized becomes reasonable (for example, maximum or local maximum) when the approximation function for each domain is used as a premise for calculating the value of the logarithmic likelihood function. Therefore, the approximation function determination unit 2500 can determine a reasonable approximation function.
[0078] 4.1.1.9.Outline of Approximation Function Value Calculation Unit The approximate function value calculation unit 2600 calculates the value of the conditional probability of state propagation to be stored in the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500, based on the approximate function for each domain defined based on the approximate function parameters 525 determined by the approximate function determination unit 2500. The approximate function value calculation unit 2600 stores the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 in the knowledge database 373.
[0079] More specifically, the approximation function value calculation unit 2600 identifies a spatial proximity value (e.g., distance) that each record included in the spatial conditional probability data 1400 will have. For example, the identified spatial proximity value (e.g., distance) may be an equally spaced value such as 0, 10, 20, etc. The approximation function value calculation unit 2600 calculates a conditional probability of state propagation between sensors corresponding to each spatial proximity value (e.g., distance) based on each identified spatial proximity value (e.g., distance) and a spatial approximation function defined by the spatial approximation function parameters. The approximation function value calculation unit 2600 stores the records included in the spatial conditional probability data 1400 in the knowledge database 373 so that they have the calculated conditional probability value of state propagation. 14 shows an example of spatial conditional probability data 1400. The spatial conditional probability data 1400 has a plurality of records. Each record included in the spatial conditional probability data 1400 has a spatial proximity value (e.g., distance) and a conditional probability of state propagation between sensors. In the example of FIG. 14, the second record of the spatial conditional probability data 1400 indicates that the conditional probability of state propagation between sensors is 0.432 when the spatial proximity value (e.g., distance) is 10 (the unit of distance in FIG. 14 is centimeters).
[0080] Similarly, the approximation function value calculation unit 2600 identifies a temporal proximity value (e.g., simultaneity score) to be held by each record included in the temporal conditional probability data 1500. For example, the identified temporal proximity value (e.g., simultaneity score) may be an equally spaced value such as 0.0, 0.1, 0.2, etc. The approximation function value calculation unit 2600 calculates a conditional probability of state propagation between sensors corresponding to each temporal proximity value (e.g., simultaneity score) based on each identified temporal proximity value (e.g., simultaneity score) and a temporal approximation function defined by the temporal approximation function parameters. The approximation function value calculation unit 2600 stores the records included in the temporal conditional probability data 1500 in the knowledge database 373 so that they have the calculated conditional probability value of state propagation. 15 shows an example of temporal conditional probability data 1500. The temporal conditional probability data 1500 has a plurality of records. Each record included in the temporal conditional probability data 1500 has a temporal proximity value (e.g., a simultaneity score) and a conditional probability of state propagation between sensors. In the example of FIG. 15, the second record of the temporal conditional probability data 1500 indicates that when the temporal proximity value (eg, simultaneity score) is 0.1, the conditional probability of state propagation between sensors is 0.300.
[0081] As described above, the approximate function value calculation unit 2600 can generate the spatial conditional probability data 1400 and the temporal conditional probability data 1500 so as to roughly faithfully reflect the approximate function for each domain.
[0082] 4-1-1-10. Overview of the Conditional Probability Adjustment Unit As already explained, the approximation function determination unit 2500 and the approximation function value calculation unit 2600 use an approximation function technique to generate spatial conditional probability data 1400 and temporal conditional probability data 1500 that reflect the information indicated by each record included in the proximity measurement data 1300. The spatial conditional probability data 1400 and temporal conditional probability data 1500 generated using the approximation function technique can well represent the overall trend of the conditional probability of state propagation across the entire range of possible values for spatial proximity values (e.g., distance) and temporal proximity values (e.g., simultaneity scores).
[0083] Depending on the situation, it may be appropriate to adjust the conditional probability values of state propagation for each record included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500. For example, in the following situation: (1) A situation where, apart from the overall trend of the conditional probability of state propagation, there is a local tendency for the proportion of combinations of two sensors 312 that result in an anomaly (a situation in which a first predetermined state (e.g., a state corresponding to a failure event) in one sensor 312 is estimated to have propagated (been linked) to a second predetermined state (e.g., a state corresponding to a failure event) in the other sensor 312) to be particularly high when the spatial proximity value (e.g., distance) or the temporal proximity value (e.g., simultaneity score) is a specific value (a specific range of values) and where it is desirable to reflect this local tendency in the spatial conditional probability data 1400 or the temporal conditional probability data 1500. (2) A situation in which, after the spatial conditional probability data 1400 and the temporal conditional probability data 1500 have been created, records are added to the proximity measurement data 1300 even after the system 101 has transitioned from the learning phase to the operation phase. In this case, it is desirable to reflect the information of the added records in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 (without changing the approximation function).
[0084] To deal with the situation described above, the conditional probability data creation unit 127 may include a conditional probability adjustment unit 2700 that adjusts the value of the conditional probability of state propagation for each record included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500. The conditional probability adjuster 2700 may use data points (spatial data points) based on spatial proximity values (e.g., distances) and anomaly labels (indicating the presence or absence of state propagation) included in each record of the proximity measurement data 1300. The conditional probability adjuster 2700 may calculate adjustment weights (spatial adjustment weights) for each record included in the spatial conditional probability data 1400 based on each spatial data point. In this case, for example, the spatial adjustment weight for a record may be determined based on the proportion of spatial data points indicating anomalies in a set of spatial data points included in a range of spatial proximity values (e.g., distances) that includes the spatial proximity value (e.g., distance) of the record included in the spatial conditional probability data 1400. The conditional probability adjuster 2700 may use the spatial adjustment weights to adjust the conditional probability value of state propagation of each record included in the spatial conditional probability data 1400. Similarly, the conditional probability adjuster 2700 may use data points (temporal data points) based on the temporal proximity value (e.g., simultaneity score) and anomaly label (indicating the presence or absence of state propagation) included in each record of the proximity measurement data 1300. The conditional probability adjuster 2700 may calculate an adjustment weight (temporal adjustment weight) for each record included in the temporal conditional probability data 1500 based on each temporal data point. In this case, for example, the temporal adjustment weight for a record may be determined based on the proportion of temporal data points indicating an anomaly in a set of temporal data points included in a range of temporal proximity values (e.g., simultaneity scores) that includes the temporal proximity value (e.g., simultaneity score) of the record included in the temporal conditional probability data 1500. The conditional probability adjuster 2700 may use the temporal adjustment weight to adjust the conditional probability value of state propagation of each record included in the temporal conditional probability data 1500.
[0085] If the conditional probability adjustment unit 2700 is present in addition to the approximate function determination unit 2500 and the approximate function value calculation unit 2600, the spatial conditional probability data 1400 and the temporal conditional probability data 1500 can be made to reflect actual conditions, even if, for example, the approximate function is a relatively monotonic function (e.g., a logistic function) while the actual correspondence between each domain's proximity value and the conditional probability value of state propagation is complex.
[0086] As a variation of the system 101, the conditional probability data creation unit 127 may not have the approximate function determination unit 2500 and approximate function value calculation unit 2600, which are functional units related to approximate functions, but may instead have a functional unit that performs processing similar to that of the conditional probability adjustment unit 2700. A functional unit that performs processing similar to that of the conditional probability adjustment unit 2700 will directly create the spatial conditional probability data 1400 and the temporal conditional probability data 1500 without using the approximate function method. This variation will be described in detail later.
[0087] 4.1.1.11. Overview of the Bayesian network creation section The Bayesian network creation unit 2800 creates Bayesian network data 1600 using the proximity measurement data 1300, the spatial conditional probability data 1400, and the temporal conditional probability data 1500. When creating the Bayesian network data 1600, the Bayesian network creation unit 2800 may also use information other than the proximity measurement data 1300, the spatial conditional probability data 1400, and the temporal conditional probability data 1500 as appropriate.
[0088] 16 shows an example of Bayesian network data 1600. A general description of the Bayesian network data 1600 has already been given in conjunction with FIG. 1, so it will not be repeated here. In the example of Figure 16, the third record of the Bayesian network data 1600 indicates that when the sensor on the cause side (parent sensor) is sensor A and the state of sensor A is "high vibration," the conditional probability (specific state conditional probability) that sensor B, the sensor on the result side (child sensor), will be in a specific state (for example, a state corresponding to a failure event) is 0.80. 16, there are three states of the sensor (parent sensor) on the cause side, but one or two of these states may be determined to be "states corresponding to a failure event." Furthermore, when the possible states of the sensor 312 are classified into three or more types in the Bayesian network data 1600, the system 101 may use information other than the proximity measurement data 1300, the spatial conditional probability data 1400, and the temporal conditional probability data 1500. Furthermore, Figure 16 shows an example in which there are three types of states for the sensor on the cause side (parent sensor), but in a more simplified Bayesian network data 1600, the states of both the sensor on the cause side (parent sensor) and the sensor on the result side (child sensor) may be limited to two types: a "state corresponding to a failure event" and a "state not corresponding to a failure event."
[0089] The Bayesian network data 1600 indicates information on the conditional probability for each combination of two sensors 312 in the plurality of sensors 312 (sensor network 302). On the other hand, the spatial conditional probability data 1400 and the temporal conditional probability data 1500 do not indicate information on each combination of two sensors 312 in the plurality of sensors 312 (sensor network 302), but merely indicate the correspondence between the proximity values of each domain and the conditional probabilities. Therefore, when creating the Bayesian network data 1600, the Bayesian network creation unit 2800 uses, in addition to the spatial conditional probability data 1400 and the temporal conditional probability data 1500, the proximity measurement data 1300, which contains information on each combination of two sensors 312 in the plurality of sensors 312 (sensor network 302).
[0090] 4.2. Functional configuration during the operation phase As shown in FIG. 6, the system 101 may have, as functional units during the operation phase, an asset data collection unit 1800 (Asset Data Collection Unit), a failure detection unit 2300 (Failure Detection Unit), a non-proximal sensor pruning unit 2900 (Non-Proximal Sensors Pruning Unit), a root-cause estimation unit 3000 (Root-Cause Estimation Unit), and a Bayesian network updating unit 3100 (Bayesian Network Updating Unit).
[0091] As shown in FIG. 6, the system 101 may have time-series data 800, failure report data 900, proximity measurement data 1300, spatial conditional probability data 1400 (spatial conditional probability table data), temporal conditional probability data 1500 (temporal conditional probability table data), Bayesian network data 1600, and estimation data 1700 as data indicating information handled by any of the functional units during the operation phase. Of the above data, the estimation data 1700 may be included in the estimation database 375 (Estimation DataBase).
[0092] 4.2.1. Overview of Functional Sections during Operation Phase Below, an overview of the processing of each of the functional units shown in Fig. 6 will be shown. However, what has already been explained in conjunction with Fig. 1 or Fig. 5 may be omitted below.
[0093] 4.2.1.1.Outline of the cut-off part of the non-proximity sensor The non-proximity sensor cutoff unit 2900 plays a role in limiting the network portion (subset of sensors 312) handled by the root cause estimation unit 3000 from the Bayesian network (or sensor network 302) indicated by the Bayesian network data 1600. 1, the root cause estimation unit 3000 generates the estimation data 1700 based on the identification information 123 of the sensor 312 corresponding to the failure event and the Bayesian network data 1600. In other words, in accordance with FIG. 6, the root cause estimation unit 3000 can generate the estimation data 1700 based on the identification information of the sensor 312 corresponding to the failure event notified by the failure detection unit 2300 and the Bayesian network data 1600. In other words, even if the non-proximity sensor cutoff unit 2900 does not exist and the root cause estimation unit 3000 handles the entire Bayesian network indicated by the Bayesian network data 1600 (or the entire sensor network 302), the root cause estimation unit 3000 can generate the estimation data 1700. However, when the root cause estimation unit 3000 handles the entire Bayesian network (or the entire sensor network 302) indicated by the Bayesian network data 1600, there is a risk that the amount of calculation and data volume of the processing performed by the root cause estimation unit 3000 will become excessive. Furthermore, as the amount of calculation and data volume increases, there is a risk that calculation errors due to noise that may be contained in the data being handled will also increase. Therefore, the non-proximity sensor cutoff unit 2900 identifies sensors 312 that are unlikely to correspond to the root cause (e.g., component 311) of the failure event detected by the failure detection unit 2300, and performs processing to exclude the identified sensors 312 from the Bayesian network (or sensor network 302) handled by the root cause estimation unit 3000. By performing the processing by the non-proximity sensor cutoff unit 2900, the speed and accuracy of the processing in the root cause estimation unit 3000 can be improved.
[0094] In accordance with Figure 6, the non-proximity sensor cutoff unit 2900 performs processing to identify sensors 312 to be excluded from candidate sensors 312 corresponding to what is estimated to be the root cause of the failure event (sensors 312 handled by the root cause estimation unit 3000) based on the proximity measurement data 1300, the identification information of the sensor 312 corresponding to the failure event identified by the failure detection unit 2300, and the timestamp corresponding to the failure event. As will be explained in detail later, the sensors 312 excluded from the candidate sensors 312 corresponding to what is presumed to be the root cause of the failure event (the sensors 312 handled by the root cause estimation unit 3000) may be, for example, sensors 312 that are determined to be "non-neighboring" to the sensor 312 corresponding to the failure event, or sensors 312 that are determined to be "non-proximal" to the sensor 312 corresponding to the failure event. When determining that each of the sensors 312 is "non-neighboring" or "non-proximal" to the sensor 312 corresponding to the failure event, the non-proximity sensor discarding unit 2900 may use the proximity value for each domain held by each record included in the proximity measurement data 1300. The non-proximity sensor discarding unit 2900 may also use information other than the proximity measurement data 1300.
[0095] 4.2.1.2. Overview of the root cause estimation section The outline of the process performed by the root cause estimation unit 3000 has already been explained in conjunction with FIG. 6 , in other words, including the relationship with the non-proximity sensor cut-off unit 2900, the root cause estimation unit 3000 removes the sensors 312 to be removed, determined by the non-proximity sensor cut-off unit 2900, from the Bayesian network indicated by the Bayesian network data 1600. The root cause estimation unit 3000 then sets the probability score of the sensor 312 corresponding to the failure event to 1, and executes a belief propagation algorithm on the Bayesian network that has undergone the removal process to determine the probability score for each sensor 312. The root cause estimation unit 3000 creates records included in the estimation data 1700 for each sensor 312 whose probability score satisfies a predetermined condition. 17 shows an example of inference data 1700. The inference data 1700 includes one or more records. Each record included in the inference data 1700 includes specific information on a candidate sensor 312 (cause sensor, parent sensor) corresponding to what is inferred to be the root cause of the failure event (e.g., component 311) and a conditional probability (root cause conditional probability) value associated with the candidate sensor. Furthermore, each record included in the inference data 1700 may have a rank indicating the likelihood that the record represents the root cause of the failure event. In the example of Figure 17, (for example, assuming that the specific information 123 of the sensor 312 corresponding to the failure event indicates sensor C), the first record of the estimated data 1700 indicates that the sensor 312 (the sensor on the cause side, the parent sensor) corresponding to what is estimated to be the root cause of the failure event (for example, component 311) is sensor A, the conditional probability associated with sensor A is 0.60, and the ranking (rank) of the record is 1.
[0096] 4.2.1.3. Overview of Bayesian network update part As described above, the root cause estimation unit 3000 identifies the sensor 312 (causal sensor, parent sensor) corresponding to what is estimated to be the root cause of a failure event (e.g., component 311) based on the Bayesian network data 1600, and stores the estimation data 1700 including identification information of the identified sensor 312 in the estimation database 375. Meanwhile, as shown in Fig. 9 , records included in the failure report data 900 stored in the asset database 371 may include information regarding the root causes of failure events that have been reported in the past. Here, for failure events of similar content, the identification information of the sensor 312 corresponding to what is (estimated to be) the root cause of the failure event (e.g., component 311) may differ between the record included in the failure report data 900 and the record included in the estimation data 1700 (e.g., a record with a rank of 1 (the highest rank)). In this case, if the information held by the record included in the failure report data 900 is correct, it means that the information held by the record included in the estimation data 1700 is inaccurate. One of the factors that is thought to cause the information held by the record included in the estimation data 1700 to be inaccurate is that the value of the conditional probability between sensors held by each of the records included in the Bayesian network data 1600 is inaccurate.
[0097] Taking the above into consideration, when the specific information of the sensor 312 corresponding to the (estimated) root cause of a failure event of similar nature (e.g., component 311) differs between the record included in the failure report data 900 and the record included in the estimation data 1700 (e.g., a record with a rank of 1 (the highest rank)), the Bayesian network update unit 3100 may update the value of the conditional probability between the sensors held by each of the records included in the Bayesian network data 1600. To achieve the above, the Bayesian network update unit 3100 first searches the failure report data 900 for information indicating a fact about the sensor 312 corresponding to the root cause of a failure event similar to the failure event (handled by the root cause estimation unit 3000). If the information indicating the fact is present, the Bayesian network update unit 3100 then compares the identification information of the sensor 312 corresponding to the root cause indicated by the fact with the identification information of a candidate sensor 312 corresponding to the estimated root cause of the failure event, which is included in the records included in the estimation data 1700 and whose conditional probability satisfies a predetermined condition (for example, the conditional probability is the highest relative value among the records). If the result of the comparison indicates a discrepancy (a discrepancy between the fact and the estimation), the Bayesian network update unit 3100 updates the conditional probability values between sensors included in each record included in the Bayesian network data 1600 using a residual indicating the discrepancy between the fact and the estimation. The Bayesian network update unit 3100 reflects the updated value of the conditional probability in the Bayesian network data 1600 in the Bayesian network database 374 . In addition, the Bayesian network update unit 3100 may also update other information (e.g., the threshold used in the non-proximity sensor cutoff unit 2900, the spatial conditional probability data 1400, and the temporal conditional probability data 1500) to eliminate the residual error described above.
[0098] By performing the above processing by the Bayesian network update unit 3100, the Bayesian network data 1600 and the like can be made to have more appropriate content.
[0099] 5. Processing performed by the embodiment of the present disclosure The following describes the processing performed by an embodiment of the present disclosure (system 101). Note that it is not necessary to realize all of the functional configurations and perform all of the processing described below. Furthermore, it is not prohibited to realize functional configurations and perform processing other than the functional configurations and processing described below. Furthermore, the steps of the processes described below may be combined to form a method executed by a system (information processing device or information processing system). It should be noted that what has already been explained with reference to FIGS. 1 to 17 may be omitted below.
[0100] 5-1. Asset Data Collection Unit Processing (Figure 18) Fig. 18 shows a flowchart of the processing of the asset data collection unit 1800 (Asset Data Collection). The following will be described in the order of the processing shown in Fig. 18. Note that each of the processing steps in the flowchart of Fig. 18 may be considered to form an "asset data collection step." Note that steps 1801, 1802, and 1803 in FIG. 18, which will be described below, may be executed in parallel with one another. The functions described below are realized so that information indicating situations that change from moment to moment can be collected in multiple sensors 312 (sensor network 302), and the collected information can be used by the system 101.
[0101] In step 1801 of FIG. 18, the asset data collection unit 1800 periodically collects and acquires the position information and coordinate information for each sensor 312 from the plurality of sensors 312 (sensor network 302). In step 1802 of Fig. 18, the asset data collection unit 1800 periodically collects and acquires sensor values provided from each of the sensors 312 in the multiple sensors 312 (sensor network 302). Since the sensor values are collected periodically, it may be understood that "time-series information of sensor values" is collected for each sensor 312. Note that the period in which step 1801 is executed and the period in which step 1802 is executed may be the same or different. In the examples of Figs. 7 and 8, step 1801 is executed every 24 hours, and step 1802 is executed every hour. In step 1803 of FIG. 18 , the asset data collection unit 1800 collects and acquires report information related to each failure event in a timely manner. The collected report information may include one or more of the following: identification information of the sensor 312 corresponding to the failure event, information about the cause of the failure, information about the effect of the failure, and identification information of the sensor 312 corresponding to the root cause of the failure event, such as the information included in the record shown in FIG. 9 . The report information may be information obtained based on a Failure Mode and Effects Analysis (FMEA), or may be information provided to the system 101 by a manager or user of the equipment 301 on an individual basis. The report information may be in an itemized format like the record shown in FIG. 9 , or in a format such as a sentence written in natural language. 18, the asset data collection unit 1800 stores the information (data) collected and acquired in steps 1801, 1802, and 1803 in the asset database 371. Specifically, after step 1801, the asset data collection unit 1800 stores, for each sensor 312, a timestamp indicating the time information when the position information and coordinate information was collected, identification information of the sensor 312, and the position information and coordinate information of the sensor 312 as a record of geometric data 700 such as shown in Fig. 7 in the asset database 371. After step 1802, the asset data collection unit 1800 stores, for each timestamp indicating the time information when the sensor value was collected, the timestamp and information based on the sensor value for each sensor 312 (which may be the sensor value itself) as a record of time-series data 800 such as shown in Fig. 8 in the asset database 371. After step 1803, the asset data collector 1800 attaches a timestamp to the collected report information, and stores the report information in the asset database 371 as a record of the failure report data 900.
[0102] 5-2. Spatial Proximity Calculation Processing (Figure 19) Fig. 19 shows a flowchart of the processing of the spatial proximity calculation unit 1900. The processing will be described below in the order shown in Fig. 19. Note that each of the processing steps in the flowchart of Fig. 19 may be considered to form a "spatial proximity calculation step." The function described below is realized, and a spatial proximity value (for example, distance) that is one of the relationships between the sensors 312 included in the plurality of sensors 312 (sensor network 302) is calculated. In addition, even if the spatial proximity value (e.g., distance) changes in response to the ever-changing situation in the multiple sensors 312 (sensor network 302), the change can be grasped. Furthermore, even if there is noise or the like in the information acquired as the position information and coordinate information for each sensor 312, the noise or the like is appropriately processed so that subsequent processing is not hindered.
[0103] In step 1901 of Figure 19, the spatial proximity calculation unit 1900 determines whether it is time to update the information stored in the measurement database 372. More specifically, the spatial proximity calculation unit 1900 determines whether it is time to update the spatial proximity data 1000 in the measurement database 372. The update timing may be based on a predetermined time interval or may be determined by some other criteria. If the determination result of step 1901 is positive, control transitions to step 1902. If the determination result of step 1901 is negative, step 1901 is repeated. 19, the spatial proximity calculation unit 1900 acquires a record that has not yet been acquired from the geometric data 700 stored in the asset database 371. As shown in FIG. 7, the acquired record of the geometric data 700 has position information and coordinate information for each sensor 312 for one timestamp.
[0104] In step 1903 of FIG. 19, the spatial proximity calculation unit 1900 removes noise and the like from the position information and coordinate information for each sensor 312 acquired in step 1902. The sensors 312 included in the multiple sensors 312 (sensor network 302) are not necessarily located on a regular grid. Rather, the sensors 312 are assumed to be irregularly scattered in space. The location information and coordinate information for each sensor 312 provided by such a collection of sensors 312 may be referred to as cloud-like point cloud data. Various technologies, such as scanning technologies (e.g., LiDAR, depth camera, photometry), mapping technologies (e.g., GPS, triangulation), and technologies utilizing design specification information (e.g., blueprints), may be used to collect the location information and coordinate information for each sensor 312 from such a collection of sensors 312. However, when collecting the location information and coordinate information for each sensor 312 to form cloud-like point cloud data, the raw location information and coordinate information may be less accurate. For example, raw location and coordinate information may have low measurement accuracy, may be corrupted (become an error value), or may contain noise. Therefore, in step 1903, the spatial proximity calculation unit 1900 applies various filtering methods to the raw position information and coordinate information to remove noise and the like from the position information and coordinate information. Any filtering method may be used, and examples include a statistical method, a method using a trained noise detection and correction model, and a method using design specification information.
[0105] In order to efficiently manage the position information and coordinate information for each sensor 312, the spatial proximity calculation unit 1900 assigns each of the sensors 312 to one of the spatial segments in step 1904 of Fig. 19. Here, the spatial segments may be formed based on octree-based segmentation.
[0106] 19, the spatial proximity calculation unit 1900 identifies a group of components 311 included in the facility 301. The spatial proximity calculation unit 1900 also associates the components 311 with the sensors 312. Since the sensor values provided from the multiple sensors 312 (sensor network 302) are originally intended to grasp the status of the components 311 included in the facility 301, the association of the components 311 with the sensors 312 is useful. Normally, the association between the component 311 and the sensor 312 rarely changes significantly over time, and therefore the process corresponding to step 1905 may be executed only once at the start-up of the system 101. However, if there is a possibility that the physical deformation or the like in the facility 301 is large, the process of step 1905 may be executed each time the spatial proximity calculation unit 1900 executes the process shown in the flowchart of FIG. Examples of components 311 include any physical structure such as a machine, a device, a physical module, a physical pipeline, a valve, a switch, a connector, a structure, etc. Examples of sensors 312 include any type of sensor such as a temperature sensor, a pressure sensor, a flow meter, a vibration sensor, an accelerometer, a strain gauge, etc.
[0107] 19, the spatial proximity calculation unit 1900 calculates a spatial proximity value for each combination of two sensors 312. The spatial proximity calculation unit 1900 may calculate, for example, the Euclidian distance between the two sensors 312 as the spatial proximity value. The spatial proximity calculation unit 1900 may calculate spatial proximity values for all combinations of the sensors 312 included in the multiple sensors 312 (sensor network 302) as combinations of two sensors 312. However, when the total number of sensors 312 included in the sensor network 302 is N, the total number of combinations of two sensors 312 is N*(N-1) / 2, which is on the order of the square of N. Therefore, there may be cases where it is not realistic to calculate spatial proximity values for all combinations. Therefore, the spatial proximity calculation unit 1900 may use the result of segmenting the sensors 312 performed in step 1904 to calculate spatial proximity values for only limited combinations of two sensors 312 (for example, combinations in which a relationship between the sensors 312 may exist).
[0108] In step 1907 of Figure 19, the spatial proximity calculation unit 1900 stores information including the spatial proximity value calculated in step 1906 in a record of the spatial proximity data 1000 as shown in Figure 10. After step 1907, control is returned to step 1901.
[0109] 5-3. Processing of the temporal proximity calculation unit (Figure 20) Fig. 20 shows a flowchart of the processing of the temporal proximity calculation unit 2000. The processing will be described below in the order shown in Fig. 20. Note that each of the processing steps in the flowchart of Fig. 20 may be considered to form a "temporal proximity calculation step." Since the function described below is realized, a simultaneity score, which is an index indicating the similarity between the time-series information of the sensor values for each combination of two sensors 312, is calculated as a temporal proximity value for the time-series information of the sensor values provided by each of the sensors 312. By calculating an index that takes into account the similarity of the patterns of time development in the time-series information and by calculating an index that is less affected by the time difference between the time-series information, it is possible to calculate an index with greater versatility and robustness. In addition, even if the temporal proximity value (e.g., simultaneity score) changes in response to the constantly changing situation in the multiple sensors 312 (sensor network 302), the change can be grasped. Furthermore, even if there is noise or the like in the time-series information of the sensor values, the noise or the like is appropriately processed so that subsequent processing is not hindered.
[0110] In step 2001 of Fig. 20, the temporal proximity calculation unit 2000 determines whether it is time to update the information stored in the measurement database 372. More specifically, the temporal proximity calculation unit 2000 determines whether it is time to update the temporal proximity data 1100 in the measurement database 372. The update timing may be based on a predetermined time interval or may be determined by some other criteria. If the determination result in step 2001 is positive, control transitions to step 2002. If the determination result in step 2001 is negative, step 2001 is repeated. 20, the temporal proximity calculation unit 2000 acquires a group of records for which a current temporal proximity value (e.g., a simultaneity score) is to be calculated from the time-series data 800 stored in the asset database 371. As shown in Fig. 8, the acquired records of the time-series data 800 contain information on the sensor value for each sensor 312 for one timestamp. In other words, by acquiring a group of records of the time-series data 800, time-series information on the sensor value for each sensor 312 is acquired.
[0111] In step 2003 of FIG. 20, the temporal proximity calculation unit 2000 performs cleaning and imputation processing on the time-series information of the sensor values provided by each of the sensors 312 as needed. It is rare that raw sensor values provided by each of the sensors 312 are always perfectly accurate, and the sensor value of a certain sensor 312 at a certain timestamp may be a missing value or a corrupted value, or may be an inconsistent value that clearly does not match the sensor values of other sensors 312. Furthermore, depending on the type of sensor 312 and the environment in which the sensor 312 is placed, the sensor values provided by the sensor 312 may contain noise that is difficult to ignore. Therefore, in step 2003, the temporal proximity calculation unit 2000 may, if necessary, perform processing such as cleaning or replacement on the time series information of the sensor values provided by each of the sensors 312 to convert the time series information of the sensor values into time series information that will not cause any problems in subsequent processing. Examples of techniques that may be used for the cleaning and replacement processes include smoothing and filtering techniques (e.g., moving average, exponential smoothing, Kalman filter), and interpolation and extrapolation techniques (e.g., linear interpolation, spline interpolation, and interpolation and extrapolation using machine-learned interpolation and extrapolation models).
[0112] 20, the temporal proximity calculation unit 2000 may perform learning of a temporal pattern using each piece of time-series information of the sensor values as necessary. Then, the temporal proximity calculation unit 2000 may obtain a temporal sequence for the time-series information of the sensor values for each of the sensors 312 based on a temporal pattern detection model obtained as a result of the learning. The temporal proximity calculation unit 2000 may use, for example, a hierarchical temporal memory (HTM) model as the temporal pattern detection model.
[0113] 20, the temporal proximity calculation unit 2000 may, if necessary, encode the time series information of the sensor values or the time sequence corresponding to each of the sensor values obtained in step 2004. By encoding, the time series information or the time sequence of the sensor values may be put into a format that is easy to handle for subsequent processing. The temporal proximity calculation unit 2000 may use, for example, encoding techniques such as discretization / quantization, normalization / standardization, feature extraction or selection, dimensionality reduction / dimensionality compression, one-hot encoding, ordinal encoding, bag-of-words, and N-gram.
[0114] In step 2006 of FIG. 20 , the temporal proximity calculation unit 2000 performs a similarity comparison between the time series information of the sensor values or the time sequences corresponding to each of the sensors 312 for each combination of two sensors 312. The temporal proximity calculation unit 2000 may use any method for similarity comparison, for example, Dynamic Time Warping (DTW). According to the Dynamic Time Warping method, even in cases where two pieces of time-series information (temporal sequences) have different period lengths or phase shifts but are similar in terms of time evolution patterns, the temporal proximity calculation unit 2000 can calculate an appropriate similarity. The temporal proximity calculation section 2000 may determine the temporal proximity value based on an index (simultaneity score) relating to the similarity obtained as a result of the similarity comparison.
[0115] In step 2007 of Fig. 20, the temporal proximity calculation unit 2000 stores information including the temporal proximity value calculated in step 2006 in a record of the temporal proximity data 1100 as shown in Fig. 11. After step 2007, control is returned to step 2001.
[0116] 5-4. Causal Proximity Calculation Processing (Figure 21) Fig. 21 shows a flowchart of the processing of the causal proximity calculation unit 2100. The processing will be described below in the order shown in Fig. 21. Note that each of the processing steps in the flowchart of Fig. 21 may be considered to form a "causal proximity calculation step." The functions described below are realized, and a combination of sensors 312 (a combination of a cause-side sensor 312 (parent sensor) and a result-side sensor 312 (child sensor)) for which a causal relationship is estimated to exist in relation to a failure event is identified based on the failure report data 900. Furthermore, for the combination estimated above, a causal proximity value (e.g., a p-value in a Granger Causality Test) indicating the degree of influence (the strength of the causal relationship) of the time-series information of the sensor values provided by the result-side sensor 312 (child sensor) from the time-series information of the sensor values provided by the cause-side sensor 312 (parent sensor) is calculated based on the time-series data 800. In this way, the causal proximity value between the sensors 312 is calculated based on the time-series data 800, while effectively utilizing report information such as information obtained based on a Failure Mode and Effects Analysis (FMEA) and information provided to the system 101 by the manager or user of the facility 301 on each occasion.
[0117] In step 2101 of FIG. 21 , the causal proximity calculation unit 2100 determines whether it is time to update the information stored in the measurement database 372. More specifically, the causal proximity calculation unit 2100 determines whether it is time to update the causal proximity data 1200 in the measurement database 372. The update timing may be based on a predetermined time interval or may be determined by some other criteria. If the determination result of step 2101 is positive, control transitions to step 2102 and step 2103. (Step 2102 and step 2103 may be executed simultaneously in parallel or sequentially.) If the determination result of step 2101 is negative, step 2101 is repeated. In step 2102 of FIG. 21, the causal proximity calculation unit 2100 acquires a group of records from the time-series data 800 stored in the asset database 371, for which a current causal proximity value (e.g., a p-value in a Granger causality test) is to be calculated. As shown in FIG. 8, the acquired records of the time-series data 800 contain information on the sensor values for each sensor 312 for one timestamp. In other words, acquiring a group of records of the time-series data 800 results in acquiring time-series information on the sensor values for each sensor 312. Completion of step 2102 is one of the necessary conditions for executing step 2108, which will be described later. (Note that another necessary condition is that the processing of the group of steps to be executed out of steps 2103 to 2107 related to the failure report data 900 is completed.) 21, the causal proximity calculation unit 2100 acquires a group of records to be used in calculating the current causal proximity value from the failure report data 900 stored in the asset database 371. As shown in FIG. 9, a record of the failure report data 900 includes multiple pieces of information: a timestamp, identification information of the sensor 312 corresponding to the failure event, information indicating the failure mode, information on the cause of the failure, information on the effect of the failure, and information on the root cause of the failure event. Note that the record of the failure report data 900 is not limited to the itemized format shown in FIG. 9, and may be in the form of a sentence in natural language, for example. After step 2103, control transitions to step 2104.
[0118] 21, the causal proximity calculation unit 2100 analyzes the record group of the acquired failure report data 900. As a result of the analysis, the causal proximity calculation unit 2100 extracts information such as identification information of the sensor 312 that directly corresponds to the failure event, the failure mode, information on the cause of the failure event (identification information of the sensor 312 corresponding to the cause), information on the effect brought about by the failure event (propagated (linked) failure events, etc.) (identification information of the sensor 312 corresponding to the effect), etc. 9, the causal proximity calculation unit 2100 may extract information from appropriate items in the record. If the record of the failure report data 900 is in the form of a sentence in natural language, the causal proximity calculation unit 2100 may extract information from the sentence using a natural language analysis method. When extracting information from the sentence, if the sentence directly mentions a component 311, a process may be performed to reinterpret the reference to the sensor 312 corresponding to the component 311. 21 , the causal proximity calculation unit 2100 identifies the sensors 312 (or components 311) involved in each past failure event based on the information extracted in step 2104. For example, for each past failure event, the causal proximity calculation unit 2100 may identify the sensors 312 that directly correspond to the past failure event, the sensors 312 that correspond to the sensors that are considered to be the cause of the past failure event, and the sensors 312 that correspond to the sensors that are affected by the effect of the past failure event. When listing the identified sensors 312, the causal proximity calculation unit 2100 may group (categorize) the sensors 312 based on some attribute of each of the listed sensors 312.
[0119] 21, the causal proximity calculation unit 2100 mines association rules, primarily for association between the sensors 312, when a failure event occurs, based on the information extracted in step 2104 and the specific information of the sensors 312 (or components 311) identified and listed in step 2105. In step 2106, association rules are primarily obtained for the relationships between the sensors 312, but association rules may also be obtained for the relationships between the failure modes of the sensors 312. In step 2107 of FIG. 21 , the causal proximity calculation unit 2100 generates causal rules for the failure event based on some or all of the information extracted in step 2104, the identification information of the sensors 312 (or components 311) identified and listed in step 2105, and the association rules mined in step 2106. The causal rules for the failure event include information on a combination of sensors 312 for which the existence of a causal relationship is estimated in relation to the failure event (a combination of a sensor 312 (parent sensor) on the cause side and a sensor 312 (child sensor) on the result side). The causal rules for the failure event may also include information on a chain of causal relationships between three or more sensors 312. Note that steps 2106 and 2107 may be executed together without being distinguished.
[0120] In step 2108 of FIG. 21, the causal proximity calculation unit 2100 calculates a causal proximity value indicating the degree of influence (degree of strength of causal relationship) on the time series information of sensor values provided by the sensor 312 (child sensor) on the result side from the time series information of sensor values provided by the sensor 312 (parent sensor) on the cause side for each combination (permutation of two sensors 312) of the sensor 312 (parent sensor) on the cause side and the sensor 312 (child sensor) on the result side. The combination (permutation of two sensors 312) of the sensor 312 (parent sensor) on the cause side and the sensor 312 (child sensor) on the result side that is the subject of calculation in step 2108 may be a combination of sensors 312 (combination of the sensor 312 (parent sensor) on the cause side and the sensor 312 (child sensor) on the result side) for which the existence of a causal relationship is presumed, as indicated by the law of causality for the failure event generated in step 2107. Furthermore, the subjects of calculation in step 2108 may also include any permutation of two sensors 312 that is not directly indicated by the law of causality. In step 2108, a Granger Causality Test may be used as a method for calculating a causal proximity value indicating the degree of influence between the time-series information of sensor values (the strength of the causal relationship). In this case, the causal proximity calculation unit 2100 performs a hypothesis test on the null hypothesis that there is no causal relationship between the time-series information of sensor values provided by the cause-side sensor 312 (parent sensor) and the time-series information of sensor values provided by the result-side sensor 312 (child sensor), and calculates a p-value (a value indicating the probability that a presented fact will occur given the null hypothesis). The closer the p-value is to zero, the stronger the causal relationship. Generally, if the p-value is less than 0.05, the null hypothesis is rejected (the existence of a certain causal relationship is inferred). The causal proximity calculation unit 2100 may use information based on the p-value as the causal proximity value.
[0121] In step 2109 of Figure 21, the causal proximity calculation unit 2100 stores information including the causal proximity value calculated in step 2108 in a record of the causal proximity data 1200 as shown in Figure 12. After step 2109, control is returned to step 2101.
[0122] 5.5. Processing of Proximity Aggregates (Figure 22) Fig. 22 shows a flowchart of the processing of the proximity aggregation unit 2200. The following description will be given in the order of the processing shown in Fig. 22. Note that each of the processing steps in the flowchart of Fig. 22 may be interpreted as forming a "proximity aggregation step." Also, each of the processing steps in the flowcharts of Figs. 19, 20, 21, and 22 may be interpreted as forming a "proximity measurement data generation step." The functionality described below allows for the provision of a highly visible record or database that aggregates proximity values for each domain corresponding to a timestamp and a combination of two sensors 312.
[0123] In step 2201 of Fig. 22, the proximity aggregation unit 2200 determines whether it is time to update the information in the proximity measurement data 1300. The timing of the update may be based on a predetermined time interval or may be determined by some other criteria. If the determination result of step 2201 is positive, control transitions to step 2202. If the determination result of step 2201 is negative, step 2201 is repeated. In step 2202 of FIG. 22, the proximity aggregation unit 2200 obtains a group of records corresponding to the information to be added to the proximity measurement data 1300 this time from each of the spatial proximity data 1000, temporal proximity data 1100, and causal proximity data 1200 stored in the measurement database 372. 10, 11, and 12, in the spatial proximity data 1000, the temporal proximity data 1100, and the causal proximity data 1200, each record includes a timestamp and specific information of the two sensors 312. Therefore, the proximity aggregation unit 2200 may specify a timestamp value or a combination (or permutation) of a timestamp value and two sensors 312 to retrieve a group of records that meet the specified conditions from one or more of the spatial proximity data 1000, the temporal proximity data 1100, and the causal proximity data 1200.
[0124] 22, the proximity aggregation unit 2200 extracts records having the same (or similar) timestamp values and specific information of the two sensors 312 from the record group acquired in step 2202, and generates a record(s) to be stored in the proximity measurement data 1300 by combining (merging) the information contained in the extracted records. The record(s) generated here may be as shown as a record in FIG. 13. However, at this point, the value of the anomaly label in the generated record(s) is set to the initial value (a value that does not indicate an anomaly).
[0125] 22, the proximity aggregation unit 2200 stores the record(s) generated in step 2203 in the knowledge database 373 as record(s) to be added to the proximity measurement data 1300. After step 2204, control is returned to step 2201.
[0126] 5-6. Processing of the fault detection unit (Fig. 23) Fig. 23 shows a flowchart of the processing of the failure detection unit 2300. The processing will be described below in the order shown in Fig. 23. Note that each of the processing steps in the flowchart of Fig. 23 may be considered to form a "failure detection step." Because the functions described below are realized, in both the learning phase and the operation phase, when (time-series information of) sensor values provided from sensor 312 satisfy predetermined conditions, sensor 312 can be determined to be in a state corresponding to a fault event. Then, upon detection of a fault event, information related to the fault event (for example, identification information of sensor 312 that has entered a state corresponding to the fault event, a timestamp corresponding to the fault event) is notified to anomaly detection unit 2400 or non-proximity sensor cutoff unit 2900 as necessary, and subsequent processing can be performed.
[0127] 23, the fault detection unit 2300 determines whether it is time to check the time-series data 800. The timing of the update may be based on a predetermined time interval or may be determined based on some other criteria. If the determination result of step 2301 is positive, control transitions to step 2302. If the determination result of step 2301 is negative, step 2301 is repeated. 23, the fault detection unit 2300 acquires a group of records to be checked for the presence or absence of a current fault event from the time-series data 800 stored in the asset database 371. As shown in Fig. 8, a record of the time-series data 800 has information on the sensor value for each sensor 312 for one timestamp. In other words, by acquiring a group of records of the time-series data 800, time-series information on the sensor value for each sensor 312 is acquired. Furthermore, when executing an operation phase, etc., if it is desired to check the time series information of the sensor values provided by each of the sensors 312 as early as possible, the time series information of the sensor values may be passed from the asset data collection unit 1800 to the fault detection unit 2300, bypassing the asset database 371.
[0128] In step 2303 of FIG. 23 , the fault detection unit 2300 determines whether any of the sensors 312 is in a state corresponding to a fault event, based on the time-series information of the sensor values for each sensor 312 acquired in step 2302. The method for determining whether a fault event exists has already been explained in the section "4.1.1.6. Overview of the Fault Detection Unit," and therefore will not be described here. When a fault event is detected, the fault detection unit 2300 may generate information related to the fault event. The information related to the fault event may include, for example, identification information of the sensor 312 that has entered a state corresponding to the fault event and a timestamp corresponding to the fault event. Furthermore, the information related to the fault event may include various types of information, such as information on the failure mode (fault type) and information on the severity of the fault event. 23, the fault detection unit 2300 branches the control depending on the determination result in step 2303. Specifically, if the determination result in step 2303 indicates that one or more sensors 312 are in a state corresponding to a fault event, the control transitions to step 2305. If the determination result in step 2303 indicates that none of the sensors 312 are in a state corresponding to a fault event, the control returns to step 2301.
[0129] 23, the fault detection unit 2300 determines the phase of the process currently being executed in the system 101. If the determination result in step 2305 indicates that the system 101 is executing the learning phase, control transitions to step 2306. If the determination result in step 2305 indicates that the system 101 is executing the operation phase, control transitions to step 2307. Furthermore, even when the system 101 is executing the operation phase, if the contents of the spatial conditional probability data 1400, the temporal conditional probability data 1500, or the Bayesian network data 1600 are updated using the same method as in the learning phase, the processing of step 2306 may also be executed in addition to the processing of step 2307. 23, the failure detection unit 2300 requests the anomaly detection unit 2400 to perform processing (to perform the processing shown in FIG. 24) in relation to the sensor 312 determined to be in a state corresponding to a failure event in step 2303. At this time, the failure detection unit 2300 may notify the anomaly detection unit 2400 of some or all of the information related to the failure event (for example, specific information about the sensor 312 that has entered a state corresponding to the failure event, and a timestamp corresponding to the failure event). 23, the failure detection unit 2300 requests the non-proximity sensor cutoff unit 2900 to perform processing (to perform the processing shown in FIG. 29) in relation to the sensor 312 determined to be in a state corresponding to a failure event in step 2303. At this time, the failure detection unit 2300 may notify the non-proximity sensor cutoff unit 2900 of some or all of the information related to the failure event (for example, specific information about the sensor 312 that has entered a state corresponding to the failure event, and a timestamp corresponding to the failure event). When all of the steps to be executed out of step 2306 and step 2307 are completed, control is returned to step 2301.
[0130] 5-7. Processing of the abnormality detection unit (Figure 24) Fig. 24 shows a flowchart of the processing of the anomaly detection unit 2400. The processing will be described below in the order shown in Fig. 24. Note that each of the processing steps in the flowchart of Fig. 24 may be considered to form an "anomaly detection step." The function described below is realized, so that in response to a notification from the fault detection unit 2300 that a certain sensor 312 has entered a state corresponding to a fault event at a certain timestamp, the anomaly label of a record in the proximity measurement data 1300 that has been identified as corresponding to an anomaly is set to a value indicating an anomaly. Each record in the proximity measurement data 1300 that has an anomaly label becomes information for creating the spatial conditional probability data 1400 and the temporal conditional probability data 1500.
[0131] In step 2401 of FIG. 24, the anomaly detection unit 2400 determines whether or not it has received a notification from the failure detection unit 2300 that a failure event has been detected. If the determination result in step 2401 is affirmative, control transitions to step 2402. If the determination result in step 2401 is negative, step 2401 is repeated. If a failure event is detected, the failure detection unit 2300 may directly notify the anomaly detection unit 2400 of some or all of the information about the failure event (e.g., specific information about the sensor 312 that has entered a state corresponding to the failure event, and a timestamp corresponding to the failure event). Alternatively, if a failure event is detected, the failure detection unit 2300 may store some or all of the information about the failure event in some kind of recording medium or storage medium, and the anomaly detection unit 2400 may then read some or all of the information about the failure event from the recording medium or storage medium.
[0132] In step 2402 of FIG. 24, the anomaly detection unit 2400 identifies records from the group of records included in the proximity measurement data 1300 that should be treated as containing an anomaly in relation to the fault event that was determined to have been notified in step 2401. The method for identifying records that should be treated as having an anomaly has already been explained in the section "4.1.1.7. Overview of the Anomaly Detection Unit." To add a bit more detail, "4.1.1.7. Overview of the Anomaly Detection Unit" lists conditions (1) to (4), and the following are examples of applying conditions (1) to (3). (1) When the sensor 312 that has entered a state corresponding to a failure event is “Sensor A” and the timestamp corresponding to the failure event is a time included in “April 1, 2024,” all records in the proximity measurement data 1300 that include “Sensor A” as the identifying information of the sensor 312 (the identifying information of the other sensor 312 is not important) and that meet the condition that the timestamp is “April 1, 2024” are deemed to be records corresponding to the abnormality. (2) When the sensor 312 that has entered a state corresponding to a failure event is “Sensor A” and the timestamp corresponding to the failure event is a time included in “April 1, 2024,” all records that satisfy the conditions that the specific information of the sensor 312 in the proximity measurement data 1300 includes “Sensor A” (the specific information of the other sensor 312 is not required) and the timestamp is “April 1, 2024,” and further, one or more of the spatial proximity value (e.g., distance), temporal proximity value (e.g., simultaneity score), and causal proximity value (e.g., p-value) satisfy a predetermined condition (e.g., above a threshold, higher than a threshold, below a threshold, less than a threshold), are deemed to be records corresponding to an anomaly. (3) When the sensor 312 that has entered a state corresponding to a first failure event is “sensor A,” the timestamp corresponding to the first failure event is a time included in “April 1, 2024,” the sensor 312 that has entered a state corresponding to a second failure event is “sensor B,” the timestamp corresponding to the second failure event is a time included in “April 1, 2024,” and the time difference between the timestamp corresponding to the first failure event and the timestamp corresponding to the second failure event is less than or equal to a threshold, a record in the proximity measurement data 1300 that includes “sensor A” and “sensor B” as the identifying information of the two sensors 312 and that has a timestamp of “April 1, 2024” is deemed to be a record corresponding to an anomaly.
[0133] In step 2403 of FIG. 24, the anomaly detection unit 2400 writes to the knowledge database 373 the value of the anomaly label in the record group included in the proximity measurement data 1300 that was identified in step 2402 as being one that should be treated as having an anomaly, so as to set the value to indicate an anomaly.
[0134] 5-8. Processing of Approximation Function Determination Unit (Figure 25) Fig. 25 shows a flowchart of the processing of the approximation function decision unit 2500. The processing will be described below in the order shown in Fig. 25. Note that each of the processing steps in the flowchart of Fig. 25 may be considered to form an "approximation function decision step." The functions described below are realized, and a spatial approximation function indicating the correspondence between spatial proximity values (e.g., distances) and the conditional probabilities of state propagation, and a temporal approximation function indicating the correspondence between temporal proximity values (e.g., simultaneity scores) and the conditional probabilities of state propagation, are defined to calculate the conditional probability values of state propagation to be stored in the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500. Here, the spatial approximation function and the temporal approximation function are defined so that (within the range allowed by the approximation function) the logarithmic likelihood indicating the degree to which the facts indicated by the records included in the proximity measurement data 1300 will be realized is reasonable (e.g., maximum or local maximum). Therefore, reasonable spatial approximation functions and temporal approximation functions are defined.
[0135] In step 2501 of FIG. 25, the approximation function determination unit 2500 determines whether the timing has arrived to determine approximation functions (a spatial approximation function indicating the correspondence between spatial proximity values (e.g., distances) and the conditional probabilities of state propagation, and a temporal approximation function indicating the correspondence between temporal proximity values (e.g., simultaneity scores) and the conditional probabilities of state propagation, for calculating the conditional probability values of state propagation to be stored in the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500). The timing to determine the approximation functions may be based on a predetermined time interval or may be determined based on some other criteria. For example, the timing to determine the approximation functions may be the timing when the system 101 starts a learning phase or the timing when the number of records in the proximity measurement data 1300 that have not been used for determining the approximation function reaches a certain value or more. If the determination result in step 2501 is affirmative, control transitions to step 2502. If the determination result in step 2501 is negative, step 2501 is repeated. 25, the approximate function determination unit 2500 acquires a portion of records to be used for determining the current approximate function from among the records included in the proximity measurement data 1300 held by the knowledge database 373. For example, when the system 101 starts the learning phase, all records in the proximity measurement data 1300 at that time, or records having timestamps within a certain time range from that time, may be used as the portion of records to be used for determining the current approximate function. Also, when the number of records in the proximity measurement data 1300 that have not been used for determining an approximate function reaches a certain value or more, records that have not been used for determining an approximate function, or records having timestamps within a certain time range from that time, may be used as the portion of records to be used for determining the current approximate function.
[0136] 25, the approximation function determination unit 2500 may prepare a set of data points (spatial data points) dp_s_i for spatial proximity (for determining a spatial approximation function) and a set of data points (temporal data points) dp_t_i for temporal proximity (for determining a temporal approximation function) based on the record set acquired in step 2502. Alternatively, the approximation function determination unit 2500 may recognize the set of spatial data points dp_s_i and the set of temporal data points dp_t_i as being derivable from information contained in the record set acquired in step 2502 (even if it does not actually prepare them as described above). One spatial data point dp_s_i may be comprised of a spatial proximity value (e.g., distance) d_i and an anomaly label a_i among the information held by one record included in the proximity measurement data 1300 shown in Figure 13. One temporal data point dp_t_i may be comprised of a temporal proximity value (e.g., simultaneity score) s_i and an anomaly label a_i among the information held by one record included in the proximity measurement data 1300 shown in Figure 13. In other words, the data point here indicates whether an anomaly is indicated for the proximity value.
[0137] Thereafter, steps 2504 to 2508 are executed as steps for determining a spatial approximation function. Furthermore, steps 2509 to 2513 are executed as steps for determining a temporal approximation function. Steps 2504 to 2508 and steps 2509 to 2513 are similar processes except that the types of data points handled and the types of approximation functions (approximation function parameters) handled are different. Furthermore, steps 2504 to 2508 and steps 2509 to 2513 may be executed either first or in parallel, or may be executed simultaneously.
[0138] To start the group of steps for determining a spatial approximation function, in step 2504 of FIG. 25, the approximation function determination unit 2500 initializes spatial approximation function parameters a_s, b_s,... that define the spatial approximation function f_s. In general, the spatial approximation function f_s can be defined by any number of spatial approximation function parameters a_s, b_s, c_s, d_s... As an example, when the spatial approximation function f_s that associates the spatial proximity value (distance) Distance with the conditional probability P(Failure|Distance) of state propagation is defined by a logistic function, the following formula is used. Note that exp(x) means the xth power of Napier's constant (e). D(Failure|Distance)=f_s(Distance) := 1 / ( 1 + exp( - a_s * (Distance - b_s))) The parameters that define the above logistic function are two types of parameters a_s and b_s, which are called spatial approximation function parameters that define the spatial approximation function f_s, which is a logistic function. In step 2504, the spatial approximation function parameters a_s and b_s may be set to arbitrary initial values. For example, the spatial approximation function parameters a_s and b_s may be initialized to zero.
[0139] By processing the loop of steps 2505 to 2507, the approximation function determination unit 2500 varies the combinations of values of the spatial approximation function parameters a_s, b_s··· (a_s and b_s when a logistic function is used) to search for a combination of values of the spatial approximation function parameters a_s, b_s··· (a_s and b_s when a logistic function is used) that can appropriately express the content indicated by the set of spatial data points dp_s_i (that is, which results in a reasonable value of the log-likelihood function (LL) (for example, a value close to the maximum or a local maximum)).
[0140] In step 2505 of Figure 25, the approximation function determination unit 2500 calculates the partial derivatives ∂LL_s / ∂a_s, ∂LL_s / ∂b_s··· (∂LL_s / ∂a_s and ∂LL_s / ∂b_s··· if a logistic function is used) of the value of the spatial log-likelihood function LL_s with respect to the spatial approximation function parameters a_s, b_s··· (a_s and b_s if a logistic function is used) based on the spatial approximation function f_s defined by the approximation function parameters a_s, b_s··· (a_s and b_s if a logistic function is used), the set of spatial data points dp_s_i, and the log-likelihood function (spatial log-likelihood function) LL_s for the spatial approximation function. Here, the value f_s(d_i) of the spatial approximation function f_s for the spatial proximity value (distance) d_i of the spatial data point dp_s_i is expressed as p_s_i. The spatial log-likelihood function LL_s is expressed by the following equation: where a_i is the anomaly label of the spatial data point dp_s_i. In the following, Σ denotes the sum of the set of spatial data points dp_s_i. LL_s = Σ{ a_i * log(p_s_i) + (1 - a_i) * log(1 - p_s_i)} When the above logistic function defined by the spatial approximation function parameters a_s and b_s is used as the spatial approximation function f_s, the following equations may be used as the partial differentials ∂LL_s / ∂a_s and ∂LL_s / ∂b_s. Note that d_i is the spatial proximity value (distance) of the spatial data point dp_s_i. a_i is the anomaly label of the spatial data point dp_s_i. In the following, Σ indicates the summation over the set of spatial data points dp_s_i. ∂LL_s / ∂a_s := Σ{ ( a_i - p_s_i ) * ( d_i - b_s )} ∂LL_s / ∂b_s := Σ{ ( a_i - p_s_i ) * a_s}
[0141] 25, the approximation function determination unit 2500 calculates values of spatial approximation function parameters to be used when next executing step 2505, based on the partial differentials ∂LL_s / ∂a_s, ∂LL_s / ∂b_s (∂LL_s / ∂a_s and ∂LL_s / ∂b_s when a logistic function is used) calculated in step 2505, the values of spatial approximation function parameters a_s, b_s (a_s and b_s when a logistic function is used) used in step 2505, and the learning rate α. The value of the learning rate α can be set arbitrarily, and may be set to α=0.01, for example. When the logistic function is used, the approximation function determination unit 2500 calculates (updates) the value of the spatial approximation function parameter to be used the next time step 2505 is executed, using the following equation, in step 2506: a_s(after update) := a_s(before update) + α * (∂LL_s / ∂a_s) b_s(after update) := b_s(before update) + α * (∂LL_s / ∂b_s)
[0142] In step 2507 of Fig. 25, the approximation function determination unit 2500 determines whether all of the spatial approximation function parameters a_s, b_s (a_s and b_s when a logistic function is used) have converged as the processing of the loop from step 2505 to 2507 progresses. If the determination result in step 2507 is positive, control transitions to step 2508. If the determination result in step 2507 is negative, control returns to step 2505, and the processing of step 2505 is executed again based on the values of the spatial approximation function parameters calculated (updated) in the most recent step 2506. When a logistic function is used, the approximate function determination unit 2500 may determine whether the spatial approximate function parameters have converged by determining whether all of the following equations are true in step 2507. In the equations below, ε is a threshold value for determining convergence, and may be, for example, 10(-6)th power. | a_s(after update) - a_s(before update) | < ε | b_s(after update) - b_s(before update) | < ε
[0143] In step 2508 of FIG. 25, the approximation function determination unit 2500 stores the converged values of the spatial approximation function parameters a_s, b_s··· (a_s and b_s when a logistic function is used) in the knowledge database 373 as part of the approximation function parameters 525.
[0144] 25 is similar to the processing of steps 2504 to 2508 except for the types of data points handled and the types of approximation functions (approximation function parameters) handled, so a description of the processing of steps 2509 to 2513 will be omitted here. Note that the parameters and formulas used in the processing of steps 2509 to 2513 are listed below. <Parameters used in steps 2509 to 2513> Temporal data point dp_t_i The temporal proximity value (simultaneity score) s_i of dp_t_i Anomaly label a_i of dp_t_i temporal approximation function f_t Temporal approximation function parameters a_t,b_t,c_t,d_t... Temporal approximation function parameters a_t and b_t when using a logistic function Temporal log-likelihood function LL_t Partial derivatives ∂LL_t / ∂a_t, ∂LL_t / ∂b_t Partial derivatives ∂LL_t / ∂a_t and ∂LL_t / ∂b_t when using the logistic function p_t_i := f_t(s_i) <Temporal approximation function when using a logistic function> D(Failure|Synchronicity)=f_t(Synchronicity) := 1 / ( 1 + exp( - a_t * (Synchronicity - b_t))) <Equations used in steps 2509 to 2513> Step 2510 LL_t = Σ{ a_i * log(p_t_i) + (1 - a_i) * log(1 - p_t_i)} Step 2501 (When using a logistic function) ∂LL_t / ∂a_t := Σ{ ( a_i - p_t_i ) * ( s_i - b_t )} ∂LL_t / ∂b_t := Σ{ ( a_i - p_t_i ) * a_t} Step 2511 (When using a logistic function) a_t(after update) := a_t(before update) + α * (∂LL_t / ∂a_t) b_t(after update) := b_t(before update) + α * (∂LL_t / ∂b_t) Step 2512 (When using a logistic function) | a_t(after update) - a_t(before update) | < ε | b_t(after update) - b_t(before update) | < ε
[0145] 5-9. Approximation function value calculation section processing (Fig. 26) Fig. 26 shows a flowchart of the processing of the approximation function value calculation unit 2600. The processing will be described below in the order shown in Fig. 26. Note that each of the processing steps in the flowchart of Fig. 26 may be considered to form an "approximation function value calculation step." Since the functions described below are realized, the spatial conditional probability data 1400 and the temporal conditional probability data 1500 are created so as to roughly faithfully reflect the spatial approximation function and the temporal approximation function determined by the approximation function determination unit 2500.
[0146] 26, the approximate function value calculation unit 2600 determines whether the approximate function (approximate function parameter 525) has been determined (updated) by the approximate function determination unit 2500. If the determination result of step 2601 is affirmative, control transitions to step 2602. If the determination result of step 2601 is negative, step 2601 is repeated. 26, the approximate function value calculation unit 2600 acquires spatial approximate function parameters a_s, b_s (a_s and b_s when a logistic function is used as the spatial approximate function) and temporal approximate function parameters a_t, b_t (a_t and b_t when a logistic function is used as the temporal approximation function) from the approximate function parameters 525 in the knowledge database 373. Alternatively, the approximate function determination unit 2500 may transmit the spatial approximate function parameters and the temporal approximation function parameters directly to the approximate function value calculation unit 2600 (without going through the knowledge database 373).
[0147] Steps 2603 to 2608 are then executed to calculate the conditional probability values of state propagation stored in each record included in the spatial conditional probability data 1400 and create the record. Steps 2609 to 2614 are also executed to calculate the conditional probability values of state propagation stored in each record included in the temporal conditional probability data 1500 and create the record. Steps 2603 to 2608 and steps 2609 to 2614 are similar except that the types of approximation functions (approximation function parameters) and conditional probability data (conditional probability table data) handled are different. Steps 2603 to 2608 and steps 2609 to 2614 may be executed first, or may be executed simultaneously in parallel.
[0148] 26, the approximate function value calculation unit 2600 determines a set of spatial proximity values (e.g., distances) in the set of records included in the spatial conditional probability data 1400. For example, when creating the spatial conditional probability data 1400 shown in Fig. 14, the spatial proximity values (e.g., distances) included in the set of spatial proximity values (e.g., distances) are determined to be 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, and 100 (in the example of Fig. 14, the unit is centimeters).
[0149] 26, the approximate function value calculation unit 2600 selects one spatial proximity value (e.g., distance) from the set of spatial proximity values (e.g., distances) determined in step 2604. In the example shown in FIG. 14, one value is selected from the set consisting of 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, and 100. 26, the approximation function value calculation unit 2600 calculates the value of the spatial approximation function f_s corresponding to the selected spatial proximity value (e.g., distance) based on the spatial approximation function f_s defined by the spatial approximation function parameters a_s, b_s (a_s and b_s when a logistic function is used as the spatial approximation function) acquired in step 2602 and the spatial proximity value (e.g., distance) selected in step 2603. The approximation function value calculation unit 2600 sets the value of the calculated spatial approximation function f_s as the conditional probability P(Failure|Spatial Proximity) (or P(Failure|Distance)) of state propagation. In step 2606 of FIG. 26, the approximation function value calculation unit 2600 creates one record to be included in the spatial conditional probability data 1400 so as to include the spatial proximity value (e.g., distance) selected in step 2604 and the conditional probability of state propagation P(Failure|Spatial Proximity) (or P(Failure|Distance)) calculated in step 2605.
[0150] 26, the approximate function value calculation unit 2600 determines whether all spatial proximity values (e.g., distances) included in the set of spatial proximity values (e.g., distances) determined in step 2603 have been selected in step 2604. If the determination result in step 2607 is positive, control transitions to step 2608. If the determination result in step 2607 is negative, control returns to step 2604, where one of the spatial proximity values (e.g., distances) that has not yet been selected is newly selected. In step 2608 of FIG. 26, the approximate function value calculation unit 2600 stores the set of records created by the repeated execution of step 2606 as a set of records included in the spatial conditional probability data 1400 in the knowledge database 373.
[0151] Except for the difference in the type of approximation function (approximation function parameters) and the type of conditional probability data handled, the processing of steps 2609 to 2614 in Fig. 26 is the same as the processing of steps 2603 to 2608, and therefore a description of the processing of steps 2609 to 2614 will be omitted here. The parameters used in the processing of steps 2609 to 2614 are listed below. <Parameters used in steps 2609 to 2614> Mainly steps 2609 and 2610 Temporal proximity values included in a set of values for temporal proximity values (e.g., simultaneity scores) In the example in Figure 15, the values are 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0. Mainly step 2611 temporal approximation function f_t Temporal approximation function parameters a_t, b_t... (a_t and b_t when using a logistic function as a time approximation function) Mainly steps 2611 and 2612 Conditional probability of state propagation P(Failure|Temporal Proximity) (or P(Failure|Synchronicity))
[0152] 5-10. Processing of the conditional probability adjustment unit (Figure 27) FIG. 27 shows a flowchart of the processing of the conditional probability adjustment unit 2700 (Conditional Probability Adjustment Unit). The following description follows the order of processing shown in FIG. 27. Note that each of the processing steps in the flowchart of FIG. 27 may be interpreted as forming a "conditional probability adjustment step." Also, each of the processing steps in the flowcharts of FIG. 25, FIG. 26, and FIG. 27 may be interpreted as forming a "conditional probability data creation step." The functions described below are realized, so that if there is any local trend in the correspondence between spatial proximity values (e.g., distance) and the conditional probability of state propagation, or in the correspondence between temporal proximity values (e.g., simultaneity scores) and the conditional probability of state propagation, the local trend can be reflected in the spatial conditional probability data 1400 or the temporal conditional probability data 1500. Furthermore, even after the transition to the operation phase in which the spatial conditional probability data 1400 and the temporal conditional probability data 1500 have been created, the added information can be reflected in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 (without changing the approximation function). Furthermore, even if the spatial approximation function or the temporal approximation function is a relatively monotonic function (for example, a logistic function), the spatial conditional probability data 1400 and the temporal conditional probability data 1500 can have content that conforms to reality.
[0153] 27, the conditional probability adjustment unit 2700 determines whether the time has come to adjust the conditional probability values of state propagation of the records contained in the spatial conditional probability data 1400 and the temporal conditional probability data 1500. If the determination result in step 2701 is positive, control transitions to step 2702. If the determination result in step 2701 is negative, step 2701 is repeated. Examples of situations in which the value of the conditional probability of state propagation may be adjusted have already been shown as (1) and (2) in the section "4.1.1.10. Overview of the Conditional Probability Adjustment Unit." In situation (1), the spatial approximation function and the temporal approximation function are determined based on the records included in the proximity measurement data 1300, and the conditional probability values of state propagation held by the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 are temporarily determined. Then, the adjustment weight values are calculated based on the same records included in the proximity measurement data 1300, and the previously determined conditional probability values of state propagation are further adjusted. On the other hand, in the situation (2), when an additional record group is stored in the proximity measurement data 1300, the spatial approximation function and the temporal approximation function are not redetermined, and the adjustment weight values are calculated using the additional record group in the proximity measurement data 1300, and the conditional probability values of state propagation of the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 are adjusted. The situations (1) and (2) may occur whether the learning phase process is being performed or the operation phase process is being performed. The situation (1) is mainly likely to occur when the system 101 is performing the learning phase process. The situation (2) is likely to occur when the system 101 is performing the operation phase process.
[0154] 27, the conditional probability adjustment unit 2700 acquires a group of records to be used for calculating adjustment weights for adjusting the value of the conditional probability of the current state propagation from the spatial conditional probability data 1400 and the temporal conditional probability data 1500 in the knowledge database 373. The conditional probability adjustment unit 2700 may acquire a group of records that have not been acquired for calculating adjustment weights in step 2702. Alternatively, the conditional probability adjustment unit 2700 may acquire a group of records having timestamps that fall within a time period of a predetermined duration in step 2702.
[0155] Steps 2703 to 2706 are then executed to calculate the values of adjustment weights (spatial adjustment weights) to be applied to each record included in the spatial conditional probability data 1400 and adjust the value of the conditional probability of state propagation held by that record. Steps 2707 to 2710 are also executed to calculate the values of adjustment weights (temporal adjustment weights) to be applied to each record included in the temporal conditional probability data 1500 and adjust the value of the conditional probability of state propagation held by that record. Steps 2703 to 2706 and steps 2707 to 2710 are similar except for the types of adjustment weights and the types of conditional probability data (conditional probability table data) handled. Steps 2703 to 2706 and steps 2707 to 2710 may be executed first, or may be executed simultaneously in parallel.
[0156] 27, the conditional probability adjuster 2700 selects one of the spatial proximity values (e.g., distance) set in the set of records included in the spatial conditional probability data 1400. In the example of Fig. 14, one of the spatial proximity values (e.g., distance) 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, and 100 is selected.
[0157] In step 2704 of FIG. 27, the conditional probability adjuster 2700 determines the value of the adjustment weight (spatial adjustment weight) corresponding to the spatial proximity value (for example, distance) selected in the most recent step 2703 . The conditional probability adjustment unit 2700 may, for example, identify a set of records from the group of records in the proximity measurement data 1300 acquired in step 2702 that have spatial proximity values (e.g., distances) that are close to the spatial proximity value (e.g., distance) selected in the most recent step 2703, and determine spatial adjustment weights based on the values of the anomaly labels of each of the records included in the identified set of records. More specifically, for example, when the spatial proximity value (e.g., distance) selected in the most recent step 2703 is "20" out of "0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100," the conditional probability adjuster 2700 may identify a set of records having a spatial proximity value (e.g., distance) of "15 or more and less than 25" from the set of records in the proximity measurement data 1300 acquired in step 2702. Then, the conditional probability adjuster 2700 may count the number of records whose abnormal label value is "1 (a value indicating that the abnormality corresponds to an anomaly)" and the number of records whose abnormal label value is "0 (a value indicating that the abnormality does not correspond to an anomaly)" in the identified set of records, and calculate the proportion of records whose abnormal label value is "1 (a value indicating that the abnormality corresponds to an anomaly)." Furthermore, the conditional probability adjuster 2700 may determine the spatial adjustment weight based on the calculated ratio so that the higher the calculated ratio, the higher the value of the spatial adjustment weight.
[0158] In step 2705 of Figure 27, the conditional probability adjustment unit 2700 adjusts the value of the conditional probability of state propagation P(Failure|Spatial Proximity) (or P(Failure|Distance)) of the record included in the spatial conditional probability data 1400 that corresponds to the spatial proximity value (e.g., distance) selected in the most recent step 2703. The conditional probability adjustment unit 2700 may set the value of the conditional probability of state propagation after adjustment to be the product of multiplying the value of the conditional probability of state propagation immediately before adjustment by the value of the spatial adjustment weight determined in the most recent step 2704. Alternatively, the conditional probability adjustment unit 2700 may set the value of the conditional probability of state propagation after adjustment to be the product of multiplying the value of the conditional probability of state propagation obtained based on the spatial approximation function by the value of the spatial adjustment weight determined in the most recent step 2704. The conditional probability adjuster 2700 updates the record of the spatial conditional probability data 1400 in the knowledge database 373 that corresponds to the spatial proximity value (e.g., distance) selected in the most recent step 2703, so that it includes the adjusted value of the conditional probability of state propagation. At this time, the conditional probability adjuster 2700 may also leave the value of the conditional probability of state propagation obtained based on the spatial approximation function in that record instead of deleting it.
[0159] 27, it is determined whether all spatial proximity values (e.g., distance) set in the set of records included in the spatial conditional probability data 1400 have been selected in step 2703. If the determination result in step 2706 is positive, the loop processing of steps 2703 to 2706 is completed. If the determination result in step 2706 is negative, control is returned to step 2703, and one of the spatial proximity values (e.g., distance) that has not yet been selected is newly selected.
[0160] Except for the differences in the types of closeness values handled, the types of adjustment weights handled, the types of state propagation conditional probabilities handled, and the types of conditional probability data handled, the processing of steps 2707 to 2710 in Fig. 27 is the same as the processing of steps 2703 to 2706, and therefore a description of the processing of steps 2707 to 2710 will be omitted here. Note that the parameters used in the processing of steps 2707 to 2710 are listed below. <Parameters used in steps 2707 to 2710> Step 2707 Temporal proximity values (e.g., simultaneity scores) In the example in Figure 15, the values are 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0. Step 2708, Step 2709 Time adjustment weight Step 2709 Conditional probability of state propagation P(Failure|Temporal Proximity) (or P(Failure|Synchronicity))
[0161] 5.11. Processing of Bayesian network creation part (Figure 28) Fig. 28 shows a flowchart of the processing of the Bayesian network creation unit 2800. The processing will be explained below in the order shown in Fig. 28. Note that each of the processing steps in the flowchart of Fig. 28 may be considered to form a "Bayesian network creation step." The functions described below are realized, and Bayesian network data 1600 is created using at least the proximity measurement data 1300, the spatial conditional probability data 1400, and the temporal conditional probability data 1500. The Bayesian network data 1600 can be used to calculate the probability (conditional probability) that one sensor 312 is in a certain state when a predetermined state (a state corresponding to a predetermined event) is detected in another sensor 312. Therefore, even in the case of a plurality of sensors 312 (sensor network 302) in which the relationships between the sensors 312 may be ambiguous, the system 101 can improve the accuracy and speed of processing to respond to events occurring in the sensor network 302 based on the Bayesian network data 1600.
[0162] 28, the Bayesian network creation unit 2800 determines whether it is time to create the Bayesian network data 1600. If the determination result of step 2801 is affirmative, control transitions to step 2802. If the determination result of step 2801 is negative, step 2801 is repeated. For example, the timing at which the spatial conditional probability data 1400 or the temporal conditional probability data 1500 is created or updated by the approximate function value calculation unit 2600 or the conditional probability adjustment unit 2700 may be set as the timing at which to create the Bayesian network data 1600. Alternatively, the timing at which to create the Bayesian network data 1600 may be determined based on periodic timing. 28, the Bayesian network creation unit 2800 acquires a set of records from the group of records of the proximity measurement data 1300 in the knowledge database 373 that are to be used to create the current Bayesian network data 1600. From the group of records of the proximity measurement data 1300, the Bayesian network creation unit 2800 may acquire, for example, the record having the latest timestamp for each combination of two sensors 312. In step 2803 of FIG. 28, the Bayesian network creating unit 2800 acquires a group of records contained in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 in the knowledge database 373 .
[0163] 28 , the Bayesian network creation unit 2800 selects one of the combinations (or permutations) of two sensors 312 for which a conditional probability between the sensors 312 is to be set in the Bayesian network data 1600. Here, the combination (or permutation) of two sensors 312 for which a conditional probability between the sensors 312 is to be set in the Bayesian network data 1600 may be any combination (or permutation) of two sensors 312 in the multiple sensors 312 (sensor network 302). Alternatively, the combination (or permutation) of two sensors 312 for which a conditional probability between the sensors 312 is to be set in the Bayesian network data 1600 may be a combination (or permutation) of two sensors 312 that is limited to a certain extent.
[0164] 28, the Bayesian network creation unit 2800 calculates the value of the conditional probability between the sensors 312 for the combination (or permutation) of two sensors 312 selected in the most recent step 2804, using the set of records of the proximity measurement data 1300 acquired in step 2802, the spatial conditional probability data 1400 acquired in step 2803, and the temporal conditional probability data 1500 acquired in step 2803. To create each record of the Bayesian network data 1600, the Bayesian network creation unit 2800 may calculate the conditional probability that the sensor 312 (child sensor) on the result side will be in a specific state (for example, a state corresponding to a failure event) corresponding to each possible state of the sensor 312 (parent sensor) on the cause side among the combinations (or permutations) of the two sensors 312. In the example of each record of the Bayesian network data 1600 shown in FIG. 16, the Bayesian network creation unit 2800 may calculate the conditional probability P(Failed Due to Cable Failure|Vibration) that the sensor 312 (child sensor) on the result side will be in a specific state (e.g., a state corresponding to a failure event) for each of the three states that the sensor 312 (parent sensor) on the cause side can be in: "high vibration," "medium vibration," and "low vibration." Note that in the example of FIG. 16, there are three states that the sensor 312 (parent sensor) on the cause side can be in, but one of these states (e.g., "high vibration") may represent a state corresponding to a failure event. Alternatively, two states (e.g., "high vibration" and "medium vibration") may represent states corresponding to a failure event. If there are three or more possible states for the causal sensor 312 (parent sensor), the processing of step 2805 may be performed using the proximity measurement data 1300, spatial conditional probability data 1400, and temporal conditional probability data 1500, as well as other types of information. Also, instead of the example of Figure 16, each record of the Bayesian network data 1600 may be simplified so that it handles only two states that the sensor 312 can be in, for both the cause side sensor 312 (parent sensor) and the result side sensor 312 (child sensor): a "state corresponding to a failure event" and a "state not corresponding to a failure event."
[0165] 28, the Bayesian network creation unit 2800 stores a record group including the value of the conditional probability between the sensors 312 calculated in the most recent step 2805 in the Bayesian network data 1600 in the Bayesian network database 374. The record group stored here is a record group for the combination (or permutation) of the two sensors 312 selected in the most recent step 2804, and is a set of individual records corresponding to each possible state of the sensor 312 (parent sensor) on the causal side.
[0166] 28, the Bayesian network creation unit 2800 determines whether all of the combinations (or permutations) of two sensors 312 for which conditional probabilities between the sensors 312 are to be set in the Bayesian network data 1600 have been selected in step 2804. If the determination result in step 2807 is affirmative, control returns to step 2801, and the system waits until the next time to create the Bayesian network data 1600. If the determination result in step 2807 is negative, control returns to step 2804, and one of the combinations (or permutations) of two sensors 312 that has not yet been selected is newly selected.
[0167] 5-12. Treatment of cut-off part of non-proximity sensor (Figure 29) Fig. 29 shows a flowchart of the processing of the non-proximal sensor pruning unit 2900. The processing will be described below in the order shown in Fig. 29. Note that each of the processing steps in the flowchart of Fig. 29 may be understood to form a "non-proximal sensor pruning step." Since the functions described below are realized, the Bayesian network indicated by the Bayesian network data 1600 can be used as the Bayesian network to be handled by the subsequent root cause estimation unit 3000, excluding sensors 312 that are unlikely to correspond to the root cause of the failure event detected by the failure detection unit 2300 (for example, component 311). This can improve the speed and accuracy of processing in the root cause estimation unit 3000.
[0168] In step 2901 of FIG. 29 , the non-proximity sensor cutoff unit 2900 determines whether the failure detection unit 2300 has notified it that a failure event has been detected. If the determination result in step 2901 is positive, control transitions to step 2902. If the determination result in step 2901 is negative, control repeats step 2901. If a failure event is detected, the failure detection unit 2300 may directly notify the non-proximity sensor cutoff unit 2900 of some or all of the information about the failure event (e.g., specific information about the sensor 312 that has entered a state corresponding to the failure event, and a timestamp corresponding to the failure event). Alternatively, if a failure event is detected, the failure detection unit 2300 may store some or all of the information about the failure event in some kind of recording medium or storage medium, and the non-proximity sensor cutoff unit 2900 may then read some or all of the information about the failure event from the recording medium or storage medium.
[0169] 29 , the non-proximity sensor clipping unit 2900 acquires, from the knowledge database 373, a set of records included in the proximity measurement data 1300 that are used by the non-proximity sensor clipping unit 2900 to determine the degree (or presence or absence) of proximity between the sensors 312. The non-proximity sensor clipping unit 2900 may acquire, for example, a set of records of the proximity measurement data 1300 that have a timestamp that is the same as or close to (for example, the same date as) a timestamp corresponding to a failure event that is included in information about the failure event notified, etc., by the failure detection unit 2300.
[0170] 29, the non-proximity sensor cutoff unit 2900 identifies a group of sensors 312 that are "non-neighboring" to the sensor 312 corresponding to the failure event. For the processing of step 2903, the non-proximity sensor cutoff unit 2900 may use, for example, a set of records of the proximity measurement data 1300 acquired in step 2902, or may use other information (for example, information on the design drawing of the facility 301 having multiple sensors 312 (sensor network 302)). In step 2904 of FIG. 29, the non-proximity sensor cutoff unit 2900 includes the identification information of the group of sensors 312 that are “non-neighboring” to the sensor 312 corresponding to the failure event identified in step 2903 in the identification information of the group of sensors 312 to be excluded from processing based on the belief propagation algorithm performed by the root cause estimation unit 3000 in step 3004 for the sensor 312 corresponding to the failure event.
[0171] 29, the non-proximity sensor cropping unit 2900 may calculate a threshold for one or more of a spatial proximity value (e.g., distance), a temporal proximity value (e.g., simultaneity score), and a causal proximity value (e.g., p-value) based on the set of records of the proximity measurement data 1300 acquired in step 2902. For example, the threshold may be the mean, median, quartile, etc. of the proximity values in the set of records acquired in step 2902. In step 2906 of FIG. 29, the non-proximal sensor cutoff unit 2900 identifies a group of sensors 312 that are "non-proximal" to the sensor 312 corresponding to the failure event based on the set of records of the proximity measurement data 1300 acquired in step 2902, thresholds for one or more of the spatial proximity value (e.g., distance), temporal proximity value (e.g., simultaneity score), and causal proximity value (e.g., p-value) calculated in step 2905, and predetermined rules. In the example of Figure 13, the non-proximity sensor cutoff unit 2900 may use one or more of the following conditions (when multiple conditions are used, the fulfillment of the overall condition may be the fulfillment of either the logical AND or the logical OR of the fulfillment of the individual conditions) as conditions for determining that the other sensor 312 is a sensor 312 that is "non-proximal" to the sensor 312 corresponding to the failure event: (1) the spatial proximity value (e.g., distance) between the sensor 312 corresponding to the failure event and the other sensor 312 is greater than or equal to a threshold value (or greater than the threshold value); (2) the temporal proximity value (e.g., simultaneity score) between the sensor 312 corresponding to the failure event and the other sensor 312 is less than or equal to a threshold value (or smaller than the threshold value); or (3) the causal proximity value (e.g., p-value) between the sensor 312 corresponding to the failure event and the other sensor 312 is greater than or equal to a threshold value (or greater than the threshold value). In step 2907 of FIG. 29, the non-proximal sensor cutoff unit 2900 includes the identification information of the group of sensors 312 that are “non-proximal” to the sensor 312 corresponding to the failure event identified in step 2906 in the identification information of the group of sensors 312 to be excluded from processing based on the belief propagation algorithm performed by the root cause estimation unit 3000 in step 3004 for the sensor 312 corresponding to the failure event.
[0172] 29, the non-proximity sensor cutoff unit 2900 transmits to the root cause estimation unit 3000 the specific information, prepared in steps 2904 and 2907, of the group of sensors 312 to be excluded from the processing based on the belief propagation algorithm performed by the root cause estimation unit 3000 in step 3004. This transmission may be performed in a manner in which the non-proximity sensor cutoff unit 2900 notifies the root cause estimation unit 3000 directly, or in a manner in which transmission is realized via some kind of recording medium or storage medium. Then, the non-proximity sensor cutoff unit 2900 causes the root cause estimation unit 3000 to perform processing for the sensor 312 corresponding to the failure event notified in step 2901 .
[0173] 5-13. Root cause estimation processing (Figure 30) Fig. 30 shows a flowchart of the processing of the root-cause estimation unit 3000. The processing will be described below in the order shown in Fig. 30. Note that each of the processing steps in the flowchart of Fig. 30 may be considered to form a "root-cause estimation step." By realizing the functions described below, when a failure event occurs in equipment 301 or the like that is measured by multiple sensors 312 (sensor network 302), it is possible to perform a process of identifying components 311 (corresponding to sensors 312) to be replaced or repaired with high accuracy and speed. Accordingly, repairs, replacements, etc. of identified components (sensors) are also performed promptly. Furthermore, the priority order of repairs, replacements, etc. can be appropriately determined. Therefore, it is expected that equipment, etc. that has these components (sensors) will be reliably restored to a normal state, and that the time until such restoration is achieved will be as short as possible.
[0174] 30, the root cause estimation unit 3000 determines whether it is time to perform processing to identify the sensor 312 corresponding to what is estimated to be the root cause of the failure event (e.g., component 311). If the determination result of step 3001 is positive, control transitions to step 3002. If the determination result of step 3001 is negative, step 3001 is repeated. The root cause estimation unit 3000 may make the determination of step 3001 based on, for example, whether or not the failure detection unit 2300 or the non-proximity sensor cutoff unit 2900 notifies the existence of a failure event. 30, the root cause estimation unit 3000 acquires identification information for a group of sensors 312 to be excluded from the processing based on the belief propagation algorithm performed in step 3004. This identification information may be notified directly from the non-proximity sensor cutoff unit 2900. Alternatively, the non-proximity sensor cutoff unit 2900 may store this identification information in some kind of recording medium, and the root cause estimation unit 3000 may read and acquire this identification information. In step 3003 of FIG. 30, the root cause estimation unit 3000 acquires the Bayesian network data 1600 from the Bayesian network database 374.
[0175] In step 3004 of Figure 30, the root cause estimation unit 3000 excludes the group of sensors 312 indicated by the specific information obtained in step 3002 from the Bayesian network indicated by the Bayesian network data 1600 obtained in step 3003, and then executes a belief propagation algorithm on the Bayesian network after the exclusion process. The root cause estimation unit 3000 first sets the probability score of the sensor 312 corresponding to the failure event in the Bayesian network after the exclusion process to 1. Then, the root cause estimation unit 3000 executes a belief propagation algorithm in the Bayesian network after the exclusion process to calculate the probability score of each of the sensors 312 represented in the Bayesian network after the exclusion process.
[0176] 30, the root cause estimation unit 3000 assigns to each of the sensors 312 an order (rank) indicating the likelihood that the sensor 312 corresponds to what is estimated to be the root cause of the failure event (e.g., the component 311) based on the probability score for each sensor 312 calculated in step 3004. For example, the sensor 312 with the highest probability score (other than the sensor 312 directly corresponding to the failure event) is assigned an order (rank) of "1 (highest)."
[0177] 30, the root cause estimation unit 3000 creates one or more records to be included in the inference data 1700. In the example shown in FIG. 17, the root cause estimation unit 3000 may include in one record the order (Rank) assigned in step 3005, specific information about the sensor 312 (parent sensor) corresponding to the inferred root cause (component 311), and the probability score (P(Parent Failed|Child Failed)) calculated in step 3004. The root cause estimation unit 3000 stores the created record in the inference data 1700 in the inference database 375. The root cause estimation unit 3000 may create records of the estimated data 1700 only for a predetermined number of sensors 312 with high ranks (close to "1 (highest)") based on the ranks assigned in step 3005. Alternatively, the root cause estimation unit 3000 may create records of the estimated data 1700 only for sensors 312 whose probability scores calculated in step 3004 are equal to or greater than some threshold value (or larger than the threshold value). After step 3006, control returns to step 3001 to wait until the next opportunity to identify the sensor 312 that corresponds to the presumed root cause of the failure event (eg, component 311).
[0178] 5.14.Bayesian Network Update Processing (Figure 31) Fig. 31 shows a flowchart of the processing of the Bayesian network updating unit 3100. The processing will be described below in the order shown in Fig. 31. Note that each of the processing steps in the flowchart of Fig. 31 may be considered to form a "Bayesian network updating step." The function described below is realized, so that when the facts indicated by the failure report data 900 and the estimated contents indicated by the estimated data 1700 do not match with respect to the specific information of the sensor 312 corresponding to the root cause of the failure event (e.g., component 311), the contents of the Bayesian network data 1600, etc. are corrected in a direction to eliminate the degree of this mismatch.
[0179] 31, the Bayesian network update unit 3100 determines whether a sensor 312 corresponding to an estimated root cause of a new failure event (e.g., component 311) has been determined. In other words, the Bayesian network update unit 3100 determines whether the root cause estimation unit 3000 has added a new record to the estimation data 1700. If the determination result of step 3101 is positive, control transitions to step 3102. If the determination result of step 3101 is negative, step 3101 is repeated. In step 3102 of FIG. 31, the Bayesian network update unit 3100 acquires the newly added records of the inference data 1700 from the inference database 375. In step 3103 of FIG. 31, the Bayesian network update unit 3100 acquires a group of records contained in the failure report data 900 from the asset database 371.
[0180] 31, the Bayesian network update unit 3100 searches for information held by the record group included in the failure report data 900 acquired in step 3103. The Bayesian network update unit 3100 searches the record group included in the failure report data 900 for information on a fact that identifies the sensor 312 corresponding to what is presumed to be the root cause of the new failure event in step 3101 (for example, component 311). 9, the Bayesian network update unit 3100 may check, in each record, an item indicating specific information about the sensor 312 corresponding to the failure event and an item indicating specific information about the sensor 312 corresponding to the root cause of the failure event (e.g., component 311). If the records included in the failure report data 900 are sentences written in natural language, the Bayesian network update unit 3100 may extract desired information using a natural language processing technique. 31, the Bayesian network update unit 3100 determines whether, as a result of the processing of step 3104, information has been found regarding a fact that identifies the sensor 312 corresponding to what is estimated to be the root cause of the new failure event in step 3101 (e.g., component 311). If the determination result in step 3105 is positive, control transitions to step 3106. If the determination result in step 3105 is negative, control returns to step 3101, and the Bayesian network update unit 3100 enters a standby state until the root cause estimation unit 3000 next adds a new record to the estimation data 1700.
[0181] 31, the Bayesian network update unit 3100 compares the inferred content indicated by the record of the inferred data 1700 with the facts (Fact) discovered in step 3104 regarding the identification information of the sensor 312 corresponding to the root cause (e.g., component 311) of the new failure event identified in step 3101. The Bayesian network update unit 3100 may determine whether the identification information of the sensor 312 corresponding to the root cause identified by the record with a rank of "1 (highest)" among the inferred content indicated by the record of the inferred data 1700 is the same as the identification information of the sensor 312 corresponding to the root cause identified by the facts (Fact) discovered in step 3104. 31, the Bayesian network update unit 3100 branches the control based on the result of the determination in step 3106. That is, if the determination result in step 3106 is positive (the inference matches the fact), control returns to step 3101, and the Bayesian network update unit 3100 enters a standby state until the root cause estimation unit 3000 next adds a new record to the inferred data 1700. If the determination result in step 3106 is negative (the inference differs from the fact), control transitions to step 3108.
[0182] In each step from step 3108 onwards in the processing of Figure 31, processing is performed to update the Bayesian network data 1600, etc., in a direction to resolve the discrepancy between the inference indicated by the record of the inferred data 1700 regarding the specific information of the sensor 312 corresponding to the root cause of the new failure event in step 3101 (e.g., component 311) and the facts (Facts) discovered in step 3104. In step 3108 of FIG. 31, the Bayesian network update unit 3100 acquires each of the records included in the Bayesian network data 1600 from the Bayesian network database 374. In step 3109 of Figure 31, the Bayesian network update unit 3100 uses the residual error indicating the discrepancy between the inference content indicated by the record of the inference data 1700 and the fact discovered in step 3104 to calculate updated values of the conditional probability of each record included in the Bayesian network data 1600 in a direction to eliminate the residual error. In step 3110 of FIG. 31, the Bayesian network update unit 3100 stores each of the records that reflect the updated values of the conditional probabilities calculated in step 3109 in the Bayesian network data 1600 in the Bayesian network database 374.
[0183] In step 3111 of FIG. 31, the Bayesian network update unit 3100 may change (update) the threshold value used in the non-proximity sensor clipping unit 2900 as necessary so as to eliminate the residual error described above. In step 3112 of FIG. 31, the Bayesian network update unit 3100 may, if necessary, update the conditional probability values of state propagation of the records contained in the spatial conditional probability data 1400 and the temporal conditional probability data 1500 in the knowledge database 373 so as to eliminate the aforementioned residuals. After the execution of step 3110, step 3111, or step 3112 is completed, control is returned to step 3101, and the Bayesian network update unit 3100 enters a standby state until the root cause estimation unit 3000 next adds a new record to the estimation data 1700.
[0184] 5-15. Display or output by display output control unit (Figure 32) Fig. 32 shows an example of display or output realized by the control of a display and output control unit 3299, which is a functional unit that can be included in the system 101. Fig. 32 shows an example in which, under the control of the display and output control unit 3299, a display included in the display or output device 407 of the system 101 displays information contained in the proximity measurement data 1300, spatial conditional probability data 1400, and temporal conditional probability data 1500 contained in the knowledge database 373. 3, the display output control unit 3299 controls to display information that allows a user of the system 101 to input instructions to the system 101, and controls to display or output information that the system 101 holds. That is, information other than the example shown in FIG. 32 can be displayed. Also, instead of displaying information, a printing device or the like included in the display or output device 407 of the system 101 can output information. Furthermore, not only can information held by the system 101 be output, but a user interface that allows instructions to be input to the system 101 can also be displayed on the display.
[0185] Display example 3200 is in the form of a single window. Display example 3200 includes a table display area 3201 that displays information held by various conditional probability data in the form of a table, a two-dimensional coordinate display area 3202 that displays information held by various conditional probability data in the form of a two-dimensional coordinate, and a graph display area 3203 that displays information held by the proximity measurement data 1300 in the form of a graph. Display example 3200 also includes a display switch icon 3211 and an update icon 3204, and these icons can be clicked with a cursor 3205 that can be operated with a mouse or the like.
[0186] Table display area 3201 displays a table consisting of records (rows) that indicate combinations of proximity values and state propagation conditional probabilities for one or both of spatial conditional probability data 1400 and temporal conditional probability data 1500. If table display area 3201 can display only one of spatial conditional probability data 1400 and temporal conditional probability data 1500, display switch icon 3211 can be clicked with cursor 3205, which can be operated with a mouse or the like, to switch which of spatial conditional probability data 1400 and temporal conditional probability data 1500 is displayed in table display area 3201.
[0187] The two-dimensional coordinate display area 3202 shows a plot of a combination of proximity values and conditional probabilities of state propagation on a two-dimensional coordinate system for one or both of the spatial conditional probability data 1400 and the temporal conditional probability data 1500. As shown in Fig. 32, the plots may be appropriately interpolated and displayed in the form of a curve.
[0188] The graph display area 3203 displays, in a graph form, various proximity values between a certain number of sensors 312 (five sensors 312 in FIG. 32) among the information contained in the proximity measurement data 1300. Although not shown in the figure, there may also be a user interface for specifying the sensors 312 to be selected as part of the certain number of sensors 312 (five sensors 312 in FIG. 32). The graph display area 3203 includes a spatial proximity value display graph 3231, a temporal proximity value display graph 3232, and a causal proximity display graph 3233. In the spatial proximity value display graph 3231, the sensors 312 are represented as nodes, and the spatial proximity values between the sensors 312 are represented as edges between the nodes. The temporal proximity value display graph 3232 and the causal proximity display graph 3233 are similar to the spatial proximity value display graph 3231, except for the type of proximity value.
[0189] When the update icon 3204 is clicked with a cursor 3205 that can be operated with a mouse or the like, the table display area 3201, the two-dimensional coordinate display area 3202, and the graph display area 3203 included in the display example 3200 may be updated under the control of the display output control unit 3299 to reflect the latest information held by the system 101 at that time. Alternatively, when update icon 3204 is clicked with cursor 3205 that can be operated with a mouse or the like, display output control unit 3299 may request each of the functional units of system 101 to update one or more of proximity measurement data 1300, spatial conditional probability data 1400, and temporal conditional probability data 1500. Then, under the control of display output control unit 3299, table display area 3201, two-dimensional coordinate display area 3202, and graph display area 3203 included in display example 3200 may be updated to reflect the updated information.
[0190] In this way, users of the system 101 can refer to information held by the system 101, including information stored in the knowledge database 373. Furthermore, users of the system 101 can view display or output in a format suitable for the characteristics of the information held by the system 101, from among various display or output formats such as table format, two-dimensional coordinate format, and graph format.
[0191] 6. Other (variations) The present disclosure is not limited to the above-described embodiments and includes various modifications. Part of the configurations and processes of the embodiments may be replaced with the configurations and processes of other conceivable embodiments. The configurations and processes of other conceivable embodiments may be added to the configurations and processes of the embodiments. For example, the present disclosure may include the following modified embodiments.
[0192] (Variation A) Variation that creates conditional probability data without using approximation functions In the embodiment described above, after the approximate function determination unit 2500 and the approximate function value calculation unit 2600 create various conditional probability data, the conditional probability adjustment unit 2700 adjusts the conditional probability values of the probability propagation contained in the various conditional probability data.
[0193] In variant example A, the conditional probability data creation unit 127 does not have the functional units related to approximate functions, i.e., the approximate function determination unit 2500 and the approximate function value calculation unit 2600, but instead has a functional unit that performs processing similar to that of the conditional probability adjustment unit 2700. A functional unit that performs processing similar to that of the conditional probability adjustment unit 2700 creates the spatial conditional probability data 1400 and the temporal conditional probability data 1500 directly, without using the approximation function method. A functional unit that performs processing similar to the conditional probability adjustment unit 2700 may, for example, use the percentage of records whose abnormal label value is "1 (a value indicating that the value corresponds to an abnormality)" calculated in step 2704 or step 2708 of Figure 27 as the value of the conditional probability of state propagation for the records included in the spatial conditional probability data 1400 and the temporal conditional probability data 1500.
[0194] According to the above variant A, the spatial conditional probability data 1400 and the temporal conditional probability data 1500 only represent local trends, making it difficult to represent overall trends. However, since the approximate function determination unit 2500 and the approximate function value calculation unit 2600 are no longer necessary in the system 101, it is possible to simplify the functional configuration of the system 101.
[0195] (Modification B) A modification in which an approximation function is applied after the method of modification A is used In variant B, after spatial conditional probability data 1400 and temporal conditional probability data 1500 are created using the method of variant A, an approximation function is determined using a set of records that combine proximity values and probability propagation conditional probabilities contained in the created spatial conditional probability data 1400 and temporal conditional probability data 1500, and the value of the probability propagation conditional probability contained in the records may be redetermined using the determined approximation function.
[0196] In this variant B, the functional configuration of the system 101 is more complex than in variant A, but it is expected that it will be possible to create spatial conditional probability data 1400 and temporal conditional probability data 1500 similar to the embodiment described above.
[0197] The technical matters shown in the above-described embodiments of the present disclosure and the modified examples of the embodiments can be combined as appropriate as long as no technical contradiction occurs.
Claims
1. 1. A system comprising: a proximity measurement data creation unit that creates proximity measurement data based on information obtained from a plurality of sensors, wherein each record included in the proximity measurement data has a timestamp, specific information of two sensors, and a proximity value between one sensor and the other sensor of the two sensors for each domain; an anomaly detection unit that identifies a record of the proximity measurement data corresponding to an anomaly based on information obtained from a plurality of sensors and the proximity measurement data, and sets an anomaly label of the identified record of the proximity measurement data to a value indicating an anomaly; a conditional probability data creation unit that creates conditional probability data for each of the domains based on the proximity measurement data, the conditional probability data for each of the domains indicating a correspondence between the proximity value for that domain and a value of a conditional probability that when one sensor is in a first predetermined state, the other sensor will be in a second predetermined state between two sensors having a relationship indicated by the proximity value; A system comprising: a Bayesian network creation unit that creates Bayesian network data based on the proximity measurement data and conditional probability data for each of the domains, wherein each record included in the Bayesian network data has specific information for a sensor on the cause side, specific information for a sensor on the result side, specific information for the state of the sensor on the cause side, and a value for the conditional probability that the sensor on the result side will be in a specific state.
2. 2. The system of claim 1, Each of the records included in the proximity measurement data has, as the proximity values for each of the domains, a spatial proximity value for a spatial domain, a temporal proximity value for a temporal domain, and a causal proximity value for a causal domain; The conditional probability data for each of the domains is spatial conditional probability data for the spatial domain and temporal conditional probability data for the temporal domain.
3. 3. The system of claim 2, the conditional probability data creation unit has an approximation function determination unit and an approximation function value calculation unit, Each record included in the spatial conditional probability data has the spatial proximity value and a conditional probability that, between two sensors having a relationship indicated by the spatial proximity value, when one sensor is in a state corresponding to a failure event, the other sensor will be in a state corresponding to a failure event; Each record included in the temporal conditional probability data has the temporal proximity value and a conditional probability that, between two sensors having a relationship indicated by the temporal proximity value, when one sensor is in a state corresponding to a failure event, the other sensor will be in a state corresponding to a failure event; the approximation function determination unit calculates a spatial approximation function parameter and a temporal approximation function parameter based on the proximity measurement data, the spatial approximation function parameters are parameters that define a spatial approximation function that is an approximation function that approximately indicates a relationship between the spatial proximity values and the conditional probabilities based on the spatial proximity values, the temporal approximation function parameter is a parameter that defines a temporal approximation function that is an approximation function that approximately indicates a relationship between the temporal proximity value and the conditional probability based on the temporal proximity value, the approximation function determination unit calculates the spatial approximation function parameters based on the spatial proximity values and the anomaly labels of each data point included in each record of the proximity measurement data, and a value of a log-likelihood function based on the spatial approximation function defined by the spatial approximation function parameters; the approximation function determination unit calculates the temporal approximation function parameters based on the temporal proximity values and the anomaly labels included in each record of the proximity measurement data, and a value of a log-likelihood function based on the temporal approximation function defined by the temporal approximation function parameters; the approximation function value calculation unit calculates each of the conditional probability values based on the spatial proximity values of each record included in the spatial conditional probability data and the spatial approximation function defined by the spatial approximation function parameters, and stores each of the calculated conditional probability values in each of the records included in the spatial conditional probability data; The approximation function value calculation unit calculates each of the conditional probability values based on the temporal proximity values of each record included in the temporal conditional probability data and the temporal approximation function defined by the temporal approximation function parameters, and stores each of the calculated conditional probability values in each of the records included in the temporal conditional probability data.
4. 4. The system of claim 3, the spatial approximation function is a logistic function defined by two spatial approximation function parameters; The system, wherein the temporal approximation function is a logistic function defined by two of the temporal approximation function parameters.
5. 4. The system of claim 3, The conditional probability data creation unit further includes a conditional probability adjustment unit, the conditional probability adjustment unit calculates an adjustment weight for each record included in the spatial conditional probability data based on the spatial proximity value and each data point by the anomaly label included in each record of the proximity measurement data, and adjusts and updates the value of the conditional probability based on the spatial proximity value for each record included in the spatial conditional probability data using the adjustment weight; The conditional probability adjustment unit calculates adjustment weights for each record included in the temporal conditional probability data based on the temporal proximity values and each data point with the anomaly label included in each record of the proximity measurement data, and uses the adjustment weights to adjust and update the value of the conditional probability based on the temporal proximity value for each record included in the temporal conditional probability data.
6. 3. The system of claim 2, the proximity measurement data creation unit includes a spatial proximity calculation unit, a temporal proximity calculation unit, a causal proximity calculation unit, and a proximity aggregation unit; the spatial proximity calculation unit calculates an inter-sensor distance for each combination of two sensors based on geometric data indicating coordinate information of each of the sensors, and creates spatial proximity data; each of the records included in the spatial proximity data has a timestamp, specific information of two sensors, and the spatial proximity value, which is information based on the distance between the sensors; the temporal proximity calculation unit calculates a simultaneity score between time-series data for each combination of two sensors based on the time-series data obtained from each of the sensors, and creates temporal proximity data; Each record included in the temporal proximity data has a timestamp, specific information of two sensors, and the temporal proximity value, which is information based on the simultaneity score; the causal proximity calculation unit estimates each combination of a cause-side sensor and a result-side sensor based on failure report data and the time-series data obtained from each of the sensors, and calculates a p-value of a hypothesis test for a null hypothesis of a causal relationship between the time-series data obtained from the cause-side sensor and the time-series data obtained from the result-side sensor for the estimated combination, thereby creating causal proximity data; the failure report data includes, for each failure event, report information consisting of identifying information of a sensor corresponding to the failure event and information on the cause of the failure or information on the effect of the failure; Each record included in the causal proximity data has a timestamp, specific information of a sensor on the cause side, specific information of a sensor on the result side, and the causal proximity value which is information based on the p-value; The proximity aggregation unit creates each record included in the proximity measurement data based on the spatial proximity data, the temporal proximity data, and the causal proximity data, the record having a timestamp, identification information of two sensors, the temporal proximity value, the spatial proximity value, and the causal proximity value.
7. 7. The system of claim 6, The system further includes an asset data collector; the asset data collection unit periodically collects coordinate information of each of the sensors and stores the geometric data; Each record included in the geometric data has a timestamp, specific information of a sensor, and information indicating the coordinate information; the asset data collection unit periodically acquires information on sensor values provided from each of the sensors and stores the time-series data; Each record included in the time-series data has a timestamp and information indicating the sensor value for each sensor, the asset data collection unit collects, for each failure event, report information consisting of specific information of a sensor corresponding to the failure event and information on the cause of the failure or information on the effect of the failure, and stores the failure report data; A system in which each record included in the failure report data has a timestamp and identification information of the sensor corresponding to the failure event, and also has one or both of information regarding the cause of the failure and information regarding the effect of the failure.
8. 8. The system of claim 7, The system further includes a fault detection unit; the failure detection unit identifies a sensor corresponding to a failure event and a timestamp corresponding to the failure event based on information indicating the sensor value for each sensor included in each record included in the time-series data, The anomaly detection unit identifies a record of the proximity measurement data corresponding to an anomaly based on the proximity measurement data, the specific information of the sensor corresponding to the failure event identified by the failure detection unit, and a timestamp corresponding to the failure event, and sets the anomaly label of the identified record of the proximity data to a value indicating an anomaly.
9. 2. The system of claim 1, The system further comprises a root cause estimator; the root cause estimation unit creates estimation data based on specific information of a sensor corresponding to a failure event and the Bayesian network data; A system in which each record included in the estimation data has specific information of a candidate sensor corresponding to what is estimated to be the root cause of the failure event, and a conditional probability value associated with the candidate sensor.
10. 10. The system of claim 9, The system further includes an asset data collection unit, a fault detection unit, and a non-proximity sensor cutoff unit; the asset data collection unit periodically acquires information on sensor values provided from each of the sensors and stores the time-series data; Each record included in the time-series data has a timestamp and information indicating the sensor value for each sensor, the failure detection unit identifies a sensor corresponding to a failure event and a timestamp corresponding to the failure event based on information indicating the sensor value for each sensor included in each record included in the time-series data, the non-proximity sensor cutoff unit identifies one or both of sensors that are not adjacent to the sensor corresponding to the failure event and sensors that are not close to the sensor corresponding to the failure event based on the proximity measurement data, the identification information of the sensor corresponding to the failure event identified by the failure detection unit, and a timestamp corresponding to the failure event, and determines to exclude the identified sensors from candidates for sensors that are presumed to be the root cause of the failure event; the root cause estimation unit excludes the sensor to be excluded determined by the non-proximity sensor cutoff unit from the Bayesian network indicated by the Bayesian network data, sets a probability score for the sensor corresponding to the failure event to 1, and then executes a belief propagation algorithm on the Bayesian network to determine a probability score for each sensor; the root cause estimation unit creates, for each sensor whose probability score satisfies a predetermined condition, a record included in the estimation data; Each record included in the estimation data has the probability score as the value of the conditional probability.
11. 11. The system of claim 10, The system further comprises a Bayesian network update unit; the asset data collection unit collects, for each failure event, report information consisting of specific information of a sensor corresponding to the failure event and information on the cause of the failure or information on the effect of the failure, and stores the failure report data; Each record included in the failure report data has a timestamp and identification information of a sensor corresponding to a failure event, and also has one or more of information on the cause of the failure, information on the effect of the failure, and identification information of a sensor corresponding to a root cause of the failure event; the Bayesian network update unit searches the failure report data for information indicating a fact related to a sensor corresponding to a root cause of the failure event; the Bayesian network update unit, when information indicating a fact related to a sensor corresponding to a root cause of a failure event is present in the failure report data, compares identification information of the sensor corresponding to the root cause of the failure event indicated by the fact with identification information of a candidate sensor corresponding to the estimated root cause of the failure event, which is included in a record whose conditional probability value satisfies a predetermined condition, among records included in the estimation data; The Bayesian network update unit updates and stores the value of the conditional probability of each record included in the Bayesian network data using a residual indicating the discrepancy between the facts indicated by the failure report data and the estimated content indicated by the estimated data regarding a sensor corresponding to the root cause of a failure event.
12. 2. The system of claim 1, The system further includes a display output control unit; The display output control unit controls the display or output of information contained in one or both of the proximity measurement data and the conditional probability data.
13. 2. The system of claim 1, A system in which, in the absence of the proximity measurement data, conditional probability data, and Bayesian network data, for at least one combination of two sensors in the plurality of sensors, the relationship between the sensor value provided by one sensor and the sensor value provided by the other sensor in the two sensors is ambiguous.
14. A method performed by a system, comprising: a proximity measurement data creation step of creating proximity measurement data based on information obtained from a plurality of sensors, wherein each record included in the proximity measurement data has a timestamp, specific information of two sensors, and a proximity value between one sensor and the other sensor of the two sensors for each domain; an anomaly detection step of identifying a record of the proximity measurement data corresponding to an anomaly based on information obtained from a plurality of sensors and the proximity measurement data, and setting an anomaly label of the identified record of the proximity measurement data to a value indicating an anomaly; a conditional probability data creation step of creating conditional probability data for each of the domains based on the proximity measurement data, the conditional probability data for each of the domains indicating a correspondence between the proximity value for that domain and a value of a conditional probability that when one sensor is in a first predetermined state, the other sensor will be in a second predetermined state between two sensors having a relationship indicated by the proximity value; A method comprising: a Bayesian network creation step of creating Bayesian network data based on the proximity measurement data and conditional probability data for each of the domains, wherein each record included in the Bayesian network data has specific information for a sensor on the cause side, specific information for a sensor on the result side, specific information for the state of the sensor on the cause side, and a value for the conditional probability that the sensor on the result side will be in a specific state.
15. A program, The program includes: a proximity measurement data creation step of creating proximity measurement data based on information obtained from a plurality of sensors, wherein each record included in the proximity measurement data has a timestamp, specific information of two sensors, and a proximity value between one sensor and the other sensor of the two sensors for each domain; an anomaly detection step of identifying a record of the proximity measurement data corresponding to an anomaly based on information obtained from a plurality of sensors and the proximity measurement data, and setting an anomaly label of the identified record of the proximity measurement data to a value indicating an anomaly; a conditional probability data creation step of creating conditional probability data for each of the domains based on the proximity measurement data, the conditional probability data for each of the domains indicating a correspondence between the proximity value for that domain and a value of a conditional probability that when one sensor is in a first predetermined state, the other sensor will be in a second predetermined state between two sensors having a relationship indicated by the proximity value; A program for executing a Bayesian network creation step that creates Bayesian network data based on the proximity measurement data and conditional probability data for each of the domains, wherein each record included in the Bayesian network data has specific information for a sensor on the cause side, specific information for a sensor on the result side, specific information for the state of the sensor on the cause side, and a value for the conditional probability that the sensor on the result side will be in a specific state.