Analysis apparatus, analysis method, and analysis program
Patent Information
- Application Number
- JP2023006486
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-01-19
- Publication Date
- 2025-05-01
- Estimated Expiration
- 2043-01-19
AI Technical Summary
Existing methods for estimating causal effects in populations with small sample sizes, particularly in the medical field, face challenges in accurately identifying complex branching conditions due to decreased sample sizes, leading to reduced learning accuracy.
An analysis device that combines multiple branching conditions using a combination branching condition to divide data, incorporating a weight-based approach for stratifying patient populations based on predictive factors, and generating causal trees to improve estimation accuracy.
Enhances the accuracy of treatment effect estimation by stratifying patient populations using predictive factors, allowing for more precise treatment selection and improved prediction of therapeutic outcomes.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an analysis device, an analysis method, and an analysis program for analyzing data. [Background technology]
[0002] Non-Patent Document 1 discloses methods to estimate the heterogeneity of causal effects in experimental and observational studies and to perform hypothesis tests on the magnitude of differences in treatment effects between subsets of the population.
[0003] The method of Non-Patent Document 1 constructs valid confidence intervals for the treatment effect even when there are many covariates compared to the sample size and no assumption of "sparseness" due to a data-driven approach to partitioning the data into subpopulations with different treatment effect sizes. The approach is an "honest" approach to estimation, using one sample to create the partitions and another to estimate the treatment effect for each subpopulation, and is based on a regression tree method modified to optimize the goodness of fit of the treatment effect and account for honest estimation. The model selection criteria eliminate bias due to honest estimation and also consider the impact of additional partitioning on the variance of the treatment effect estimate within each subpopulation. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] Athey, Susan, et al, “Recursive partitioning for heterogeneous causal effects” Proceedings of the National Academy of Sciences 113.27 (2016): 7353-7360. Summary of the Invention [Problem to be solved by the invention]
[0005] However, in Non-Patent Document 1, when there are multiple branching conditions, the number of samples in the population decreases and the learning accuracy decreases, so it is difficult to deepen the causal tree and find complex branching conditions. This problem occurs not only in the medical field but also in other fields, but in the medical field in particular, the problem is more pronounced because the population tends to be small to begin with.
[0006] An object of the present invention is to improve the accuracy of estimation using a plurality of branching conditions. [Means for solving the problem]
[0007] An analysis device according to one aspect of the invention disclosed in the present application is characterized in that it comprises an acquisition unit that acquires, for a plurality of analysis target data having values for each factor in a factor group, a combination branching condition that combines a plurality of branching conditions in the factor group and a value of the combination branching condition for each of the plurality of analysis target data, and a search unit that divides the plurality of analysis target data having the value of the combination branching condition based on the combination branching condition, and searches for a first decision tree. Effect of the Invention
[0008] According to the representative embodiment of the present invention, it is possible to improve the accuracy of estimation using a plurality of branching conditions. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiment. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is an explanatory diagram showing an example of outcomes of prognostic and predictive factors. [Diagram 2] FIG. 2 is an explanatory diagram showing an example of dividing a patient population by predictive factors in patient characteristics that are thought to have a significant effect on the treatment effect τ, and weighting the patient population during learning. [Diagram 3] FIG. 3 is a block diagram illustrating an example of a hardware configuration of the analysis device. [Figure 4]FIG. 4 is a block diagram of an example of a functional configuration of the analysis apparatus according to the first embodiment. [Diagram 5] FIG. 5 is an explanatory diagram illustrating an example of the weighting table illustrated in FIG. [Figure 6] FIG. 6 is an explanatory diagram illustrating an example of the health care DB illustrated in FIG. [Figure 7] FIG. 7 is a diagram of an example of a patient data table according to the first embodiment. [Figure 8] FIG. 8 is an explanatory diagram of an example of an input screen of the analysis device according to the first embodiment. [Figure 9] FIG. 9 is a flowchart illustrating an example of an analysis process procedure performed by the analysis device. [Figure 10] FIG. 10 is an explanatory diagram showing an example of the stratification result. [Figure 11] FIG. 11 is an explanatory diagram showing another example of the stratification result. [Figure 12] FIG. 12 is a flowchart illustrating a detailed example of the process procedure of the stratification process (step S902) illustrated in FIG. [Figure 13] FIG. 13 is a flowchart illustrating a detailed example of the branch condition search process (step S1002) illustrated in FIG. [Figure 14] FIG. 14 is a box plot showing the prediction error improvement rate before and after division between the conventional method and Example 1. [Figure 15] FIG. 15 is a flowchart of an example of a procedure for generating a weight table by the generating unit according to the second embodiment. [Figure 16] FIG. 16 is a histogram showing the search results from the medical branch database. [Figure 17] FIG. 17 is a flowchart of an example of a procedure for generating a weight table according to the third embodiment. [Figure 18] FIG. 18 is a block diagram of an example of a functional configuration of the analysis device according to the fourth embodiment. As illustrated in FIG. [Figure 19] FIG. 19 is a diagram of an example of a patient data table according to the fourth embodiment. [Figure 20]FIG. 20 is an explanatory diagram showing an example of a causal tree generated by relearning. [Figure 21] FIG. 21 is an explanatory diagram of an example of an input screen of the analysis device according to the first embodiment. [Figure 22] FIG. 22 is a flowchart of an example of a procedure for generating a combination branch condition by the generating unit according to the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] <Prognostic and predictive factors for outcome> Figure 1 is an explanatory diagram showing an example of outcomes of prognostic factors and predictive factors. Outcomes are observed values such as survival, progression-free time, and tumor size, and are values that include effects unrelated to treatment and effects of treatment. The effects unrelated to treatment and effects of treatment cannot be directly observed.
[0011] Graph 101 shows the pre- and post-treatment outcomes of patient groups A and B, where the patient population is grouped by the presence or absence of prognostic factors. Graph 102 shows the pre- and post-treatment outcomes of patient groups C and D, where the patient population is grouped by the presence or absence of predictive factors.
[0012] Prognostic factors and predictive factors are each a factor in a group of factors that constitute the characteristics of a patient (hereafter referred to as patient characteristics), and are quantitative variables that change depending on the outcome, i.e., covariates. Prognostic factors are factors that indicate an independent prognosis regardless of the presence or absence of treatment, such as the patient's age. Predictive factors are factors that reflect sensitivity to treatment, such as EGFR (Epidermal growth factor receptor), and are factors that show different therapeutic effects depending on the presence or absence of predictive factors.
[0013] In graph 101, patient group A is a group of patients with low values of prognostic factors indicating age (age low), and patient group B is a group of patients with higher values of prognostic factors indicating age (age high) than patient group A. In graph 101, outcomes before and after treatment vary depending on the patient groups A and B, but there is no difference in treatment effect τ (difference in outcomes before and after treatment) between patient groups A and B.
[0014] In graph 102, patient group C is a group of patients with high values of predictive factors indicating EGFR (EGFR+), and patient group D is a group of patients with lower values of predictive factors indicating EGFR than patient group C (EGFR-). In graph 102, outcomes before and after treatment vary depending on patient groups C and D, and there is also a difference in treatment effect τ (difference in outcomes before and after treatment) between patient groups C and D. In graph 102, the treatment effect τ of patient group C is greater than the treatment effect τ of patient group D.
[0015] In this way, by stratifying the patient population by predictive factors such as EGFR, it is possible to support treatment selection through classification of conditions according to treatment effect τ. When the patient population is not stratified by predictive factors, it is possible to predict treatment effect τ using the method shown in Figure 2.
[0016] FIG. 2 is an explanatory diagram showing an example of dividing a patient population by predictive factors in patient characteristics that are considered to have a significant effect on the therapeutic effect τ, and weighting the patient population during learning. In the population 200, there are patients 201 belonging to a treatment group and patients 202 belonging to a non-treatment group. The treatment group is a group of patients who have been treated for injuries and illnesses, and the non-treatment group is a group of patients who have not been treated for injuries and illnesses. In addition, (+) indicates a response, and (-) indicates a non-response. Hereinafter, the patients 201 and 202 who responded will be referred to as patients 201(+) and 202(+), and the patients 201 and 202 who did not respond will be referred to as patients 201(-) and 202(-).
[0017] That is, patient 201(+) is patient 201 whose injury or illness was cured by treatment, and patient 201(-) is patient 201 whose injury or illness was not cured even though he received treatment. Patient 202(+) is patient 202 whose injury or illness was cured despite not receiving treatment, and patient 202(-) is patient 202 whose injury or illness was not cured because he received no treatment. In FIG. 2, for the sake of simplicity, the set of these six patients 201 and 202 is referred to as population 200.
[0018] Here, the analysis device divides a patient population 200 into two groups using a predictor x in the patient characteristics that is considered to have a significant effect on the treatment effect τ. One group is denoted as subtype L and the other group is denoted as subtype R.
[0019] The estimated treatment effect τ(L) for subtype L is the difference between the outcome of patient 201(+) in subtype L and the outcome of patient 202(-) in subtype L, and corresponds to the difference in treatment effect τ between patient groups C and D in Figure 1.
[0020] The estimated treatment effect τ(R) for subtype R is the difference between the outcomes of patients 201(+) and 201(-) in subtype R and the outcome of patient 202(+) in subtype R, and corresponds to the difference in treatment effect τ between patient groups C and D in Figure 1.
[0021] The analysis device learns a loss function f using the sum of squares of the estimated therapeutic effects τ(L) and τ(R) (Equation (1A) below), and predicts the therapeutic effect τ of the prediction target patient using the loss function f.
[0022]
number
[0023] Here, l is an index indicating whether the treatment effect τ(l) is for subtype L or R. N(l) is the number of samples for subtype L.
[0024] As described above, by stratifying the patient population by predictive factors such as EGFR, it is possible to support treatment selection through classification of conditions by treatment effect τ, while the accuracy of prediction of treatment effect τ decreases if the predictive factors are not stratified. For this reason, it is also possible to improve the accuracy of prediction of treatment effect τ by identifying predictive factors in the patient characteristics that are thought to be significantly effective on treatment effect τ in advance and weighting them during learning.
[0025] In this case, the analysis device weights the sum of squares of the estimated treatment effects τ(L) and τ(R) with a weight w(x) related to the predictor x obtained by dividing the population 200 into subtypes L and R, thereby learning a loss function f using the following formula (1B) and predicting the treatment effect τ of the patient to be predicted using the loss function f.
[0026]
number
[0027] Details of the analyzer shown in Fig. 1 and Fig. 2 will be described below as Examples 1 to 4. If the values of the weights w(x) in the above formula (1B) are all set to 1 regardless of the prognostic and predictive factors, the above formula (1B) will be the same as the above formula (1A). Therefore, the following examples will be described based on the above formula (1B). It goes without saying that the present invention also covers a form in which the value of the weights w(x) is set to 1, that is, a form in which no weighting is applied. EXAMPLES
[0028] In the first embodiment, an analysis device in which the weight w(x) is specified in advance will be described. The present invention is not limited to the following embodiment.
[0029] <Example of hardware configuration of analytical equipment> FIG. 3 is a block diagram showing an example of a hardware configuration of an analysis device. The analysis device 300 includes a processor 301, a storage device 302, an input device 303, an output device 304, and a communication interface (communication IF) 305. The processor 301, the storage device 302, the input device 303, the output device 304, and the communication IF 305 are connected by a bus 306. The processor 301 controls the analysis device 300. The storage device 302 serves as a working area for the processor 301. The storage device 302 is a non-transient or temporary recording medium that stores various programs and data. Examples of the storage device 302 include a read only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), and a flash memory. The input device 303 inputs data. Examples of the input device 303 include a keyboard, a mouse, a touch panel, a numeric keypad, a scanner, a microphone, and a sensor. The output device 304 outputs data. The output device 304 may be, for example, a display, a printer, or a speaker. The communication IF 305 connects to a network and transmits and receives data.
[0030] <Example of functional configuration of analytical equipment> Fig. 4 is a block diagram showing an example of a functional configuration of the analysis device according to the first embodiment. The analysis device 300 includes a generation unit 400, an acquisition unit 401, a stratification unit 402, an output unit 403, a healthcare DB 410, and a patient data table 420. The healthcare DB 410 and the patient data table 420 are specifically, for example, data structures stored in the storage device 302 shown in Fig. 3, and are accessible by the processor 301. The generation unit 400, the acquisition unit 401, the stratification unit 402, and the output unit 403 are specifically, for example, functions realized by causing the processor 301 to execute a program stored in the storage device 302 shown in Fig. 3.
[0031] The generating unit 400 generates a patient data table 420 by referring to a healthcare DB 410. The acquiring unit 401 acquires a plurality of pieces of patient data for identifying a patient from the patient data table 420, and acquires weights from a weighting table 430. The stratifying unit 402 stratifies the patient group acquired as patient data by the acquiring unit 401. The stratifying unit 402 has a searching unit 411 and a repeating unit 412. The searching unit 411 searches for a branching condition for stratifying the patient group. The repeating unit 412 repeatedly executes the searching for the branching condition by the searching unit 411 and the division of the patient group using the branching condition. The output unit 403 outputs the stratification result by the stratifying unit 402.
[0032] Fig. 5 is an explanatory diagram showing an example of the weight table 430 shown in Fig. 4. The weight table 430 has fields of explanatory variables 501 and weights 502. A combination of the value of the explanatory variable 501 and the value of the weights 502 in the same row becomes an entry that identifies one explanatory variable 501.
[0033] As described above, the explanatory variable 501 is a field that specifies factors reflecting sensitivity to treatment, and holds x1, x2, ..., xi, ..., xn (n is an integer equal to or greater than 1, and i is an integer satisfying 1≦i≦n) as identification information that uniquely specifies a predictor factor from among a number of explanatory variables. Hereinafter, the value of the explanatory variable 501 may be referred to as a predictor factor xi. The weight 502 is an index value indicating the significance of the treatment effect τ, and is input to the above formula (1). In this example, the larger the value of the weight 502, the higher the prediction accuracy of the treatment effect τ.
[0034] In the first embodiment, the weight table 430 is prepared in advance. The analysis device 300 can add, change, or delete entries in the weight table 430 and change the values of the weights 502 in response to a user operation.
[0035] FIG. 6 is an explanatory diagram showing an example of the healthcare DB 410 shown in FIG. 4. The healthcare DB 410 has fields such as a patient ID 601, an admission ID 602, a treatment line 603, a date 604, a procedure 605, an event 606, and a patient characteristic 607. A combination of values in each field in the same row becomes an entry that specifies one piece of healthcare information. One or more entries exist for one patient. For example, if a patient is hospitalized three times, three entries exist for that patient. Note that in FIG. 6, healthcare information is specified for the injury or illness (e.g., cancer) to be analyzed.
[0036] The patient ID 601 is identification information that uniquely identifies a patient. The admission ID 602 is identification information that is assigned when the patient identified by the patient ID 601 is admitted. The treatment line 603 is a number that indicates the order of treatment.
[0037] The treatment line 603 is a number indicating the order of treatment by administering anticancer drugs for cancer. For example, when an anticancer drug is administered for the first time for a certain cancer, it is the first treatment, so the value of the treatment line 603 is "1", for the second treatment it is "2", for the third treatment it is "3", and so on.
[0038] The date 604 is the year, month, and day when the treatment was performed by the treatment line 603. The procedure 605 is the content of the treatment by the treatment line 603. The event 606 is the result of the treatment 605 performed by the treatment line 603 (for example, progression, death, etc.).
[0039] The patient characteristics 607 are explanatory variables indicating a group of factors that are characteristic quantities of a patient identified by a patient ID 601 as of a date 604, and include covariates. Specifically, the patient characteristics 607 are clinical test values and the presence or absence of gene mutations, and include, for example, factors such as age 671, sex 672, blood pressure 673, EGFR 674, TP53 675, and KRAS 676.
[0040] 7 is a diagram illustrating an example of a patient data table according to the first embodiment. The patient data table 420 is generated by the generating unit 400 with reference to the health care DB 410. The patient data table 420 may be stored in the storage device 302 in advance.
[0041] The patient data table 420 is a table that summarizes the healthcare DB 410 on a patient-by-patient basis, and has fields such as a patient ID 601, a survival time 701, an outcome 702, a treatment selection 703, and a patient characteristic 607. A combination of values in each field in the same row forms an entry that specifies the patient data of one patient.
[0042] When multiple entries exist for one patient in the healthcare DB 410, for example, the entry with the maximum value of the treatment line 603 is used as the entry for the patient data table 420.
[0043] The survival time 701 is the number of days from the date 604 to the date of death of the patient identified by the patient ID 601, which is the value of the event 606. If the event 606 has no value, the number of days is the number of days to the current date.
[0044] The outcome 702 is an observed value, such as survival or death, progression-free time, or tumor size, and is a value that includes both treatment-unrelated and treatment-related effects. Here, in the example of FIG. 7, the value of the outcome 702 is a number that specifies survival or death. For example, "1" indicates survival, and "0" indicates death. The analysis device 300 refers to the event 606, and if the event 606 has no value, it stores "1," and if the event 606 has a date of death, it stores "0."
[0045] Treatment selection 703 is a value indicating whether or not the patient identified by patient ID 601 selected a treatment, with "1" indicating that a treatment was selected and "0" indicating that a treatment was not selected. The analysis device 300 refers to treatment 605, and if treatment 605 has no value, stores "0", and if treatment 605 has a value, stores "1".
[0046] In the following explanation, for the sake of convenience, EGFR674 may be referred to as factor x1, TP53675 as factor x2, and KRAS676 as factor x3.
[0047] 8 is an explanatory diagram showing an example of an input screen of the analysis device 300 according to Example 1. The input screen 800 is displayed on a display device, which is an example of the output device 304 of the analysis device 300, or on a display device of another computer that can communicate with the analysis device 300 via the communication IF 305. In addition, a user can input information into the input screen 800 by operating the input device 303 of the analysis device 300 or an input device of the other computer.
[0048] The input screen 800 has a healthcare information setting item 801, a classification setting item 802, a treatment progress item 803, a response variable item 804, an explanatory variable item 805, a missing value processing item 806, a classification model item 807, a weight item 808, and an execute button 809.
[0049] The healthcare information setting item 801 is a user interface that allows a user to select a prediction target entry from the group of entries in the healthcare DB 410 shown in Fig. 6. The classification setting item 802 is a user interface that allows a user to select an item for classifying the group of entries in the healthcare information setting item 801 by classification information such as the stage of cancer or genes of the patient. This makes it possible to narrow down the group of entries in the healthcare information setting item 801. The treatment progress item 803 is a user interface that allows a user to select the treatment line 603 of the patient.
[0050] The objective variable item 804 is a user interface that allows the selection of objective variables output from the classification model f. As objective variables, for example, the event 606 and the procedure 605 of the patient to be predicted can be selected. The explanatory variable item 805 is a user interface that allows the selection of factors of the patient characteristics 607 that become one or more explanatory variables of the patient to be predicted. In the example of FIG. 8, age 671, sex 672, and blood pressure 673 are selected by inputting a check mark.
[0051] The missing value handling item 806 is a user interface that allows the selection of missing value handling for explanatory variables. In the example of FIG. 8, "interpolation" is selected as the missing value handling. The classification model item 807 is a user interface that allows the selection of a classification model f. In the example of FIG. 8, a causal tree is selected as the classification model f. A causal tree is a type of decision tree for calculating the Conditional Average Treatment Effect (CATE) in statistical causal inference.
[0052] The weight item 808 displays the weight 502 of the explanatory variable 501 selected in the explanatory variable item 805. The user may refer to the weight 502 and deselect the explanatory variable in the explanatory variable item 805. For example, since the weight 502 of gender 672 is "1.0", which is lower than the other weights 502, the user may exclude gender 672 from the explanatory variable item 805. The execute button 809 is a user interface that, when pressed, causes the analysis device 300 to execute the analysis process.
[0053] <Analysis processing> 9 is a flowchart showing an example of an analysis process procedure by the analysis device 300. The analysis device 300 causes the generation unit 400 to generate the patient data table 420 from the health care DB 410 if the patient data table 420 has not been generated yet. Then, the analysis device 300 causes the acquisition unit 401 to acquire the patient data, which is an entry, from the patient data table 420 (step S901).
[0054] Next, the analysis device 300 executes a stratification process by the stratification unit 402 (step S902). The stratification process (step S902) is a process of stratifying patients using patient data. After that, the analysis device 300 outputs the stratification result by the stratification process (step S902) by the output unit 403 (step S903), and ends a series of analysis processes. In step S903, the analysis device 300 may display the stratification result on a display, which is an example of the output device 304, may transmit the stratification result to another computer by the communication IF 305, or may store the stratification result in the storage device 302.
[0055] <Stratification results> Fig. 10 is an explanatory diagram showing an example of a stratification result. The stratification result shown in Fig. 10 is a causal tree 1000, which is a tree structure. The causal tree 1000 is composed of nodes 1001 to 1005. "N" in the nodes 1001 to 1007 is the number of samples, that is, the number of patients. That is, as an example, a tree structure in which the number of samples is halved by division is illustrated.
[0056] The analysis target group indicated by node 1001 is divided into a patient group (node 1003) for which predictor x1>0 and a patient group (node 1002) for which this predictor x1 and the division threshold value "0" for dividing the analysis target group are the branching conditions for node 1001.
[0057] The patient group at node 1003 is divided into a patient group (node 1005) for which the predictor x2>0 and a patient group (node 1004) for which the predictor x2 is not 0. The predictor x2 and the division threshold value “0” for dividing the division target are the branching conditions for node 1003.
[0058] The patient group at node 1005 is divided into a patient group (node 1007) for which the predictor x2>0 and a patient group (node 1006) for which the predictor x2>0 is not. Node 1007, which satisfies all branching conditions, becomes the successful group. The predictor x3 and the division threshold value "0" for dividing the subject are the branching conditions for node 1005.
[0059] There are no branch conditions at nodes 1002, 1004, 1006, and 1007. The nodes 1001 to 1007, the connections between the nodes 1001 to 1007, and the branch conditions at nodes 1001, 1003, and 1005 form a causal tree 1000.
[0060] FIG. 10 shows that when the patient group to be divided is divided using the division threshold, the number of patients in the patient group to be divided is halved.
[0061] Fig. 11 is an explanatory diagram showing another example of the stratification result. The stratification result 1100 shown in Fig. 11 is an example shown in a graph. The stratification result 1100 is a scatter plot in which the relationship between the covariates, Factor 1 and Factor 2, is graphed, and the analysis target group is divided into patient groups A, B, and C. The covariates are not limited to the combination of Factor 1 and Factor 2, and other combinations can also be selected.
[0062] Furthermore, when the user operates the input device 303 to specify each of patient groups A, B, and C, the analysis device 300 may display characteristic information of the specified patient groups. In Fig. 11, when patient group B is specified, characteristic information 1101 of patient group B is displayed.
[0063] <Stratification process> Fig. 12 is a flowchart showing a detailed example of the processing procedure of the stratification process (step S902) shown in Fig. 9. The analysis device 300 sets an analysis target group by the iterative unit 412 (step S1201). Specifically, for example, when step S1201 is executed for the first time, the analysis device 300 selects an analysis target group for the first execution from the patient data acquired in step S901. The analysis target group for the first execution may be the patient data or all entries in the patient data table 420, or may be a portion of the patient data that meets a preset condition, and may be one or more patient data.
[0064] Furthermore, the analysis device 300 sets an execution label [K, V] to the analysis target group when step S1201 is executed for the first time. For example, the execution label [K, V] is a combination of a key K and a value V. When step S1201 is executed for the first time, the key K is set to 1 and the value V is set to False. False indicates that the branch condition search process (step S1202) has not been executed, and once the branch condition search process (step S1202) has been executed, the value V is updated to True, which indicates that the branch condition search process (step S1202) has been executed.
[0065] Next, the analysis device 300 executes a branching condition search process by the search unit 411 (step S1202). The branching condition search process (step S1202) is a process for searching for a condition (branching condition) for branching the analysis target group and generating the causal tree 1000.
[0066] Next, the analysis device 300 causes the search unit 411 to update the value V=False of the execution label [K, V] of the analysis target group to a value V=True indicating that the branch condition search process (step S1202) has been executed (step S1203).
[0067] Next, the analysis device 300, by the iterator 412, judges whether the treatment effect has changed before and after the division of the analysis target group (step S1204). Specifically, for example, the analysis device 300 provisionally divides the analysis target group to be divided according to the branching condition of the causal tree, and generates two patient groups (hereinafter referred to as the first branch group and the second branch group. When no distinction is made, they are simply referred to as the branch groups). The analysis device 300 judges whether the treatment effect of either the first branch group or the second branch group has changed significantly with respect to the treatment effect of the analysis target group to be divided.
[0068] For example, the analysis device 300 calculates a standard deviation obtained by combining a difference in therapeutic effect between the first branch group and the analysis subject group (hereinafter, the first difference) and a difference in therapeutic effect between the second branch group and the analysis subject group (hereinafter, the second difference).The analysis device 300 then determines whether or not at least one of the first difference and the second difference is larger than the standard deviation.
[0069] The branch group to which the difference larger than the standard deviation is compared is determined to have changed in treatment effect from the analysis group before division. If at least one of the first difference and the second difference is larger than the standard deviation, it is determined that the treatment effect has changed (step S1204: Yes), and the process proceeds to step S1205, and if both the first difference and the second difference are equal to or smaller than the standard deviation, the process proceeds to step S1206.
[0070] Furthermore, if the loss function does not improve in the branching condition search process (step S1202) (i.e., if None is returned as the branching condition search result), the analysis device 300 determines that there is no change in the treatment effect (step S1204: No) and proceeds to step S1206.
[0071] After step S1204: Yes, the analysis device 300 divides the analysis target group according to the branching condition used in the provisional division in step S1204 (step S1205). Specifically, for example, the analysis device 300 divides the analysis target group at the parent node in the first step S1205, and when the loop is entered in step S1206: No, the analysis device 300 divides the analysis target group at the branched child node in the next step S1205.
[0072] Furthermore, the analysis device 300 assigns an execution label to each of the two groups divided in step S1205, i.e., the first branch group and the second branch group. Specifically, for example, the analysis device 300 copies the execution label [K, V] of the analysis target group for each of the first branch group and the second branch group. Then, the analysis device 300 assigns a branch number "1" to the end of the key K of the execution label [K, V] of the first branch group, and updates the value V from V=True to V=False. Similarly, the analysis device 300 assigns a branch number "2" to the end of the key K of the execution label [K, V] of the second branch group, and updates the value V from V=True to V=False.
[0073] For example, if the execution label [K, V] of the analysis target group is [1, True], the execution label [K, V] of the first branch group will be [11, False], and the execution label [K, V] of the second branch group will be [12, False]. Then, the process proceeds to step S1206.
[0074] The analysis device 300 determines whether the termination condition is satisfied (step S1206). The termination condition is, for example, a preset number of times that the group division (step S1205) is performed (i.e., the depth of branching) or a lower limit value of the number of samples in the group. Specifically, for example, if the number of times that the group division (step S1205) is performed is not equal to or greater than a predetermined number, the termination condition is deemed not to be satisfied (step S1206: No), and the process returns to step S1201. On the other hand, if the number of times that the group division (step S1205) is performed is equal to or greater than a predetermined number, the value V of each of the first and second branch groups is updated from V=False to V=True, the termination condition is deemed to be satisfied (step S1206: Yes), the stratification process (step S902) is terminated, and the process proceeds to step S903.
[0075] If the termination condition is the lower limit of the number of samples in a group, the analysis device 300 performs group division (step S1205) and determines whether the number of samples in each of the first and second branch groups is below the lower limit of the number of samples in a group. If at least one of the first and second branch groups is below the lower limit of the number of samples in a group, the termination condition is not satisfied (step S1206: No), and the process returns to step S1201. On the other hand, if both the first and second branch groups are equal to or greater than the lower limit of the number of samples in a group, the value V of each of the first and second branch groups is updated from V=False to V=True, the termination condition is satisfied (step S1206: Yes), the stratification process (step S902) is terminated, and the process proceeds to step S903.
[0076] If the therapeutic effect has not changed (step S1204: No), the analysis device 300 judges whether the number of samples in the analysis target group is below the lower limit of the number of samples in the group. If the number of samples in the analysis target group is below the lower limit of the number of samples in the group, the end condition is not satisfied (step S1206: No), and the process returns to step S1201. On the other hand, if the number of samples in the analysis target group is equal to or greater than the lower limit of the number of samples in the group, the value V of each of the first and second branch groups is updated from V=False to V=True, the end condition is satisfied (step S1206: Yes), the stratification process (step S902) is terminated, and the process proceeds to step S903.
[0077] That is, if there is a group in which the value V of the execution label [K, V] is "False", it is determined that the termination condition is not satisfied (step S1206: No), and the process returns to step S1201.
[0078] When returning to step S1201 from step S1206: No, the analysis device 300 sets the group whose execution label [K, V] has a value of "False" as the next analysis target group (step S1201), and similarly executes steps S1202 to S1206.
[0079] In the above-mentioned example of group division (step S1205), the execution label [K, V] of the first branch group is [11, False], and the execution label [K, V] of the second branch group is [12, False]. Therefore, the first branch group and the second branch group are each set as an analysis target group (step S1201), and steps S1202 to S1206 are executed for each analysis target group.
[0080] Here, a specific description will be given by taking the causal tree 1000 shown in FIG. 10 as an example. First, at the time of the first execution, the analysis device 300 provisionally divides the analysis target group into a first branch group (x1>0: Yes) and a second branch group (x1>0: No) by the branch condition (x1>0) of the node 1001. Here, it is assumed that the treatment effect has changed for either the first branch group (x1>0: Yes) or the second branch group (x1>0: No) (step S1204: Yes). As a result, the analysis device 300 divides the analysis target group into the first branch group (x1>0: No) and the second branch group (x1>0: Yes) by the branch condition (x1>0) of the node 1001 (step S1205).
[0081] In addition, the analysis device 300 uses the execution label [1, True] of the analysis target group to generate an execution label [11, False] of the first branch group (x1>0: No) and an execution label [12, False] of the second branch group (x1>0: Yes).
[0082] The first branch group (x1>0: No) transitions to node 1002. Because node 1002 does not have a branch condition, the analysis device 300 ends the search for the first branch group (x1>0: No) (step S1206: Yes) and updates the execution label [11, False] to [11, True].
[0083] The execution label of the second branch group (x1>0: Yes) is [12, False], and the value V is False. Therefore, the analysis device 300 sets the second branch group (x1>0: Yes) as the next analysis target group (step S1206: No → S1201).
[0084] The analysis device 300 identifies the node 1003 in the causal tree 1000 to which the analysis target group (x1>0: Yes) transitions, and updates the execution label [12, False] to [12, True].
[0085] Then, the analysis device 300 provisionally divides the analysis target group (x1>0: Yes) into a third branch group (x2>0: No) and a fourth branch group (x2>0: Yes) by the branching condition (x2>0). Here, it is assumed that the treatment effect has changed for either the third branch group (x2>0: No) or the fourth branch group (x2>0: Yes) (step S1204: Yes). The analysis device 300 divides the analysis target group (x1>0: No) into a third branch group (x2>0: No) and a fourth branch group (x2>0: Yes) by the branching condition (x2>0) (step S1205).
[0086] In addition, the analysis device 300 uses the execution label [12, True] of the analysis target group (x1>0: Yes) to generate the execution label [123, False] of the third branch group (x2>0: No) and the execution label [124, False] of the fourth branch group (x2>0: Yes).
[0087] The third branch group (x2>0: No) transitions to node 1004. Because node 1004 does not have a branch condition, the analysis device 300 ends the search for the third branch group (x2>0: No) (step S1206: Yes) and updates the execution label [123, False] to [123, True].
[0088] The execution label of the fourth branch group (x2>0: Yes) is [124, False], and the value V is False. Therefore, the analysis device 300 sets the fourth branch group (x2>0: Yes) as the next analysis target group (step S1206: No → S1201).
[0089] The analysis device 300 identifies the node 1005 in the causal tree 1000 to which the analysis target group (x2>0: Yes) transitions, and updates the execution label [124, False] to [124, True].
[0090] Then, the analysis device 300 provisionally divides the analysis target group (x2>0: Yes) into a fifth branch group (x3>0: No) and a sixth branch group (x3>0: Yes) by the branching condition (x3>0). Here, it is assumed that the treatment effect has changed for either the fifth branch group (x3>0: No) or the sixth branch group (x3>0: Yes) (step S1204: Yes). The analysis device 300 divides the analysis target group (x2>0: No) into a fifth branch group (x3>0: No) and a sixth branch group (x3>0: Yes) by the branching condition (x3>0) (step S1205).
[0091] In addition, the analysis device 300 uses the execution label [124, True] of the analysis target group (x2>0: Yes) to generate the execution label [1245, False] of the fifth branch group (x3>0: No) and the execution label [1246, False] of the sixth branch group (x3>0: Yes).
[0092] The fifth branch group (x3>0: No) transitions to node 1006. Because there is no branch condition in node 1006, the analysis device 300 ends the search for the fifth branch group (x3>0: No) (step S1206: Yes) and updates the execution label [1245, False] to [1245, True].
[0093] Similarly, the sixth branch group (x3>0: Yes) transitions to node 1007. Because node 1007 does not have a branch condition, the analysis device 300 ends the search for the sixth branch group (x3>0: Yes) (step S1206: Yes) and updates its execution label [1246, False] to [1246, True].
[0094] Then, the analysis device 300 outputs the run labels generated so far, the groups corresponding to the run labels, and the branching conditions used for division as stratification results.
[0095] 9, the analysis device 300 outputs, for example, a causal tree, which is a tree structure from the initial analysis target group to the terminal branch group, as the stratification result via the output unit 403. At this time, the execution labels of each group in the stratification result may be reassigned to ascending numbers starting from 0 with the initial analysis target group as the starting position.
[0096] In this manner, in the stratification process (step S902), a search is performed to maximize the therapeutic effect for each branch group generated by branching, and stratification that maximizes the therapeutic effect is realized.
[0097] <Branch condition search process (step S1002)> Fig. 13 is a flowchart showing a detailed example of the process procedure of the branching condition search process (step S1002) shown in Fig. 10. The search unit 411 reads the weights 502 of the explanatory variables 501 from the weight table 430 (step S1301).
[0098] Next, the search unit 411 acquires a search target group from the analysis target group (step S1302). Specifically, for example, the search unit 411 may use the analysis target group as the search target group as it is, or may divide the analysis target group into training data and validation data. In the case of division, the training data becomes the search target group, and the validation data is used in the treatment effect estimation (step S1306).
[0099] Next, the search unit 411 randomly selects factors that are covariates in the search target group, creates a list of the selected factors (factor list) (step S1303), and creates a list of the values of the selected factors (factor value list) (step S1304). The factor list is a list of fields that indicate factors that are covariates, such as age 671, blood pressure 673, and EGFR 674. The factor group selected for the factor list is a factor group whose number is smaller than all factors. A causal tree is created for each factor list.
[0100] The factor value list is a list including values of selected factors such as age 671, blood pressure 673, and EGFR 674 (56 [years], 62 [years], ..., 90 [ml], 127 [ml], ...).
[0101] Furthermore, in step S1304, the search unit 411 identifies a preset predictor from the factor list, and extracts the value of the identified predictor (hereinafter, search target predictor) from the factor value list.
[0102] Through steps S1301, S1303, and S1304, the search unit 411 selects unselected predictors and their weights.
[0103] Next, the search unit 411 divides the search target group into two using the search target predictor (step S1305). This data division is a process of dividing into subtypes L and R according to the patient characteristics shown in FIG. 2. Each time the process returns from steps S1311 and S1312, a different predictor is selected as the search target predictor. Note that one of the divided groups is called subtype L, as in FIG. 2, and the other group is called subtype R.
[0104] Next, the searching unit 411 calculates the therapeutic effect τ for each of the subtypes L and R (step S1306). The therapeutic effect τ is calculated by the following formula (2).
[0105] τ(l)=E[Y|T=1]-E[Y|T=0]···(2)
[0106] If the subtype is L, then l=L, and if the subtype is R, then l=R. Y is the outcome (for example, event 606). T is a binary variable indicating treatment selection, with T=1 indicating that the treatment was selected (treatment 605 was performed), and T=0 indicating that the treatment was not selected (treatment 605 was not performed). Furthermore, E[] is an expected value calculation operator. E[] is, for example, the sum of outcome Y. The treatment effects τ(L) and τ(R), which are the second treatment effects, are calculated by the above formula (2). When there is no need to distinguish between the treatment effects τ(L) and τ(R), they are written as τ(l) (where l=L, R).
[0107] Next, the search unit 411 calculates the loss functions before and after division using the therapeutic effects τ(L) and τ(R) (step S1307). The loss function before division is LossPre, and the loss function after division is LossPost. First, the loss function before division LossPre is shown in the following formula (3).
[0108]
number
[0109] In the above formula (3), N on the right-hand side is the number of samples in the search target group. Also, τ on the right-hand side is the treatment effect before division, which is the first treatment effect. In the first execution, the treatment effect τ in the parent node is used. From the second loop onwards, the previous treatment effect τ(l) after division becomes the treatment effect τ before division.
[0110] Also, x is a search target predictor identified in step S1305 among the explanatory variables 501 (x1, x2, ..., xi, ..., xn), and W(x) is the weight 502 of the search target predictor.
[0111] Furthermore, when the analysis target group is divided into training data and validation data in step S1302, the loss function LossPre before division is expressed as the following formula (4) by adding a penalty term due to variance to the above formula (3).
[0112]
number
[0113] N on the right side of the above formula (4) train is the number of samples in the training data, i.e., the number of samples in the search target set, N. est is the number of samples in the validation data. S T=1 is the variance of the samples belonging to treatment selection T=1 in the search target set, and S T=0 is the variance of samples in the search target group that belong to treatment selection T = 0. Also, p is the proportion of samples in the search target group that belong to treatment selection T = 1.
[0114] In addition, the right-hand sides of the above formulas (3) and (4) may be normalized by dividing them entirely by the number of samples N in the search target group.
[0115] Next, the loss function LossPost after division is shown in the following formula (5). The loss function LossPost after division is a loss function that maximizes each estimated treatment effect τ(l).
[0116]
number
[0117] In the above formula (5), N(l) on the right side is the number of samples of subtype l. If the entire right sides of the above formulas (3) and (4) are normalized by dividing them by the number of samples N in the search target group, the entire right side of the above formula (5) may be normalized by dividing them by the number of samples in the search target group (the total number of samples of subtypes L and R). In addition, val is a threshold value for dividing the range of factor x. W(x) may be used without using val.
[0118] Next, the search unit 411 calculates a differential Gain between the loss functions LossPre and LossPost before and after the division (step S1308). The differential Gain is an index indicating whether the loss function LossPost has been improved by the division.
[0119] Gain=LossPost-LossPre...(6)
[0120] Next, the search unit 411 judges whether the current differential Gain is larger than the differential Gain being held (step S1309). The differential Gain being held is the differential Gain held in step S1310 of the previous loop, and is set as the target value. However, at the time of the first execution, since there is no differential Gain being held, 0 is used as the initial value of the differential Gain being held.
[0121] If the current differential Gain is greater than the held differential Gain (step S1309: Yes), the search unit 411 updates the loss function LossPre applied before division this time with the loss function LossPost to obtain a new loss function LossPre before division, updates the held differential Gain with the current differential Gain, and obtains the branching condition when the division into two parts is performed in step S1305. In this manner, the branching condition is searched for. Then, the process proceeds to step S1311.
[0122] On the other hand, if the current differential Gain is not greater than the held differential Gain (step S1309: No), the search unit 411 proceeds to step S1311 without updating the loss function LossPre before division and the held differential Gain.
[0123] Next, the search unit 411 determines whether or not the division of the search target group into two (step S1305) satisfies a termination condition (step S1311). The termination condition is, for example, when there are no explanatory variables 501 remaining that can be selected as search targets. If the division of the search target group into two (step S1305) does not satisfy the termination condition (step S1305: No), that is, when there are explanatory variables 501 remaining that can be selected as search targets, the process returns to step S1304. In this case, the search unit 411 sets each of the subtypes L and R that have been determined to be larger than the previous difference in step S1309 to the next search target group.
[0124] On the other hand, if the termination condition is satisfied (step S1311: Yes), that is, if there are no remaining explanatory variables 501 that can be selected as search targets, one causal tree has been created, and the search unit 411 saves the created causal tree and proceeds to step S1312.
[0125] Next, the search unit 411 determines whether or not a termination condition for creating a causal tree is satisfied (step S1312). The termination condition is, for example, a threshold value for the number of causal trees. If the termination condition is not satisfied (step S1312: No) (if the number of created causal trees has not reached the threshold value), the process returns to step S1303, and the search unit 411 recreates the factor list.
[0126] On the other hand, if the termination condition is satisfied (step S1312: Yes), the search unit 411 outputs the created causal tree and proceeds to step S1203. As a result, the number of causal trees created is equal to the threshold value set in step S1312. Among the node groups constituting the causal tree, a node having a branch destination node includes the predictor and the division threshold value used when the group was divided at that node.
[0127] <Simulation results> Next, the simulation results of the first embodiment will be described with reference to FIG.
[0128] 14 is a box plot showing the prediction error improvement rate before and after division in the conventional method and in Example 1. The conventional method is a method of calculating the prediction error improvement rate by using the above formulas (3) and (5) without W(x).
[0129] Y j =η(x j )+T j τ(x j ) · · · (7)
[0130] The above formula (7) is the outcome calculation formula. The subscript j is the patient ID 601. Y on the left side j is the outcome for a patient whose patient ID 601 value is j (hereafter referred to as patient j). j) is the prognostic factor x of patient j j These effects are not related to treatment with T j is the treatment choice T (=0 or 1) for patient j. τ(x j ) is the predictor x j This is the therapeutic effect.
[0131] Here, η(x j ) is expressed by the following formula (8).
[0132]
number
[0133] Also, τ(x j ) is expressed by the following formula (9).
[0134]
number
[0135] The above formulas (8) and (9) are formulas showing a method of generating data by simulation, and table data similar to that shown in FIG. 7 is generated. The number of samples N for patient j is set to N=1000, and the treatment selection T j Here, among the factors x1 to x8, the factors x1 and x2 have a significantly larger value of the weight 502 than the other factors x3 to x8.
[0136] In this simulation, the prediction error reduction rate before and after division was calculated using RMSE (Root Mean Square Error) as an evaluation of accuracy. In Example 1, since weighting is used, it can be confirmed that the prediction error improvement rate is improved and the coefficient of variation (CV) is significantly reduced. EXAMPLES
[0137] Next, a second embodiment will be described. In the first embodiment, the weight table 430 is assumed to exist, but in the second embodiment, the analysis device 300 generates the weight table 430. That is, in the second embodiment, the analysis device 300 generates the weight table 430 by using the generating unit 400, with reference to the patient data table 420. In the second embodiment, differences from the first embodiment will be mainly described, and therefore descriptions of common parts with the first embodiment will be omitted.
[0138] 15 is a flowchart showing an example of a procedure for generating the weight table 430 by the generating unit 400 according to the second embodiment. The generating unit 400 randomly samples entries that define patient data from the patient data table 420 (step S1501). The number of samples is set arbitrarily, for example, 50% or 70% of all samples in the patient data table 420. The generating unit 400 may use samples that have not been sampled as verification data.
[0139] Next, the generating unit 400 outputs the sample group sampled in step S1501 to the stratifying unit 402, and calls and executes the stratification process (step S902) shown in FIG. 12 from the stratifying unit 402 (step S902).
[0140] Next, the generating unit 400 acquires the value of the explanatory variable 501 and the division threshold value for each explanatory variable 501 used in the division from each branch group that is the stratification result of the stratification process (step S902) (step S1503).
[0141] After that, the generating unit 400 judges whether or not the end condition is satisfied (step S1504). Specifically, the end condition is, for example, when the number of times steps S1501 to S1503 are executed reaches a predetermined number of times. When the end condition is not satisfied (step S1504: No), that is, when the number of times steps S1501 to S1503 are executed has not reached the predetermined number of times, the process returns to step S1501. On the other hand, when the end condition is satisfied (step S1504: Yes), that is, when the number of times steps S1501 to S1503 are executed reaches the predetermined number of times, the weight 502 is calculated for each explanatory variable 501 and stored in the weight table 430 (step S1505).
[0142] Specifically, for example, the generating unit 400 calculates a statistic between the value of the explanatory variable 501 and the division threshold for each explanatory variable 501, and sets the calculated value as the weight 502. More specifically, for example, the weight 502 may be the difference between the maximum value of the explanatory variable 501 and the division threshold, the difference between the median value of the explanatory variable 501 and the division threshold, the difference between the mode value of the explanatory variable 501 and the division threshold, or the difference between the average value of the explanatory variable 501 and the division threshold. Alternatively, the weight 502 may be the number of occurrences of the value of the explanatory variable 501.
[0143] In this way, analysis device 300 automatically learns the weights. Therefore, weights 502 can be made larger for predictors used as branching conditions, and the accuracy of estimating the therapeutic effect can be improved.
[0144] Since the above-mentioned stratification process (step S902) is also applied in Fig. 9, when the stratification process (step S902) is executed in Fig. 9, the generating unit 400 may use the stratification result to update the weight table 430. As a result, the more the analysis is performed by the analysis device 300, the more the reliability of the weight table 430 is improved, and the accuracy of estimating the therapeutic effect is improved.
[0145] In addition, in the first embodiment, an arbitrarily created weight table 430 is applied, but in the second embodiment, a computer having a generation unit 400 other than the analysis device 300 may generate the weight table 430 by the generation process according to the second embodiment, and the analysis device 300 may obtain the weight table 430 from the computer. EXAMPLES
[0146] Next, a third embodiment will be described. In the first embodiment, the weight table 430 is assumed to exist, but in the third embodiment, the analysis device 300 generates the weight table 430. That is, in the third embodiment, the analysis device 300 generates the weight table 430 by using the generation unit 400, referring to a medical literature database such as PubMed. In the third embodiment, differences from the first embodiment will be mainly described, and therefore descriptions of common parts with the first embodiment will be omitted.
[0147] Specifically, for example, analysis device 300 causes generation unit 400 to execute an abstract search on a medical literature database, statistically process the occurrence rates of related terms, and set the statistical processing results as weights 502 of explanatory variables 501. In this way, analysis device 300 automatically learns medical knowledge.
[0148] 16 is a histogram showing search results from a medical literature database. The vertical axis of the histogram 1600 is a column of factors contained in the sentences searched for by the search keywords. The search keywords may be, for example, the names of risk factors. The search keywords may also include conjunctions related to outcomes, such as "cause" and "relate."
[0149] The horizontal axis in Fig. 16 is factor weight 502. The generation unit 400 calculates the value of weight 502 so that the greater the number of times the search keyword appears in a sentence searched for by the search keyword or the greater the number of sentences searched for by the search keyword, the higher the value of weight 502. However, if a sentence searched for by the search keyword contains a negative word such as "not", the generation unit 400 does not calculate a high value of weight 502 or calculates it so that the value is low.
[0150] The generation unit 400 excludes factors whose weight 502 values are equal to or less than a predetermined threshold or are in the top k+1 or lower, and stores factors whose weight 502 values are greater than a predetermined threshold or are in the top k or lower as explanatory variables 501 together with the weight 502 in the weight table 430.
[0151] 17 is a flowchart showing an example of a process procedure for generating the weight table 430 according to the third embodiment. The generating unit 400 sets a search keyword by a user operation (step S1701). Next, the generating unit 400 transmits the search keyword to a medical literature database, searches the abstracts of each document in the medical literature database, and acquires the abstracts of documents corresponding to the search keyword from the medical literature database (step S1702).
[0152] Next, generating unit 400 searches the abstract acquired in step S1702 for factors contained in the search keyword, and extracts sentences containing the factors (step S1703).
[0153] Next, the generating unit 400 searches the sentences extracted in step S1703 for a conjunction related to outcome (for example, "cause" or "relate"), and increments the positive relation count Cpos for the sentences containing the conjunction. The positive relation count Cpos is an evaluation value for a sentence indicating that the relationship between the factor and the conjunction is positive, and the higher the count value, the larger the weight 502. On the other hand, if a sentence searched for with a conjunction related to outcome contains a negative word such as "not", the generating unit 400 increments the negative relation count Cneg.
[0154] Next, the generating unit 400 calculates the weight 502 for each factor (step S1705). The weight 502(w) is calculated, for example, by the following formula (10).
[0155] w = Cpos / Cneg (10)
[0156] In addition, if the negation relation count Cneg in the denominator is never counted, Cneg=0 and calculation becomes impossible. Therefore, even when Cneg=0, formula (1) may be modified so that the denominator of formula (10) does not become 0.
[0157] Next, the generating unit 400 stores the calculated weights 502 in the weight table 430 (step S1706).
[0158] Thereafter, the generating unit 400 judges whether or not a termination condition is satisfied (step S1704). Specifically, the termination condition is, for example, when weights 502 have been calculated for all of the factors found in step S1703. If there are factors for which weights 502 have not been calculated (step S1707: No), the process returns to step S1703. On the other hand, if there are no factors for which weights 502 have not been calculated (step S1707: Yes), the generating unit 400 terminates the example process.
[0159] In this way, the analysis device 300 automatically learns using medical knowledge as weights. Therefore, the weight 502 is larger for factors that are searched for in a medical literature database, and when factors with medical evidence are used as predictive factors in medical literature, the accuracy of estimating the treatment effect can be improved.
[0160] In the third embodiment, the abstracts of medical literature are searched, so that the generation process of the weight table 430 can be speeded up compared to when the medical literature itself is searched. On the other hand, the generation unit 400 may search the medical literature itself. This improves the reliability of the weights 502 and the accuracy of estimating the therapeutic effect compared to when the abstracts of medical literature are searched.
[0161] In addition, in the first embodiment, an arbitrarily created weight table 430 is applied, but in the first embodiment, a computer having a generation unit 400 other than the analysis device 300 may generate the weight table 430 by the generation process according to the third embodiment, and the analysis device 300 may obtain the weight table 430 from the computer. EXAMPLES
[0162] Next, Example 4 will be described. Example 4 is an example in which the causal tree in Examples 1 to 3 is re-learned. Note that in Example 4, differences from Examples 1 to 3 will be mainly described, and therefore descriptions of commonalities with Examples 1 to 3 will be omitted. Note that if the weight w(x) is not adopted (the value of the weight w(x) in the above formula (1B) is 1), the re-learning example will be based on the above formula (1A), and if the weight w(x) is adopted, the re-learning example will be based on the above formula (1B).
[0163] 18 is a block diagram showing an example of a functional configuration of an analysis device 300 according to a fourth embodiment. In the analysis device 300, the generation unit 400 extracts and combines branch conditions from the causal tree 1000 output as a stratification result by the output unit 403 to generate a combined branch condition, and re-learns the causal tree using the combined branch condition. The search unit 411 generates a new causal tree by performing a binary search of the combined branch condition.
[0164] In the example of the causal tree 1000 in FIG. 10, the branching conditions are x1>0, x2>0, and x3>0. A combined branching condition is a combination of two or more branching conditions. In the example of the causal tree 1000 in FIG. 10, the combined branching conditions are x1>0&x2>0, x2>0&x3>0, and x1>0&x2>0&x3>0. "&" means logical AND. Note that the combination of conditional branches can also be logical OR.
[0165] 19 is an explanatory diagram showing an example of a patient data table 420 according to the fourth embodiment. Unlike the first embodiment, in the patient data table 420, branch conditions 1901 (x1>0), 1902 (x2>0), and 1903 (x3>0) and a combined branch condition 1904 (x1>0&x2>0&x3>0) are added to the patient characteristics 607. In addition to the combined branch condition 1904, combined branch conditions including x1>0&x2>0, x2>0&x3>0, and other logical sums may also be added to the patient characteristics 607.
[0166] The values of the branch conditions 1901 to 1903 are set to "1" if the branch conditions 1901 to 1903 are satisfied, and set to "0" if the branch conditions are not satisfied. The value of the branch condition 1904 is set to "1" if all of the branch conditions 1901 to 1903 are satisfied, and set to "0" if any one of the branch conditions 1901 to 1903 is not satisfied.
[0167] 20 is an explanatory diagram showing an example of a causal tree generated by relearning. Fig. 20 shows a causal tree 2000 searched for by the combination branching condition 1904. The causal tree 2000 is composed of nodes 1001, 2002, and 2003.
[0168] The analysis target group indicated by node 1001 is divided into a patient group (node 2003) that satisfies combination branching condition 1904 and a patient group (node 2002) that does not. Node 2003 that satisfies combination branching condition 1904 is the same patient group as node 1007 in causal tree 1000 in Figure 10. Node 2002 that does not satisfy combination branching condition 1904 is the same patient group as the combined patient group of nodes 1002, 1004, and 1006 in causal tree 1000 in Figure 10.
[0169] Note that, in FIG. 20, the causal tree 2000 generated by searching with the combination branching condition 1904 is shown, but the combination branching condition used in the search is not limited to the combination branching condition 1904, and may be x1>0&x2>0, x2>0&x3>0, or other combination branching conditions including logical OR.
[0170] Furthermore, the analysis device 300 may also search for unselected combination branch conditions or branch conditions at node 2002 and onward.
[0171] 21 is an explanatory diagram illustrating an example of an input screen of the analysis apparatus 300 according to the first embodiment. The input screen 2100 has a check box 2101 for accepting a selection of whether or not to apply a combination branching condition. When the check box 2101 is checked, the generation unit 400 executes generation of the combination branching condition.
[0172] 22 is a flowchart showing an example of a process procedure for generating a combination branching condition by the generating unit 400 according to the fourth embodiment. The generating unit 400 sets a target leaf from the causal tree 1000 (step S2201). A leaf is an end node in a path that passes through a plurality of branching conditions in the causal tree 1000. In the example of FIG. 10, the leaves are nodes 1004, 1006, and 1007. In this way, when there are a plurality of target leaves, the generating unit 400 sets, for example, the end node of a path that satisfies all the branching conditions, in this example, node 1007. In addition, the generating unit 400 may set the target leaf randomly, or may set a node selected by a user operation as the target leaf.
[0173] The generating unit 400 extracts branching conditions from the top node 1001 to the leaves set in step S2201 (step S2202). In the case of the causal tree 1000 in Fig. 10, branching conditions 1901 to 1903 are extracted.
[0174] The generating unit 400 generates a combination branching condition using the branching condition extracted in step S2202 (step S2203). In the case of the causal tree 1000 in Fig. 10, a branching condition 1904 is generated. In addition, the generating unit 400 may generate combination branching conditions including logical sums such as x1>0&x2>0, x2>0&x3>0, etc., in addition to the combination branching condition 1904.
[0175] The generating unit 400 adds the branching condition extracted in step S2202 and the combined branching condition generated in step S2203 to the patient characteristics 607 of the patient data table 420 (step S2204).
[0176] The generating unit 400 executes a determination as to whether the branch condition is satisfied for each entry of the patient data table 420, and stores the value of the determination result (step S2205). In the example of FIG. 19, the values of the determination results of each of the branch conditions 1901 to 1903 are stored. For example, for the entry of a patient whose patient ID 601 is "0001", with reference to the value "0" of EGFR 674, "0" is stored as the value of the determination result of the branch condition 1901 (x1>0), with reference to the value "0" of TP53675, "0" is stored as the value of the determination result of the branch condition 1902 (x2>0), and with reference to the value "1" of KRAS 676, "1" is stored as the value of the determination result of the branch condition 1903 (x3>0).
[0177] The generating unit 400 executes a determination as to whether the combined branching condition is satisfied for each entry of the patient data table 420, and stores the value of the determination result (step S2206). In the example of Fig. 19, the value of the determination result of the combined branching condition 1904 is stored. For example, for the entry of a patient whose patient ID 601 is "0001", "0" is stored as the logical AND of the value "0" of the determination result of the branching condition 1901 (x1>0), the value "0" of the determination result of the branching condition 1902 (x2>0), and the value "1" of the determination result of the branching condition 1903 (x3>0).
[0178] Thereafter, the analysis device 300 executes the process shown in Fig. 9 in the same manner as in the first embodiment. The analysis device 300 acquires the combination branching condition 1904 from the patient data table 420 by the acquisition unit 401, and executes the stratification process (step S902). The analysis device 300 generates the causal tree 2000 in the branching condition search process (step S1202) in the stratification process (step S902).
[0179] Specifically, for example, in creating the factor list in step S1303, the search unit 411 creates the factor list by selecting a combination branching condition registered in the patient data table 420. For example, the combination branching condition 1904 is registered in the factor list.
[0180] Next, in creating a factor value list in step S1304, the search unit 411 extracts the values of the combination branch conditions in each entry registered in the factor list, and registers them in the factor value list. For example, the values "0", "1", ... of the combination branch condition 1904 are registered in the factor value list.
[0181] From step S1305 onwards, the same processes as those in the first embodiment are executed. As a result, a causal tree 2000 as shown in FIG.
[0182] Comparing causal trees 1000 and 2000, causal tree 1000 has four levels, while causal tree 2000 has two levels. When multi-level learning is performed on a causal tree, the deeper the causal tree becomes, that is, the more levels there are, the smaller the number of samples N (number of patients) becomes. This situation occurs frequently, particularly in the medical field. The loss function used in learning is a function of the estimated treatment effect τ, and because the estimated treatment effect τ is calculated by the expected value, the accuracy decreases as the number of samples N decreases.
[0183] In contrast, the causal tree 2000 has fewer stages than the causal tree 1000. Therefore, the analysis device 300 can perform a search with fewer branches and with a complex combination of branching conditions, and can suppress a reduction in the number of samples during learning.
[0184] In the fourth embodiment, the analysis device 300 generates the causal tree 1000 and generates the causal tree 2000 using the causal tree 1000. However, the analysis device 300 may not generate the causal trees 1000 and 2000, but may acquire them from outside. The analysis device 300 may generate the branch conditions 1901 to 1903 and the combined branch condition 1904 using EGFR674, TP53675, and KRAS676 in the patient characteristics 607 of the patient data table 420, instead of extracting conditions from the causal tree 1000 as shown in FIG. 22. In this case, the analysis device 300 acquires the combined branch condition 1904 from the patient data table 420 in which the branch conditions 1901 to 1903 and the combined branch condition 1904 have been generated, by the acquisition unit 401, and executes the stratification process (step S902). The analysis apparatus 300 generates the causal tree 2000 in the branching condition search process (step S1202) in the stratification process (step S902).
[0185] As described above, the above-mentioned analysis device 300 makes it possible to execute learning under complex branching conditions based on the group of data to be analyzed, which is the original population, and by using the causal tree 2000 obtained by this learning, it becomes possible to realize more accurate estimation.
[0186] Furthermore, the above-described analysis device 300 improves classification accuracy when stratifying patients by factors that contribute to treatment effects by weighting predictive factors inferred in advance from empirical knowledge or medical literature. This improves the accuracy of estimating treatment effects, making it possible to achieve more accurate patient stratification.
[0187] That is, the analysis device 300 can directly classify patients into subtypes based on the estimated therapeutic effect according to the patient characteristics. Therefore, the stratified patient groups are classified into subtypes with different therapeutic effects, which is expected to contribute to the selection of optimal treatment suited to the characteristics of each individual patient. Therefore, it becomes possible to identify subtypes for which a certain drug is expected to have a therapeutic effect.
[0188] In the above-mentioned first to fourth embodiments, patient data has been taken as an example of the data to be analyzed, but the data to be analyzed is not limited to patient data as long as the causal tree 2000 can be generated.
[0189] The present invention is not limited to the above-described embodiments, and includes various modified examples and equivalent configurations within the spirit of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the configurations described. Also, a part of the configuration of one embodiment may be replaced with a configuration of another embodiment. Also, a configuration of another embodiment may be added to a configuration of one embodiment. Also, a part of the configuration of each embodiment may be added, deleted, or replaced with another configuration.
[0190] Furthermore, each of the aforementioned configurations, functions, processing units, processing means, etc. may be realized in hardware, for example by designing some or all of them as an integrated circuit, or may be realized in software by a processor interpreting and executing a program that realizes each function.
[0191] Information such as programs, tables, files, etc. that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versatile Disc).
[0192] In addition, the control lines and information lines shown are those considered necessary for the explanation, and do not necessarily show all the control lines and information lines necessary for implementation. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0193] 300 Analyzer 301 Processor 302 Storage Devices 400 Generation part 401 Acquisition Department 402 Stratification Department 403 Output section 411 Search Department 412 Repeating Section 420 Patient Data Table 430 Weight Table
Claims
1. an acquisition unit that acquires, for a plurality of analysis target data having values of each factor in a factor group, a combination branching condition that combines a plurality of branching conditions in the factor group, and a value of the combination branching condition for each analysis target data of the plurality of analysis target data; a search unit that divides the plurality of analysis target data having values of the combination branching condition based on the combination branching condition, and searches a first decision tree; An analytical device comprising:
2. The analysis device according to claim 1 , the acquiring unit acquires a combined branch condition including the two branch conditions combined by a logical AND; Analyzer.
3. The analysis device according to claim 1 , the acquiring unit acquires a combined branch condition including the two branch conditions combined by a logical sum; Analyzer.
4. The analysis device according to claim 1 , the acquiring unit acquires, for the plurality of analysis target data, a combination branching condition obtained by combining a plurality of branching conditions in the factor group in the second decision tree, and a value of the combination branching condition for each of the plurality of analysis target data.
1. An analytical device comprising:
5. The analysis device according to claim 4, a generating unit that generates the combination branching condition and a value of the combination branching condition; the search unit repeatedly executes a selection process for selecting the factor, a division process for dividing the plurality of analysis target data that are division targets based on the factor selected by the selection process, and a setting process for setting the plurality of analysis target data obtained by the division process as new division targets, thereby executing a search process for searching for the branch condition for dividing the division targets by the division process, thereby generating a second decision tree; the generation unit generates a combined branching condition for the plurality of analysis target data by combining a plurality of branching conditions in the group of factors in the second decision tree obtained from the search unit.
1. An analytical device comprising:
6. The analysis device according to claim 5 , a storage unit that stores a weight for each of the factors of the group of factors; the search unit generates a second decision tree by repeatedly executing a selection process of selecting the factors and the weights, a division process of dividing the plurality of analysis target data that are division targets based on the factors and the weights selected by the selection process, and a setting process of setting the plurality of analysis target data obtained by the division process as new division targets.
1. An analytical device comprising:
7. The analysis device according to claim 5 , The analysis target data is patient data having values of each factor in the factor group.
1. An analytical device comprising:
8. The analysis device according to claim 7, The patient data includes a treatment selection variable indicating whether the patient selected a treatment; the searching unit executes a treatment effect calculation process for calculating a first treatment effect related to the factor using the variable for the plurality of patient data when the plurality of patient data are set as the division target by the setting process, and calculating a second treatment effect related to the factor using the variable for each of the two patient data groups divided by the division process; a loss function calculation process for calculating a loss function before division based on the first treatment effect and the factor, and calculating the loss function after division based on the second treatment effect and the factor for each of the two patient data groups; and a difference calculation process for calculating a difference between the loss function before division and the loss function after division, and searches for the branching condition based on the difference.
1. An analytical device comprising:
9. The analysis device according to claim 7, The patient data includes a treatment selection variable indicating whether the patient selected a treatment; the searching unit executes a treatment effect calculation process for calculating a first treatment effect related to the factor using the variable for the plurality of patient data when the plurality of patient data are set as the division target by the setting process, and calculating a second treatment effect related to the factor using the variable for each of the two patient data groups divided by the division process; a loss function calculation process for calculating a loss function before division based on the first treatment effect, the factor, and the weight, and calculating the loss function after division based on the second treatment effect, the factor, and the weight for each of the two patient data groups; and a difference calculation process for calculating a difference between the loss function before division and the loss function after division, and searches for the branching condition based on the difference.
1. An analytical device comprising:
10. The analysis device according to claim 8, When the difference is greater than a target value, the search unit executes an update process to update the loss function before the division with the loss function after the division and update the target value with the difference.
1. An analytical device comprising:
11. The analysis device according to claim 8, The search unit executes the search process using the plurality of patient data as an analysis target group; a stratification unit that performs a stratification process to divide the analysis subject group into the first branch group and the second branch group based on a determination result by performing a determination process of provisionally dividing the analysis subject group into a first branch group and a second branch group under the branching condition based on the factor and the weight, and determining whether or not the second therapeutic effect of either the first branch group or the second branch group has changed significantly based on a comparison result between the first therapeutic effect of the analysis subject group and the second therapeutic effect of the first branch group and a comparison result between the first therapeutic effect of the analysis subject group and the second therapeutic effect of the second branch group; An analytical device comprising:
12. The analysis device according to claim 6, The factor is a predictor reflecting sensitivity to treatment; 1. An analytical device comprising:
13. The analysis device according to claim 1 , the first decision tree is a causal tree; 1. An analytical device comprising:
14. An analysis method performed by an analysis device having a processor that executes a program and a storage device that stores the program, comprising: The processor, For a plurality of analysis target data having values of each factor in a factor group, a combined branching condition obtained by combining a plurality of branching conditions in the factor group and a value of the combined branching condition for each analysis target data of the plurality of analysis target data are obtained; Dividing the plurality of analysis target data having values of the combination branching condition based on the combination branching condition, and searching a first decision tree.
13. An analytical method comprising:
15. The processor: For a plurality of analysis target data having values of each factor in a factor group, a combined branching condition obtained by combining a plurality of branching conditions in the factor group and a value of the combined branching condition for each analysis target data of the plurality of analysis target data are obtained; based on the combined branching condition, divide the plurality of analysis target data having the value of the combined branching condition, and search a first decision tree; An analysis program characterized by: