causal analysis
Patent Information
- Application Number
- CN201980010742.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-06-06
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2039-06-06
Smart Images

Figure CN112352235B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this disclosure generally relate to the field of machine learning, and particularly to methods, systems, and computer program products for causal analysis. Background Technology
[0002] In many fields such as market research, manufacturing, healthcare, and retail, discovering the causes and ways in which things happen and identifying strategies to make desired outcomes occur has become a pressing need. Therefore, the goal is to provide a causal analysis system that not only offers insights into the causes and ways in which things happen, but also predicts the effects of a strategy when it is implemented, or recommends the optimal strategy to make desired outcomes occur. Summary of the Invention
[0003] In general, the exemplary embodiments of this disclosure provide methods, systems, and computer program products for causal analysis.
[0004] In a first aspect, a computer-implemented method is provided. The method includes determining a first causal structure from observation samples of multiple factors, each observation sample including a set of observations of the multiple factors; presenting the first causal structure to a user; in response to receiving at least one user input from the user regarding the first causal structure, performing an action associated with the at least one user input based on the first causal structure; and presenting the result of the action to the user.
[0005] In a second aspect, a computer-implemented method is provided. The method includes acquiring an observation sample of multiple factors and a causal structure indicating causal relationships among the multiple factors, each observation sample including a set of observations of the multiple factors; in response to identifying a target factor among the multiple factors, determining at least one factor influencing the target factor from the multiple factors based on the causal structure; for each of the at least one factor, estimating the overall causal effect of that factor on the target factor based on the observation sample and the causal structure; and ranking the at least one factor based on the corresponding overall causal effect of the at least one factor on the target factor.
[0006] In a third aspect, a system is provided. The system includes a processing unit and a memory coupled to the processing unit. The memory stores instructions that, when executed by the processing unit, perform actions including: determining a first causal structure from observation samples of multiple factors, each observation sample including a set of observations of the multiple factors; presenting the first causal structure to a user; in response to receiving at least one user input from the user regarding the first causal structure, performing an action associated with the at least one user input based on the first causal structure; and presenting the result of the execution of the action to the user.
[0007] In a fourth aspect, a system is provided. The system includes a processing unit and a memory coupled to the processing unit. The memory stores instructions that, when executed by the processing unit, perform actions including: acquiring observation samples of multiple factors and a causal structure indicating causal relationships among the multiple factors, each observation sample including a set of observations of the multiple factors; in response to identifying a target factor among the multiple factors, determining at least one factor influencing the target factor based on the causal structure; estimating the overall causal effect of the at least one factor on the target factor based on the observation samples and the causal structure for each of the at least one factor; and ranking the at least one factor based on its corresponding overall causal effect on the target factor.
[0008] In a fifth aspect, a computer program product is provided. The computer program product is tangibly stored on a machine-readable medium and includes machine-executable instructions. When executed on a device, the machine-executable instructions cause the device to perform the method according to the first aspect of this disclosure.
[0009] In a sixth aspect, a computer program product is provided. The computer program product is tangibly stored on a machine-readable medium and includes machine-executable instructions. When executed on a device, the machine-executable instructions cause the device to perform the method according to a second aspect of this disclosure.
[0010] It should be understood that this summary is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of these embodiments. Other features of these embodiments will become readily apparent from the following description. Attached Figure Description
[0011] The above and other objects, features and advantages of this disclosure will become more apparent from the more detailed description of some embodiments thereof in the accompanying drawings, wherein like reference numerals generally refer to like components of the embodiments thereof.
[0012] Figure 1A An example environment in which embodiments of the invention may be implemented is shown;
[0013] Figure 1B Another example environment in which embodiments of the invention can be implemented is shown;
[0014] Figure 2A An example system for causal analysis according to some embodiments of the present disclosure is shown;
[0015] Figure 2B A block diagram of an example causal analysis engine according to some embodiments of the present disclosure is shown;
[0016] Figure 2C Block diagrams of example data processing modules and example causal structure discovery modules in a causal analysis engine according to some embodiments of the present disclosure are shown;
[0017] Figure 2D A block diagram of an example causal analysis module in a causal analysis engine according to some embodiments of the present disclosure is shown;
[0018] Figure 2E A block diagram of an example user interface module according to some embodiments of the present disclosure is shown;
[0019] Figure 3 The interaction between a user interface module and a causal analysis engine according to some embodiments of the present disclosure is illustrated;
[0020] Figure 4 Example methods for causal analysis according to some embodiments of this disclosure are shown;
[0021] Figures 5A-5E Example cause-effect graphs according to some embodiments of this disclosure are shown;
[0022] Figure 6 Example methods for causal analysis according to some embodiments of this disclosure are shown;
[0023] Figure 7 Examples of determining the overall causal effect of a causal factor on a target factor according to some embodiments of the present disclosure are shown;
[0024] Figure 8 A general process for causal analysis according to some embodiments of this disclosure is illustrated; and
[0025] Figure 9 This is a simplified block diagram of an apparatus suitable for implementing embodiments of the present disclosure. Detailed Implementation
[0026] The principles of this disclosure will now be described with reference to some exemplary embodiments. It should be understood that these embodiments are described for illustrative purposes only and to assist those skilled in the art in understanding and implementing this disclosure, and do not imply any limitation on the scope of this disclosure. The disclosure described herein can be implemented in various ways besides the methods described below.
[0027] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.
[0028] As used herein, unless the context explicitly indicates otherwise, the singular forms “a,” “an,” and “the” are also intended to include the plural forms. The term “comprising” and its variations should be interpreted as open-ended terms meaning “including, but not limited to.” The term “based on” should be interpreted as “at least partially based on.” The terms “an embodiment” and “embodiment” should be interpreted as “at least one embodiment.” The term “another embodiment” should be understood as “at least one other embodiment.” The terms “first,” “second,” etc., may refer to different or the same objects. Other definitions (explicit and implicit) may be included below.
[0029] In some examples, values, processes, or devices are referred to as “best,” “lowest,” “highest,” “smallest,” “maximum,” etc. It should be understood that such descriptions are intended to indicate that a choice can be made among many functional alternatives used, and that such a choice is not necessarily better, smaller, higher, or otherwise preferred than other choices.
[0030] As mentioned above, in many fields such as market research, manufacturing, healthcare, and retail, discovering the causes and ways things happen and finding strategies to make desired outcomes possible has become an urgent need. For example, in market research, people want to know which factors influence customer satisfaction for telecommunications operators and how to improve it. In product manufacturing, people want to know which factors influence product output and how to increase it. In retail, people want to know which factors influence product sales and how to increase them. In software development, people want to know which factors influence software failure rates and how to reduce them. Therefore, there is a need for a causal analysis system that can discover causal relationships between multiple factors and, based on these relationships, recommend strategies to influence target factors among them.
[0031] Some conventional solutions support causal analysis manually and require a lot of human interaction to perform causal analysis, which leads to inefficiency and cannot meet the above-mentioned needs in different fields.
[0032] Embodiments of this disclosure provide a solution for causal analysis to address the aforementioned problems and / or one or more other potential problems. In this solution, causal relationships between multiple factors can be automatically discovered from observed samples of multiple factors. A causal structure representing this causal relationship can be presented to a user. The user can adjust this causal structure to incorporate prior knowledge, thereby optimizing the discovered causal structure. The user can specify a target factor among multiple factors and retrieve one or more key factors that have the greatest effect on the target factor from among the multiple factors. Furthermore, the solution can evaluate the effect of strategies input by the user to influence the target factor. The solution can also recommend the optimal strategy that enables the target factor to achieve the user's desired value.
[0033] As used herein, the term "factor" is also referred to as "variable." The term "observation sample" refers to a set of observations of multiple factors that can be directly observed, and factors that can be directly observed are also called "observable variables" or "observable factors." The term "target factor" refers to a factor that people expect to influence. For example, in market research, observable factors may include factors related to customer attributes (such as customer level, customer phone number, etc.), factors related to customer behavior (such as monthly data usage, the percentage of free data, the total cost of monthly data usage, etc.), factors related to customer feedback (e.g., number of complaints, customer satisfaction), and factors related to strategies (e.g., number of reminders for specific events, etc.). Customer satisfaction can be considered a target factor. As another example, in software development, observable factors may include the amount of human resources used for software development, the duration of software development, the number of functions, the number of lines of code, the programming language used for software development, the software failure rate, etc. For example, the software failure rate can be considered a target factor. An observation sample may include a set of observations of observable factors.
[0034] Some exemplary embodiments of this disclosure will be described below with reference to the accompanying drawings. However, those skilled in the art will readily understand that the detailed description of these drawings provided herein is for illustrative purposes only and does not imply any limitation on the scope of this disclosure.
[0035] Figure 1A An example environment 100 in which embodiments of the invention can be implemented is shown. For example... Figure 1AAs shown, environment 100 may include user 110, causal analysis server 120, and data collection device 130. Causal analysis server 120 may include user interface module 121, causal analysis engine 122, and database 123. It should be understood that the structure of environment 100 and / or causal analysis server 120 is shown for illustrative purposes only and does not imply any limitation on the scope of this disclosure. Embodiments of this disclosure can also be applied to different environments with different structures and / or different causal analysis servers with different components.
[0036] In some embodiments, the data collection device 130 may be configured to automatically collect observation samples of multiple factors. Each observation sample may include a set of observations of multiple factors. In some embodiments, the data collection device 130 may include one or more sensors for collecting observation samples. Alternatively, in some embodiments, the data collection device 130 may include one or more collection units for collecting observations of different types of factors, respectively.
[0037] In some embodiments, the data collection device 130 may transmit the collected observation samples to the causal analysis server 120 for subsequent storage, processing, and / or analysis. For example, the observation samples collected by the data collection device 130 may be transmitted to the causal analysis server 120 via the user input interface module 121. The observation samples may then be transmitted from the user input interface module 121 to the causal analysis engine 122 for subsequent storage, processing, and / or analysis. For example, the causal analysis engine 122 may discover causal relationships between multiple factors and / or perform causal analysis based on the observation samples. Alternatively, in some embodiments, the data collection device 130 may be omitted. For example, the observation samples may be input to the server 120 by the user 110.
[0038] In some embodiments, user 110 may communicate with causal analysis system 120. For example, user 110 may input user information, observation samples, one or more requests, useful knowledge, and / or one or more configurations for causal analysis to causal analysis server 120 via user input interface module 121. User input may be transmitted from user input interface module 121 to causal analysis engine 122. In some embodiments, in response to receiving user input, causal analysis engine 122 may perform one or more actions for causal analysis associated with the user input and present one or more results or feedback to user 110 via user interface module 121. Causal analysis engine 122 may store the received data, generated structures, expert knowledge, and / or any useful information in database 123 for later use.
[0039] Figure 1BAnother example environment 105 in which embodiments of the invention can be implemented is shown. For example... Figure 1B As shown, environment 105 may include user 110, data collection device 130 (which is connected to...) Figure 1A The data collection device 130 shown is the same as or similar to the user device 140 and the causal analysis server 160. For example, the user device 140 may communicate with the causal analysis server 160 via a network 150 (such as the Internet). It should be understood that the structure of environment 105, user device 140 and / or causal analysis server 120 is shown for illustrative purposes only and does not imply any limitation on the scope of this disclosure. Embodiments of this disclosure may also be applied to different environments, different user devices and / or different causal analysis servers.
[0040] As used herein, the term "user equipment" can refer to any device with wireless or wired communication capabilities. Examples of user equipment include, but are not limited to, user equipment (UE), personal computers, desktop computers, mobile phones, cellular phones, smartphones, personal digital assistants (PDAs), portable computers, image capture devices (such as digital cameras), gaming devices, music storage and playback devices, or internet devices that enable wireless or wired internet access and browsing.
[0041] like Figure 1B As shown, for example, user equipment 140 may include user interface module 121 (which is connected to, for example, user interface module 121). Figure 1A (The user interface module 121 shown is the same as or similar to the one shown) and a local database 141. In some embodiments, user equipment 140 may receive observation samples from data collection device 130 via user interface module 121, and / or receive user input from user 110 via user interface module 121. User equipment 140 may store the received observation samples, data, expert knowledge, and / or useful information in local database 141 for later use. User equipment 140 may also transmit the received observation samples, data, and / or information to causal analysis server 160 via network 150 for subsequent processing and / or analysis.
[0042] like Figure 1B As shown, for example, causal analysis server 160 may include causal analysis engine 122 (which, along with, for example, Figure 1A(The causal analysis engine 122 shown is the same as or similar to the one shown) and database 161. In some embodiments, in response to receiving observation samples of multiple factors, the causal analysis engine 122 can discover causal relationships between the multiple factors and / or perform causal analysis based on the observation samples. In response to receiving user input (such as user information, observation samples, one or more requests, useful knowledge, and / or one or more configurations for causal analysis), the causal analysis engine 122 can perform one or more actions for causal analysis associated with the user input and transmit one or more results or feedback back to user device 140. The causal analysis engine 122 can store the received data, the generated structure, expert knowledge, and / or any useful information in database 161 for later use. User device 140 can present one or more results or feedback to user 110 via user interface module 121.
[0043] Figure 2A A general system 200 for causal analysis according to some embodiments of the present disclosure is shown. Figure 2A As shown, the user interface module 121 can receive one or more inputs 201 from the user 110 and / or the data collection device 130. The user interface module 121 can transmit one or more inputs 201 to the causal analysis engine 122. The causal analysis engine 122 can perform actions associated with the one or more inputs 201. The causal analysis engine 122 can generate one or more outputs 202 by performing these actions. Alternatively or additionally, the causal analysis engine 122 can transmit one or more outputs 202 back to the user interface module 121 to present them to the user 110.
[0044] Figure 2B Example block diagrams of a user interface module 121 according to some embodiments of the present disclosure are shown. Figure 2B As shown, the user interface module 121 may include at least one of the following: a data input interface 210, a causal structure discovery interface 220, a causal structure evaluation interface 230, a causal graph management interface 240, and a policy management interface 250. It should be understood that... Figure 2B The interfaces shown are illustrated for illustrative purposes only and do not imply any limitation on the scope of this disclosure. User interface module 121 may provide any suitable number of interfaces suitable for implementing embodiments of this disclosure. For example, in some embodiments, user interface module 121 may also provide a login interface that allows user 110 to log in or log out of causal analysis engine 122.
[0045] In some embodiments, the data input interface 210 may allow user 110 or data collection device 130 to prepare data (such as an observed sample of multiple factors) in a format supported by the causal analysis engine 122. The data input interface 210 may also allow user 110 to convert sensitive information in the data into non-sensitive information.
[0046] like Figure 2B As shown, in some embodiments, the data input interface 210 may provide a data upload interface 211, which allows the user 110 or the data collection device 130 to upload data (such as an observed sample of multiple factors). The uploaded data can then be transmitted to the causal analysis engine 122.
[0047] Alternatively or additionally, in some embodiments, the data input interface 210 may also provide a preprocessing method selection interface 212, which allows the user 110 to select a data preprocessing method from one or more data preprocessing methods supported by the causal analysis engine 122, which can help improve data quality.
[0048] In some embodiments, the causal structure discovery interface 220 may provide a target factor selection interface 221, which allows user 110 to specify a target factor (such as customer satisfaction, product output, software failure rate, etc.) among multiple factors.
[0049] Alternatively or additionally, in some embodiments, the causal structure discovery interface 220 may also provide a discovery algorithm selection interface 222. The discovery algorithm selection interface 222 may present a set of causal discovery algorithms supported by the causal analysis engine 122 to the user 110 for selection. For example, different causal discovery algorithms may be suitable for different types of datasets, such as discrete data, continuous data, mixed data, etc. In some embodiments, the discovery algorithm selection interface 222 may allow the user 110 to select from this set of causal discovery algorithms a suitable causal discovery algorithm to be used in subsequent causal structure discovery.
[0050] Alternatively or additionally, in some embodiments, the causal structure discovery interface 220 may also provide a hyperparameter tuning interface 223, which allows the user 110 to adjust some hyperparameters of the selected causal discovery algorithm, thereby improving the speed and / or accuracy of causal structure discovery.
[0051] Alternatively or additionally, in some embodiments, the causal structure discovery interface 220 may also provide an expert knowledge input interface 224, which allows user 110 to input expert knowledge about causal relationships between multiple factors, thereby improving the speed and / or accuracy of causal structure discovery. Examples of expert knowledge may include, but are not limited to: a direct causal relationship exists between two factors; there is no direct causal relationship between two factors; one factor is an indirect cause of another factor; one set of factors is not a cause of another set of factors; and so on. The input expert knowledge may be stored in a database for later use.
[0052] Alternatively or additionally, in some embodiments, the causal structure discovery interface 220 may also provide a causal structure simplification interface 225, which allows the user 110 to initiate independent tests to optimize the discovered causal structure, for example, to remove some unreasonable causal relationships from the discovered causal structure.
[0053] In some embodiments, the causal structure evaluation interface 230 allows user 110 to initiate an evaluation of the discovered causal structure under various evaluation metrics and / or evaluation methodologies, thereby identifying the goodness of fit of the discovered causal structure to an observed sample of multiple factors. In some embodiments, the causal structure evaluation interface 230 can provide an evaluation metric / methodology selection interface 231, which allows user 110 to select the evaluation metrics and / or evaluation methodologies to be used to evaluate the discovered causal structure.
[0054] In some embodiments, the discovered causal structure can be represented as a graph, hereinafter also referred to as a "causal graph". For example, a causal graph may include multiple nodes corresponding to multiple factors and one or more edges connecting the multiple nodes. An edge connecting two nodes may indicate a causal relationship between the two factors corresponding to the two nodes, hereinafter also referred to as a "causal edge".
[0055] In some embodiments, the causal graph management interface 240 may provide a causal path search selection interface 241, which allows the user 110 to select any two factors from a plurality of factors and initiate a search for a causal path between the selected two factors.
[0056] Alternatively or additionally, in some embodiments, the causal graph management interface 240 may also provide a causal graph editing interface 242, which allows user 110 to edit the presented causal graph to input some expert knowledge for optimizing the causal graph. In some embodiments, the editing performed by user 110 on the causal graph may include any of the following: adding edges to the causal graph to indicate a direct causal relationship between two nodes; removing existing edges from the causal graph to indicate that there is no direct causal relationship between two nodes; redirecting existing edges in the causal graph to redirect the causal relationship between two nodes; or adding one or more labels to the causal graph to indicate some prior knowledge. The expert knowledge can then be used to optimize the discovered causal graph. In some embodiments, if the expert knowledge conflicts with previously stored knowledge, an indication of the conflict may be presented to user 110 via the causal graph management interface 240 (such as the causal graph editing interface 242).
[0057] Alternatively or additionally, in some embodiments, the cause-effect graph management interface 240 may also provide a factor combination selection interface 243, which allows user 110 to enable or disable factor combination operations on the discovered cause-effect graph. For example, factor combination operations can combine two or more factors in the discovered cause-effect graph into one factor to optimize or simplify the discovered cause-effect graph. Factor combination operations may be performed based on confirmatory factor analysis (CFA) or exploratory factor analysis (EFA).
[0058] In some embodiments, the causal structure discovery interface 220 may also provide a factor combination selection interface that is the same as or similar to the factor combination selection interface 243, so that factor combination operations can be performed before the discovery of causal structures, in order to facilitate the discovery of causal structures.
[0059] Alternatively or additionally, in some embodiments, the causal graph management interface 240 may also provide a key factor analysis interface 244, which allows user 110 to select target factors and input the number of key factors that influence the target factors to be retrieved. The key factor analysis interface 244 can then present the key factors influencing the target factors to user 110. For example, key factors can be ranked based on their causal effect on the target factors.
[0060] In some embodiments, the strategy management interface 250 may provide a strategy selection / control interface 251, which allows the user 110 to input constraints on one or more factors, such as product sales exceeding expected sales while the product price falls within the range of $5 to $9. The strategy selection / control interface 251 can then automatically present one or more control strategies that satisfy these constraints, and the corresponding effects of these control strategies.
[0061] Alternatively or additionally, the strategy management interface 250 may also provide a strategy evaluation interface 252, which allows the user 110 to input one or more strategies for evaluation. For example, the strategies input by the user 110 may indicate the value of at least one factor affecting the target factor. The strategy evaluation interface 252 can then present the corresponding effects of these strategies when they are executed, and will allow the user 110 to select the optimal strategy based on the presented effects.
[0062] It should be understood that each interface in the user interface module 121 described above can interact with the corresponding module or unit in the causal analysis engine 122. The following will refer to... Figure 2C-2E To describe an example module or unit in the causal analysis engine 122.
[0063] Figure 2C A block diagram of an example causal analysis engine 122 according to some embodiments of the present disclosure is shown. Figure 2C As shown, for example, the causal analysis engine 122 may include a data processing module 260, a causal structure discovery module 270, and a causal analysis module 280. It should be understood that the modules of the causal analysis engine 122 are shown for illustrative purposes only and do not imply any limitation on the scope of this disclosure. In some embodiments, the causal analysis engine 122 may include additional modules, and / or omit some of the modules shown. For example, in some embodiments, the data processing module 260 may be omitted.
[0064] In some embodiments, the data processing module 260 may receive observation data (such as an observation sample of multiple factors) from the data input interface 210 and perform data preprocessing on the received observation data. The data processing module 260 may also receive information from the causal structure discovery interface 220 and perform further processing to optimize the factors whose causal structure is to be discovered. Reference will be made below. Figure 2D To describe an example functional unit in the data processing module 260.
[0065] Figure 2D A block diagram of an example data processing module 260 according to some embodiments of the present disclosure is shown. Figure 2D As shown, for example, data processing module 260 may include at least one of the following: data preprocessing unit 261, factor engineering unit 262, and factor shrinking unit 263. It should be understood that the units of data processing module 260 are shown for illustrative purposes only and do not imply any limitation on the scope of this disclosure. In some embodiments, data processing module 260 may include additional units, and / or omit some of the units shown. For example, in some embodiments, factor engineering unit 262 and / or factor shrinking unit 263 may be omitted.
[0066] In some embodiments, data uploaded via data input interface 210 (e.g., observation samples of multiple factors) can be provided to data preprocessing unit 261 for data preprocessing. In some embodiments, data preprocessing unit 261 can provide data cleaning functionality that can process and clean up noisy data outside a reasonable range (e.g., age is 200, price discount is 1.2, etc.). In some embodiments, data preprocessing unit 261 can provide several methods to fill missing values in the data, such as using the mean, nearest neighbor, predicted value, etc. to fill missing values in the data. In some embodiments, data preprocessing unit 261 can provide data filtering functionality that can automatically remove observation samples / variables with missing rates exceeding a threshold set by user 110. Alternatively or additionally, in some embodiments, data preprocessing unit 261 can provide data statistical functionality that can perform statistics on the uploaded data, such as calculating the maximum, minimum, mean, or variance of each observable variable, calculating the missing rate of each observable variable, etc. The preprocessed data can also be stored in a database (e.g., such as...). Figure 1A The database shown is 123 or as follows Figure 1B The database shown in 161 is provided for later use.
[0067] In some embodiments, factor engineering unit 262 can analyze the characteristics of multiple factors based on observed samples and optimize multiple original factors into a new set of factors. These new factors can reflect the characteristics of the original factors, such as the rate of change of the original factors over a certain time period or in a certain dimension, to facilitate the discovery of causal relationships / structures. It should be understood that in some embodiments, factor engineering unit 262 may be omitted.
[0068] In some embodiments, as described above, the causal structure discovery interface 220 (such as the target factor selection interface 221) allows user 110 to specify a target factor (such as customer satisfaction, product output, software failure rate, etc.) among multiple factors. The factor shrinking unit 263 can receive indications of target factors from the causal structure discovery interface 220 and use some analytical technique to remove one or more factors that are unlikely to be the cause of the target factor from among the multiple factors, thereby improving the efficiency of the following causal relationship / structure discovery. It should be understood that in some embodiments, the factor shrinking unit 263 may be omitted.
[0069] Refer again Figure 2C In some embodiments, the causal structure discovery module 270 can discover causal relationships / structures between multiple factors from observed samples of multiple factors. The following will refer to... Figure 2D Describe an example functional unit in the causal structure discovery module 270.
[0070] Figure 2D A block diagram of an example causal structure discovery module 270 according to some embodiments of the present disclosure is shown. Figure 2D As shown, for example, the causal structure discovery module 270 may include at least one of a causal structure discovery unit 271 and a causal structure simplification unit 272. It should be understood that the units of the causal structure discovery module 270 are shown for illustrative purposes only and do not imply any limitation on the scope of this disclosure. In some embodiments, the causal structure discovery module 270 may include additional units, and / or omit some of the units shown. For example, in some embodiments, the causal structure simplification unit 272 may be omitted.
[0071] In some embodiments, as described above, the causal structure discovery interface 220 may allow user 110 to select a suitable causal discovery algorithm from a set of causal discovery algorithms to be used in the discovery of causal relationships. Alternatively or additionally, in some embodiments, the causal structure discovery interface 220 may also allow user 110 to adjust some hyperparameters of the selected causal discovery algorithm, thereby improving the speed and / or accuracy of causal analysis. Alternatively or additionally, in some embodiments, the causal structure discovery interface 220 may also allow user 110 to input expert knowledge about causal relationships between multiple factors, thereby improving the speed and / or accuracy of causal structure discovery. Instructions for the selected causal discovery algorithm, adjusted hyperparameters, and / or expert knowledge may be provided to the causal structure discovery module 270.
[0072] In some embodiments, the causal structure discovery module 270 can discover causal relationships between multiple factors from observed samples of multiple factors based on a selected causal discovery algorithm, adjusted hyperparameters, and / or expert knowledge. The causal structure discovery module 270 can generate a causal structure representing the discovered causal relationships. In some embodiments, the generated causal structure can be presented in different visual forms, such as tables, causal graphs, etc. In some embodiments, the generated causal structure can be presented as a causal graph. For example, a causal graph can include multiple nodes corresponding to multiple factors and one or more causal edges connecting the multiple nodes. In some embodiments, as described above, the user 110 can initiate independent tests to optimize the discovered causal structure via the causal structure discovery interface 220 (such as the causal structure simplification interface 225). In some embodiments, in this case, the causal structure simplification unit 272 can receive instructions from the causal structure simplification interface 225 and apply independent testing techniques to optimize the generated causal graph, such as removing some unreasonable causal edges from the generated causal graph. In some embodiments, the generated and / or optimized causal graph can be provided to the causal structure discovery interface 220 for presentation to the user 110. Additionally, the generated and / or optimized causal graphs can also be stored in a database (such as, e.g., ...). Figure 1A The database shown is 123 or as follows Figure 1B The database shown in 161 is provided for later use.
[0073] Refer again Figure 2C In some embodiments, the causal analysis module 280 can perform actions for causal analysis based on one or more user inputs via the causal structure evaluation interface 230, the causal graph management interface 240, and / or the policy management interface 250. Reference will be made below. Figure 2E To describe an example functional unit in the causal analysis module 280.
[0074] Figure 2E A block diagram of an example causal analysis module 280 according to some embodiments of the present disclosure is shown. Figure 2EAs shown, for example, the causal analysis module 280 may include a causal structure evaluation unit 281 that can interact with the causal structure evaluation interface 230, a graph analysis unit 282 that can interact with the causal graph management interface 240, and a strategy unit 283 that can interact with the strategy management interface 250. For example, the graph analysis unit 282 may include a causal path search function 291, a causal graph editing function 292, a factor combination function 293, and a key factor analysis function 294. The strategy unit 283 may include a strategy control / evaluation function 295 and a strategy prescription function 296. It should be understood that the units or functions in the causal analysis module 280 are shown for illustrative purposes only and do not imply any limitation on the scope of this disclosure. In some embodiments, the causal analysis module 280 may include additional units or functions, and / or omit some of the units or functions shown in the figures. For example, in some embodiments, the factor combination function 293 may be omitted.
[0075] In some embodiments, as described above, the causal structure evaluation interface 230 allows user 110 to initiate an evaluation of the discovered causal structure under various evaluation metrics and / or evaluation methodologies, thereby identifying the goodness of fit of the discovered causal structure to an observed sample of multiple factors. For example, the evaluation metric / methodology selection interface 231 allows user 110 to select the evaluation metrics and / or evaluation methodologies to be used to evaluate the discovered causal structure. Evaluation metrics can be absolute or relative metrics. Examples of absolute metrics may include, but are not limited to, the approximate root mean square error (RMSEA), standard root mean square residuals (SRMR), Bayesian information criterion (BIC), etc. RMSEA is related to the residuals in the model. RMSEA values range from 0 to 1, where a lower RMSEA value indicates a better model fit. For example, an acceptable model fit can be indicated by an RMSEA value of 0.05 or less. SRMR is a measure of overall poor fit based on the fitted residuals. An SRMR close to zero can indicate a good fit. A rule of thumb is that for a good fit, SRMR should be less than 0.05, while values less than 0.10 can be interpreted as acceptable. BIC is a score that balances data fit and model sparsity. For example, a model with the lowest BIC is preferred. Examples of relative indices may include, but are not limited to, the Comparison Fit Index (CFI), the Non-Normal Fit Index (NNFI), or the Tucker-Lewis Index (TLI). The CFI is equal to the difference function adjusted for sample size. The CFI ranges from 0 to 1, with larger values indicating a better model fit. A rule of thumb for this index is that 0.97 indicates a good fit relative to independent models, while values greater than 0.95 can be interpreted as an acceptable fit. The NNFI or TLI (which are equivalent) values range from 0 to 1, with larger values indicating a better model fit. An index greater than 0.97 indicates a good fit relative to independent models, while values greater than 0.95 can be interpreted as an acceptable fit.
[0076] In some embodiments, the causal structure evaluation unit 281 may be provided with instructions on selected evaluation metrics and / or evaluation methodologies. The causal structure evaluation unit 281 may evaluate the discovered causal structures under the selected evaluation metrics and / or evaluation methodologies, thereby identifying the goodness of fit of the discovered causal structures to an observed sample of multiple factors. The causal structure evaluation unit 281 may provide the evaluation results to the causal structure evaluation interface 230 for presentation to the user 110.
[0077] In some embodiments, a graph analysis unit 282, which includes at least one of a causal path search function 291, a causal graph editing function 292, a factor combination function 293, and a key factor analysis function 294, can interact with a causal graph management interface 240.
[0078] As described above, the causal graph management interface 240 (such as the causal path search selection interface 241) allows user 110 to select any two factors from a plurality of factors and initiate a search for a causal path between the selected two factors. In some embodiments, the selected factors may be provided to the causal path search function 291. The causal path search function 291 may search for a causal path between the selected two factors in a discovered causal structure (such as a causal graph). The causal path search function 291 may provide the causal path to the causal graph management interface 240 for presentation to user 110.
[0079] As described above, in some embodiments, the causal graph management interface 240 (such as the causal graph editing interface 242) can allow user 110 to edit the presented causal graph to input some expert knowledge for optimizing the causal graph. In some embodiments, the editing performed by user 110 on the causal graph may include any of the following: adding edges to the causal graph to indicate a direct causal relationship between two nodes; removing existing edges from the causal graph to indicate that there is no direct causal relationship between two nodes; redirecting existing edges in the causal graph to redirect the causal relationship between two nodes; or adding one or more labels to the causal graph to indicate some expert knowledge. The expert knowledge indicated by the editing of the causal graph can be compared with previously stored expert knowledge. In some embodiments, if a conflict exists, an indication of the conflict can be presented to user 110 via the causal graph management interface 240 (such as the causal graph editing interface 242). In some embodiments, if no conflict exists, the expert knowledge indicated by the editing of the causal graph can be stored in a database for later use. In addition, the expert knowledge indicated by the editing of the causal graph can be provided to graph analysis unit 282 (such as the causal graph editing function 292).
[0080] In some embodiments, the graph analysis unit 282 can rediscover causal relationships / structures among multiple factors based on expert knowledge and observed samples of multiple factors, and regenerate additional causal structures (such as additional causal graphs) representing the rediscovered causal relationships. The regenerated causal structure can integrate expert knowledge and reflect edits performed on the initial causal graph. For example, the regenerated causal structure can be provided to the causal graph management interface 240 for presentation to user 110. Additionally, the regenerated causal structure / graph can also be stored in a database (such as...). Figure 1A The database shown is 123 or as follows Figure 1B The database shown in 161 is provided for later use.
[0081] As described above, in some embodiments, the causal graph management interface 240 (e.g., factor combination selection interface 243) can allow user 110 to enable or disable factor combination operations on the discovered causal graph. Instructions for enabling or disabling factor combination operations can be provided to the graph analysis unit 282 (e.g., factor combination function 293). The factor combination function 293 can optimize or simplify the discovered causal graph by performing factor combination operations, combining two or more factors in the discovered causal graph into one factor. Factor combination operations can be performed based on confirmatory factor analysis (CFA) or exploratory factor analysis (EFA). The optimized or simplified causal graph can be provided to the causal graph management interface 240 for presentation to user 110. Additionally, the optimized or simplified causal structure / graph can also be stored in a database (e.g., such as...). Figure 1A The database shown is 123 or as follows Figure 1B The database shown in 161 is provided for later use.
[0082] As described above, in some embodiments, the causal graph management interface 240 (such as the key factor analysis interface 244) may allow user 110 to select a target factor and input the number of key factors that influence the target factor to be retrieved. The target factor and the number of key factors may be indicated to the graph analysis unit 282 (such as the key factor analysis function 294). In some embodiments, the key factor analysis function 294 may search the causal graph for those factors that influence the target factor. A score may be assigned to each factor to reflect its importance to the target factor. The key factor analysis function 294 may provide the key factors and their causal effects on the target factor to the causal graph management interface 240 for presentation to user 110. For example, in some embodiments, the causal graph management interface 240 may highlight one or more nodes corresponding to the key factors on the causal graph. Alternatively or additionally, the causal graph management interface 240 may also present a visual representation of the importance of the key factors (such as text, numbers, progress bars, pie charts, bar charts, etc.).
[0083] In some embodiments, the policy unit 283, which includes policy control / evaluation function 295 and policy prescription function 296, can interact with policy management interface 250.
[0084] As described above, in some embodiments, the strategy management interface 250 (e.g., strategy selection / control interface 251) may allow user 110 to input constraints on one or more factors, such as product sales exceeding expected sales while the product price falls within the range of $5 to $9. Constraints on one or more factors may be provided to strategy unit 283 (e.g., strategy prescription function 296). In some embodiments, strategy prescription function 296 may determine one or more strategies that satisfy the constraints based on a causal graph. In some embodiments, if strategy prescription function 296 cannot find a strategy that satisfies all constraints, it may attempt to find one or more strategies that satisfy at least some of the constraints. In some embodiments, strategy prescription function 296 may find one or more strategies that bring the predicted value of the target factor (e.g., product sales) close to the expected sales (e.g., the difference between the predicted and expected sales is below a threshold). Strategy prescription function 296 may provide the determined one or more strategies and their corresponding effects to strategy management interface 250 for presentation to user 110. Strategy management interface 250 may allow user 110 to select the optimal strategy based on the presented effects.
[0085] As described above, in some embodiments, the strategy management interface 250 (such as the strategy evaluation interface 252) can allow user 110 to input one or more strategies for evaluation. For example, the strategy input by user 110 can indicate the value of at least one factor affecting a target factor. The input strategy can be provided to strategy unit 283 (such as strategy control / evaluation function 295). In some embodiments, strategy control / evaluation function 295 can perform simulations to predict the value of the target factor based on a causal graph and the value of at least one factor indicated by the strategy. Strategy control / evaluation function 295 can provide the predicted value of the target factor to strategy management interface 250 for presentation to user 110. In this way, user 110 can anticipate the effect of the strategy when it is executed.
[0086] exist Figure 3 The text summarizes the interaction between the user interface module 121 and the causal analysis engine 122. For example... Figure 3 As shown and as referenced above. Figure 2B-2EThe data input interface 210 can interact with the data processing module 260. The causal structure discovery interface 220 can interact with the data processing module 260 and / or the causal structure discovery module 270. Observational data processed by the data processing module 260 can be provided to the causal structure discovery module 270. The causal structures discovered by the causal structure discovery module 270 can be provided to the causal analysis module 280, which includes a causal structure evaluation unit 281, a graph analysis unit 282, and a strategy unit 283. Figure 3 As shown and as referenced above. Figure 2B-2E The causal structure evaluation interface 230 can interact with the causal structure evaluation unit 281 in the causal analysis module 280. The causal graph management interface 240 can interact with the graph analysis unit 282 in the causal analysis module 280. The strategy management interface 250 can interact with the strategy unit 283 in the causal analysis module 280.
[0087] In some embodiments, the causal analysis engine 122 may also include a display control module (not shown in the figures). The display control module may control the display of discovered causal structures (such as causal graphs) in response to an operation by user 110. The display control module may be configured to perform at least one of the following actions: (1) indicating the causal importance of a factor to a target factor by changing at least one of the size and color of the factor; (2) indicating the causal importance between related factors by changing at least one of the thickness and color of the edges (or arrows) associated with the factor; (3) indicating whether a target factor is selected by changing the shape of the target factor in the causal graph; (4) presenting a graph in which factors with higher overall importance are ranked above other factors with lower overall importance; (5) repositioning factors in a particular shape (e.g., a circle) to show the density of causal relationships between factors; (6) scrambling factors in the causal graph according to causal importance to show a simplified graph with shorter edges (or arrows) between factors; (7) when user 110 selects a name for a factor. (7) Using animation (e.g., flashing) to indicate factors; (8) In response to a predetermined operation by user 110 (e.g., selecting a factor and holding it down for a period of time), indicating factors that have a direct causal relationship with the selected factor and the edges (or arrows) representing the direct causal relationship while hiding other factors; (9) In response to user 110 moving one or more factors by dragging and dropping, keeping the edges (or arrows) representing the causal relationship connected and moving those edges (or arrows); (10) In response to user 110 selecting a factor and holding it on the factor for a period of time to indicate a description of the factor; (11) Controlling the showing and hiding of the causal importance associated with the edges (or arrows) on the causal graph; (12) Controlling the showing and hiding of at least some edges (or arrows) on the causal graph according to the corresponding causal importance associated with the edges (or arrows); and so on. It should be understood that a corresponding operation interface may be included in the user interface module 121. This operation interface may be used by the user to trigger the execution of at least one of the above actions.
[0088] Figure 4 Example method 400 according to some embodiments of the present disclosure is shown. Method 400 can be derived from, for example... Figure 2A The causal analysis system 200 shown is used for implementation. In some embodiments, for example, method 400 can be implemented as... Figure 1A The causal analysis server 120 shown is implemented. Alternatively, in some embodiments, for example, method 400 can be implemented as follows: Figure 1B The method is implemented at the user equipment 140 and the causal analysis server 160 shown. It should be understood that method 400 may include additional boxes not shown, and / or some boxes shown may be omitted, and the scope of this disclosure is not limited thereto.
[0089] At box 410, a first causal structure indicating a first causal relationship between multiple factors is determined from observation samples of multiple factors, each observation sample including a set of observations of multiple factors.
[0090] In some embodiments, as described above, user 110 or data collection device 130 may upload observation samples of multiple factors via data input interface 210 (such as data upload interface 211). For example, each observation sample may include a set of observations of multiple factors. In some embodiments, the uploaded observation samples of multiple factors may be processed by data processing module 260 (such as one or more of data preprocessing unit 261, factor engineering unit 262, and factor shrinking unit 263). Causal structure discovery module 270 (such as causal structure discovery unit 271) may determine a first causal structure indicating a first causal relationship between multiple factors from the observation samples of multiple factors.
[0091] In some embodiments, as described above, the causal structure discovery interface 220 may allow user 110 to select a suitable causal discovery algorithm from a set of causal discovery algorithms to be used in the discovery of causal relationships. Alternatively or additionally, the causal structure discovery interface 220 may also allow user 110 to adjust some hyperparameters of the selected causal discovery algorithm, thereby improving the speed and / or accuracy of causal analysis. Alternatively or additionally, the causal structure discovery interface 220 may also allow user 110 to input expert knowledge about causal relationships between multiple factors, thereby improving the speed and / or accuracy of causal structure discovery. In some embodiments, the causal structure discovery module 270 (such as causal structure discovery unit 271) may discover a first causal relationship between multiple factors from an observed sample of multiple factors based on the selected causal discovery algorithm, adjusted hyperparameters, and / or expert knowledge.
[0092] In some embodiments, as described above, user 110 can initiate independent tests via causal structure discovery interface 220 (such as causal structure simplification interface 225) to optimize the discovered causal structure. In some embodiments, causal structure discovery module 270 (such as causal structure simplification unit 272) can receive instructions from causal structure simplification interface 225 and apply independent testing techniques to optimize or simplify the generated causal structure, such as removing unreasonable causal relationships from the generated causal structure.
[0093] At box 420, a first causal structure is presented to user 110. The generated causal structure can be presented in different visual forms (such as tables, causal graphs, etc.). In some embodiments, the first causal structure can be presented as a causal graph. For example, a causal graph may include multiple nodes corresponding to multiple factors and one or more causal edges connecting the multiple nodes. In the following, the phrases “causal structure,” “causal graph,” and “causal relationship” are used interchangeably. It should be understood that this is shown for illustrative purposes only and does not imply any limitation on the scope of this disclosure.
[0094] Figure 5A An example causal diagram 510 according to some embodiments of the present disclosure is shown. Figure 5A As shown, the cause-effect graph 510 includes multiple nodes 501, 502...506 corresponding to multiple factors. For descriptive purposes, node 501 may also be referred to as "factor 501"; node 502 may also be referred to as "factor 502"...node 506 may also be referred to as "factor 506". It should be understood that the number of factors in the cause-effect graph 510 is provided for illustrative purposes only and does not imply any limitation on the scope of this disclosure. Cause-effect graphs according to embodiments of this disclosure may include any suitable number of nodes or factors. It should also be understood that factors 501, 502... or 506 may have different meanings in different fields. For example, in the field of market research, factors 501, 502... or 506 may include any of the following: customer level, customer phone number, monthly data consumption, percentage of free data, total cost of monthly data consumption, number of complaints, customer satisfaction, etc. In the field of software development, Factors 501, 502, ..., or 506 may include any of the following: the amount of human resources used for software development, the duration of software development, the number of functions, the number of lines of code, the programming language used for software development, the software failure rate, etc.
[0095] like Figure 5AAs shown, the cause-effect graph 510 also includes multiple causal edges 511, 512, ..., 516 connecting multiple nodes 501, 502...506. For example, edge 511 from node 501 to node 503 may indicate that factor 501 is a direct cause of factor 503; edge 512 from node 502 to node 503 may indicate that factor 502 is a direct cause of factor 503... and edge 516 from node 505 to node 506 may indicate that factor 505 is a direct cause of 506. In some embodiments, the causal edges in the cause-effect graph 510 may have different colors. For example, if edge 511 has a first color (such as red), it indicates that the value of factor 503 can increase as the value of factor 501 increases. If edge 511 has a second color (such as blue) different from the first color, it indicates that the value of factor 503 can decrease as the value of factor 501 increases.
[0096] At box 430, it is determined whether at least one user input regarding the first causal structure has been received from user 110. In response to receiving at least one user input, at box 440, an action associated with the at least one user input is performed based on the first causal structure. Then, at box 450, the result of the action execution is presented to user 110.
[0097] In some embodiments, at least one user input may include an editing operation performed by user 110 on a first causal structure (such as a causal graph). As described above, for example, the causal graph management interface 143 may allow user 110 to edit the presented causal structure (such as a causal graph) to input some prior knowledge for optimizing the discovered causal structure. In some embodiments, the editing performed by user 110 on the causal graph may include any of the following: adding edges to the causal graph to indicate a direct causal relationship between two nodes; removing existing edges from the causal graph to indicate that there is no direct causal relationship between two nodes; redirecting existing edges in the causal graph to redirect the causal relationship between two nodes; and adding one or more labels to the causal graph to indicate some prior knowledge.
[0098] In some embodiments, the plurality of nodes may include a first node corresponding to a first factor among the plurality of factors (such as, Figure 5A Node 501 in the middle) and the second node corresponding to the second factor among multiple factors (such as, Figure 5A Node 503 in the first node), and at least one edge may include a first edge pointing from the first node to the second node to indicate that the first factor is a direct cause of the second factor (e.g., ...). Figure 5A(edge 511 in the graph). In some embodiments, the editing operation performed by user 110 on the causal graph may include removing the first edge from the causal graph to indicate that the first factor is not a direct cause of the second factor. Alternatively or additionally, in some embodiments, the editing operation performed by user 110 on the causal graph may include redirecting the first edge from the second node to the first node (e.g., redirecting edge 511 from node 503 to node 501) to indicate that the second factor is a direct cause of the first factor.
[0099] Alternatively or additionally, in some embodiments, the plurality of nodes may include a third node corresponding to a third factor among the plurality of factors (such as, Figure 5A Node 502 in the middle) and the fourth node corresponding to the fourth factor among multiple factors (such as, Figure 5A (Node 506 in the graph). In some embodiments, editing operations performed by user 110 on the causal graph may include adding a second edge to the causal graph from the third node to the fourth node to indicate that the third factor is a direct cause of the fourth factor. Alternatively or additionally, in some embodiments, editing operations performed by user 110 on the causal graph may include adding a first label to the causal graph associated with the third and fourth nodes to indicate that the third factor is an indirect cause of the fourth factor.
[0100] Alternatively or additionally, in some embodiments, the plurality of nodes includes a first group of nodes corresponding to a first group of factors among the plurality of factors and a second group of nodes corresponding to a second group of factors among the plurality of factors. In some embodiments, editing operations performed by user 110 on the cause-effect graph may include adding a second label to the cause-effect graph associated with the first group of nodes and the second group of nodes to indicate why the first group of factors is not a reason for the second group of factors.
[0101] In some embodiments, in response to user 110 performing an editing operation, prior information for optimizing the first causal structure can be determined from the editing operation. A second causal relationship between multiple factors different from the first causal relationship can be determined based on this information and observed samples of the multiple factors. A second causal structure representing the second causal relationship can then be presented to user 110. For example, the second causal structure can integrate prior information and reflect the editing performed on the first causal structure.
[0102] In some embodiments, at least one user input may include a first request for retrieving a first number of factors from a plurality of factors that influence a target factor. For example, the first request may indicate a target factor and a first number (i.e., the number of key factors to be retrieved) to the causal analysis system 200. As described above, for example, a causal graph management interface 240 (such as a key factor analysis interface 244) may allow user 110 to select a target factor and input the number of key factors to be retrieved that influence the target factor. In some embodiments, in response to receiving a first request, the causal graph management interface 240 (such as a key factor analysis interface 244) may determine the target factor and the first number (i.e., the number of key factors to be retrieved) from the first request. The target factor and the number of key factors may be indicated to the graph analysis unit 282 (such as a key factor analysis function 294).
[0103] In some embodiments, graph analysis unit 282 (such as key factor analysis function 294) can determine at least one factor influencing a target factor from a plurality of factors based on a first causal structure. For example, the at least one factor may include a factor that is a direct or indirect cause of the target factor. Graph analysis unit 282 (such as key factor analysis function 294) can estimate the corresponding causal effect of the at least one factor on the target factor based on an observed sample and the first causal structure. Graph analysis unit 282 (such as key factor analysis function 294) can rank the at least one factor (e.g., from high to low) based on the estimated causal effect, and select a first number of key factors (which have the greatest causal effect on the target factor) based on the ranking results.
[0104] In some embodiments, the first number of factors may correspond to a first number of nodes among a plurality of nodes in a causal graph. The causal graph management interface 240 may highlight the first number of nodes in the causal graph. Alternatively or additionally, the causal graph management interface 240 may present to the user 110 a visual representation indicating the causal effect of the first number of factors on the target factor.
[0105] Figure 5B An example cause-effect graph 510 according to some embodiments of the present disclosure is shown, which illustrates the key factors influencing the target factor. For example... Figure 5BAs shown, the two key factors 503 and 505 that have the greatest effect on the target factor 506 are highlighted on the causal graph 510. Specifically, node 505 is shown as larger than node 503, indicating that the causal effect of factor 505 on the target factor 506 (i.e., the importance of factor 505) exceeds the causal effect of factor 503 on the target factor 506 (i.e., the importance of factor 503). Alternatively, in some embodiments, other visual representations (such as text, numbers, progress bars, pie charts, bar charts, etc.) may be used to illustrate the corresponding causal effects of key factors on the target factor.
[0106] In some embodiments, at least one user input may include a second request for obtaining a strategy that enables a target factor among a plurality of factors to achieve a desired value. For example, the second request may indicate the target factor and its desired value to the causal analysis system 200. As described above, for example, a strategy management interface 250 (such as a strategy selection / control interface 251) may allow user 110 to input constraints on one or more factors, such as product sales exceeding expected sales while the product price falls within the range of $5 to $9. In some embodiments, in response to receiving the second request, the strategy management interface 250 (such as a strategy selection / control interface 251) may determine the target factor and its desired value from the second request. The target factor and its desired value may be indicated to a strategy unit 283 (such as a strategy prescription function 296).
[0107] In some embodiments, the strategy prescription function 296 may determine one or more strategies that satisfy the constraints based on a causal graph. In some embodiments, if the strategy prescription function 296 cannot find a strategy that satisfies all constraints, it may attempt to find one or more strategies that satisfy at least some of the constraints. In some embodiments, the strategy prescription function 296 may find one or more strategies that bring the predicted value of a target factor (e.g., the sales volume of a product) close to the expected sales volume (e.g., the difference between the predicted and expected sales volumes of a product is below a threshold). The strategy prescription function 296 may provide the determined one or more strategies and their corresponding effects (e.g., the predicted value of the target factor when these strategies are implemented) to the strategy management interface 250 for presentation to the user 110. The management interface 250 may allow the user 110 to select the optimal strategy based on the presented effects.
[0108] In some embodiments, at least one user input may include a third request to initiate an evaluation of a strategy regarding a target factor among a plurality of factors. For example, the third request may indicate the target factor to the causal analysis system 200. In some embodiments, the third request may be received by a strategy management interface 250 (such as a strategy evaluation interface 252). In some embodiments, in response to receiving the third request, the strategy management interface 250 (such as the strategy evaluation interface 252) may determine the target factor from the third request. The strategy management interface 250 (such as the strategy evaluation interface 252) may provide the indication of the target factor to a strategy unit 283 (such as a strategy control / evaluation function 295).
[0109] In some embodiments, the strategy control / evaluation function 295 may determine at least one factor influencing a target factor from a plurality of factors based on a first causal structure, and generate a substructure of the first causal structure based on the target factor and the at least one factor. In some embodiments, for example, the substructure may be represented as a subgraph of a causal graph, which may include a set of nodes corresponding to the target factor and the at least one factor, and one or more edges connecting the set of nodes. In some embodiments, the strategy control / evaluation function 295 may provide the substructure of the first causal structure (such as a subgraph) to a strategy management interface 250 (such as a strategy evaluation interface 252) for presentation to user 110, enabling user 110 to input one or more strategies for evaluation based on the presented substructure.
[0110] Figure 5C An example sub-figure 520 of a causal diagram 510 according to some embodiments of the present disclosure is shown. For example... Figure 5C As shown, a third request received from user 110 to initiate an evaluation of the strategy can indicate that the target factor is factor 506. In some embodiments, the third request can also indicate some additional information about at least one factor to be shown in the subgraph. For example, the third request can also indicate that the distance from each of the at least one factor to the target factor (i.e., the number of causal edges) should be below a threshold (e.g., in...). Figure 5C (2) For example Figure 5C As shown, at least one of the identified factors influencing the target includes three factors 503, 504, and 505. It can be seen that the distance from each of the three nodes 503, 504, and 505 to node 506 is less than 2. Specifically, Figure 5CThe corresponding values for three factors 503, 504, and 505, as well as the target factor 506, are also shown. For example, the values for factors 503, 504, 505, and 506 are shown as "50.03", "50.01", "50.05", and "50.08", respectively. In this way, user 110 can edit the values of one or more nodes among nodes 503, 504, and 505 to input control strategies affecting the target factor 506 for evaluation.
[0111] In some embodiments, the strategy management interface 250 (such as the strategy evaluation interface 252) may also receive strategies from user 110 for evaluation, which are input based on the presented substructure (such as subgraph 520). As described above, for example, the strategy management interface 250 (such as the strategy evaluation interface 252) may allow user 110 to input one or more strategies for evaluation. For example, the strategy input by user 110 may indicate the value of at least one factor affecting the target factor. The input strategy may be provided to strategy unit 283 (such as strategy control / evaluation function 295). In some embodiments, strategy control / evaluation function 295 may perform simulations to predict the value of the target factor based on the causal graph and the value of at least one factor indicated by the strategy. Strategy control / evaluation function 295 may provide the predicted value of the target factor to strategy management interface 250 as the result of strategy evaluation to user 110. In this way, user 110 can anticipate the effect of the strategy when it is executed.
[0112] Figure 5D and 5E Examples of evaluations of different strategies for influencing target factors are shown according to some embodiments of this disclosure. Figure 5D As shown, for example, user 110 can change the value of factor 503 from, for example... Figure 5C The value “50.03” shown is changed to “80”. The strategy control / evaluation function 295 can predict the values of factors 504, 505, and 506 that are affected by factor 503 based on causal relationships. For example, the predicted value for factor 504 is “53.04”, which differs from its predicted value of “80”. Figure 5C The original value shown is "50.01". The predicted value for factor 505 is "70.89", which differs from its predicted value. Figure 5C The original value shown is "50.05". The predicted value for target factor 506 is "65.62", which differs from its original value. Figure 5C The original value shown is "50.08". The predicted value can be presented to the user as the evaluation result. Figure 5E As shown, for example, user 110 can also change the value of factor 504 from, for example... Figure 5DThe value shown as "53.04" is changed to "70". The strategy control / evaluation function 295 can predict the value of factor 506, which is affected by factor 504, based on causal relationships. For example, the predicted value of factor 506 is "70.79", which differs from... Figure 5D The value shown is "65.62". Specifically, since the value of factor 504 is controlled by user 110, factor 504 is no longer affected by factor 504. Therefore, as... Figure 5E As shown, the causal edge 513, which indicates that factor 503 is the direct cause of factor 504, is removed from the causal graph 520.
[0113] Figure 6 An example method 600 for locating key factors influencing target factors, according to some embodiments of the present disclosure, is illustrated. Method 600 can be used in, for example... Figure 1A-1B The causal analysis engine 122 shown in 2A and / or 2C is implemented. For example, in some embodiments, method 600 may be implemented by the key factor analysis function 294 of the causal analysis module 280 in the causal analysis engine 122.
[0114] At box 610, the causal analysis engine 122 can acquire observed samples of multiple factors and causal structures indicating causal relationships among the multiple factors. In some embodiments, the observed samples of multiple factors can be received via user interface module 121 and stored in a database (such as...). Figure 1A The database shown is 123 or as follows Figure 1B The causal structure can be discovered and stored in the database 161 shown. This can be done by a causal analysis engine 122 (such as a causal structure discovery module 270). That is, the causal analysis engine 122 can obtain observation samples of multiple factors and causal structures from the database. Alternatively, in some embodiments, the causal analysis engine 122 can obtain observation samples of multiple factors from the user interface module 121 and acquire the causal structure by discovering the causal structure from the observation samples.
[0115] At box 620, in response to identifying the target factor among multiple factors, the causal analysis engine 122 can determine at least one factor influencing the target factor from among multiple factors based on the causal structure.
[0116] At box 630, the causal analysis engine 122 can estimate the overall causal effect of each of the at least one factor on the target factor based on the observed sample and causal structure. As used herein, "overall causal effect" can refer to the sum of the direct and indirect causal effects of the factor on the target factor. In some embodiments, the causal analysis engine 122 can estimate the overall causal effect of the factor on the target factor based on a causal effect estimation algorithm. It should be understood that the causal effect estimation algorithm can be any estimation algorithm or estimator currently known or to be developed in the future.
[0117] In some embodiments, the causal analysis engine 122 can identify one or more causal paths between a factor and a target factor from a causal structure. The causal analysis engine 122 can also estimate the causal effect of the factor on the target factor for each of the one or more causal paths. The causal analysis engine 122 can then determine the sum of the causal effects for the one or more causal paths as the overall causal effect of the factor on the target factor.
[0118] Figure 7 Examples of determining the overall causal effect of a causal factor on a target factor according to some embodiments of this disclosure are shown. Figure 7 As shown, the causal structure 700 may include factors 701, 702, ..., 706. Factor 705 is identified as the target factor. Suppose we want to determine the overall causal effect of factor 702 on target factor 705. The causal analysis engine 122 may first identify the causal path between factor 702 and target factor 705. For example, the causal paths between factor 702 and target factor 705 may include: (1) factor 702 → factor 705; (2) factor 702 → factor 706 → factor 705; (3) factor 702 → factor 701 → factor 706 → factor 705; (4) factor 702 → factor 703 → factor 704 → factor 705. The causal analysis engine 122 may estimate the corresponding causal effect of factor 702 on target factor 705 for the above four causal paths. Then, the causal analysis engine 122 may sum the estimated causal effects to obtain the overall causal effect of factor 702 on target factor 705.
[0119] Refer again Figure 6 At box 640, the causal analysis engine 122 can rank at least one factor based on the estimated overall causal effect of at least one factor on the target factor to obtain a sequence of key factors influencing the target factor.
[0120] In some embodiments, the overall causal effect of the causal factor on the target factor can be estimated as a positive or negative value. For example, a positive value may indicate that the observed value of the target factor increases as the value of the causal factor increases, while a negative value may indicate that the observed value of the target factor decreases as the value of the causal factor increases.
[0121] In some embodiments, the causal analysis engine 122 may determine the corresponding absolute value of the overall causal effect of at least one factor on a target factor, and then rank the at least one factor based on the determined absolute value.
[0122] A general process 800 for causal analysis according to some embodiments of this disclosure can be summarized in Figure 8 In the middle. For example Figure 8 As shown, the general process 800 may include one or more actions 810 for data collection (such as collection of observation samples), one or more actions 820 for data input (such as uploading observation samples), one or more actions 830 for data processing (such as data preprocessing, factor engineering, and / or factor shrinkage), one or more actions 840 for causal relationship / structure discovery, one or more actions 850 for outputting the discovered causal relationships / structures, one or more actions 860 for causal analysis, and one or more actions 870 for implementing a strategy. Process 800 may be performed more than once. It should be understood that process 800 may include additional actions not shown, and / or some actions shown may be omitted. It should also be understood that process 800 may be implemented by a single physical device or by multiple physical devices. The scope of this disclosure is not limited herein.
[0123] Based on the above, it can be seen that the embodiments of this disclosure achieve the automatic discovery of causal relationships among multiple factors. A causal structure representing this causal relationship can be presented to the user. The user can adjust this causal structure to input some prior knowledge, thereby optimizing the discovered causal relationship. Key factors influencing the target factor can be located among multiple factors. Furthermore, embodiments of this disclosure can evaluate the effect of strategies input by the user to influence the target factor. Embodiments of this disclosure can also recommend one or more optimal strategies to the user.
[0124] Figure 9 A schematic block diagram of a device 900 capable of implementing embodiments of the present disclosure is shown. For example, such as Figure 1A The causal analysis server 120 shown is as follows: Figure 1B The user equipment 140 or causal analysis server 160 shown, and / or such as Figure 1A-1B The causal analysis engine 122 shown in 2A and / or 2C can be implemented by device 900. For example... Figure 9As shown, device 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes based on computer program instructions stored in read-only memory (ROM) 902 or uploaded from storage unit 908 to random access memory (RAM) 903. RAM 903 also stores various programs and data required for the operation of device 900. CPU 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.
[0125] The following components in device 900 are connected to I / O interface 905: input unit 906, such as keyboard, mouse, etc.; output unit 907, such as various types of displays and speakers; storage unit 908, such as disk and optical disk; communication unit 909, such as network card, modem, wireless communication transceiver. Communication unit 909 allows device 900 to exchange data / information with other devices via computer networks such as the Internet and / or telecommunications networks.
[0126] The methods or processes described above, such as methods 400, 600, and / or process 800, can be executed by processing unit 901. For example, in some implementations, methods 400, 600, and / or process 800 can be implemented as computer software programs, which are tangibly contained in a machine-readable medium such as storage unit 908. In some implementations, the computer program can be partially or wholly loaded and / or installed on device 900 via ROM 902 and / or communication unit 909. When the computer program is uploaded to RAM 903 and executed by CPU 901, one or more steps of method 200 described above can be performed.
[0127] This disclosure can be a system, apparatus, device, method, and / or computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to perform aspects of this disclosure.
[0128] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0129] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper cables, fiber optic cables, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to computer-readable storage media within the respective computing / processing device.
[0130] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0131] Aspects of this disclosure have been described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0132] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0133] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0134] Flowcharts and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each box in a flowchart or block diagram may represent a module, code segment, or code portion, comprising one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the boxes may occur in a non-parallel order. For example, two consecutive boxes may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each box in a block diagram and / or flowchart, and combinations of boxes in block diagrams and / or flowcharts, may be implemented by a system based on dedicated hardware, or a combination of dedicated hardware and computer instructions, that performs the specified function or action.
[0135] The description of various embodiments of this disclosure has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, their practical application, or technical improvements to technologies found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A computer-implemented method, comprising: A first causal structure indicating a first causal relationship between said multiple factors is determined from observation samples of said multiple factors, each observation sample including a set of observations of said multiple factors; Present the first causal structure to the user; Based on the first causal structure and the constraints of at least some of the multiple factors, multiple strategies associated with a target factor among the multiple factors are determined, wherein the target factor is any one of the following: customer satisfaction in the market research field, product output in the product manufacturing field, product sales in the retail field, or software failure rate in the software development field. In response to receiving at least one user input from the user regarding the first causal structure, an action associated with the at least one user input is performed based on the first causal structure, wherein the at least one user input includes a third request for requesting the effect of a first policy among a plurality of policies being executed, wherein performing the action includes: in response to receiving the third request, determining the target factor from the third request; determining at least one factor influencing the target factor from the plurality of factors; generating a substructure of the first causal structure based on the target factor and the at least one factor; presenting the substructure of the first causal structure to the user; and in response to the first policy input by the user based on the substructure, executing the first policy to determine a predicted value for the corresponding target factor, wherein the third request also indicates additional information about the at least one factor to be shown in the substructure, so that the user can further input control policies influencing the target factor for evaluation by editing the additional information; and Presenting the result of the action to the user, wherein presenting the result of the action to the user includes: presenting the predicted value of the target factor to the user as the effect under the condition that the first strategy is executed.
2. The method of claim 1, wherein the at least one user input further includes an editing operation performed on the first causal structure, and wherein performing the action includes: Information for optimizing the first causal structure is determined from the editing operation; as well as Based on the information and the observed samples of the plurality of factors, a second causal structure is determined that indicates a second causal relationship between the plurality of factors, the second causal structure being different from the first causal structure.
3. The method of claim 2, wherein presenting the result to the user further comprises: The second causal structure is presented to the user, the second causal structure reflecting the editing operation performed on the first causal structure.
4. The method of claim 2, wherein the first causal structure is presented as a causal graph, the causal graph including a plurality of nodes corresponding to the plurality of factors and at least one edge connecting the plurality of nodes, the at least one edge indicating the first causal relationship between the plurality of factors, and The editing operations mentioned above include one of the following: Add an edge to the causal graph to connect two nodes among the plurality of nodes, indicating a direct causal relationship between the two nodes; Remove the edge connecting two nodes among the plurality of nodes from the causal graph to indicate that there is no direct causal relationship between the two nodes; Redirect the edge connecting two of the plurality of nodes to redirect the causal relationship between the two nodes; or Add one or more labels to the causal graph to indicate prior knowledge about the causal relationships between the plurality of nodes.
5. The method of claim 1, wherein the at least one user input further comprises a first request, the first request being configured to retrieve a first number of key factors influencing the target factor from the plurality of factors, and wherein performing the action comprises: In response to receiving the first request, the target factor and the first number are determined from the first request; Based on the first causal structure, at least one factor influencing the target factor is determined from the plurality of factors; Based on the observed samples and the first causal structure, determine the corresponding causal effect of the at least one factor on the target factor; as well as Based on the corresponding causal effect, the first number of key factors are selected from the at least one factor.
6. The method of claim 5, wherein presenting the result to the user further comprises: Present the first number of key factors to the user.
7. The method of claim 6, wherein presenting the result to the user further comprises: Present the user with the corresponding causal effects of the first number of key factors on the target factor.
8. The method of claim 1, wherein the at least one user input further comprises a second request, the second request being for obtaining a strategy that enables the target factor to achieve a desired value, and wherein performing the action comprises: In response to receiving the second request, the target factor and the expected value of the target factor are determined from the second request; as well as Based on the first causal structure and the expected value of the target factor, a strategy for configuring at least one of the plurality of factors is generated. The strategy indicates the value of the at least one factor such that the difference between the predicted value of the target factor based on the value of the at least one factor and the expected value of the target factor is below a threshold.
9. The method of claim 8, wherein presenting the result to the user further comprises: Present the strategy and / or the predicted values of the target factors to the user.
10. A system comprising: Processing unit; as well as A memory coupled to the processing unit and storing instructions thereon, the instructions performing actions when executed by the processing unit, the actions including: A first causal structure indicating a first causal relationship between said multiple factors is determined from observation samples of said multiple factors, each observation sample including a set of observations of said multiple factors; Present the first causal structure to the user; Based on the first causal structure and the constraints of at least some of the multiple factors, multiple strategies associated with a target factor among the multiple factors are determined, wherein the target factor is any one of the following: customer satisfaction in the market research field, product output in the product manufacturing field, product sales in the retail field, or software failure rate in the software development field. In response to receiving at least one user input from the user regarding the first causal structure, an action associated with the at least one user input is performed based on the first causal structure, wherein the at least one user input includes a third request for requesting the effect of a first policy among a plurality of policies being executed, wherein performing the action includes: in response to receiving the third request, determining the target factor from the third request; determining at least one factor influencing the target factor from the plurality of factors; generating a substructure of the first causal structure based on the target factor and the at least one factor; presenting the substructure of the first causal structure to the user; and in response to the first policy input by the user based on the substructure, executing the first policy to determine a predicted value for the corresponding target factor, wherein the third request also indicates additional information about the at least one factor to be shown in the substructure, so that the user can further input control policies influencing the target factor for evaluation by editing the additional information; and Presenting the result of the action to the user, wherein presenting the result of the action to the user includes: presenting the predicted value of the target factor to the user as the effect under the condition that the first strategy is executed.
11. The system of claim 10, wherein the at least one user input further includes an editing operation performed on the first causal structure, and wherein performing the action includes: Information for optimizing the first causal structure is determined from the editing operation; as well as Based on the information and the observed samples of the plurality of factors, a second causal structure is determined that indicates a second causal relationship between the plurality of factors, the second causal structure being different from the first causal structure.
12. The system of claim 11, wherein presenting the result to the user further comprises: The second causal structure is presented to the user, the second causal structure reflecting the editing operation performed on the first causal structure.
13. The system of claim 11, wherein the first causal structure is presented as a causal graph, the causal graph including a plurality of nodes corresponding to the plurality of factors and at least one edge connecting the plurality of nodes, the at least one edge indicating the first causal relationship between the plurality of factors, and The editing operations mentioned above include one of the following: Add an edge to the causal graph to connect two nodes among the plurality of nodes, indicating a direct causal relationship between the two nodes; Remove the edge connecting two nodes among the plurality of nodes from the causal graph to indicate that there is no direct causal relationship between the two nodes; Redirect the edge connecting two of the plurality of nodes to redirect the causal relationship between the two nodes; or Add one or more labels to the causal graph to indicate prior knowledge about the causal relationships between the plurality of nodes.
14. The system of claim 10, wherein the at least one user input further includes a first request for retrieving a first number of key factors affecting the target factor from the plurality of factors, and wherein performing the action includes: In response to receiving the first request, the target factor and the first number are determined from the first request; Based on the first causal structure, at least one factor influencing the target factor is determined from the plurality of factors; Based on the observed samples and the first causal structure, determine the corresponding causal effect of the at least one factor on the target factor; as well as Based on the corresponding causal effect, the first number of key factors are selected from the at least one factor.
15. The system of claim 14, wherein presenting the result to the user further comprises: Present the first number of key factors to the user.
16. The system of claim 15, wherein presenting the result to the user further comprises: Present the user with the corresponding causal effects of the first number of key factors on the target factor.
17. The system of claim 10, wherein the at least one user input further includes a second request for obtaining a strategy that enables the target factor to achieve a desired value, and wherein performing the action includes: In response to receiving the second request, the target factor and the expected value of the target factor are determined from the second request; as well as Based on the first causal structure and the expected value of the target factor, a strategy for configuring at least one of the plurality of factors is generated. The strategy indicates the value of the at least one factor such that the difference between the predicted value of the target factor based on the value of the at least one factor and the expected value of the target factor is below a threshold.
18. The system of claim 17, wherein presenting the result to the user further comprises: Present the strategy and / or the predicted values of the target factors to the user.
19. A computer program product tangibly stored on a machine-readable medium and comprising machine-executable instructions that, when executed on a device, cause the device to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Causal network generating system and causal relation data structure
CN105934754A
Bayesian causal relationship network models for healthcare diagnosis and treatment based on patient data
CN107111603A
Method and apparatus for training causal model
CN108629418A
Causal Relation Model Verification Method and System and Failure Cause Extraction System
US20180307219A1