Information processing apparatus, information processing method, and information processing program
The information processing device addresses the challenge of estimating treatment results for multiple treatments over time by optimizing encoders and decoders to predict outcomes at multiple times, thereby enhancing treatment planning accuracy.
Patent Information
- Application Number
- PCT/JP2023/036251
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-04
- Publication Date
- 2025-04-10
AI Technical Summary
Existing methods cannot estimate treatment results when multiple treatments with different types and doses are performed over time, as they are limited to single-time treatment estimations.
An information processing device equipped with a data acquisition unit, an encoder learning unit, a decoder learning unit, and an estimator, which acquires time series data, optimizes encoders and decoders to predict treatment results at multiple times, and estimates treatment outcomes for multiple treatments.
Enables accurate estimation of treatment results at multiple times for multiple treatments, allowing for informed treatment planning and optimization.
Smart Images

Figure JP2023036251_10042025_PF_FP_ABST
Abstract
Description
Information processing device, information processing method, and information processing program
[0001] The present disclosure relates to information processing for estimating treatment outcomes at multiple time points for multiple treatments.
[0002] Various techniques are known for estimating counterfactual treatment outcomes taking into account the type of treatment (Treatment Type) and the treatment dosage (Treatment Dosage). For example, Non-Patent Document 1 discloses a method for estimating counterfactual treatment outcomes taking into account the treatment and dosage at a single point in time using a Generative Adversarial Network (GAN).
[0003] Bica, I. , Jordon, J. , and van der Schaar, M. : Estimating the effects of continuous-valued interventions using generative adversarial networks, Proceedings of the 33rd International Conference on Neural Information Processing Systems (NeurIPS), pp. 16434-16445 (2020) Zaheer, M. , Kottur, S. , Ravanbakhsh, S. , Poczos, B. , Salakhutdinov, R. R. , and Smola, A. J. Deep sets. In Advances in Neural Information Processing Systems (NeurIPS), pp. 3391-3401 (2017)
[0004] The method in Non-Patent Document 1 estimates treatment results taking into account the treatment and treatment amount at a single time point, but this method cannot estimate treatment results when multiple treatments are performed over time with different types of treatment and treatment amounts.
[0005] The present disclosure aims to enable estimation of treatment results at multiple time points for multiple treatments.
[0006] The information processing device of the present disclosure includes: a data acquisition unit that acquires time series data including variable features that vary depending on the treatment, invariant features that do not vary depending on the treatment, and categorical variables related to the treatment as training data for a plurality of treatments; an encoder learning unit that uses the training data to optimize an encoder that predicts a treatment result for time t+1, which is one step ahead of any time t; a decoder learning unit that uses the training data to optimize a decoder that predicts a treatment result for each time after time t+1; and an estimation unit that uses the optimized encoder and optimized decoder to estimate treatment results for each of a plurality of times after time t+1 for the plurality of treatments.
[0007] According to the present disclosure, treatment results at multiple time points for multiple treatments can be estimated.
[0008] 1 is a diagram showing an example of a plurality of treatments in the first embodiment. 2 is a diagram showing an example of a dose-response curve in the first embodiment. 3 is a diagram showing an example of a data pattern of treatment results in the first embodiment. 4 is a diagram showing the configuration of an information processing device 100 in the first embodiment. 5 is a diagram showing the configuration of a data acquisition unit 110 in the first embodiment. 6 is a diagram showing the configuration of an encoder learning unit 120 in the first embodiment. 7 is a diagram showing the configuration of a decoder learning unit 130 in the first embodiment. 8 is a flowchart of an information processing method in the first embodiment. 9 is a flowchart of step S10 in the first embodiment. 10 is a diagram showing an outline of an encoder model in the first embodiment. 11 is a diagram showing an outline of an encoder model in the first embodiment. 12 is a diagram showing an outline of an encoder model in the first embodiment. 13 is a flowchart of step S20 in the first embodiment. 14 is a flowchart of step S20 in the first embodiment. 15 is a diagram showing a generator G in the first embodiment. en 1 is a diagram showing an overview of the treatment amount classifier D in the first embodiment. d 1 is a diagram showing an outline of a model of the treatment classifier D in the first embodiment. wA diagram showing an overview of the model of . A diagram showing an overview of treatment amount identification in embodiment 1. A diagram showing an overview of treatment identification in embodiment 1. A diagram showing an overview of the decoder model in embodiment 1. A diagram showing an overview of the decoder model in embodiment 1. A flowchart of step S30 in embodiment 1. A flowchart of step S30 in embodiment 1. A generator G in embodiment 1 de Fig. 1 is a diagram showing an overview of the information processing apparatus 100 according to the first embodiment. Fig. 2 is a flowchart showing step S40 according to the first embodiment. Fig. 3 is a diagram showing a hardware configuration of the information processing apparatus 100 according to the first embodiment.
[0009] In the embodiments and drawings, the same or corresponding elements are denoted by the same reference numerals. The description of elements denoted by the same reference numerals as those already described will be omitted or simplified as appropriate. Arrows in the drawings primarily indicate the flow of data or the flow of processing.
[0010] First Embodiment A first embodiment will be described with reference to FIGS.
[0011] ***Summary*** Multiple treatments means that different types of treatments are given at different treatment doses separated by a time interval. A treatment dose is the amount of something used in a treatment. A treatment is also called a treatment. Figure 1 shows an example of multiple treatments. Figure 1 represents the administration of multiple types of vaccines at various doses. The dotted circles, circles, squares, and triangles represent the types of treatment w, and the amounts attached to these shapes represent the treatment dose d. The dotted circles represent no vaccination. The circles represent the administration of vaccine A. The squares represent the administration of vaccine B. The triangles represent the administration of vaccine C.
[0012] The relationship between the treatment dose and the treatment results has different characteristics depending on the type of treatment, and is represented by a dose-response curve. Figure 2 shows an example of a dose-response curve. In Figure 2, the dose-response curve shows the relationship between the vaccine dose and the reduction in infection rate. The relationship between the vaccine dose and the reduction in infection rate has different characteristics depending on the type of vaccine.
[0013] Factual data is data on observed treatment outcomes. Counterfactual data is data on unobserved treatment outcomes. Figure 3 shows an example of a data pattern of treatment outcomes. In Figure 3, two types of treatments {w t 1 , w t 2}, and there are two treatment doses for each treatment {d t 1,1 , d t 1,2}, {d t 2,1 , d t 2,2 In FIG. 3, when four actions are performed from time t, there are 256 possible action results X t+1:t+4 In this case, the actual data x f is one pattern, and the remaining 255 patterns are the counterfactual data X^ cf is.
[0014] To know the most effective treatment pattern, it is necessary to know the treatment results of all patterns, including counterfactual data. Counterfactual data can be predicted using a time series prediction model such as LSTM. However, when predicting counterfactual data using a time series prediction model such as LSTM, the prediction model will overlearn to the observed factual data, resulting in poor prediction accuracy for the counterfactual data. LSTM is an abbreviation for Long Short Term Memory.
[0015] In the technology described in Non-Patent Document 1, in order to prevent overfitting, the generator is trained so that the classifier cannot distinguish between factual data and counterfactual data generated by the generator using a GAN. However, the technology described in Non-Patent Document 1 can only estimate treatment results at a single point in time. In other words, it cannot estimate treatment results at multiple points in time. GAN is an abbreviation for Generative Adversarial Network.
[0016] Therefore, in the first embodiment, treatment results at multiple points in time are estimated using a time-series GAN corresponding to time-series data.
[0017] ***Description of Configuration*** The configuration of the information processing device 100 will be described with reference to Fig. 4. The information processing device 100 is a computer equipped with hardware such as a processor 101, a memory 102, an auxiliary storage device 103, and an input / output interface 104. These pieces of hardware are connected to one another via signal lines.
[0018] The processor 101 is an IC that performs arithmetic processing and controls other hardware. For example, the processor 101 is a CPU. IC is an abbreviation for Integrated Circuit. CPU is an abbreviation for Central Processing Unit.
[0019] The memory 102 is a volatile or non-volatile storage device. The memory 102 is also called a primary storage device or a main memory. For example, the memory 102 is a RAM. Data stored in the memory 102 is saved in the secondary storage device 103 as needed. RAM is an abbreviation for Random Access Memory.
[0020] The auxiliary storage device 103 is a non-volatile storage device. For example, the auxiliary storage device 103 is a ROM, a HDD, a flash memory, or a combination of these. Data stored in the auxiliary storage device 103 is loaded into the memory 102 as needed. ROM is an abbreviation for Read Only Memory. HDD is an abbreviation for Hard Disk Drive.
[0021] The input / output interface 104 is a port to which an input device and an output device are connected. For example, the input / output interface 104 is a USB terminal, the input devices are a keyboard and a mouse, and the output device is a display. A communication device is an example of an input / output device. Input and output of the information processing device 100 is performed using the input / output interface 104. USB is an abbreviation for Universal Serial Bus.
[0022] The information processing device 100 includes elements such as a data acquisition unit 110, an encoder learning unit 120, a decoder learning unit 130, an estimation unit 140, and an output unit 150. These elements are realized by software.
[0023] The auxiliary storage device 103 stores an information processing program for causing the computer to function as the data acquisition unit 110, the encoder learning unit 120, the decoder learning unit 130, the estimation unit 140, and the output unit 150. The information processing program is loaded into the memory 102 and executed by the processor 101. The auxiliary storage device 103 also stores an OS. At least a portion of the OS is loaded into the memory 102 and executed by the processor 101. The processor 101 executes the information processing program while running the OS. OS is an abbreviation for Operating System.
[0024] Input and output data of the information processing program is stored in the storage unit 190. The auxiliary storage device 103 functions as the storage unit 190. However, storage devices such as the memory 102, a register in the processor 101, and a cache memory in the processor 101 may function as the storage unit 190 instead of or together with the memory 102.
[0025] The information processing program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or a flash memory.
[0026] 5 shows the configuration of the data acquisition unit 110. The data acquisition unit 110 includes elements such as an acquisition unit 111 and a preprocessing unit 112.
[0027] 6 shows the configuration of the encoder learning unit 120. The encoder learning unit 120 includes elements such as an initialization unit 121, a generation unit 122, a treatment amount identification unit 123, a treatment identification unit 124, a generator optimization unit 125, a treatment amount identifier optimization unit 126, and a treatment identifier optimization unit 127.
[0028] 7 shows the configuration of the decoder training unit 130. The decoder training unit 130 includes elements such as an initialization unit 131, a generation unit 132, a treatment amount identification unit 133, a treatment identification unit 134, a generator optimization unit 135, and a classifier optimization unit 136.
[0029] ***Description of Operation*** The operational procedure of the information processing device 100 corresponds to an information processing method. Also, the operational procedure of the information processing device 100 corresponds to a processing procedure according to an information processing program.
[0030] The information processing method will be described with reference to Fig. 8. In step S10, the data acquisition unit 110 acquires training data.
[0031] The procedure of step S10 will be described with reference to Fig. 9. In step S11, the acquisition unit 111 acquires {X, V, W, D} from the time-series database and passes {X, V, W, D} to the pre-processing unit 112. {X, V, W, D} is training data used in learning. The time-series database is a database in which time-series data and static data are registered. For example, the storage unit 190 functions as the time-series database.
[0032] "X" represents a variable feature. A variable feature is a feature that varies depending on the treatment (time-varying covariate). "V" represents an invariant feature. An invariant feature is a feature that does not vary depending on the treatment (baseline covariate). "W" represents a categorical variable related to the treatment. "D" represents a categorical variable related to the treatment amount.
[0033] The categorical variable W is the treatment number k and the total number of treatment types n k Using the above, it is expressed as follows:
[0034]
[0035] The categorical variable D is expressed as follows: An example of the categorical variable D when k=2 is shown below.
[0036]
[0037] {X, V, W, D} is observed for each individual i and is expressed as a set of time series data and static data as shown in equation (1).
[0038]
[0039] *1: Represents the number of observed individuals. *2: Represents the time length of time series data. *3: Represents the type of treatment administered at time t. "k = f" means that the treatment was actually observed. *4: Represents the amount of treatment administered at time t. "l = f" means that the amount of treatment was actually observed.
[0040] In step S12, the preprocessing unit 112 removes data of an individual i, which is missing at least one value of X, V, W, or D, from {X, V, W, D}. The data of an individual i is expressed as follows:
[0041]
[0042] In step S13, the preprocessing unit 112 normalizes each of X and V. For example, each of X and V is normalized so that the mean becomes 0 and the variance becomes 1.
[0043] In step S14 , the preprocessing unit 112 passes {X, V, W, D} to the encoder learning unit 120 .
[0044] Returning to Fig. 8, the description continues from step S20. In step S20, the encoder learning unit 120 optimizes the encoder. The encoder predicts the processing result at time t+1. Time t+1 is one step ahead of any given time t.
[0045] Specifically, the encoder learning unit 120 optimizes the parameters of the encoder, i.e., the encoder learning unit 120 finds optimal parameter values for the encoder.
[0046] 10 to 12 show an overview of the encoder model. The encoder is composed of a generator G en Furthermore, the encoder has a treatment amount classifier D d and the treatment discriminator D W have.
[0047] The procedure of step S20 will be described with reference to Fig. 13 and Fig. 14. In step S21, the initialization unit 121 initializes the generator G en and the treatment dose discriminator D d and the treatment discriminator D wInitialize each parameter of the above.
[0048] In FIG. 15, the generator G en The generator G en In the above, the parameters of the recurrent layer and the multi-task layer are initialized. The recurrent layer may be a well-known deep neural network. Examples of well-known deep neural networks are RNN, LSTM, GRU, and bidirectional LSTM. RNN is an abbreviation for Recurrent Neural Network. LSTM is an abbreviation for Long Short Term Memory. GRU is an abbreviation for Gated Recurrent Unit. The multi-task layer represents a neural network with multiple outputs.
[0049] Treatment volume identifier D d is expressed as follows:
[0050]
[0051] FIG. 16 shows the treatment dose identifier D d The outline of the model is shown below. d Well then, D d k The parameters of Equivariant Layer 1 and Equivariant Layer 2 are initialized. The model proposed in Non-Patent Document 2 may be used for the Equivariant Layer.
[0052] FIG. 17 shows the treatment discriminator D w The outline of the model is shown below. w In this step, the parameters of the invariant layer and the fully connected layer are initialized. The model proposed in Non-Patent Document 2 may be used for the invariant layer. The fully connected layer represents a neural network of a fully connected layer.
[0053] Examples of initialization are Xavier initialization or He initialization.
[0054] 13, the description will continue from step S22-1. In step S22-1, the generator 122 generates a generator G en The intermediate state h^ of the recurrent layer t Calculate.
[0055] Intermediate state h^ t is the element taken from {X, V, W, D} and the generator G en The intermediate state h^ of the recurrent layer t-1 and recursively generate a generator G en The elements extracted from {X, V, W, D} are expressed as follows:
[0056]
[0057] In step S22-2, the generation unit 122 generates the set Y^ t+1 Calculate.
[0058] Gathering Y^ t+1 is the intermediate state h^ t and the combination of the treatment, the treatment amount, and the noise are input to the generator G en The combination of treatment, treatment amount, and noise is expressed as follows:
[0059]
[0060] Gathering Y^ t+1 is the set of facts and counterfactuals at time t+1. t+1 is expressed by equation (10). "k = f" means fact. "k = cf" means counterfactual.
[0061]
[0062] In step S22-3, the generation unit 122 generates the set Y^ ’ t+1 get.
[0063] Gathering Y^ ’ t+1is the fact element x^ in equation (10). f The observed value x f The set Y^' is obtained by replacing t+1 is expressed by equation (11).
[0064]
[0065] In step S22-4, the generation unit 122 generates a set Y^ for each individual i. en and the set Y^ ’en and the set h^ en and get.
[0066] Gathering Y^ en is obtained by calculating equation (12). ’en is obtained by calculating equation (13). en is the generator G en It is obtained by calculating equation (14) on the Recurrent layer of "all" means all individuals i.
[0067]
[0068] In step S22-5, the generation unit 122 calculates the loss function L S en Calculate.
[0069] Loss function L S en is the fact element x^ of Eq. (10). f and the observed value x f The mean squared error (MSE) of the loss function L S en is expressed by equation (15).
[0070]
[0071] In step S23-1, the treatment amount identifying unit 123 identifies the set Ŷ′ in equation (11). t+1 Each element x that constitutes t+1 (x f , x^ cf ) is identified. Equation (11) is calculated at each time step. For each element x t+1is identified by "1" or "0". "1" means fact (f). "0" means counterfactual (cf).
[0072] FIG. 18 shows an overview of treatment dose discrimination.
[0073] each element x t+1 is identified as follows: First, the treatment amount identifying unit 123 identifies the set Y^ ’en From element y^ ’ t+1 (k=f) is extracted. The extracted element y^ ’ t+1 is expressed by equation (20).
[0074]
[0075] Furthermore, the treatment amount identifying unit 123 identifies the set ĥ of Equation (14). en From element h^ t Take out.
[0076] Next, the processing amount identifier 123 generates a processing amount identifier D d From the observed treatment discriminator D d (k=f) is selected. d is expressed as follows:
[0077]
[0078] Then, the treatment amount identifying unit 123 calculates the element y^ ’ t+1 and element h^ t The treatment discriminator D d (k=f) and input each element x t+1 Identify each element x t+1 is identified in the following procedure. First, the treatment amount identifying unit 123 identifies the element y^ ’ t+1 is input as an Equivariant Input to Equivariant Layer 1. tThe treatment amount identifying unit 123 then inputs the output of Equivariant Layer 1 as an Auxiliary Input to Equivariant Layer 2. As a result, Equivariant Layer 2 identifies each element x t+1 The identification result is output.
[0079] In step S23-2, the treatment amount identifying unit 123 calculates the sum L d Calculate.
[0080] Sum L d is calculated as follows: First, the treatment amount identifying unit 123 calculates each element x^ for each individual i. t+1 Identify the identified element x^ t+1 is expressed as follows:
[0081]
[0082] Next, the treatment amount identifying unit 123 calculates a loss function L for each treatment k. d k The loss is calculated by calculating the loss function L d k is expressed by equation (21).
[0083]
[0084] Then, the treatment amount identifying unit 123 calculates the total loss L d Calculate the sum L d is expressed by equation (22).
[0085]
[0086] In step S24-1, the treatment identification unit 124 calculates the set Ŷ′ in equation (11). t+1 Each element y^ that constitutes t+1 Note that equation (11) is calculated at each time step. t+1 is identified by "1" or "0". "1" means fact (f). "0" means counterfactual (cf).
[0087] FIG. 19 shows an overview of treatment identification.
[0088] Each element y^ t+1 is identified as follows: First, the action identification unit 124 identifies the set ^ ’en From the element y^ of equation (11) ’ t+1 In addition, the action identification unit 124 extracts the set ĥ en From element h^ t Take out.
[0089] Then, the treatment identifier 124 calculates the element y^ ’ t+1 and element h^ t The treatment discriminator D w Enter each element y^ t+1 Identify each element y^ t+1 is identified in the following procedure. First, the action identification unit 124 identifies the element y^ ’ t+1 Enter each of the following elements into the Invariant Layer:
[0090]
[0091] Then, the treatment identification unit 124 combines the output of the Invariant Layer and the element h^ t is input to the Fully Connected Layer. This allows the Fully Connected Layer to input each element y^ t+1 The identification result is output.
[0092] In step S24-2, the treatment identification unit 124 calculates each element y^ for each individual i. t+1 Identify the identified element y^ t+1 is expressed as follows:
[0093]
[0094] Then, the treatment identification unit 124 calculates the loss function L W Calculate the loss function L W is expressed by equation (31).
[0095]
[0096] In step S25-1, the generator optimization unit 125 calculates the loss (L S en ) and the sum L d and loss (L W ) to generate the generator G en The loss function L G en Calculate the loss (L S en ) is the value obtained by calculating equation (15). d is the value obtained by calculating equation (22). W ) is the value obtained by calculating equation (31). G en is expressed by equation (40). d " is the sum total L d is a hyperparameter that indicates the degree to which "a" is taken into consideration. W " is loss (L W ) is a hyperparameter that represents the degree to which it is taken into account.
[0097]
[0098] In step S25-2, the generator optimization unit 125 optimizes the generator G en This optimizes the parameters of the generator G en The parameters of the generator G are updated. en The parameters of the loss function L G en The output value of is optimized to be minimized. For optimization, known optimization methods such as stochastic gradient descent are used.
[0099] In step S26, the encoder learning unit 120 en The optimized parameters are used to execute the processes from step S22-1 to step S24-2.
[0100] In step S27-1, the treatment amount classifier optimization unit 126 optimizes the treatment amount classifier D d The parameters of the treatment amount classifier D are optimized. d The parameters of the treatment amount classifier D are updated. d is expressed as follows:
[0101]
[0102] Specifically, the treatment amount classifier optimization unit 126 optimizes the treatment amount classifier D d Each element D d k Optimize the parameters of each element D d k The parameters of the loss (L d k ) is optimized to be minimized. For optimization, a known optimization method such as stochastic gradient descent is used. d k ) is a value obtained by calculating equation (21).
[0103] In step S27-2, the treatment classifier optimization unit 127 optimizes the treatment classifier D W The parameters of the treatment classifier D are optimized. W The parameters of the treatment discriminator D are updated. W The parameters of the loss (L W ) is optimized to minimize it. For optimization, a known optimization method such as stochastic gradient descent is used. W ) is a value obtained by calculating equation (31).
[0104] In step S28, the encoder learning unit 120 determines whether to repeat the parameter update.
[0105] The value obtained by calculating Equation (40) is the loss (L G en Ross (L G en ) and the sum L d and loss (L W If the loss (L) is not minimized, the encoder learning unit 120 determines to repeat the parameter update. G en ) and the sum L d and loss (L W ) is minimized, the encoder learning unit 120 determines not to repeat the parameter update. G en ) and the sum Ld and loss (L W ) converges, the loss (L G en ) and the sum L d and loss (L W ) is minimized. G en ) and the sum L d and loss (L W If the maximum number of iterations of the process has reached the upper limit even though the minimum value of the parameter σ has not been minimized, the encoder learning unit 120 determines not to repeat the parameter update. The maximum number of iterations is a predetermined number.
[0106] If the parameter update is to be repeated, the process returns to step S22-1, whereas if the parameter update is not to be repeated, the process proceeds to step S29.
[0107] In step S29, the encoder learning unit 120 en and the treatment dose discriminator D d and the treatment discriminator D W The encoder learning unit 120 passes the respective parameters of the set Y^ in equation (12) to the decoder learning unit 130. en and the set ĥ in Eq. (14). en and are passed to the decoder learning unit 130.
[0108] Returning to Fig. 8, step S30 will be described. In step S30, the decoder learning unit 130 optimizes the decoder. The decoder predicts the processing result from time t+2 to time t+τ. Time t+1 is the time one step ahead of time t+1 at which the processing result is predicted by the encoder.
[0109] Specifically, the decoder training unit 130 optimizes the parameters of the decoder, i.e., the decoder training unit 130 finds optimal parameter values for the decoder.
[0110] 20 and 21 show an overview of the decoder model. The decoder is de Furthermore, the decoder has a treatment amount classifier D d and the treatment discriminator D W The treatment amount classifier Dd and the treatment discriminator D W is the same as what the encoder has.
[0111] The procedure of step S30 will be described with reference to Fig. 22 and Fig. 23. In step S31, the initialization unit 131 initializes the generator G en With the parameters of the generator G de Initialize the parameters.
[0112] In step S32-1, the generator 132 generates a generator G de The intermediate state h^ of the recurrent layer t+S-1 Calculate.
[0113] In FIG. 24, the generator G de In the first step (s=2), the intermediate state ĥ t+S-1 is the element {x^ t+1 , w t , d t} and element h^ t and element v into generator G de The element {x^ t+1 , w t , d t} is the set Y^ in Eq. (10). t+1 The element h^ is extracted from t is the set ĥ in Eq. (14). en is taken out from
[0114] 22, the description will continue from step S32-2. In step S32-2, the generation unit 132 generates the set X^ t+s Calculate.
[0115] Gathering X^ t+s is the intermediate state h^ t+s-1 and the combination of the treatment, the treatment amount, and the noise are input to the generator G de The combination of treatment, treatment amount, and noise is expressed as follows:
[0116]
[0117] Gathering X^ t+sis expressed by equation (50).
[0118]
[0119] In step S32-3, the generation unit 132 generates the set X^ t+2:t+τ get.
[0120] Gathering X^ t+2:t+τ is obtained by repeating the recursive process from step 2 (s=2) to step τ (s=τ). The recursive process is t+s Element {x^ t+s , w t+s-1 , d t+s-1} for each intermediate state h^ t+s-1 and element v into generator G de Enter the current layer and set X^ t+s+1 get.
[0121] Gathering X^ t+2:t+τ is expressed by equation (51).
[0122]
[0123] Gathering X^ t+2:t+τ In this case, the fact data x^ f There is only one pattern, and the remaining patterns are all counterfactual data X^ cf Counterfactual data X^ cf The number of patterns for which
[0124]
[0125] In step S32-4, the generation unit 132 generates the set X^ ’de and the set h^ de and get.
[0126] Gathering X^ ’de and the set h^ de is obtained as follows: First, the generation unit 132 calculates the fact element x^ in equation (51). f The observed value x f By replacing ’ t+2:t+τ We obtain the set X^ ’ t+2:t+τ is expressed by equation (52).
[0127]
[0128] Then, the generation unit 132 generates a set X^ for each individual i. ’ t+2:t+τ Element {x f , x^ cf}, the set X^ ’de We obtain the set X^ ’de is expressed by equation (53).
[0129]
[0130] Gathering h^ de is the generator G de The set h^ is obtained by calculation in the recurrent layer. de is expressed by equation (54).
[0131]
[0132] In step S32-5, the generation unit 132 calculates the loss function L S de Calculate.
[0133] Loss function L S de is the fact element x^ of equation (51). f and the observed value x f The mean squared error (MSE) of the loss function L S de is expressed by equation (55).
[0134]
[0135] In step S33-1, the treatment amount identifying unit 133 calculates each element x^ t+s Identify.
[0136] Each element x^ t+s is identified as follows: First, the treatment amount identifying unit 133 identifies the set X^ ’de From element y^ k t+s (1<s<τ) is extracted. The extracted element y^ k t+s is expressed by equation (60).
[0137]
[0138] Furthermore, the treatment amount identifying unit 133 identifies the set h^ in equation (54). de From element h^ t+s-1 Take out.
[0139] Then, the treatment amount identifying unit 133 calculates the element y^ k t+s and element h^ t+s-1 The treatment discriminator D d k Enter each element x^ t+s Identify.
[0140] In step S33-2, the treatment amount identifying unit 133 calculates the sum L d Calculate.
[0141] Sum L d is calculated as follows: First, for each individual i, the treatment amount identifying unit 133 calculates the element y^ k t+s The elements x^ that make up t+s Identify.
[0142]
[0143] Next, the treatment amount identifying unit 133 identifies the treatment k (k=1 . . . n k ) for each loss function L d k The loss is calculated by calculating the loss function L d k is expressed by equation (61). f x Ha, y^ k t+s x^ in k t+s is the number of facts. cf x Ha, y^ k t+s x^ in k t+s The number of edition factual data.
[0144]
[0145] Then, the treatment amount identifying unit 133 calculates the total loss L dCalculate the sum L d is expressed by equation (62).
[0146]
[0147] In step S34-1, the treatment identification unit 134 calculates the element y^ t+s Identify.
[0148] Element y^ t+s is identified as follows: First, the action identification unit 134 identifies the set X^ in equation (53). ’de From element Y^ t+s Extract the element Y^ t+s is expressed by equation (63).
[0149]
[0150] Furthermore, the treatment identification unit 134 determines the set ĥ in equation (54). de From element h^ t+s-1 Take out.
[0151] Then, the treatment identification unit 134 calculates the element Y^ t+s and element h^ t+s-1 The treatment discriminator D W Enter each element y^ t+s Identify.
[0152] In step S34-2, the treatment identification unit 134 identifies, for each individual i, an element Y^ of the following set: t+s The elements y^ that make up t+s Identify.
[0153]
[0154] Then, the treatment identification unit 134 calculates the loss function L W Calculate the loss function L W is expressed by equation (64). f y Ha, y^ t+s in y^ t+s is the number of facts. cf y Ha, y^ t+s in y^ t+s is the number of counterfactual data.
[0155]
[0156] In step S35-1, the generator optimization unit 135 calculates the loss (L S de ) and the sum L d and loss (L W ) to generate the generator G de The loss function L G de Calculate the loss (L S de ) is the value obtained by calculating equation (55). d is the value obtained by calculating equation (62). W ) is the value obtained by calculating equation (64). G de is expressed by equation (70).
[0157]
[0158] In step S35-2, the generator optimization unit 135 optimizes the generator G de This optimizes the parameters of the generator G de The parameters of the generator G are updated. de The parameters of the loss function L G de The output value of is optimized to be minimized. For optimization, known optimization methods such as stochastic gradient descent are used.
[0159] In step S36, the decoder learning unit 130 determines whether to repeat the parameter update.
[0160] The value obtained by calculating Equation (70) is the loss (L G de Ross (L G de ) is not minimized, the decoder training unit 130 determines to repeat the parameter update. G de ) is minimized, the decoder training unit 130 determines not to repeat the parameter update. G de ) converges, the loss (L G de) is minimized. G de If the maximum number of iterations of the process has reached the upper limit even though the minimum value of the parameter σ has not been minimized, the decoder training unit 130 determines not to repeat the parameter update. The maximum number of iterations is a predetermined number.
[0161] If the parameter update is to be repeated, the process returns to step S32-1, whereas if the parameter update is not to be repeated, the process proceeds to step S37.
[0162] In step S37, the decoder learning unit 130 en and generator G de The respective parameters are passed to the estimation unit 140.
[0163] 8, the description will continue from step S40. In step S40, the estimation unit 140 obtains a treatment result and selects a treatment plan. The treatment result indicates the effect (treatment effect) obtained by multiple treatments.
[0164] Specifically, the estimation unit 140 uses an optimized encoder and an optimized decoder to estimate treatment results for multiple treatments at each time point after time t+1. Then, based on the estimation results for the multiple treatments, the estimation unit 140 selects a treatment plan that will result in a high final treatment result or a treatment plan that will be cost-effective.
[0165] The procedure of step S40 will be described with reference to FIG. 25. In step S41, the estimation unit 140 generates a generator G en and generator G de Using the above, the treatment result x ^ t+1:t+τ The treatment plan is expressed as follows:
[0166]
[0167] In step S42, the estimation unit 140 selects an optimal treatment plan. The optimal treatment plan is a plan that represents the final treatment result x ^ t+τ This is a treatment plan that will increase the risk of heart disease.
[0168] However, the optimal treatment plan is to consider the treatment amount as the treatment cost and calculate the treatment cost x treatment result. ^ t+τ The treatment plan may be one that is cost-effective. The treatment volume is expressed as follows:
[0169]
[0170] Returning to Fig. 8, step S50 will be described. In step S50, the output unit 150 outputs the optimal treatment plan and the treatment result x obtained by the advantageous treatment plan. ^ t+1:t+τ and is output.
[0171] ***Effects of Embodiment 1*** Embodiment 1 estimates treatment results at multiple time points where both the treatment and the treatment amount change over time. The information processing device 100 estimates counterfactual treatment results for multiple types of treatment at multiple time points and the treatment amount for each treatment. As a result, when multiple treatments are performed, the information processing device 100 can determine which treatment and which treatment amount will produce the best results for each treatment, allowing for accurate treatment planning.
[0172] The estimation of treatment results at multiple time points in the first embodiment makes it possible to determine which treatment plan should be implemented at which time point in accordance with the characteristics of the subject. For example, it is possible to develop an administration plan for when a vaccine is administered four times (see FIG. 1). The administration plan indicates the combination of vaccines to be administered (multiple combinations of treatments), the dosage of the treatments, the order of the treatments, and the timing of the treatments. Furthermore, the administration plan indicates when to stop the administration (when to stop the treatment), etc.
[0173] *** Supplementary Notes on First Embodiment *** First embodiment is composed of a first block and a second block. The first block is a block that "generates a treatment effect from a state and a treatment" and operates as follows: The first block compares the treatment effect generated by the GAN with the treatment effect estimated by the Encoder, and performs learning in a cooperative manner. The first block calculates three loss functions. The second block is a block that "estimates a treatment from the treatment effect" and operates as follows: The second block introduces a GAN or NN that generates or classifies treatments, and estimates the treatment effect Y t From Treatment A 1:t = {W 1:t , D 1:t The second block introduces a classifier and estimates the inferred treatment {W 1:t , D 1:t} pair is determined to be factual or counterfactual.
[0174] The application of the first embodiment is not limited to vaccine administration plans, and the first embodiment can be applied to various fields. For example, the first embodiment can be applied to a distribution plan for promoting sales of a product or service. In the distribution plan, discount coupons, advertisements, etc. are distributed. Specifically, the first embodiment enables creation of a distribution plan indicating how many discount coupons and advertisements to distribute, in what order, and at what timing. For example, the first embodiment can be applied to dynamic pricing for reserved train seats or hotel rooms. Specifically, the first embodiment enables creation of a pricing plan indicating how many, in what order, and at what timing the pricing for promoting sales of reserved seats or rooms will change. In this way, the first embodiment can be applied to a wide range of fields, such as supporting the creation of medical plans such as vaccine administration plans, formulating distribution plans for promoting sales of a product or service, and formulating dynamic pricing for reserved train seats or hotel rooms.
[0175] The hardware configuration of the information processing device 100 will be described with reference to Fig. 26. The information processing device 100 includes a processing circuit 109. The processing circuit 109 is hardware that realizes a data acquisition unit 110, an encoder learning unit 120, a decoder learning unit 130, an estimation unit 140, and an output unit 150. The processing circuit 109 may be dedicated hardware, or may be a processor 101 that executes a program stored in a memory 102.
[0176] When the processing circuit 109 is dedicated hardware, the processing circuit 109 may be, for example, a single circuit, a multiple circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field Programmable Gate Array.
[0177] The information processing device 100 may include a plurality of processing circuits that replace the processing circuit 109 .
[0178] In the processing circuit 109, some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
[0179] In this way, the functions of the information processing device 100 can be realized by hardware, software, firmware, or a combination of these.
[0180] The first embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present disclosure. The first embodiment may be implemented in part or in combination with other embodiments. The procedures described using flowcharts and the like may be modified as appropriate.
[0181] The "unit" of each element of the information processing device 100 may be read as a "process," a "step," a "circuit," or a "circuitry."
[0182] 100 Information processing device, 101 Processor, 102 Memory, 103 Auxiliary storage device, 104 Input / output interface, 109 Processing circuit, 110 Data acquisition unit, 111 Acquisition unit, 112 Preprocessing unit, 120 Encoder learning unit, 121 Initialization unit, 122 Generation unit, 123 Treatment amount identification unit, 124 Treatment identification unit, 125 Generator optimization unit, 126 Treatment amount identification unit, 127 Treatment identification unit, 130 Decoder learning unit, 131 Initialization unit, 132 Generation unit, 133 Treatment amount identification unit, 134 Treatment identification unit, 135 Generator optimization unit, 136 Identifier optimization unit, 140 Estimation unit, 150 Output unit, 190 Storage unit.
Claims
1. An information processing device comprising: a data acquisition unit that acquires time series data including variable features that vary with the treatment, invariant features that do not vary with the treatment, and categorical variables related to the treatment as training data for a plurality of treatments; an encoder learning unit that uses the training data to optimize an encoder that predicts a treatment result for time t+1, one step after any time t; a decoder learning unit that uses the training data to optimize a decoder that predicts a treatment result for each time after time t+1; and an estimation unit that uses the optimized encoder and optimized decoder to estimate each treatment result for a plurality of times after time t+1 for the plurality of treatments.
2. The information processing device according to claim 1, wherein the estimation unit selects a treatment plan that will produce a good final treatment result or a treatment plan that will produce a good cost performance based on the estimation result.
3. An information processing method comprising: acquiring, as training data for a plurality of treatments, time series data including variable features that vary with the treatments, invariant features that do not vary with the treatments, and categorical variables related to the treatments; optimizing an encoder that predicts a treatment result for time t+1, which is one step ahead of any time t, using the training data; optimizing a decoder that predicts a treatment result for each time after time t+1, using the optimized encoder and optimized decoder; and estimating treatment results for each of a plurality of times after time t+1 for the plurality of treatments, using the optimized encoder and optimized decoder.
4. An information processing program for causing a computer to execute the following steps: a data acquisition process for acquiring time series data including variable features that vary with the treatment, invariant features that do not vary with the treatment, and categorical variables related to the treatment as training data for a plurality of treatments; an encoder learning process for optimizing an encoder that predicts a treatment result for time t+1, one step ahead of any time t, using the training data; a decoder learning process for optimizing a decoder that predicts a treatment result for each time after time t+1, using the training data; and an estimation process for estimating each treatment result for a plurality of times after time t+1 for the plurality of treatments, using the optimized encoder and optimized decoder.
Citation Information
Patent Citations
Decision-making support device and system
JP2021012437A