Method and system for calculating interaction between feature quantities
Patent Information
- Application Number
- JP2021157769
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-28
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2041-09-28
AI Technical Summary
【0009】 本発明によれば、特徴量と事象との関連を容易に把握することができる。
Smart Images

Figure 0007629832000002 
Figure 0007629832000003 
Figure 0007629832000004
Abstract
Description
[Technical field]
[0001] The present invention relates to a technique for a feature quantity interaction calculation method and a feature quantity interaction calculation system. [Background technology]
[0002] Research on the human gut microbiota using metagenomic analysis technology has attracted a great deal of international attention. One of the main reasons is that it has become clear that there is a close relationship between the human gut microbiota and diseases. For example, in addition to colon-related diseases such as pseudomembranous colitis, it has been reported that the human gut microbiota is associated with obesity, diabetes, various autoimmune diseases, colon cancer, liver cancer, renal failure, heart failure, nervous system diseases, and mental and brain functions such as autism, which are related to lifestyle and dietary habits. Thus, recent research has revealed that the structure of the gut microbiota is involved in the function of the entire body regardless of the organ. By focusing on such relationships between the gut microbiota and diseases, it is expected that new treatments and preventions that are different from conventional ones will be possible for various diseases.
[0003] The intestinal microbiota has a very complex structure in which many species of bacteria interact with each other, and it also interacts with the health status of the host and the nutrients ingested by the host, affecting the host's physiological functions. As a result, the intestinal microbiota is thought to be involved in the onset of various diseases. Therefore, when analyzing the association between the intestinal microbiota and disease, it is important to consider the interactions between many factors, including external factors such as health status and ingested nutrients, in addition to factors within the intestinal microbiota. In association analysis in intestinal microbiota research, traditional statistical methods are often used. However, when dealing with a large number of factors in traditional statistical methods, multiple testing becomes a problem, so in recent years, machine learning methods, which are excellent at analyzing a large number of factors and their interactions, have been attracting attention.
[0004] Patent Document 1 states that "For patients who exhibit or may exhibit a primary disease or a comorbid disease, a pharmacological phenotype can be predicted by collecting pan-omics data, physiomic data, environmental data, sociomic data, demographic data, and outcome phenotype data over a period of time. A machine learning engine can generate statistical models based on training data from training patients to predict pharmacological phenotypes, including drug response and dosing, drug adverse events, disease and comorbidity risk, drug-gene interactions, drug-drug interactions, and polytherapy interactions. Further prediction capabilities can then be used to "To benefit, the models can be applied to new patient data to predict their pharmacological phenotype, allowing decision-making in clinical and research settings, including drug selection and dosing, modifications in medication regimens, optimization of polypharmacy, monitoring, etc., to benefit from additional predictive power, which can result in avoidance of adverse events and substance abuse, improved drug response, better patient outcomes, lower costs of treatment, public health benefits, and increased efficacy of research in pharmacology and other biomedical fields." An individual and cohort pharmacological phenotype prediction platform is disclosed (see abstract). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Special Publication No. 2020-520510 Summary of the Invention [Problem to be solved by the invention]
[0006] However, in the method presented in Patent Document 1, the machine learning model is used to predict the pharmacological phenotype of a new patient based on the patient's data, and therefore it is not possible to extract important factors in predicting the pharmacological phenotype from the model.
[0007] The present invention has been made in view of the above background, and an object of the present invention is to easily grasp the relationship between feature quantities and events. [Means for solving the problem]
[0008] In order to solve the above-mentioned problems, the present invention provides a method for implementing the above-mentioned steps, in which a computing device acquires data including a feature vector, which is a set of numerical values of feature values that are explanatory variables, and information about an event that is a target variable, and constructs a classification prediction model having a tree structure that classifies and predicts the event based on the feature vector; an interaction score calculation step, which calculates an interaction score that scores an interaction between the feature values and a degree of association with the event based on positions of the feature values that appear in nodes that constitute the classification prediction model and positions of the feature values in the classification prediction model obtained by shuffling the positions of the feature values that appear in the nodes; and an output step, which outputs the calculated interaction score to an output unit. the tree-structured classification prediction model is generated by a random forest, and the interaction score calculation step includes a first search branch number calculation step of calculating a number of search branches, which are paths from a root node to a branch node at which all of the target features appear, in each of the decision trees generated by the random forest; a first addition step of adding up the numbers of search branches for all of the decision trees; a shuffling step of shuffling features appearing in each of the decision trees; a second search branch number calculation step of calculating the number of search branches for each of the shuffled decision trees; a second addition step of adding up the numbers of search branches calculated in the second search branch number calculation step for all of the decision trees; an average calculation step of repeating the shuffling step to the second addition step a plurality of times and calculating an average value of results of the second addition step based on a result of the second addition step; and a subtraction step of subtracting the result of the average calculation step from the result of the first addition step. It is characterized by the above. Other solutions will be described in the embodiments as appropriate. Effect of the Invention
[0009] According to the present invention, the relationship between a feature amount and an event can be easily understood. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a computing system according to an embodiment of the present invention. [Diagram 2] 4 is a flowchart showing the procedure of an overall process performed in the first embodiment. [Diagram 3] FIG. 4 is a diagram showing an example of learning data in the first embodiment. [Figure 4] 13 is a flowchart showing a procedure for an interaction score calculation process executed in the first embodiment. [Figure 5A] This figure (part 1) shows a part of the decision tree obtained by applying random forest to training data. [Figure 5B]This is a second diagram showing a part of the decision tree obtained by applying random forest to training data. [Figure 5C] This figure (part 3) shows a part of the decision tree obtained by applying random forest to training data. [Figure 6] FIG. 13 is a diagram showing an example of a calculation result of an interaction score for a combination of two feature amounts. [Figure 7] FIG. 4 is a diagram showing an example of an output screen in the first embodiment. [Figure 8] FIG. 11 is a diagram showing an example of an output screen in the second embodiment. [Figure 9] FIG. 13 is a diagram illustrating an example of learning data in the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Next, a mode for carrying out the present invention (referred to as an "embodiment") will be described in detail with reference to the drawings as appropriate. However, the embodiment is merely an example for realizing the present invention, and does not limit the present invention.
[0012] First Embodiment In the first embodiment, an example of extracting an interaction related to hay fever in an association analysis between the intestinal flora, ingested nutrients, and the presence or absence of hay fever is shown. In the first and second embodiments, the presence or absence of hay fever is used as the objective variable, but it is not limited to the presence or absence of hay fever as long as it is a classifiable case.
[0013] [System Configuration] FIG. 1 is a diagram showing an example of the configuration of a computing system 1 according to this embodiment. The computing system 1 includes a computing device 100 and a database 200 . The arithmetic device 100 includes a CPU (Central Processing Unit) 101 , a storage device 102 such as a HD (Hard Disk), a communication device 103 , and a memory 110 . A program stored in the storage device 102 is loaded into the memory 110. Then, the CPU 101 executes the loaded program. This embodies an acquisition unit 111, a model construction unit 112, an interaction score calculation unit 113, and an output processing unit 114. In addition, an input device 121 such as a keyboard and a mouse, and a display device 122 are connected to the arithmetic device 100. The acquisition unit 111 acquires feature vector data 211 (see FIG. 3) and event data 212 (see FIG. 3) required for calculating the interaction score from the database 200. The feature vector data 211 corresponds to an explanatory variable of the classification prediction model, and the event data 212 corresponds to a target variable of the classification prediction model. The interaction score will be described later. The model construction unit 112 constructs a tree-structured classification prediction model using a random forest or the like based on the acquired feature vector data 211 and event data 212. The interaction score calculation unit 113 calculates an interaction score based on the tree-structured classification prediction model constructed by the model construction unit 112. A calculation method for the interaction score will be described later, but the interaction score is a score that represents the degree of association between the interaction between feature quantities and the event in question, based on the positions of the feature quantities that appear in the nodes that constitute the tree-structured classification prediction model. The output processing unit 114 displays the calculated interaction score on the display device 122.
[0014] The communication device 103 is connected to a database 200 , receives information from the database 200 , and transmits the received information to the memory 110 . Training data 210 (see FIG. 3) is stored in the database 200. The training data 210 will be described later.
[0015] The computing system 1 may be in the form of a cloud service by using the computing device 100 as a cloud server.
[0016] [flowchart] An example of a process for scoring and outputting the degree of association between the interaction between factors and hay fever based on the intestinal microbiota data and ingested nutrient data will be described with reference to FIG. 2. FIG. 2 is a flowchart showing the procedure of the overall processing performed in the first embodiment. First, the acquisition unit 111 acquires feature vector data 211 (see FIG. 3) including information on the intestinal flora structure and ingested nutrients of a subject group stored in the database 200 from the database 200 (S101). The feature vector data 211 will be described later. Moreover, the acquiring unit 111 acquires event data 212 (see FIG. 3) including information on the presence or absence of hay fever in the subject group from the database 200 (S102). The event data 212 will be described later.
[0017] Next, the model construction unit 112 constructs a tree-structured classification prediction model that classifies and predicts whether a person has hay fever or not based on the feature vector data 211 and the event data 212 (S111). The tree-structured classification prediction model can be constructed by any algorithm including a decision tree, a random forest, a gradient boosting decision tree, etc. In this embodiment, a random forest is used. Thereafter, the interaction score calculation unit 113 calculates all combinations of the features (assuming that there are K combinations) based on the feature vector (S112). The interaction score calculation unit 113 temporarily stores the number of combinations of all the features as K in the memory 110. Next, the interaction score calculation unit 113 initializes k, which indicates the combination number, to "0" (k=0: S113). Then, the interaction score calculation unit 113 adds "1" to k (k←k+1: S114). Next, the interaction score calculation unit 113 calculates an interaction score for the k-th combination of feature amounts (S120). The method of calculating the interaction score will be described later.
[0018] Next, the interaction score calculation unit 113 determines whether k=K (S141), where K is the total number of combinations of feature quantities. That is, in step S141, the interaction score calculation unit 113 determines whether the interaction scores have been calculated for all combinations of feature quantities.
[0019] If the interaction scores have not been calculated for all combinations of feature amounts (S141→No), the interaction score calculation unit 113 returns the process to step S114. If the interaction scores have been calculated for all combinations of feature quantities (S141→Yes), the output processing unit 114 outputs the interaction scores for the predetermined combinations of feature quantities to the display device 122 (S142).
[0020] (Database 200) FIG. 3 is a diagram showing an example of the learning data 210 in the first embodiment. The learning data 210 is stored in the database 200, and includes information on bacterial species composition, information on nutrient intake, and information on events. The information on bacterial species composition is the structure of the intestinal flora in each subject, and specifically, the relative abundance of each intestinal bacterium is stored. The information on nutrient intake stores the amount of nutrients taken by the subject. The information on events stores information on whether the subject has hay fever or not (a predetermined category based on a qualitative variable having a nominal scale). A qualitative variable is a variable whose value is discrete, such as gender, name, "1st, 2nd, 3rd," etc. Also, a nominal scale is a scale that indicates only the difference in categories, such as gender or name, and the order between categories has no meaning. Incidentally, a scale is a classification standard based on the nature of data.
[0021] Information on the bacterial species composition of the intestinal microbiota can be obtained, for example, by meta-16S analysis of the intestinal microbiota genome. Information on the bacterial species composition of the intestinal microbiota may also be obtained by gene composition obtained from metagenomic analysis. In addition to the nutrient intake, food intake may also be used as information on ingested nutrients. Food intake is collected using a simplified self-administered diet history questionnaire (BDHQ) or the like. Nutrient intake can be calculated by a dedicated calculation program using the BDHQ.
[0022] Of these pieces of information, for the bacterial species composition and nutrient intake, the numerical values of (relative abundance of Prevotella)···(relative abundance of Ruminococcus), (intake of RTN), and (intake of Zn) are listed for each subject. Such numerical values are called features, and the list of numerical values is called a feature vector. The information on the bacterial species composition and ingested nutrients is feature vector data 211 in FIG. 2. Moreover, the information on the event (hay fever or not) is event data 212 in FIG. 2. In this way, the event data 212 can be classified into a predetermined category by a qualitative variable having a nominal scale. In other words, the feature vector data 211 is an explanatory variable of the classification prediction model, and the event data 212 is a target variable of the classification prediction model.
[0023] [Interaction score calculation process] 4 is a flowchart showing the procedure of the interaction score calculation process executed in the first embodiment. 4 shows the detailed procedure of step S120 in FIG. First, the interaction score calculation unit 113 assigns "0" to a variable "h" indicating the current number of shuffles (S121). Next, the interaction score calculation unit 113 performs a first simultaneous occurrence number calculation process (S122). In step S122, the interaction score calculation unit 113 calculates the number of times that two feature quantities simultaneously appear in the same search branch in the decision tree in the classification prediction model constructed in step S111 of Fig. 2. The number of times that two feature quantities simultaneously appear in the same search branch in the decision tree is hereinafter referred to as the simultaneous occurrence number. Search branches and the simultaneous occurrence number will be described later. Then, the interaction score calculation unit 113 performs a first addition process based on the result of the first simultaneous occurrence count calculation process (S123). In step S123, the interaction score calculation unit 113 adds up the simultaneous occurrence counts calculated in step S122 for the entire classification / prediction model.
[0024] Next, the interaction score calculation unit 113 adds 1 to h and substitutes the result for h (h←h+1: S124). Then, the interaction score calculation unit 113 performs a shuffling process on the classification prediction model (S125). In step S125, the interaction score calculation unit 113 randomly shuffles the positions of the feature amounts while maintaining the topology of the decision tree. The shuffling will be described later.
[0025] Next, the interaction score calculation unit 113 performs a second simultaneous occurrence number calculation process (S126). In step S126, the interaction score calculation unit 113 performs the same process as step S122 on the classification / prediction model that has been subjected to the shuffle process. In this way, the interaction score calculation unit 113 calculates the number of times that two feature quantities simultaneously appear in the same search branch in the classification / prediction model that has been subjected to the shuffle process. Next, the interaction score calculation unit 113 performs a second addition process (S127). In step S127, the interaction score calculation unit 113 adds up the number of times that two feature quantities simultaneously appear in the same search branch, which is calculated in step S126, for the entire classification and prediction model.
[0026] Next, the interaction score calculation unit 113 determines whether or not h=H (S128), where H is the number of times the interaction score calculation unit 113 performs shuffling. If h=H is not true (S128→No), the interaction score calculation unit 113 returns the process to step S124. If h = H (S128 → Yes), the interaction score calculation unit 113 calculates the average and standard deviation of the number of simultaneous occurrences in the classification prediction model that has been shuffled using the result of adding up the results of step S27 for each shuffle and the number of times shuffling is performed (H).
[0027] After that, the interaction score calculation unit 113 calculates the interaction score using the results of steps S123 and S129 (S130). The calculation of the interaction score will be described later.
[0028] [Specific example of interaction score calculation process] 5A to 5C, a classification and prediction model using random forest is shown as an example of a tree-structured classification and prediction model for classifying and predicting the presence or absence of hay fever, and a specific example of an interaction score calculation process is shown. 5A to 5C are diagrams showing a part of a decision tree obtained as a result of applying random forest to training data 210. FIG. 5A to 5C also show three decision trees in total, each of which is obtained as a result of applying the random forest to the data shown in FIG. Here, three decision trees generated by random forest are shown, but in reality, thousands to tens of thousands of decision trees are generated using randomly sampled data and features.
[0029] 5A to 5C, "A" to "F" indicate feature amounts. That is, "A" to "F" correspond to "relative abundance of Prevotella," "relative abundance of Ruminococcus," "intake of RTN," and "intake of Zn" in FIG. 3. 5A to 5C, the nodes indicated by squares are called branch nodes, and the terminal nodes indicated by ellipses are called leaf nodes. Each branch node and leaf node is assigned a node number (#n). The node number is assigned uniquely in each decision tree.
[0030] The highest branch node ("Node#0" in Figs. 5A to 5C) is referred to as a root node. Note that although "True" and "False" are determined at each branch node, the notations "True" and "False" are omitted in the decision trees shown in Figs. 5A to 5C.
[0031] Tree-structured classification prediction models such as random forests can capture dependencies between multiple features by dividing data using conditional branching. In tree-structured classification prediction models, the dependencies between multiple features are represented in each branch of a decision tree. Here, a branch is a path from a root node to a leaf node. For example, in the decision tree shown in Figure 5A, the path from the root node ("Node#0") to the leaf node "Node#12" ("Node#0"-"Node#2"-"Node#8"-"Node#10"-"Node#12") is one branch. In addition, the root node side of the path is defined as the upstream side, and the leaf node side is defined as the downstream side. For example, in the example shown in Figure 5A, in the branch consisting of "Node #0"-"Node #2"-"Node #8"-"Node #10"-"Node #12", it is inherently represented that the interactions between features "A", "B", "D", and "F" contribute to classifying and predicting that the patient has no hay fever.
[0032] The strength of the interaction between features can be evaluated based on the number of simultaneous occurrences. The number of simultaneous occurrences will be described later. In this embodiment, the strength of the interaction between features is indicated as an interaction score. In this embodiment, the interaction score for a combination of any feature x and y is defined by the following formula (1).
[0033]
number
[0034] In formula (1), I(x, y) is the interaction score for a combination of any feature x and y. N(x, y) is the number of times that features x and y appear simultaneously in the same search branch in the classification prediction model before the shuffle process is performed (the number of simultaneous occurrences). Search branches will be described later. Furthermore, M(x, y) is the number of simultaneous occurrences when the positions of features are randomly shuffled while maintaining the tree topology. Furthermore, E(M(x, y) indicates the average of M(x, y), and σ(M(x, y)) is the standard deviation of M(x, y).
[0035] First, a method for calculating N(x, y) in equation (1) will be described. In this embodiment, a search branch is defined as a path that is traced downstream from the root node until all of the features of interest appear. For example, if we focus on features "A" and "B" in the decision tree shown in Figure 5A, feature "A" appears in the root node "Node#0", and feature "B" appears in the branch node "Node#1". Since both of the features "A" and "B" appear in the root node "Node#0" and the branch node "Node#1", the path downstream of "Node#1" is excluded from the search target. Therefore, in the decision tree shown in Figure 5A, the search branch in which features "A" and "B" appear is the path "Node#0-Node#1". In this example, the number of times that the features "A" and "B" appear simultaneously in the decision tree shown in FIG. 5A is "1." In other words, if a search branch is defined as above, the number of times that two features appear simultaneously in the same search branch (the number of simultaneous appearances) is equivalent to calculating the number of search branches in each decision tree.
[0036] Based on the above, N(A, F) will be found as a specific example of N(x, y) with reference to FIGS. 5A to 5C. In the decision tree shown in Fig. 5A, the feature "A" appears in "Node #0", and the feature "F" appears in "Node #10". Therefore, in the decision tree shown in Fig. 5A, the search branch in which the feature "A" and the feature "F" appear is one of "Node #0"-"Node #2"-"Node #8"-"Node #10". In other words, the number of simultaneous appearances in the decision tree shown in Fig. 5A is "1".
[0037] In the decision tree shown in FIG. 5B, the feature "A" appears in "Node#2" and "Node#8", and the feature "F" appears in "Node#3" and "Node#12". Therefore, in the decision tree shown in FIG. 5B, the search branches in which the feature "A" and the feature "F" appear are "Node#0"-"Node#1"-"Node#2"-"Node#3" and "Node#0"-"Node#8"-"Node#10"-"Node#12". In other words, the number of simultaneous appearances in the decision tree shown in FIG. 5B is "2".
[0038] In the decision tree shown in Fig. 5C, the feature "A" appears in "Node#1", and the feature "F" appears in "Node#2". Therefore, in the decision tree shown in Fig. 5C, the search branch in which the feature "A" and the feature "F" appear is one, "Node#0"-"Node#1"-"Node#2". In other words, the number of simultaneous appearances in the decision tree shown in Fig. 5C is "1".
[0039] The process of calculating the number of search branches (that is, the number of simultaneous occurrences) in each decision tree in this manner corresponds to step S122 in FIG.
[0040] In formula (1), N(A, F) is the number of times that feature "A" and feature "F" appear simultaneously in all decision trees. Therefore, if the decision trees shown in Figs. 5A to 5C are all decision trees, the number of simultaneous appearances in each decision tree is added up to calculate N(A, F) as "4." This process corresponds to the process in step S123 in Fig. 4.
[0041] Next, M(x, y), E(M(x, y)), and σ(M(x, y)) in equation (1) will be described. As mentioned above, in formula (1), M(x,y) is the number of simultaneous occurrences when the positions of features are randomly shuffled while maintaining the tree topology. Furthermore, E(M(x,y)) indicates the average of M(x,y), and σ(M(x,y)) is the standard deviation of M(x,y).
[0042] Here, the process of randomly shuffling the positions of the features while maintaining the tree topology (shuffling process: step S125 in FIG. 4) will be described. The shuffling is carried out according to the following rules: (Rule #1) Shuffling is done for each decision tree. (Rule #2) Shuffling is performed on the features that appear at each branch node of the target decision tree.
[0043] Hereinafter, the shuffle process will be described with reference to FIGS. 5A to 5C. In the entire decision tree shown in Figure 5A, the relationship between features and branch nodes is expressed as "A (#0), B (#2), C (#3), E (#4), D (#8), F (#10)." Here, the (#n) in parentheses indicates the number of the branch node in which the feature appears.
[0044] The interaction score calculation unit 113 randomly shuffles the positions of the features in "A(#0), B(#2), C(#3), E(#4), D(#8), F(#10)". For example, assume that the shuffling results in "B(#0), D(#2), F(#3), C(#4), A(#8), E(#10)". When such a result is obtained, the interaction score calculation unit 113 assigns the feature "B" to the branch node (root node) "Node#0" and the feature "D" to the branch node "Node#2". The interaction score calculation unit 113 similarly assigns the other features to the branch nodes.
[0045] 5B, the relationship between the features and the branch nodes is expressed as "C(#0), D(#1), A(#2), F(#3), A(#8), B(#10), F(#12)". The interaction score calculation unit 113 randomly shuffles the positions of the features in "C(#0), D(#1), A(#2), F(#3), A(#8), B(#10), F(#12)" and assigns the shuffled results to each branch node. The result of randomly shuffling the positions of the features in "C(#0),D(#1),A(#2),F(#3),A(#8),B(#10),F(#12)" would be "A(#0),C(#1),F(#2),B(#3),F(#8),A(#10),D(#12)" or "D(#0),F(#1),B(#2),F(#3),C(#8),A(#10),A(#12)", etc.
[0046] Similarly, in the entire decision tree shown in FIG. 5C, the relationship between the feature and the branch node is expressed as "B(#0), A(#1), F(#2), D(#5), C(#8), E(#9), D(#12)". Then, the interaction score calculation unit 113 shuffles the positions of the feature in "B(#0), A(#1), F(#2), D(#5), C(#8), E(#9), D(#12)" as in the decision trees shown in FIG. 5A and FIG. 5B, and assigns the shuffled results to the respective branch nodes. The result of shuffling the positions of the feature in "B(#0), A(#1), F(#2), D(#5), C(#8), E(#9), D(#12)" is "D(#0), C(#1), A(#2), E(#5), B(#8), D(#9), F(#12)", etc.
[0047] This type of shuffling creates a situation in which information about dependencies between features in the decision tree is lost.
[0048] Next, the interaction score calculation unit 113 calculates the number of times that the feature "A" and the feature "F" simultaneously appear in the same search branch (the number of simultaneous appearances) for each decision tree to which the result of shuffling the feature positions has been assigned. This process is performed in the same manner as before the shuffle process. Incidentally, this process corresponds to step S126 in FIG. 4.
[0049] Then, the interaction score calculation unit 113 adds up the number of simultaneous occurrences calculated for each decision tree for all decision trees. This result is M(A,F) in formula (1). This process corresponds to step S127 in FIG. 4.
[0050] The interaction score calculation unit 113 performs such shuffling multiple times (for example, about 10 times). Then, the interaction score calculation unit 113 calculates E(M(A,F)) of formula (1), which is the average value of M(A,F), by dividing the cumulative value of M(A,F) for each shuffle by the number of shuffles. Furthermore, the interaction score calculation unit 113 calculates σ(M(A,F)) of formula (1), which is the standard deviation of M(A,F), based on M(A,F) and E(M(A,F)). This process corresponds to step S129 in FIG. 4.
[0051] Next, the interaction score calculation unit 113 calculates I(A,F) (interaction score) by substituting the calculated M(A,F), E(M(A,F)), and σ(M(A,F)) into formula (1). This process corresponds to step S130 in FIG. 4. The interaction score calculation unit 113 calculates an interaction score for each combination of all feature amounts (corresponding to steps S114 to S141 in FIG. 2).
[0052] In equation (1), normalization is performed based on the state where the information on the dependency relationships between features is lost ((M(x, y)). In this way, normalization based on the state where the information on the dependency relationships between features is lost reflects the strength of interactions well.
[0053] N(A,F) indicates the number of simultaneous occurrences in each decision tree generated by model construction. The number of simultaneous occurrences indicates the strength of the interaction between feature "A" and feature "B" in the decision tree. However, if feature "A" and feature "F" simply appear frequently in each decision tree, the value of N(A,F) will be large. In other words, if feature "A" and feature "F" simply appear frequently in each decision tree, N(A,F) will be large even if there is little interaction between feature "A" and feature "F". In other words, N(A,F) includes the number of times that feature "A" and feature "F" happen to appear simultaneously in a search branch.
[0054] Therefore, in this embodiment, the number of simultaneous occurrences (M(A,F)) in a state in which information on the dependency relationships between features in each decision tree is lost by shuffling is subtracted from N(A,F). In other words, M(A,F) indicates the number of times that feature "A" and feature "F" happen to appear in the same search branch. Therefore, the result of subtracting M(A,F) from N(A,F) indicates the true value (strength) of the interaction between feature "A" and feature "F." However, since the value of M(A,F) changes depending on the result of the shuffle, when shuffling multiple times, E(M(A,F)) is used, which is the sum of M(A,M) for the number of shuffles divided by the number of shuffles.
[0055] Furthermore, in formula (1), by dividing by σ(M(x, y)), it is possible to compare data with different scales. However, it is not necessary to divide by σ(M(x, y)) in formula (1).
[0056] By using the interaction score shown in formula (1), it is possible to extract interactions between features with high interaction scores in the classification prediction of hay fever patients and non-hay fever patients, that is, interactions between features with a high degree of association with hay fever. The interaction score as shown in formula (1) can be similarly calculated for combinations of any number of features greater than or equal to two.
[0057] (Example of interaction score calculation results) FIG. 6 is a diagram showing an example of a calculation result of an interaction score for a combination of two feature amounts. In the results shown in Figure 6, the combination of features is associated with the degree of association with hay fever. The degree of association with hay fever is an interaction score. In other words, the higher the interaction score, the higher the predicted degree of association with hay fever, and the lower the interaction score, the lower the predicted degree of association. A high degree of association with hay fever indicates that the corresponding combination of features is highly likely to be related to the presence or absence of hay fever. In the example shown in Figure 6, the combination of "Ruminococcus" as an intestinal bacterium and "Cu (copper)" as a nutrient intake shows the highest association (interaction score) with hay fever. Incidentally, the example shown in Figure 6 shows the combinations of many features with an interaction score of 10 or more.
[0058] (Output screen 500) 7 is a diagram showing an example of an output screen 500 in the first embodiment. The output screen 500 shown in FIG. 7 is output in step S142 in FIG. As shown in FIG. 7, the output screen 500 has a graph display area 510 , a list display area 520 , and an explanation / setting area 530 . In the graph display area 510, the interaction scores are displayed as a bar graph, and further, the combinations of features are displayed in ascending order of relevance (interaction score). The combinations of features are displayed in the graph display area 510 in a format such as "(Cu, Rminococcus)".
[0059] In the list display area 520, the feature combinations and the degree of association with hay fever (interaction score) are displayed in ascending order. The display contents of the list display area 520 are the same as those in FIG. 6. That is, of the many feature combinations that exist, those with an interaction score of "10" or more are displayed. The feature combinations displayed in the list display area 520 are set by a threshold setting window 532 in the explanation / setting area 530.
[0060] The explanation / setting area 530 has a calculation formula explanation area 531 and a threshold setting window 532 . An explanation of the calculation formula for the interaction score is displayed in the calculation formula explanation area 531. Note that the calculation formula explanation area 531 can be omitted. In the threshold setting window 532, as described above, a threshold for the interaction score displayed in the list display area 520 is set. As described above, in the example shown in FIG. 7, "10" is set in the threshold setting window 532, and therefore combinations of feature quantities having an interaction score of "10" or more are displayed in ascending order of interaction score (degree of relevance) in the list display area 520. Note that in this embodiment, the threshold set in the threshold setting window 532 is applied to the display in the list display area 520, but it may also be applied to the display in the graph display area 510. Also, the threshold is set in advance, that is, a default setting value is set as an initial value, and the user may set the threshold via the threshold setting window 532.
[0061] In this way, the output screen 500 in this embodiment can present a list of highly related feature interactions extracted in advance using a predetermined threshold (a threshold set by default) or a threshold specified by the user in the threshold setting window 532.
[0062] According to the first embodiment, only pairs of highly related features extracted by a method using a classification prediction model having a tree structure (random forest in the example shown in the first embodiment) can be analyzed. This makes it possible to avoid multiple testing, which is a problem with statistical methods. That is, according to the example shown in FIG. 7, it is sufficient to analyze the combination of "Ruminococcus" and "Cu" which has the highest relatedness (interaction score). Therefore, since it is not necessary to analyze many combinations of features, multiple testing can be avoided.
[0063] Furthermore, the importance used in a typical tree-structure classification prediction model is evaluated in the presence of all other features, and is therefore an index that also takes into account the effect of interactions between features. However, since the importance is calculated for each individual feature, it does not provide information on interactions between feature combinations. In contrast, the interaction score in this embodiment makes it possible to obtain information on interactions between feature combinations. In other words, the interaction score in this embodiment makes it possible to directly evaluate which interactions between feature quantities are important in classification prediction.
[0064] In this embodiment, the nutrient intake is used as the feature amount, but health information obtained by a medical checkup may also be used as the feature amount. In this case, the health information may be used as the feature amount instead of the nutrient intake amount, or both the nutrient intake amount and the health information may be used as the feature amount.
[0065] In this way, in the first embodiment, based on various metadata such as information on the bacterial species composition of the intestinal flora, information on nutrient intake, and health information, the association between the intestinal flora and the disease is analyzed by taking into consideration the interactions between a large number of features using a tree-structured classification prediction model. As a result, it is possible to extract the interactions between the features related to the disease. In other words, in the first embodiment, the degree of association between the interaction between the features and the phenotype (event) is scored as an interaction score and output using a tree-structured classification prediction model. This makes it possible to extract the interactions between the features related to the phenotype (event). As a result, in the analysis of the association between the intestinal flora and the disease (the presence or absence of hay fever in the first embodiment), it is possible to extract the interactions of the features highly related to the disease.
[0066] <Second embodiment> Next, a second embodiment of the present invention will be described with reference to FIG. Fig. 8 is a diagram showing an example of an output screen 500a in the second embodiment. In Fig. 8, the same components as those in Fig. 7 are given the same reference numerals and the description thereof will be omitted. By combining a machine learning method with another statistical method, it is possible to evaluate whether the interactions between highly related features extracted by the machine learning method are positively or negatively related to hay fever. A positive association indicates that the larger the value, the higher the probability of hay fever, and a negative association indicates that the smaller the value, the higher the probability of hay fever.
[0067] For example, by examining the sign of the coefficient corresponding to each feature using logistic regression in addition to random forest, it is possible to evaluate whether the association between each feature and hay fever is positive or negative. However, this is not the only method, and multiple other statistical methods may be combined. Note that the explanatory variable used in logistic regression is the feature vector data 211.
[0068] An output screen 500a shown in FIG. 8 shows an example in which a logistic regression method is applied in addition to the random forest in a list display area 520a. In the list display area 520a of FIG. 8, a "+ / -" column has been added. The "+ / -" column indicates the sign of the coefficient corresponding to each feature in the logistic regression method. In the logistic regression method, multiple coefficients are calculated, and if the coefficients with a negative sign are greater than the coefficients with a positive sign, "-" is stored in the "+ / -" column. Conversely, if the coefficients with a positive sign are greater than the coefficients with a negative sign, "+" is stored in the "+ / -" column. If "+" is stored in the "+ / -" column, it indicates that the association between each feature and hay fever is positive. Also, if "-" is stored in the "+ / -" column, it indicates that the association between each feature and hay fever is negative.
[0069] Incidentally, if there are an equal number of coefficients with positive and negative signs, a "0" is stored in the "+ / -" column. In this case, it means that it is not possible to evaluate whether the association between each feature and hay fever is positive or negative.
[0070] In addition, in the list display area 520a, negatively associated feature combinations are shown shaded, and positively associated feature combinations are shown without shading. Incidentally, the feature combinations and the numerical values of the degree of association (interaction score) with hay fever displayed in the list display area 520a are the same as those shown in the list display area 520 of FIG. 7.
[0071] According to the second embodiment, it is possible to show the relationship between the combination of feature amounts and the probability of developing a symptom. In the second embodiment, the random forest and the logistic regression are combined, but the analysis to be combined with the random forest is not limited to the logistic regression as long as it is a regression analysis. For example, the random forest and the multiple regression analysis may be combined.
[0072] <Third embodiment> In the first and second embodiments, events such as the presence or absence of a disease (presence or absence of hay fever) that can be classified into predetermined categories (predetermined categories based on qualitative variables having a nominal scale) are used as the event data 212. In contrast, in the third embodiment, important interactions are extracted in an analysis for predicting some numerical value indicating a patient's health condition, etc. In such a case, as shown in FIG. 9, data including information on the numerical value of the subject population is acquired as event data 212b together with feature vector data 211 of the subject population, and a tree-structured classification prediction model for predicting the numerical value is constructed based on the event data. After that, the interaction score calculation unit 113 calculates an interaction score for each combination of features in the same manner as in the above-mentioned method for classification prediction. Finally, the output processing unit 114 outputs the interaction score.
[0073] A specific example of the third embodiment will be described below with reference to FIG. FIG. 9 is a diagram showing an example of training data 210b storing information on feature vectors and numerical values of a subject population in the third embodiment. FIG. 9 is the same as FIG. 3, except that "Event": "Presence or absence of hay fever" in FIG. 3 is changed to "Numerical value": "Severity score of hay fever." That is, the learning data 210b shown in FIG. 9 stores, for each subject, bacterial species composition as information on the intestinal microbiota structure, the intake amount of each nutrient as information on ingested nutrients, and the pollen allergy severity score determined by a doctor based on a medical interview as numerical information. In the example shown in FIG. 9, the pollen allergy severity score is shown on a 10-point scale. However, the pollen allergy severity score is not limited to 10-point scale. Thus, in the example shown in FIG. 9, the event data 212b has a qualitative variable having an ordinal scale as a numerical value. An ordinal scale is a scale in which the order between categories has meaning, such as "1st, 2nd, 3rd" or "excellent, good, fair". That is, in the learning data shown in FIG. 9, information on the bacterial species composition and nutrient intake amount becomes feature vector data 211, and numerical value information becomes event data 212b.
[0074] The model construction unit 112 (see FIG. 1) constructs a classification prediction model that predicts the severity score of hay fever from the feature vector data 211b shown in FIG. 9. A random forest or the like is used to construct the classification prediction model. Then, the interaction score calculation unit 113 calculates the interaction score by performing the process shown in FIG. 4, and the output processing unit 114 displays the interaction score on the display device 122.
[0075] According to the third embodiment, it is possible to obtain the same effect as the first embodiment even for an event having a (discrete) numerical value, such as the severity score of hay fever. In the example shown in FIG. 9, the severity score of hay fever is used as the event data 212b, but it is not limited to the severity score of hay fever as long as the regression model can be applied. In the example of this embodiment, a ranking of the symptoms of hay fever (such as stuffy nose) may be used instead of the severity score of hay fever. Alternatively, the tendency of symptoms to improve with medication ("excellent," "good," "no change") may be used. In the example shown in FIG. 9, a qualitative variable having an ordinal scale is used as the event data 212b, but so-called quantitative data having continuous values such as blood glucose level, weight, BMI, etc. may be used as the event data 212b (numerical value).
[0076] Moreover, the second and third embodiments may be combined. Furthermore, in the present embodiment, the calculation of the interaction score is described with reference to a combination of two feature amounts, but a combination of three or more feature amounts is also possible.
[0077] The present invention is not limited to the above-described embodiment, and includes various modified examples. For example, the above-described embodiment has been described in detail to clearly explain the present invention, and is not necessarily limited to all of the configurations described. In addition, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, it is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration.
[0078] Further, the above-mentioned configurations, functions, units 111 to 114, storage device 102, database 200, etc. may be realized in hardware by designing some or all of them as integrated circuits, for example. As shown in Fig. 1, the above-mentioned configurations, functions, etc. may be realized in software by a processor such as CPU 101 interpreting and executing a program that realizes each function. Information such as the program, table, file, etc. that realizes each function can be stored in a recording device such as memory 110 or SSD (Solid State Drive), or a recording medium such as an IC (Integrated Circuit) card, SD (Secure Digital) card, or DVD (Digital Versatile Disc), in addition to being stored in a HD (Hard Disk). In addition, in each embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0079] 1. Calculation system (feature interaction calculation system) 100 Computing equipment 111 Acquisition Department 112 Model Construction Department 113 Interaction score calculation unit 114 Output Processing Section 122 Display device (output section) 200 Databases 210,210b Training data 211 Feature Vector Data 212,212b Event data 500,500a output screen 510 Graph display area 520,520a List display area 530 Description and Settings Area S111 Build a classification prediction model (model building step) S120 Calculate the interaction score for the kth combination (interaction score calculation step) S122 First simultaneous occurrence calculation process (first search branch Counting Steps) S123 First addition process (first addition step) S125 Shuffle process (Shuffle step) S126 Second simultaneous occurrence calculation process (second search branch Counting Steps) S127 Second addition process (second addition step) S129 Calculate the average value and standard deviation (average value calculation step) S130 Calculate the interaction score (subtraction step, division step)
Claims
1. The computing device a model construction step of acquiring data including a feature vector, which is a set of numerical values of feature values that are explanatory variables, and information on an event, which is a response variable, and constructing a classification / prediction model having a tree structure that classifies and predicts the event based on the feature vector; an interaction score calculation step of calculating an interaction score by scoring an interaction between the features and a degree of relevance with the event based on positions of the features appearing in nodes constituting the classification prediction model and positions of the features in the classification prediction model obtained by shuffling the positions of the features appearing in the nodes; an output step of outputting the calculated interaction score to an output unit; Run The tree-structured classification prediction model is generated by a random forest; In the interaction score calculation step, a first search branch number calculation step of tracing a path from a root node toward downstream in each of the decision trees generated by the random forest and calculating the number of search branches that are paths to a branch node at which all of the target feature quantities appear; a first summing step in which the numbers of search branches are summed for all the decision trees; a shuffling step of shuffling features appearing in each of the decision trees; a second search branch number calculation step of calculating the number of search branches for each of the shuffled decision trees; a second addition step in which the numbers of search branches calculated in the second search branch number calculation step are added up for all of the decision trees; Repeating the steps from the shuffling step to the second adding step a plurality of times; an average value calculation step of calculating an average value of the results of the second addition step based on the results of the second addition step; a subtraction step of subtracting a result of the average calculation step from a result of the first addition step; A feature interaction calculation method, comprising:
2. a division step of calculating a standard deviation for the result of the second addition step based on the results of the second addition step and the average calculation step, and dividing the result of the subtraction step by the standard deviation; 2. The method for calculating interaction between feature quantities according to claim 1, wherein the following is executed.
3. The events can be classified into predetermined categories according to qualitative variables. The method for calculating interaction between feature quantities according to claim 1 .
4. The event has a value The method for calculating interaction between feature quantities according to claim 1 .
5. Using the results of applying a regression analysis to the feature vector, an evaluation is made as to whether interactions between features related to the event are positively or negatively related to the event. The method for calculating interaction between feature quantities according to claim 1 .
6. The feature amount includes the structure of the intestinal flora, as well as information on ingested nutrients and health information. At least one of the following features is included: The method for calculating interaction between feature quantities according to claim 1 .
7. The event is information related to a given disease. The method for calculating interaction between feature quantities according to claim 1 .
8. a model construction unit that acquires a feature vector, which is a set of numerical values of feature values that are explanatory variables, and data including information on an event that is a target variable, and constructs a classification prediction model having a tree structure that classifies and predicts the event based on the feature vector; an interaction score calculation unit that calculates an interaction score by scoring an interaction between the features and a degree of relevance with the event based on positions of the features appearing in nodes constituting the classification prediction model and positions of the features in the classification prediction model obtained by shuffling the positions of the features appearing in the nodes; an output processing unit that outputs the calculated interaction score to an output unit; having The tree-structured classification prediction model is generated by a random forest; The interaction score calculation unit a first search branch number calculation step of tracing a path from a root node toward downstream in each of the decision trees generated by the random forest and calculating the number of search branches that are paths to a branch node at which all of the target feature quantities appear; a first summing step in which the numbers of search branches are summed for all the decision trees; a shuffling step of shuffling features appearing in each of the decision trees; a second search branch number calculation step of calculating the number of search branches for each of the shuffled decision trees; a second addition step in which the numbers of search branches calculated in the second search branch number calculation step are added up for all of the decision trees; Repeating the steps from the shuffling step to the second adding step a plurality of times; an average value calculation step of calculating an average value of the results of the second addition step based on the results of the second addition step; a subtraction step of subtracting a result of the average calculation step from a result of the first addition step; A feature interaction calculation system comprising:
Citation Information
Patent Citations
Data analysis server, data analysis system, and data analysis method
JP2019184852A
Individual and cohort pharmacological phenotype prediction platform
JP2020520510A
Method for examining pollenosis
JP2021126091A