Causal search method and causal search device
The causal search method integrates prior knowledge to enhance the accuracy and reduce calculation time in creating directed acyclic graphs, addressing the limitations of SCORE by optimizing leaf node estimation and pruning processes.
Patent Information
- Application Number
- JP2024106852
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-02
- Publication Date
- 2026-01-16
AI Technical Summary
Existing causal discovery methods like SCORE do not easily allow the incorporation of prior knowledge, limiting their ability to improve accuracy and reduce calculation time when such knowledge is available.
A causal search method that incorporates prior knowledge by using a graph creation unit to estimate leaf nodes and create a directed acyclic graph, followed by a pruning process that utilizes correct answer information about directed edges, thereby enhancing the utilization of prior knowledge.
The method efficiently utilizes prior knowledge to create accurate directed acyclic graphs with reduced calculation time, improving the precision and efficiency of causal discovery.
Smart Images

Figure 2026007227000001_ABST
Abstract
Description
[Technical Field]
[0001] The present embodiment relates to a causal search method and a causal search device. [Background technology]
[0002] Causal discovery has been a topic of technological development for some time. Causal discovery is a technique for estimating causal relationships between multiple variables (e.g., sensor data from a factory) based on a data set in which multiple data (e.g., multiple data in a time series) are associated with each variable. Specifically, a directed acyclic graph (causal graph) is created from such a data set, with variables as nodes.
[0003] There is a method for causal discovery called SCORE. SCORE first infers leaf nodes from nodes corresponding to multiple variables, then excludes those leaf nodes and infers further leaf nodes from the remaining nodes. This process is repeated to infer the causal order between nodes and create a directed acyclic graph. Then, a predetermined index value is calculated for each directed edge of the directed acyclic graph, and a branch pruning process is performed to remove directed edges whose relationship between the index value and a threshold value satisfies a predetermined condition. SCORE has been confirmed to be more accurate and faster than other causal discovery methods. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] Paul Rolland, Volkan Cevher, Matthaus Kleindessner, Chris Russell, Dominik Janzing, Bernhard Scholkopf, Francesco Locatello. Score matching enables causal discovery of nonlinear additive noise models. Proceedings of the 39th International Conference on Machine Learning, PMLR 162:18741-18753, 2022. [Non-patent document 2] Peter Buhlmann, Jonas Peters, Jan Ernest. CAM: Causal additive models, high-dimensional order search and penalized regression. The Annals of Statistics, 42(6):2526-2556, 2014. [Non-patent document 3] Shohei Shimizu, Takanori Inazumi, Yasuhiro Sogawa, Aapo Hyvarinen, Yoshinobu Kawahara, Takashi Washio, Patrik O. Hoyer, Kenneth Bollen. DirectLiNGAM: A direct method for learning a linear non-Gaussian structural equation model. Journal of Machine Learning Research, Vol. 12, pp.1225-1248, 2011. Summary of the Invention [Problem to be solved by the invention]
[0005] In general, when the correct causal graph structure is partially known, this known information is called prior knowledge. For example, the causal search method DirectLiNGAM allows prior knowledge to be easily input, and by using prior knowledge, it is possible to improve accuracy and reduce calculation time.
[0006] However, SCORE is a method that does not allow prior knowledge to be easily input, and there is a problem that even if prior knowledge exists, it is not easy to utilize it. The reason for this is that the processing procedure does not allow prior knowledge to be easily input algorithmically.
[0007] Therefore, one of the objectives of this embodiment is to provide a causal discovery method and a causal discovery device that can utilize prior knowledge when creating a directed acyclic graph by repeating leaf node estimation based on a data set in which multiple data are associated with each of multiple variables. [Means for solving the problem]
[0008] The causal search method of this embodiment includes: a graph creation step in which a graph creation unit, based on a data group in which a plurality of data items are associated with each of a plurality of variables, infers leaf nodes from nodes corresponding to the plurality of variables, and then excludes the leaf nodes and infers leaf nodes from the remaining nodes, thereby repeating the process to estimate a causal order between nodes and create a directed acyclic graph consisting of the nodes and directed edges based on the causal order; and a pruning processing step in which a pruning processor calculates a predetermined index value for each of the directed edges of the directed acyclic graph and performs pruning processing to remove directed edges whose relationship between the index value and a threshold value satisfies a predetermined condition. In the graph creation step, the graph creation unit creates the directed acyclic graph using prior knowledge given in advance, the prior knowledge including correct answer information regarding the presence or absence of directed edges between some nodes. [Effects of the Invention]
[0009] According to the causal search method of this embodiment, when creating a directed acyclic graph by repeatedly estimating leaf nodes based on a data set in which multiple data are associated with each of multiple variables, it is possible to utilize prior knowledge including correct answer information regarding the presence or absence of directed edges between some nodes. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram illustrating a functional configuration of an information processing apparatus according to an embodiment. [Figure 2] FIG. 2 is an explanatory diagram of an overview of directed acyclic graph processing according to the prior art and the embodiment. [Figure 3] FIG. 3 is a flowchart showing a directed acyclic graph creation process in the prior art. [Figure 4] FIG. 4 is a flowchart showing a directed acyclic graph creation process in the embodiment. [Figure 5] FIG. 5 is an explanatory diagram of an outline of the branch pruning process according to the prior art and the embodiment. [Figure 6] FIG. 6 is a flowchart showing a pruning process in the prior art. [Figure 7] FIG. 7 is a flowchart showing the branch pruning process in the embodiment. [Figure 8] FIG. 8 is a table showing an example of a data group in the embodiment. [Figure 9] FIG. 9 is a diagram showing an example of the results of performing a directed acyclic graph creation process according to the prior art on the data group shown in FIG. [Figure 10] FIG. 10 is a diagram showing an example of prior knowledge and correct adjacency matrices used in the directed acyclic graph creation process in the embodiment for the data group in FIG. [Figure 11] FIG. 11 is a diagram showing an example of the results of executing the directed acyclic graph creation process in the embodiment on the data group in FIG. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the causal exploration method and causal exploration device of the present invention will be described with reference to the drawings. Fig. 1 is a block diagram showing the functional configuration of an information processing device 1 (causal exploration device) according to the embodiment.
[0012] 1 is a block diagram showing the functional configuration of an information processing device 1 according to an embodiment. The information processing device 1 is a computer device, and includes a processing unit 2, a storage unit 3, an input unit 4, a display unit 5, and a communication unit 6.
[0013] The storage unit 3 is realized by, for example, a random access memory (RAM), a read only memory (ROM), a solid state drive (SSD), a hard disk drive (HDD), etc., and stores various types of information. The storage unit 3 stores, for example, the operation program of the processing unit 2, various types of data, various types of calculation results, etc. The storage unit 3 also stores various setting information and a data group in which multiple data (for example, multiple data in a time series) are associated with each of multiple variables (for example, sensor data in a factory).
[0014] The processing unit 2 is realized by, for example, a CPU (Central Processing Unit) and executes various information processing. The processing unit 2 includes, for example, an acquisition unit 21, a graph creation unit 22, a branch pruning processing unit 23, and a control unit 24 as functional components.
[0015] The acquisition unit 21 acquires various types of information. The acquisition unit 21 acquires a data group and various types of setting information from the storage unit 3, for example.
[0016] The graph creation unit 22 estimates the causal order between nodes by repeating the process of estimating leaf nodes from nodes corresponding to each of a plurality of variables based on a data group, excluding the leaf nodes, and estimating leaf nodes from the remaining nodes, and creates a directed acyclic graph consisting of nodes and directed edges based on the causal order. In this case, the graph creation unit 22 creates the directed acyclic graph using prior knowledge that is given in advance and includes correct answer information regarding the presence or absence of directed edges between some nodes. Details will be described later.
[0017] The pruning processor 23 calculates a predetermined index value for each directed edge of the directed acyclic graph created by the graph creator 22, and executes pruning processing to remove any directed edge for which the relationship between the index value and a threshold value satisfies a predetermined condition. In this case, the pruning processor 23 performs pruning processing using prior knowledge. Details will be described later.
[0018] The control unit 24 executes various controls, and for example, displays various information on the display unit 5.
[0019] The input unit 4 is a means for the user to input information, and is realized by, for example, a keyboard or a mouse.
[0020] The display unit 5 is a means for displaying information, and is realized by, for example, an LCD (Liquid Crystal Display).
[0021] The communication unit 6 is a communication interface for communicating with an external device (not shown).
[0022] A specific example will be explained below. SCORE will be taken as an example of conventional technology. SCORE creates a causal graph (directed acyclic graph) from a data group (input data) using the following (Step 1) and (Step 2).
[0023] (Step 1) Determine the causal order from the data set and generate a DAG (Directed Acyclic Graph) from that causal order.
[0024] (Step 2) Pruning is performed on the DAG created in (Step 1) to obtain the final DAG. The pruning is performed, for example, using the method described in Non-Patent Document 2 above.
[0025] In this embodiment, prior knowledge is introduced for each of (Procedure 1) and (Procedure 2). First, (Procedure 1) will be described in detail.
[0026] FIG. 2 is an explanatory diagram outlining directed acyclic graph processing according to the prior art and an embodiment. FIG. 2(a) shows the case of SCORE, a prior art technique. First, a leaf node is estimated from all nodes as shown in (a1). Then, as shown in (a2), node 6 is assumed to be estimated as a leaf node. In this case, node 6 is excluded, and a leaf node is estimated from the remaining nodes as shown in (a3). Here, node 9 is assumed to be estimated as a leaf node. By repeating this process for all nodes, the causal order is determined and a directed acyclic graph is generated.
[0027] 2(b) shows the case of this embodiment. First, as shown in (b1), it is assumed that the information that node 1 is the parent of node 2, node 8 is the parent of node 9, and node 6 is a leaf node is given as prior knowledge.
[0028] In this case, as shown in (b2), node 6 can be inferred as a leaf node without any calculation. Next, node 6 is excluded, and leaf nodes are inferred from the remaining nodes as shown in (b3). In this case, since nodes 1 and 8 cannot be leaf nodes, leaf nodes are inferred from the remaining nodes 2, 3, 4, 5, 7, and 9. Here, we assume that node 9 is inferred as a leaf node.
[0029] Next, node 9 is excluded, and leaf nodes are inferred from the remaining nodes as shown in (b4). At this time, node 1 cannot be a leaf node, so it is excluded from the inference target. However, since node 9 has been excluded, node 8 can be a leaf node, so it is added to the inference target. By repeating this process for all nodes, the causal order is determined and a directed acyclic graph is generated.
[0030] 3 is a flowchart showing the process of creating a directed acyclic graph in the prior art (SCORE). In step S1, a data set (input data: X∈R n×d (n: number of samples, d: number of variables)
[0031] Next, in step S2, initial settings (causal order array π=[], node array nodes={1, . . . , d}) are performed.
[0032] Next, for k=1, the processes of steps S3 to S6 are performed. In step S3, the data group X is used to estimate which node will become the leaf node l from the node array nodes.
[0033] Next, in step S4, l is added to the causal order array π. Next, in step S5, l is excluded from the node array nodes.
[0034] Next, in step S6, the column corresponding to l is excluded from the data group X. Next, in step S7, it is determined whether k is equal to d, and if Yes, the process ends, and if No, the process proceeds to step S8.
[0035] In step S8, k is incremented by 1. Thereafter, the processes of steps S3 to S6 are performed for k = 2. After that, the processes of steps S3 to S6 are performed for k up to k = d, and the result of step S7 is Yes, terminating the process.
[0036] 4 is a flowchart showing the directed acyclic graph creation process in the embodiment. In step S11, the acquisition unit 21 acquires a data set (input data: X=[x1,...,x d ]∈R n×d (n: number of samples, d: number of variables)
[0037] Next, in step S12, the acquisition unit 21 acquires the prior knowledge (A knw =[a ji knw ]∈R d×d ) to get the a ji knw = "0" x i From x j The arrow (directed edge) does not connect to. "1" x i From x j An arrow connects to . "-1" x i From x j It is unclear whether the arrow connects to or not.
[0038] Next, in step S13, the processing unit 2 performs initial settings (causality order array π=[], node array nodes={1, . . . , d}).
[0039] Next, for k=1, the processes of steps S14 to S19 are performed. In step S14, the graph creating unit 22 uses prior knowledge A knw The target nodes to be used for estimation from the node array nodes using target Specifically, the following is selected:
[0040] <Target nodes target Selection method> Prior knowledge (A knw =[a ji knw ]∈R d×d ), the following proposition holds: (Proposition 1) For any i, for all j such that i≠j, a jiknw When =0 holds, i is a leaf node. (Proposition 2) For i, j where i≠j, a ji knw = 1 ji knw exists, then i is not a leaf node.
[0041] Using the above propositions 1 and 2, we extract the target nodes from the node array nodes. target is calculated using steps 11 to 13 below. (Step 11)A knw Extract the part corresponding to the node array nodes (where the number of nodes is m (1≦m≦d)) from A nodes knw ∈R m×m Let's say.
[0042] (Step 12)A nodes knw Check whether there is any node for which Proposition 1 holds, and select the nodes for which it holds as nodes target Add to. (Step 13) nodes target If the number of nodes is not 0, the process ends. target If the number of nodes is 0, target =nodes, and check whether there are any nodes for which Proposition 2 holds. If there are any nodes for which Proposition 2 holds, set them as nodes target Exclude from.
[0043] Next, in step S15, the graph creation unit 22 extracts the target nodes nodes from the data group X. target Target data set X from which the columns corresponding to target Create a.
[0044] Next, in step S16, the graph creation unit 22 calculates the target data group X target Using the target nodes target The leaf node l is estimated from the
[0045] Next, in step S17, the graph creation unit 22 adds 1 to the causal order array π. Next, in step S18, graph creation unit 22 excludes l from the node array nodes.
[0046] Next, in step S19, the graph creation unit 22 removes the column corresponding to l from the data group X. Next, in step S20, the processing unit 2 determines whether k is equal to d, and if Yes, ends the processing, and if No, proceeds to step S21.
[0047] In step S21, the processing unit 2 increments k by 1. Thereafter, the processing unit 2 performs the processes of steps S14 to S19 for k = 2. After that, the processing unit 2 performs the processes of steps S14 to S19 for k up to k = d, and then the answer in step S20 becomes Yes, and the processing ends.
[0048] In this way, when estimating a leaf node, the conventional technique estimates it from the node array nodes, whereas the technique of this embodiment estimates the target node nodes target The estimation is performed from among the nodes. target Since the number of nodes is equal to or less than the number of nodes, the method of this embodiment (steps S14 to S19 in FIG. 4) requires a smaller amount of calculation in the iterative processing (steps S3 to S6 in FIG. 3, steps S14 to S19 in FIG. 4).
[0049] Next, we will explain (Step 2) of SCORE. Figure 5 is an explanatory diagram outlining the pruning process of the conventional technology (SCORE) and the embodiment. Figure 5(a) shows the case of the conventional technology (SCORE). If pruning is performed from the state shown in (a1) and the directed edge between nodes 3 and 5 and the directed edge between nodes 4 and 5 are cut, the state shown in (a2) will result. However, if the correct causal graph is shown in (a3), then the pruning process was incorrect.
[0050] On the other hand, Figure 5(b) shows the case of this embodiment. In the state shown in (b1), it is assumed that, based on prior knowledge, it is known that directed edge A2 is not connected, and that directed edge A3 is connected. In this case, first, using that prior knowledge, directed edge A2 is cut, resulting in the state shown in (b2). After that, a branch pruning process is performed, cutting the directed edge between nodes 4 and 5, resulting in the state shown in (b3). This is the correct answer, and the branch pruning process has been performed correctly. In other words, using prior knowledge can improve accuracy.
[0051] 6 is a flowchart showing the branch pruning process in the prior art. In step S31, the adjacency matrix before branch pruning (B=[b ji ]∈R d×d ) to get the b ji = "0" x i From x j The arrow doesn't connect to. "1" x i From x j An arrow connects to .
[0052] Next, for k=1, the processes of steps S32 to S35 are performed. In step S32, node k is set as a child node, b ki All nodes i that satisfy ∑ i = 1 are set as parent nodes.
[0053] Next, in step S33, modeling is performed using a GAM (general additive model) with the child nodes as objective variables and the parent nodes as explanatory variables.
[0054] Next, in step S34, a P value for each child node is calculated to confirm the independence of the child node from each parent node.
[0055] Next, in step S35, a branch pruning process is performed using the P value. Specifically, a threshold is set for the P value, and for parent nodes i that exceed the threshold, b ki Change it to =0.
[0056] Next, in step S36, it is determined whether k is equal to d, and if Yes, the process ends, and if No, the process proceeds to step S37.
[0057] In step S37, k is incremented by 1. Thereafter, the processes of steps S32 to S35 are performed for k = 2. After that, the processes of steps S32 to S35 are performed for k up to k = d, and the result of step S36 becomes Yes, and the process ends.
[0058] 7 is a flowchart showing the branch pruning process in the embodiment. In step S41, the acquisition unit 21 acquires from the storage unit 3 the adjacency matrix before branch pruning (B=[b ji ]∈R d×d ) to get the b ji = "0" x i From x j The arrow doesn't connect to. "1" x i From x j An arrow connects to .
[0059] Next, in step S42, the acquisition unit 21 acquires the prior knowledge (A knw =[a ji knw ]∈R d×d ) to get the a ji knw = "0" x i From x j The arrow doesn't connect to. "1" x i From x j An arrow connects to . "-1" x i From x j It is unclear whether the arrow connects to or not.
[0060] Next, for k=1, the processes of steps S43 to S47 are performed. In step S43, the branch pruning unit 23 changes the elements of the adjacency matrix using prior knowledge. ki knw For all i = 1, bki =1. Also, a ki knw For all i = 0, b ki Change it to =0.
[0061] Next, in step S44, the branch cutting unit 23 divides the node k into a child node, b ki All nodes i that satisfy ∑ i = 1 are set as parent nodes.
[0062] Next, in step S45, the branch pruning unit 23 performs modeling using a GAM (general additive model) with the child nodes as objective variables and the parent nodes as explanatory variables.
[0063] Next, in step S46, the branch pruning unit 23 calculates a P value for each child node in order to confirm the independence of each parent node from the child node.
[0064] Next, in step S47, the branch pruning unit 23 performs branch pruning processing using the P value. Specifically, a threshold value is set for the P value, and a branch pruning process is performed for a ki knw For parent node i with ≠ 1, b ki Change it to =0.
[0065] Next, in step S48, the processing unit 2 determines whether k is equal to d, and if Yes, ends the processing, and if No, proceeds to step S49.
[0066] In step S49, the processing unit 2 increments k by 1. Thereafter, the processing of steps S43 to S47 is performed for k = 2. After that, the processing of steps S43 to S47 is performed for k up to k = d, and the result in step S48 becomes Yes, and the processing ends.
[0067] Next, an example of processing using a sample data group will be described with reference to Fig. 8 to Fig. 11. Fig. 8 is a table showing an example of a data group in the embodiment. Data group X∈R 1000×9 is, for example, time series data from nine sensors in a given facility.
[0068] 9 shows an example of the results of a directed acyclic graph creation process performed using conventional technology on the data set shown in FIG. 8. (a) shows the result of creating a directed acyclic graph without prior knowledge. (b) shows the correct directed acyclic graph. It can be seen that the arrows from node x2 to node x6 and from node x1 to node x6 have not been derived, and that the arrow from node x8 to node x3 has been derived despite being unnecessary.
[0069] Fig. 10 is a diagram showing an example of (a) prior knowledge and (b) correct adjacency matrix used in the directed acyclic graph creation process in the embodiment for the data group in Fig. 8. The prior knowledge in (a) indicates that nodes x4 and x6 are leaf nodes (nine consecutive "0"s), nodes x1 and x2 are parent nodes of x6 ("1" at those locations), and node x8 is the parent node of x4 ("1" at those locations).
[0070] 11 is a diagram showing an example of the results of executing the directed acyclic graph creation process in the embodiment for the data group in FIG. 8. (a) is the result of creating a directed acyclic graph with prior knowledge. (b) is the correct directed acyclic graph. The two are consistent, indicating improved accuracy.
[0071] In addition, the execution environment was an Intel (registered trademark) Core i5-7300U CPU with 16GB of memory, and the processing time was 8.54 seconds for the conventional technology and 7.30 seconds for this embodiment, which shows that the calculation time was shorter.
[0072] As described above, according to the information processing device 1 of this embodiment, when creating a directed acyclic graph by repeatedly inferring leaf nodes based on a data set in which multiple data are associated with multiple variables, it is possible to utilize prior knowledge including correct answer information regarding the presence or absence of directed edges between some nodes, thereby making calculations more efficient.
[0073] Also, when performing the pruning process, prior knowledge can be utilized as described above. This can improve the accuracy.
[0074] Here, the difference from the method in which DirectLiNGAM uses prior knowledge will be explained. <DirectLiNGAM Algorithm> 1. Discover one exogenous variable (root node) and add it to the causal order. 2. Remove the influence that the discovered exogenous variable has on other variables, and then exclude it from the data. 3. Return to 1. and repeat until all variables are gone. 4. Based on the determined causal order, estimate the weights of the adjacency matrix using the least squares method.
[0075] <Method of Using Prior Knowledge in the Case of DirectLiNGAM> Prior knowledge is used in parts 1 and 2 of the above algorithm. ※ Assume that as prior knowledge, it is known which ones will be exogenous variables, which ones will not be exogenous variables, and which variables do not affect each other. By using the information on which ones will be exogenous variables and which ones will not be exogenous variables in algorithm 1, the discovery of exogenous variables is made more efficient, and by using the information on which variables do not affect each other in algorithm 2, the process of excluding the influence is made more efficient.
[0076] On the other hand, the method of this embodiment is different in that it does not use information on whether a node will be a root node from prior knowledge as in DirectLiNGAM, but uses information on whether a node will be a leaf node from prior knowledge.
[0077] The program executed by the information processing device 1 of this embodiment can be provided by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD (Compact Disc)-ROM (Read Only Memory), a flexible disk (FD), a CD-R (Recordable), or a DVD (Digital Versatile Disk).The program may also be provided or distributed via a network such as the Internet.
[0078] Although an embodiment of the present invention has been described above, this embodiment is presented as an example and is not intended to limit the scope of the invention. This novel embodiment can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. This embodiment and its modifications are included within the scope and spirit of the invention, and are also included in the invention and its equivalents as defined in the claims.
[0079] [Summary of this embodiment] This embodiment has at least the following configuration.
[0080] The causal search method includes a graph creation step in which a graph creation unit, based on a data group in which a plurality of data items are associated with each of a plurality of variables, infers leaf nodes from nodes corresponding to the plurality of variables, and then excludes the leaf nodes and infers leaf nodes from the remaining nodes, thereby repeating the process to infer a causal order between nodes and create a directed acyclic graph consisting of the nodes and directed edges based on the causal order, and a branch pruning step in which a branch pruning processor calculates a predetermined index value for each of the directed edges of the directed acyclic graph and performs branch pruning processing to remove directed edges whose relationship between the index value and a threshold value satisfies a predetermined condition. In the graph creation step, the graph creation unit creates the directed acyclic graph using prior knowledge given in advance, the prior knowledge including correct answer information regarding the presence or absence of directed edges between some nodes.
[0081] With this configuration, when creating a directed acyclic graph by repeatedly estimating leaf nodes based on a data set in which multiple data are associated with each of multiple variables, prior knowledge including correct answer information regarding the presence or absence of directed edges between some nodes can be utilized.
[0082] In addition, in the pruning processing step, the pruning processing unit performs the pruning processing using the prior knowledge.
[0083] With this configuration, prior knowledge can be utilized when carrying out branch pruning processing.
[0084] The effects of the dependent claims and embodiments are additional effects that are different from the effects of the independent claims. [Explanation of symbols]
[0085] 1...information processing device (causal search device), 2...processing unit, 3...storage unit, 4...input unit, 5...display unit, 6...communication unit, 21...acquisition unit, 22...graph creation unit, 23...branch pruning processing unit, 24...control unit
Claims
1. a graph creation step in which a graph creation unit repeats a process of estimating a leaf node from a node corresponding to each of a plurality of variables based on a data group in which a plurality of data items are associated with each of a plurality of variables, excluding the leaf node and estimating a leaf node from the remaining nodes, thereby estimating a causal order between nodes and creating a directed acyclic graph consisting of the nodes and directed edges based on the causal order; a pruning processing step in which a pruning processing unit calculates a predetermined index value for each of the directed edges of the directed acyclic graph and performs pruning processing to eliminate the directed edges whose relationship between the index value and a threshold value satisfies a predetermined condition, A causal search method in which, in the graph creation step, the graph creation unit creates the directed acyclic graph using prior knowledge given in advance, the prior knowledge including correct answer information regarding the presence or absence of directed edges between some nodes.
2. The causal search method according to claim 1 , wherein in the pruning step, the pruning processing unit performs the pruning process using the prior knowledge.
3. a graph creation unit that, based on a data group in which a plurality of data items are associated with a plurality of variables, infers a leaf node from a node corresponding to each of the plurality of variables, excludes the leaf node, and infers a leaf node from the remaining nodes, thereby repeating the process of inferring a causal order between nodes and creates a directed acyclic graph consisting of the nodes and directed edges based on the causal order; a pruning processing unit that calculates a predetermined index value for each of the directed edges of the directed acyclic graph and performs pruning processing to remove the directed edges whose relationship between the index value and a threshold value satisfies a predetermined condition, The graph creation unit creates the directed acyclic graph using prior knowledge that is given in advance and that includes correct answer information regarding the presence or absence of directed edges between some nodes.