The present application claims priority from Japanese patent application JP 2021-185031 filed on Nov. 12, 2021, the content of which is hereby incorporated by reference into this application.
The present invention relates to a system and a method that predict an effect of intervention on a person.
In various fields, such as medical care and marketing, predicting an effect of intervention on a person (a medication effect, an exercise effect, and the like) is now required. Confounding factors are important in predicting an intervention effect. Confounding factors affect an intervention effect and are relevant to causes/factors. When observed data indicates a correlation, it is necessary to determine whether the correlation originates from a causal relationship or the influence of confounding factors.
A randomized comparative test is known as a method of adjusting confounding factors. This method requires random selection of subjects, thus posing a problem that the subjects' burden and test costs are greater. This leads to a demand for development of a technique by which causal inference is made using existing data. Concerning this technique, a technique described in JP 2019-192065 A is known.
JP 2019-192065 A includes an explanatory statement: “In order to properly verify the effect of the care intervention, similarity-based clustering of a plurality of subjects is carried out, based on their attributes, and according to clustering results, the subjects are further divided into an intervention group and a control group, and then the intervention effect is evaluated through comparison of the intervention group and the control group”.
In recent years, a technique for predicting an intervention effect in a case of continuously carrying out multiple types of interventions on a subject has been in demand. The technique described in JP 2019-192065 A, however, is incapable of processing time-series data. As a system that makes prediction using time-series data, a technique described in JP 2020-35365 A is known.
JP 2020-35365 A includes an explanatory statement: “In order to bring the subject's health condition closer to an ideal health condition, the system learns measurement values and target values of health conditions in several days in the past, and then outputs target values of health conditions, the targets values being recommended, and target achievement expectation values to present the target values and target achievement expectation values to the user.”
The technique described in JP 2020-35365 A, however, does not take into consideration the influence of confounding factors (attributes, such as gender and age, and past intervention results).
The present invention provides a system and a method that predict an intervention effect in a case where a plurality of types of interventions are continuously carried out on a subject as the influence of confounding factors is taken into consideration.
A typical example of the present invention disclosed herein is as follows. The present invention provides a computer system that predicts an effect of a plurality of interventions on a person, the computer system including at least one computer including a processor and a storage device connected to the processor. The computer system manages a first model that calculates an output value, using time-series data including a value related to an intervention carried out on a person, a second model generated by machine learning, the second model calculating a feature by mapping an output value from the first model onto a feature space, and a third model that outputs a predicted value of an effect of an intervention on the person, based on the feature. The time-series data includes a plurality of data strings including a time at which the intervention is carried out on the person, a plurality of factors indicating a state of the person, and a type and a degree of the intervention carried out on the person. The processor executes a prediction process including: calculating the output value by inputting the data string to the first model; calculating the feature by inputting the output value to the second model; and calculating a predicted value of an effect of the intervention carried out continuously, the intervention corresponding to the time-series data, by inputting the feature to the third model. The second model maps an output value from the first model onto the feature space so that a difference in distribution of a plurality of data strings used in the machine learning reduces in the feature space.
The present invention allows predicting an intervention effect in a case where a plurality of types of interventions are continuously carried out on a subject as the influence of confounding factors are taken into consideration. Problems, configurations, and effects that are not described above will be clarified by the following description of embodiments.
Embodiments of the present invention will hereinafter be described with reference to the drawings. It should be noted, however, that the present invention is not interpreted as the invention limited to the descriptive contents of embodiments described below. Those skilled in the art can easily understand that specific configurations of the invention may be changed or modified within a range in which changes/modification do not deviate from the concept and substance of the present invention.
In the configurations of the invention described below, the same or similar constituent elements or functions are denoted by the same reference signs, and redundant description will be omitted.
In this specification, such notations as “first”, “second”, and “third” are attached to constituent elements to identify them, and do not necessarily limit the number or order thereof.
The positions, sizes, shapes, ranges, and the like of constituent elements shown in drawings, etc., may not represent the actual positions, sizes, shapes, ranges, and the like. This is to facilitate understanding of the invention. The constituent elements of the present invention, therefore, are not limited by the positions, sizes, shapes, ranges, and the like shown in the drawings, etc.
The system includes a computer 100, an information terminal 110, and an external storage device 111. The computer 100, the information terminal 110, and the external storage device 111 are interconnected via a network 109. The network 109 is, for example, a local area network (LAN), a wide area network (WAN), or the like, and provides wired connection or wireless connection.
The computer 100 executes a learning process for generating a model for predicting an intervention effect, and predicts an intervention effect on user data (input data), using the model. The computer 100 includes a CPU 101, a main storage device 102, an auxiliary storage device 103, a network adapter 104, an input device 105, and an output device 106. These hardware elements are connected to each other via an internal bus 108.
The CPU 101 runs a program stored in the main storage device 102. The CPU 101 executes a process according to a program, thus working as a functional unit (module) that exerts a specific function. In the following description, when a process is described with a functional unit used as the subject of the description, it means that the CPU 101 is executing a program for providing the functional unit.
The main storage device 102 is a dynamic random access memory (DRAM), storing programs executed by the CPU 101 and data used by the programs. In addition, the main storage device 102 is used as a work area.
The auxiliary storage device 103 is a hard disk drive (HDD), a solid state drive (SSD), or the like, storing data permanently. Programs and data to be stored in the main storage device 102 may be stored in the auxiliary storage device 103. In such a case, the CPU 101 reads a program and information from the auxiliary storage device 103 and loads the program and information onto the main storage device 102.
The network adapter 104 is an interface for connecting to an external device via the network 109.
The input device 105 is a keyboard, a mouse, a touch panel, or the like, serving as a device for making data input to the computer 100.
The output device 106 is a display, a printer, or the like, serving as a device for outputting process results etc., from the computer 100.
It should be noted that the above hardware configuration of the computer 100 is an exemplary one and therefore the hardware configuration of the computer 100 is not limited to the above configuration. For example, the computer 100 may include neither the input device 105 nor the output device 106.
The information terminal 110 carries out various operations on the computer 100. For example, the information terminal 110 carries out registration of learning data, registration of a model, input of user data, and the like. The information terminal 110 is the same in hardware configuration as the computer 100.
The external storage device 111 stores various pieces of information. The external storage device 111 is, for example, an external HDD or a storage system.
The computer 100 includes a learning unit 200 and a predicting unit 201, and further includes a learning data DB 210 and a model DB 211. The learning data DB 210 and the model DB 211 may be stored in the external storage device 111.
The learning data DB 210 stores learning data used for a learning process. The learning data DB 210 will be described with reference to
The learning unit 200 executes a learning process, using learning data stored in the learning data DB 210 and a model stored in the model DB 211. The predicting unit 201 predicts an intervention effect on user data 220, using a model stored in the model DB 211, and outputs the predicted intervention effect as a predicted intervention result 221. It should be noted that the learning data and the user data 220 of this embodiment are time-series data.
The learning data DB 210 stores entries of ID 301, factor 302, date 303, intervention content 304, and effect 305. One entry corresponds to one piece of learning data. Fields included in entries are not limited to the fields described above as the entries. The learning data DB 210 may not include one of the above fields or may include other fields different from the above fields.
The ID 301 is a field storing identification information for uniquely identifying learning data. Identification numbers are stored in the ID 301 of this embodiment.
The factor 302 is a field storing values of factors, such as the condition and characteristics of a person who undergoes intervention. Factors include, for example, age, sex, and height. In this embodiment, the types and number of factors are not limited to the types and number of factors included in the factor 302.
Learning data of this embodiment is time-series data. One piece of learning data, therefore, includes a plurality of data strings composed of data of the date 303, the intervention content 304, and the effect 305.
The date 303 is a field storing dates. The date 303 stores the date of measurement of an intervention effect or the date of generation of a data string. According to the present invention, date entries are not limited to the type of date entries made in the date 303. Any type of date entries that allows understanding of a time-series flow is applicable to the present invention.
The intervention content 304 is a field group storing information indicating the content of intervention carried out on a person. The intervention content 304 includes fields of type and quantity. The type is a field storing types of interventions. The type stores, for example, values representing types of medicine, treatment, exercise, etc. The quantity is a field storing values representing degrees of intervention. For example, a value representing a dose of medicine, exercise time, or the like is stored in the quantity. In this embodiment, when no intervention is carried out, 0 is entered in the type and in the quantity.
The effect 305 is a field group storing values of indexes indicating intervention effects (effect predicted values). In this embodiment, the type and number of indexes are not limited to the type and number of indexes included in the effect 305.
The predicting unit 201 includes a time-series data processing unit 401, a confounding factor adjusting unit 402, and a predictor 403.
The time-series data processing unit 401 calculates an output value, using time-series data. The time-series data processing unit 401 is, for example, a recurrent neural network (RNN). The RNN is a type of neural network, and is characterized in that it generates input and output at each time step. Time step intervals can be set arbitrarily. The RNN uses output from the previous time step as new input, thereby obtaining output for which a time series flow is taken into consideration. For output from the RNN, however, the influence of confounding factors is not taken into consideration.
At time step t, the time-series data processing unit 401 of this embodiment receives intervention content and a factor at time step t and an effect predicted value at time step (t−1), as inputs. In a case of t=0, the time-series data processing unit 401 receives inputs of only the intervention content and factor at a point of t=0.
In the present specification, for a person with identification information i, intervention content at time step t is defined as Ati, a factor at time step t is defined as Xti and an effect predicted value at time step t is defined as Y{circumflex over ( )}ti. A person with identification information i is expressed as a person (i). It should be noted that A{circumflex over ( )} and Y{circumflex over ( )}correspond to A and Y with a hat symbol appended thereto in mathematical formulas and drawings.
At time step t, the time-series data processing unit 401 calculates an output value (feature), using the intervention content Ati and factor Xti at time step t and the effect predicted value Y{circumflex over ( )}1−1i at time step (t−1). According to this embodiment, the output value is a vector value.
To achieve more accurate prediction of an intervention effect, the confounding factor adjusting unit 402 executes a process of reducing the influence of confounding factors on the output value.
Confounding factors of this embodiment are classified into two categories: factors and effects of interventions carried out in the past. Regarding the influence of factors, for example, a case where young people often select an intervention 1 while elderly people often select an intervention 2 is considered. In this case, an accurate effect cannot be predicted because of an age distribution bias included in the intervention 1 and the intervention 2. In this case, it is hard to tell whether the effect is given by the interventions or results from biased factors. Regarding the influence of the effect of interventions carried out in the past, for example, a case where a person who was given medicine 1 in the previous intervention suffers from an aftereffect is considered. In this case, a possibility of choosing the medicine 1 is low. This case leads to a biased distribution of people who select a specific medicine, and therefore affects the accuracy of effect prediction.
The confounding factor adjusting unit 402 carries out a process of reducing distribution differences in such a way as to give every intervention an equal chance to be selected, thus generates a feature with a balanced distribution. Specifically, the confounding factor adjusting unit 402 maps an output value (vector value) calculated by the time-series data processing unit 401, onto a feature space of any given dimension, thereby determining the feature.
The predictor 403 calculates an effect predicted value of an intervention, using a feature calculated by the confounding factor adjusting unit 402. The predictor 403 is, for example, a neural network or a linear regression model.
The learning unit 200 includes the time-series data processing unit 401, the confounding factor adjusting unit 402, the predictor 403, an identifier 501, an arithmetic unit 502, and an arithmetic unit 503. The time-series data processing unit 401, the confounding factor adjusting unit 402, and the predictor 403 are the same as those included in the predicting unit 201. The learning unit 200 trains the confounding factor adjusting unit 402, the predictor 403, and the identifier 501 by using such a learning method as Adversarial Learning.
The identifier 501 receives input of a feature calculated by the confounding factor adjusting unit 402, and predicts intervention content A{circumflex over ( )}1+i that is the content of an intervention to be carried out on a person (i) at the next time step (t+1). The identifier 501 is defined as a neural network model, etc.
The arithmetic unit 503 calculates an imbalance loss for evaluating an error between the predicted intervention content A{circumflex over ( )}t+1i and actual intervention content At+1i. An imbalance loss function for calculating the imbalance loss is defined by equation (1).
In equation 1, Gg denotes a function representing output from the confounding factor adjusting unit 402, and Gd denotes a function representing output from the identifier 501. n denotes the number of fields (the number of samples) the factor 302 has. II denotes an indication function, κ denotes a threshold, denotes an error tolerance, and N denotes the number of samples within a range (At+1j+ε) with κ at its center.
To allow calculation on multiple types of interventions, the continuity of calculation needs to be ensured. In a case where a difference between intervention content At+1i and intervention content At+1i is equal to or smaller than the threshold κ and a case where the difference is equal to or larger than the threshold κ, therefore, an intervention content prediction error is multiplied by different weights in both cases, respectively, to calculate the Imbalance loss. The intervention content prediction error corresponds to a logarithmic term of equation (1).
The learning unit 200 trains the identifier 501 so as to increase prediction accuracy, and trains the confounding factor adjusting unit 402 as well so that the identifier 501 cannot discriminate against any factor.
The arithmetic unit 502 calculates a factual loss for evaluating an error between an effect predicted value Y{circumflex over ( )}t−1i calculated by the predictor 403 and an actual intervention effect Yt−1i. A factual loss function for calculating the factual loss is defined by equation (2).
In equation 2, Gy denotes a function representing output from the predictor 403.
As shown in equation (3), the learning unit 200 trains each model so that a loss function takes a minimum value, the loss function being defined by the sum of imbalance losses at all time steps and the sum of factual losses at all time steps. In the learning process, the learning unit 200 updates the identifier 501 so that the accuracy of intervention content prediction based on the feature is improved, and updates the confounding factor adjusting unit 402 so that the intervention content of the identifier 501 cannot be predicted.
In equation 3, α denotes a parameter for adjusting the factual loss and the imbalance loss.
By the learning process using the loss function, a difference in distribution of features generated by the confounding factor adjusting unit 402 can be reduced. In other words, the influence of confounding factors can be reduced. As a result, an intervention effect can be predicted accurately.
When receiving a learning execution instruction via the information terminal 110 or the input device 105, the learning unit 200 executes the learning process.
The learning unit 200 acquires learning data from the learning data DB 210 (step S101). It is assumed in this case that a learning data set composed of pieces of learning data is acquired.
Subsequently, the learning unit 200 starts a loop process on data strings included in the learning data (step S102). The learning unit 200 selects data strings in time-series order, and repeatedly executes the following steps.
The learning unit 200 calculates a feature, using a data string (step S103). Specifically, the learning unit 200 inputs the intervention content and factor that correspond to the data string and an effect predicted value obtained by using a data string one time step before in the time-series order, to the time-series data processing unit 401, and inputs an output value calculated by the time-series data processing unit 401, to the confounding factor adjusting unit 402. The learning unit 200 stores the feature associated with the time-series order, in the work area.
The learning unit 200 inputs the feature to the identifier 501, and calculates an imbalance loss, based on predicted intervention content A{circumflex over ( )}t+1i outputted from the identifier 501 and on intervention content At+1i of a data string one time step ahead in the time-series order (step S104). The learning unit 200 stores the imbalance loss associated with the time-series order, in the work area.
The learning unit 200 updates the identifier 501 and the confounding factor adjusting unit 402 by a back error propagation method using the imbalance loss function or the like, and updates the feature through the updated confounding factor adjusting unit 402 (step S105).
The learning unit 200 inputs the updated feature to the predictor 403, and calculates a factual loss, based on intervention effect predicted value Y{circumflex over ( )}ti outputted from the predictor 403 and on intervention effect Yti on the data string (step S106). The learning unit 200 stores the factual loss associated with the time-series order, in the work area.
The learning unit 200 determines whether it has completed the steps on all data strings included in the learning data (step S107).
When not completing the steps on all data strings included in the learning data, the learning unit 200 returns to step S102, and executes the same steps again.
When completing the steps on all data strings included in the learning data, the learning unit 200 calculates a value of the loss function expressed by equation (3) (step S108).
Based on the value of the loss function, the learning unit 200 updates the confounding factor adjusting unit 402, the predictor 403, and the identifier 501 (step S109).
The learning unit 200 determines whether or not to end the learning process (step S110). For example, when completing the processes on all data strings included in the learning data, the learning unit 200 determines to end the learning process. When the number of times of updating is larger than a threshold, the learning unit 200 determines to end the learning process. When the accuracy of prediction of an intervention effect on the user data 220 for evaluation is higher than a threshold, the learning unit 200 determines to end the learning process.
When determining not to end the learning process, the learning unit 200 returns to step S101 and executes the same steps again.
When determining to end the learning process, the learning unit 200 ends the learning process.
When receiving a prediction execution instruction including the user data 220 via the information terminal 110 or the input device 105, the predicting unit 201 executes prediction process.
The predicting unit 201 acquires models of the time-series data processing unit 401, the confounding factor adjusting unit 402, and the predictor 403, from the model DB 211 (step S201).
The predicting unit 201 starts a loop process on data strings included in the user data 220 (step S202). The predicting unit 201 selects data strings in time-series order, and repeatedly executes the following steps.
The predicting unit 201 calculates a feature, using a data string (step S203). Specifically, the predicting unit 201 inputs the intervention content and factor that correspond to the data string and an effect predicted value obtained by using a data string one time step before in the time-series order, to the time-series data processing unit 401, and inputs an output value calculated by the time-series data processing unit 401, to the confounding factor adjusting unit 402. The predicting unit 201 stores the feature associated with the time-series order, in the work area.
The predicting unit 201 inputs the feature to the predictor 403, thereby calculating an intervention effect predicted value (step S204).
The predicting unit 201 determines whether it has completed the steps on all data strings included in the user data 220 (step S205).
When not completing the steps on all data strings included in the user data 220, the predicting unit 201 returns to step S202, and executes the same steps again.
When completing the steps on all data strings included in the user data 220, the predicting unit 201 generates and outputs a predicted intervention result 221 including intervention effect predicted values corresponding respectively to data strings (step S206). The predicting unit 201 then ends the prediction process.
A screen presented by the predicting unit 201 will then be described.
The predicting unit 201 presents a screen 800 to the user. The screen 800 includes an intervention content input space 801 and an intervention effect display space 802.
In the intervention content input space 801, a pattern setting space 810 for inputting an intervention pattern is displayed in a tab format. The pattern setting space 810 includes a setting table 811, an addition button 812, and a prediction button 813. The setting table 811 is a table for setting intervention content, and stores entries of intervention type, quantity, and timing. The addition button 812 is an operation button for adding an entry to the setting table 811. The prediction button 813 is an operation button for giving an instruction on execution of a prediction process. When the prediction button 813 is pressed, the user data 220, which includes time-series data up to the present point and information provided by the setting table 811, is inputted to the predicting unit 201.
The intervention content may be set in a setting form different from the setting form of the pattern setting space 810 of
The intervention effect display space 802 is a space in which transitions in effects and intervention effects from the past to the present are displayed. In the intervention effect display space 802, graphs showing transitions in intervention effects are displayed respectively for intervention patterns.
The system of the first embodiment can reduce the influence of confounding factors and highly accurately predict an effect achieved by continuously carrying out a plurality of types of interventions on a person.
When the input content of the intervention content input space 801 is updated, the display content of the intervention effect display space 802 is too updated. The intervention effect display space 802 may display only the transitions in an effect achieved by a specific intervention pattern.
A system according to a second embodiment carries out a prediction process again when an intervention effect predicted value is corrected. The second embodiment will hereinafter be described, with focus placed on a difference with the first embodiment.
The system of the second embodiment is the same in configuration as the system of the first embodiment. The functional configurations of the learning unit 200 and the predicting unit 201 of the second embodiment are the same as those of the first embodiment. The process executed by the learning unit 200 of the second embodiment is the same as the process executed by the learning unit 200 of the first embodiment.
In the second embodiment, a prediction process executed by the predicting unit 201 is partially different from the prediction process in the first embodiment.
Step S201 to step S206 are the same as step S201 to step S206 in the first embodiment. Following execution of step S206, the predicting unit 201 presents the screen on which the user's operation is received (step S251). The screen presented by the predicting unit 201 will then be described with reference to
The predicting unit 201 presents a screen 1000 to the user. The screen 1000 includes a correction space 1001 and an intervention effect display space 1002. The intervention effect display space 1002 is the same as the intervention effect display space 802.
The correction space 1001 includes a correction setting table 1011, an addition button 1012, a prediction button 1013, and an end button 1014. The correction setting table 1011 is a table for setting corrective content of an intervention effect predicted value, and stores entries of timing and effect. The addition button 1012 is an operation button for adding an entry to the correction setting table 1011. The prediction button 1013 is an operation button for giving an instruction on re-execution of the prediction process. When the prediction button 1013 is pressed, the corrective content is inputted to the predicting unit 201. The end button 1014 is an operation button for ending the prediction process.
The corrective content may be set in a setting form different from the setting form of the correction space 1001 of
The description of the screen is ended here. Now the flowchart of
The predicting unit 201 determines whether an operation received on the screen 1000 is a correction operation.
When the received operation is an end operation, the predicting unit 201 ends the prediction process.
When the received operation is a correction operation, the predicting unit 201 generates a data string to be used for a new prediction process (step S253), and then returns to step S202. For example, the predicting unit 201 generates a data string reflecting the corrected intervention effect predicted value.
It should be noted that the present invention is not limited to the above embodiments but includes various modifications. For example, the above embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to an embodiment including all the constituent elements described above. In addition, some of constituent elements of each embodiment can be deleted therefrom or add to or replaced with constituent elements of another embodiment.
Some or all of the above constituent elements, functions, processing units, processing means, and the like may be provided as hardware, such as properly designed integrated circuits. The present invention may be embodied by a software program code that implements the functions of the embodiments. In such a case, a computer is provided with a storage medium recording the program code, and a processor incorporated in the computer reads the program code from the storage medium. In this case, the program code itself, which is read from the storage medium, implements the above functions of the embodiments, and the program code and the storage medium storing the program code constitute the present invention. Storage media for supplying such a program code include, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, a solid state drive (SSD), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, a nonvolatile memory card, and a ROM.
The program code that implements the functions described in the present invention can be written in a wide variety of program or script languages, such as assembler, C/C++, perl, Shell, PHP, Python, and Java (registered trademark).
The software program code that implements the functions of the embodiments may be distributed via a network, in which case the program code is stored in a storage means, such as a hard disk or a memory, of a computer or in a storage medium, such as a CD-RW or a CD-R, and a processor incorporated in the computer reads the program code from the storage means or the storage medium to execute the program code.
In the above embodiments, a group of control lines/data lines considered to be necessary for description are illustrated, and all control lines/information lines making up the product are not always illustrated. All constituent elements may be interconnected.
Number | Date | Country | Kind |
---|---|---|---|
2021-185031 | Nov 2021 | JP | national |