Information processing apparatus, information processing method, and information processing program

The information processing device uses a time-series GAN with an encoder and decoder to accurately predict treatment outcomes at multiple time points, addressing the limitations of existing methods in estimating treatments with varying types and dosages.

EP4760599A1Pending Publication Date: 2026-06-17MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2023-10-04
Publication Date
2026-06-17

AI Technical Summary

Technical Problem

Existing methods, such as those using generative adversarial networks (GANs), are unable to estimate treatment results when multiple treatments with different types and dosages are conducted at intervals over time, leading to poor prediction accuracy for counterfactual data.

Method used

An information processing device utilizing a time-series GAN with an encoder and decoder to optimize treatment result predictions at multiple time points, incorporating variant and invariant features, and categorical variables to estimate treatment outcomes.

Benefits of technology

Enables accurate estimation of treatment results across multiple time points, improving prediction accuracy for both factual and counterfactual data by minimizing overfitting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGAF001_ABST
    Figure IMGAF001_ABST
Patent Text Reader

Abstract

A data acquisition unit (110) acquires, as training data concerning a plurality of treatments, time-series data including: a variant feature that varies according to treatment; an invariant feature that does not vary according to treatment; and a categorical variable concerning the treatment. An encoder learning unit (120) optimizes an encoder that predicts a treatment result of time t + 1 that is 1 step ahead of any given time t, using the training data. A decoder learning unit (130) optimizes a decoder that predicts a treatment result of each time following time t + 1, using the training data. An estimation unit (140) estimates a treatment result of each of a plurality of times following time t + 1, concerning the plurality of treatments, using the optimized encoder and the optimized decoder.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to information processing for estimating treatment results concerning a plurality of treatments conducted at a plurality of time points.Background Art

[0002] Various techniques are known that estimate counterfactual treatment results taking into account the treatment type and a treatment dosage.

[0003] For example, Non-Patent Literature 1 discloses a method of estimating counterfactual treatment results taking into account a treatment and a treatment dosage at a single time point using a generative adversarial network (GAN).Citation List Non-Patent Literature

[0004] Non-Patent Literature 1: 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) Non-Patent Literature 2: Zaheer, M., Kottur, S., Ravanbakhsh, S., Poczos, B., Salakliutduiov, R. R., and Smola, A. J. Deep sets. In Advances in Neural Information Processing Systems (NeurIPS) , pp. 3391-3401 (2017) Summary of Invention Technical Problem

[0005] The method of Non-Patent Literature 1 estimates the treatment result taking into account a treatment and a treatment dosage at a single time point. However, this method is unable to estimate the treatment result when a plurality of treatments are performed at intervals with different types of treatments and different treatment dosages.

[0006] An objective of the present disclosure is to enable estimation of treatment results concerning a plurality of treatment conducted at a plurality of time points.Solution to Problem

[0007] An information processing device of the present disclosure includes: a data acquisition unit to acquire, as training data concerning a plurality of treatments, time-series data including: a variant feature that varies according to treatment; an invariant feature that does not vary according to treatment; and a categorical variable concerning treatment; an encoder learning unit to optimize an encoder that predicts a treatment result of time t + 1 that is 1 step ahead of any given time t, using the training data; a decoder learning unit to optimize a decoder that predicts a treatment result of each time following time t + 1, using the training data; and an estimation unit to estimate a treatment result of each of a plurality of times following time t + 1, concerning the plurality of treatments, using the optimized encoder and the optimized decoder. Advantageous Effects of Invention

[0008] According to the present disclosure, it is possible to estimate treatment results concerning a plurality of treatments conducted at a plurality of time points.Brief Description of Drawings

[0009] Fig. 1 is a graph showing examples of a plurality of treatments in Embodiment 1. Fig. 2 is a graph showing examples of a dose-response curve in Embodiment 1. Fig. 3 is a graph showing examples of data patterns of treatment results in Embodiment 1. Fig. 4 is a configuration diagram of an information processing device 100 in Embodiment 1. Fig. 5 is a configuration diagram of a data acquisition unit 110 in Embodiment 1. Fig. 6 is a configuration diagram of an encoder learning unit 120 in Embodiment 1. Fig. 7 is a configuration diagram of a decoder learning unit 130 in Embodiment 1. Fig. 8 is a flowchart of an information processing method in Embodiment 1. Fig. 9 is a flowchart of step S10 in Embodiment 1. Fig. 10 is a diagram showing an overview of a model of an encoder in Embodiment 1. Fig. 11 is a diagram showing an overview of the model of the encoder in Embodiment 1. Fig. 12 is a diagram showing an overview of the model of the encoder in Embodiment 1. Fig. 13 is a flowchart of step S20 in Embodiment 1. Fig. 14 is a flowchart of step S20 in Embodiment 1. Fig. 15 is a diagram showing an overview of a generator G en< in Embodiment 1. Fig. 16 is a diagram showing an overview of a model of a treatment dosage discriminator D d in Embodiment 1. Fig. 17 is a diagram showing an overview of a model of a treatment discriminator D w in Embodiment 1. Fig. 18 is a graph showing an overview of treatment dosage discrimination in Embodiment 1. Fig. 19 is a graph showing an overview of treatment discrimination in Embodiment 1. Fig. 20 is a diagram showing an overview of a model of a decoder in Embodiment 1. Fig. 21 is a diagram showing an overview of a model of the decoder in Embodiment 1. Fig. 22 is a flowchart of step S30 in Embodiment 1. Fig. 23 is a flowchart of step S30 in Embodiment 1. Fig. 24 is a diagram showing an overview of a generator G de< in Embodiment 1. Fig. 25 is a flowchart of step S40 in Embodiment 1. Fig. 26 is a hardware configuration diagram of the information processing device 100 in Embodiment 1. Description of Embodiments

[0010] In the embodiment and drawings, the same elements or equivalent elements are denoted by the same reference signs. Description of elements denoted by the same reference signs as described elements may be appropriately omitted or simplified. Arrows in the drawings mainly represent flows of data or flows of process.Embodiment 1.

[0011] Embodiment 1 will be described with referring to Fig. 1 through Fig. 26.*** Explanation on Overview ***

[0012] A plurality of treatments imply conducting different types of treatments with different treatment dosages at intervals. A treatment dosage refers to an amount of an item used in treatment. Treatment can also be referred to as processing.

[0013] Fig. 1 illustrates examples of a plurality of treatments. Fig. 1 represents conducting treatments a plurality of times using a plurality of types of vaccines with various dosages of treatments. A dotted circle, a circle, a square, and a triangle represent the types of treatment w, and an amount attached to each figure represents a treatment dosage d. A dotted circle represents no vaccinations performed. A solid circle represents treatment with a vaccine A. A square represents treatment with a vaccine B. A triangle represents treatment with a vaccine C.

[0014] A relationship between the treatment dosage and the treatment result has different characteristics according to the type of treatment, and is expressed by a Dose-Response Curve.

[0015] Fig. 2 shows examples of a dose-response curve. In Fig. 2, the Dose-Response Curve represents a relationship between a vaccine dose and a reduction in infection rate. The relationship between the vaccine dose and the reduction in infection rate has different characteristics according to the vaccine type.

[0016] Factual data refers to data of observed treatment results.

[0017] Counterfactual data refers to data of unobserved treatment results.

[0018] Fig. 3 shows examples of data patterns of treatment results. In Fig. 3, there are two types of treatments {w t 1< , w t 2< }, and each treatment has two types of treatment dosages {d t 1,1< , d t 1,2< } and {d t 2,1< , d t 2,2< }.

[0019] In Fig. 3, when a treatment is performed four times after time t, 256 types of treatment results X t+1:1+4 can be obtained. In this case, actually observed factual data x f< consists of one pattern, and the remaining 255 patterns are counterfactual data X^ cf< .

[0020] In order to know the most effective treatment pattern, it is necessary to know the treatment results of all patterns, including counterfactual data. The counterfactual data can be predicted using a time-series prediction model such as an LSTM.

[0021] However, when counterfactual data is predicted using a time-series prediction model such as an LSTM, the prediction model tends to overfit the observed factual data, resulting in poor prediction accuracy for the counterfactual data. Note that LSTM stands for Long Short Term Memory.

[0022] In the technology described in Non-Patent Literature 1, in order to prevent overfitting, a generator is trained so that factual data and counterfactual data which is generated by the generator using GAN cannot be distinguished by a discriminator.

[0023] However, the technology described in Non-Patent Literature 1 can only estimate the treatment result at a single time point. In other words, treatment results at a plurality of time points cannot be estimated.

[0024] Note that GAN stands for Generative Adversarial Network.

[0025] Therefore, in Embodiment 1, treatment results at a plurality of time points are estimated using a time-series GAN suited to the time-series data.*** Description of Configuration ***

[0026] With referring to Fig. 4, a configuration of an information processing device 100 will be described.

[0027] The information processing device 100 is a computer equipped with hardware devices such as a processor 101, a memory 102, an auxiliary storage device 103, and an input / output interface 104. These hardware devices are connected to each other via a signal line.

[0028] The processor 101 is an IC that performs computational processing and controls the other hardware devices. For example, the processor 101 is a CPU.

[0029] Note that IC stands for Integrated Circuit.

[0030] Note that CPU stands for Central Processing Unit.

[0031] The memory 102 is a volatile or non-volatile storage device. The memory 102 is also called a main storage device or main memory. For example, the memory 102 is a RAM. Data stored in the memory 102 is saved in the auxiliary storage device 103 as needed.

[0032] Note that RAM stands for Random Access Memory.

[0033] The auxiliary storage device 103 is a non-volatile storage device. For example, the auxiliary storage device 103 is a ROM, an HDD, or a flash memory; or a combination of these. Data stored in the auxiliary storage device 103 is loaded onto the memory 102 as needed.

[0034] Note that ROM stands for Read Only Memory.

[0035] Note that HDD stands for Hard Disk Drive.

[0036] The input / output interface 104 is a port where an input device and an output device are connected. For instance, the input / output interface 104 is a USB terminal, the input device consists of a keyboard and a mouse, and the output device is a display. A communication device is an example of the input and output devices. Input to and output from the information processing device 100 are performed via the input / output interface 104.

[0037] Note that USB stands for Universal Serial Bus.

[0038] The information processing device 100 comprises 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 implemented by software.

[0039] The auxiliary storage device 103 stores an information processing program necessary 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 is executed by the processor 101.

[0040] Furthermore, the auxiliary storage device 103 stores an OS. At least part of the OS is loaded into the memory 102 and is executed by the processor 101.

[0041] The processor 101 executes the information processing program while also executing the OS.

[0042] Note that OS stands for Operating System.

[0043] Input and output data of the information processing program are stored in a storage unit 190.

[0044] The auxiliary storage device 103 functions as the storage unit 190. However, a storage device such as the memory 102, a register within the processor 101, and a cache memory within the processor 101 may function as the storage unit 190, either in place of the memory 102 or in conjunction with the memory 102.

[0045] The information processing program can be computer-readably recorded (stored) in a non-volatile recording medium such as an optical disc and a flash memory.

[0046] Fig. 5 shows a configuration of the data acquisition unit 110.

[0047] The data acquisition unit 110 includes elements such as an acquisition unit 111 and a pre-processing unit 112.

[0048] Fig. 6 shows a configuration of the encoder learning unit 120.

[0049] The encoder learning unit 120 includes elements such as an initialization unit 121, a generation unit 122, a treatment dosage discrimination unit 123, a treatment discrimination unit 124, a generator optimization unit 125, a treatment dosage discriminator optimization unit 126, and a treatment discriminator optimization unit 127.

[0050] Fig. 7 shows a configuration of the decoder learning unit 130.

[0051] The decoder learning unit 130 includes elements such as an initialization unit 131, a generation unit 132, a treatment dosage discrimination unit 133, a treatment discrimination unit 134, a generator optimization unit 135, and a discriminator optimization unit 136.*** Description of Operation ***

[0052] An operation procedure of the information processing device 100 corresponds to an information processing method. The operation procedure of the information processing device 100 also corresponds to a processing procedure conducted by the information processing program.

[0053] With referring to Fig. 8, the information processing method will be described.

[0054] In step S10, the data acquisition unit 110 acquires training data.

[0055] With referring to Fig. 9, a procedure of step S10 will be described.

[0056] In step S11, the acquisition unit 111 acquires {X, V, W, D} from a time-series database and passes {X, V, W, D} to the pre-processing unit 112.

[0057] Note that {X, V, W, D} is training data used for learning.

[0058] The time-series database is a database where time-series data and static data are registered. For example, the storage unit 190 functions as the time-series database.

[0059] Note that "X" represents a variant feature. A variant feature is a time-varying covariate that varies according to treatment.

[0060] Note that "V" represents an invariant feature. An invariant feature is a baseline covariate that does not vary according to treatment.

[0061] Note that "W" represents a categorical variable concerning treatment.

[0062] Note that "D" represents a categorical variable concerning treatment dosage.

[0063] The categorical variable W is expressed as follows using a number k for treatment and a total number n k of treatment types. W ∍ w t k = w t 1 = 1 , w t 2 = 2 , … , w t n k = n k

[0064] The categorical variable D is expressed as follows. The categorical variable D for a case where k = 2 is exemplified. D ∍ d t k , l k = 2 , d t 2 , l = d t 2 , 1 = 10 , d t 2 , 2 = 20 , … , w t 2 , n k = 50

[0065] Note that {X, V, W, D} is observed for each individual i, and is expressed as a set of time-series data and static data, as indicated in Expression (1). [Formula 103] X V W D = x t f , i w t k = f , i d t k = f , l = f , i t = 1 t max i v i i = 1 N N : × 1 , t max i : × 2 , w t k = f , i : × 3 , d t k = f , l = f , i : × 4

[0066] Note that: 1 represents a number of individuals observed; 2 represents a time duration of the time-series data; 3 indicates a type of treatment applied at time t where "k = f" means that the treatment was actually observed; and 4 represents a treatment dosage applied at time t where "l = f" means that the treatment dosage was actually observed.

[0067] In step S12, the pre-processing unit 112 removes, from {X, V, W, D}, data of an individual i in which the value of at least one of X, V, W, D is missing.

[0068] The data of the individual i is expressed as follows. x t f , i w t k = f , i d t k = f , l = f , i t = 1 t max i v i

[0069] In step S13, the pre-processing unit 112 normalizes each of X and V.

[0070] For instance, X and V are normalized such that their average becomes 0 and their variance becomes 1.

[0071] In step S14, the pre-processing unit 112 passes {X, V, W, D} to the encoder learning unit 120.

[0072] Returning to Fig. 8, the explanation resumes from step S20.

[0073] In step S20, the encoder learning unit 120 optimizes an encoder.

[0074] The encoder predicts a treatment result of time t + 1. Time t + 1 is time that is 1 step ahead of any given time t.

[0075] Specifically, the encoder learning unit 120 optimizes parameters of the encoder. In other words, the encoder learning unit 120 finds the optimal parameter values for the encoder.

[0076] Figs. 10 to 12 show overviews of a model of the encoder.

[0077] The encoder has a generator G en< . The encoder further has a treatment dosage discriminator D d and a treatment discriminator D w for each treatment type.

[0078] With referring to Fig. 13 and Fig. 14, a procedure of step S20 will be described.

[0079] In step S21, the initialization unit 121 initializes the parameters of each of the generator G en< , the treatment dosage discriminator D d , and the treatment discriminator D w .

[0080] Fig. 15 illustrates an overview of the generator G en< .

[0081] In the generator G en< , parameters of both a recurrent layer and a multi-task layer are initialized.

[0082] The recurrent layer could be a well-known deep neural network. Examples of the well-known deep neural network include an RNN, an LSTM, a GRU, and a bidirectional LSTM. Note that RNN stands for recurrent neural network, LSTM for long short term memory, and GRU for gated recurrent unit.

[0083] The multi-task layer represents a neural network with a plurality of outputs.

[0084] The treatment dosage discriminator D d is expressed as follows. D d = D d k k = 1 n k

[0085] Fig. 16 shows an overview of a model of the treatment dosage discriminator D d .

[0086] In the treatment dosage discriminator D d , parameters of an equivariant layer 1 of D d k< and equivariant layer 2 of D d k< are initialized.

[0087] A model proposed in Non-Patent Literature 2 can be used as the equivariant layer.

[0088] Fig. 17 shows an overview of a model of the treatment discriminator D w .

[0089] In the treatment discriminator D w , the parameters of each invariant layer and the parameters of a fully connected layer are initialized.

[0090] A model proposed in Non-Patent Literature 2 can be used for the invariant layer.

[0091] The fully connected layer represents a neural network of the fully connected layer.

[0092] An example of initialization is Xavier initialization or He initialization.

[0093] Returning to Fig. 13, the explanation resumes from step S22-1.

[0094] In step S22-1, the generation unit 122 calculates an intermediate state h^ t of the recurrent layer of the generator G en< .

[0095] The intermediate state h^ t is calculated by inputting elements extracted from {X, V, W, D} and an intermediate state h^ t-1 of the recurrent layer of the generator G en< to the recurrent layer of the generator G en< recursively.

[0096] The elements extracted from {X, V, W, D} are expressed as follows. x t f v w t − 1 k = f d t − 1 k , l = f

[0097] In step S22-2, the generation unit 122 calculates a set Y^ t+1 .

[0098] The set Y^ t+1 is calculated by inputting the intermediate state h^ t and a combination of treatment, treatment dosage, and noise to the multi-task layer of the generator G en< .

[0099] The combination of treatment, treatment dosage, and noise is expressed as follows. w t k d t k , l z t k , l l = 1 n d k k = 1 n w

[0100] The set Y^ t+1 is a set of fact and counterfact at time t + 1.

[0101] The set Y^ t+1 is expressed by Expression (10) where "k = f" signifies a fact and "k = cf" signifies a counterfact. [Formula 204] Y ^ t + 1 = y ^ t + 1 k = f = x ^ t + 1 f w t k = f d t k , l = f x ^ t + 1 cf w t k = f d t k , l ≠ f l = 1 n d k y ^ t + 1 k = cf k = 1 n w = x ^ t + 1 cf w t k ≠ f d t k , l l = 1 n d k k = 1 n w

[0102] In step S22-3, the generation unit 122 obtains a set Y^' t+1 .

[0103] The set Y^' t+1 is obtained by replacing a factual element x^ f< with an observed value x f< in Expression (10).

[0104] The set Y^' t+1 is expressed by Expression (11). [Formula 205] Y ^ ′ t + 1 = y ^ ′ t + 1 k = f = x t + 1 f w t k = f d t k , l = f x ^ t + 1 cf w t k = f d t k , l ≠ f l = 1 n d k y ^ t + 1 k = cf k = 1 n w = x ^ t + 1 cf w t k ≠ f d t k , l l = 1 n d k k = 1 n w

[0105] In step S22-4, the generation unit 122 obtains a set Y^ en< , a set Y^' en< , and a set h^ en< for each individual i.

[0106] The set Y^ en< is obtained by calculating Expression (12).

[0107] The set ^' en< is obtained by calculating Expression (13).

[0108] The set h^ en< is obtained by calculating Expression (14) with the recurrent layer of the generator G en< .

[0109] Note that "all" signifies all the individuals i. Y ^ all en = Y ^ t + 1 i t = 1 t max i − 1 i = 1 N 12 Y ^ ′ all en = Y ^ ′ t + 1 i t = 1 t max i − 1 i = 1 N 13 h ^ all en = h ^ t + 1 f , i t = 1 t max i − 1 i = 1 N 14

[0110] In step S22-5, the generation unit 122 calculates a loss function L S en< .

[0111] The loss function L S en< calculates a mean squared error (MSE) of the factual element x^ f< in Expression (10) and the observed value x f< .

[0112] The loss function L S en< is expressed by Expression (15). [Formula 207] L S en = ∑ i = 1 N ∑ t = 1 t max i − 1 x t + 1 f , i w t k = f d t k , l = f − x ^ t + 1 f , i w t k = f d t k , l = f 2

[0113] In step S23-1, the treatment dosage discrimination unit 123 discriminates each of elements x t+1 (x f< , x^ cf< ) that constitute the set Y^' t+1 in Expression (11). Expression (11) is calculated in each time step.

[0114] Each element x t+1 is discriminated by "1" or "0" where "1" signifies a fact (f) and "0" signifies a counterfact (cf).

[0115] Fig. 18 shows an overview of treatment dosage discrimination.

[0116] Each element x t+1 is discriminated as follows.

[0117] First, the treatment dosage discrimination unit 123 extracts an element y^' t+1 (k = f) from the set Y^' en< in Expression (13).

[0118] The element y^' t+1 to be extracted is expressed by Expression (20). [Formula 208] y ^ ′ t + 1 k = f = x t + 1 f w t k = f d t k , l = f x ^ t + 1 cf w t k = f d t k , l ≠ f l = 1 n d k

[0119] Also, the treatment dosage discrimination unit 123 extracts the element h^ t from the set h^ en< in Expression (14).

[0120] Next, the treatment dosage discrimination unit 123 selects the treatment discriminator D d (k = f) of the observed treatment from the processing amount discriminator D d .

[0121] The processing amount discriminator D d is expressed as follows. D d = D d k k = 1 n k

[0122] Then, the treatment dosage discrimination unit 123 inputs the element y^' t+1 and the element h^ t to the treatment discriminator D d (k = f) to discriminate each element x t+1 .

[0123] Each element x t+1 is discriminated according to the following procedure.

[0124] First, the treatment dosage discrimination unit 123 inputs the element y^' t+1 to the equivariant layer 1 as an equivariant input.

[0125] Also, the treatment dosage discrimination unit 123 inputs the element h^ t to the equivariant layer 1 as an auxiliary input .

[0126] Then, the treatment dosage discrimination unit 123 inputs an output from the equivariant layer 1 to the equivariant layer 2 as an equivariant input .

[0127] As a result, the equivariant layer 2 outputs a discrimination result of each element x t+1 .

[0128] In step S23-2, the treatment dosage discrimination unit 123 calculates a total sum L d .

[0129] The total sum L d is calculated as follows.

[0130] First, for each individual i, the treatment dosage discrimination unit 123 discriminates each element x^ t+1 .

[0131] The element b^ t+1 to be discriminated is expressed as follows. x ^ t + 1 i w t k = f d t k , l l = 1 n d k t = 1 t max i − 1 i = 1 N

[0132] Next, for each treatment k, the treatment dosage discrimination unit 123 calculates a loss function L d k< to determine a loss.

[0133] The loss function L d k< is expressed by Expression (21). [Formula 211] L d k = ∑ i = 1 N ∑ t = 1 t max i − 1 log D d k x t + 1 f , i w t k = f d t k , l = f + ∑ l = 1 n d k log 1 − D d k x ^ t + 1 cf , i w t k = f d t k , l ≠ f

[0134] Then, the treatment dosage discrimination unit 123 calculates the total sum L d of the loss.

[0135] The total sum L d is expressed by Expression (22). [Formula 212] L d = ∑ k = 1 n w L d k

[0136] In step S24-1, the treatment discrimination unit 124 discriminates each of elements y^ t+1 that constitute the set Y^' t+1 in Expression (11). Note that Expression (11) is calculated in each time step.

[0137] Each element y^ t+1 is discriminated by "1" or "0" where "1" signifies a fact (f) and "0" signifies a counterfact (cf).

[0138] Fig. 19 shows an overview of the treatment discrimination.

[0139] Each element y^ t+1 is discriminated in the following way.

[0140] First, the treatment discrimination unit 124 extracts the element y^' t+1 of Expression (11) from the set ^' en< in Expression (13).

[0141] Also, the treatment discrimination unit 124 extracts the element h^ t from the set h^ en< in Expression (14).

[0142] Then, the treatment discrimination unit 124 inputs the element y^' t+1 and the element h^ t to the treatment discriminator D w to discriminate each element y^ t+1 .

[0143] Each element y^ t+1 is discriminated by the following procedure.

[0144] First, the treatment discrimination unit 124 inputs each of the following elements of the element y^' t+1 to the invariant layers. y ^ ′ t + 1 k = f y ^ t + 1 k = cf k = 1 n w

[0145] Then, the treatment discrimination unit 124 inputs outputs of the invariant layers and the element h^ t to the fully connected Layer.

[0146] As a result, the fully connected layer outputs a discrimination result for each element y^ t+1 .

[0147] In step S24-2, for each individual i, the treatment discrimination unit 124 discriminates each element y^ t+1 .

[0148] The element y^ t+1 to be discriminated is expressed as follows. y ^ t + 1 k , i k = 1 n k t = 1 t max i − 1 i = 1 N

[0149] Then, the treatment discrimination unit 124 calculates a loss function Lw.

[0150] The loss function Lw is expressed by Expression (31). [Formula 215] L w = ∑ i = 1 N ∑ t = 1 t max i − 1 log D w y ^ ′ t + 1 k = f , i + ∑ k = 1 n w log 1 − D w y ^ t + 1 k = cf , i

[0151] In step S25-1, the generator optimization unit 125 calculates a loss function L G en< of the generator G en< using a loss (L S en< ), the total sum L d , and a loss (Lw).

[0152] The loss (L S en< ) is a value obtained by calculating Expression (15).

[0153] The total sum L d is a value obtained by calculating Expression (22).

[0154] The loss (Lw) is a value obtained by calculating Expression (31).

[0155] The loss function L G en< is expressed by Expression (40) where "a d " is a hyperparameter indicating a degree of consideration taken for the total sum L d , and "aw" is a hyperparameter indicating a degree of consideration taken for the loss (Lw). [Formula 216] L G en = L S en − α d L d − α w L w

[0156] In step S25-2, the generator optimization unit 125 optimizes the parameters of the generator G en< . As a result, the parameters of the generator G en< are updated.

[0157] The parameters of the generator G en< are optimized such that an output value of the loss function L G en< becomes minimum. An optimization technique such as known stochastic gradient descent is used for the optimization.

[0158] In step S26, the encoder learning unit 120 uses the optimized parameters of the generator G en< to execute the processes of step S22-1 to step S24-2.

[0159] In step S27-1, the treatment dosage discriminator optimization unit 126 optimizes the parameters of the treatment dosage discriminator D d . As a result, the parameters of the treatment dosage discriminator D d are updated.

[0160] The treatment dosage discriminator D d is expressed as follows. D d = D d k k = 1 n k

[0161] Specifically, the treatment dosage discriminator optimization unit 126 optimizes the parameter of each element D d k< of the treatment dosage discriminator D d .

[0162] The parameter of each element D d k< is optimized such that the loss (L d k< ) becomes minimum. An optimization method such as the known stochastic gradient descent method is used for the optimization.

[0163] The loss (L d k< ) is a value obtained by calculating Expression (21).

[0164] In step S27-2, the treatment discriminator optimization unit 127 optimizes the parameters of the treatment discriminator Dw. As a result, the parameters of the treatment discriminator Dw are updated.

[0165] The parameters of the treatment discriminator Dw are optimized such that the loss (Lw) becomes minimum. An optimization technique such as the well-known stochastic gradient descent is used for the optimization.

[0166] The loss (Lw) is a value obtained by calculating Expression (31).

[0167] In step S28, the encoder learning unit 120 decides whether to repeat the parameter update.

[0168] A value obtained by calculating Expression (40) is referred to as a loss (L G en< ).

[0169] If the loss (L G en< ), the total sum L d , and the loss (Lw) are not minimized, the encoder learning unit 120 decides to repeat the parameter update.

[0170] If the loss (L G en< ), the total sum L d , and the loss (Lw) are minimized, the encoder learning unit 120 decides not to repeat the parameter update.

[0171] If the loss (L G en< ), the total sum L d , and the loss (Lw) are converged, the loss (L G en< ), the total sum L d , and the loss (Lw) have been minimized.

[0172] If the loss (L G en< ), the total sum L d , and the loss (Lw) are not minimized but a number of repetition times of processing has reached an upper limit, the encoder learning unit 120 decides not to repeat the parameter update. The upper limit is a predetermined number of times.

[0173] If the parameter update is repeated, the processing returns to step S22-1.

[0174] If the parameter update is not repeated, the processing proceeds to step S29.

[0175] In step S29, the encoder learning unit 120 passes the parameters of each of the generator G en< , the treatment dosage discriminator D d , and the treatment discriminator Dw to the decoder learning unit 130.

[0176] Additionally, the encoder learning unit 120 passes the set Y^ en< in Expression (12) and the set h^ en< in Expression (14) to the decoder learning unit 130.

[0177] Returning to Fig. 8, step S30 will be described.

[0178] In step S30, the decoder learning unit 130 optimizes a decoder.

[0179] The decoder predicts processing results of time t + 2 to time t + τ. Time t + 1 is time that is 1 step ahead of the time t + 1 whose processing result is predicted by the encoder.

[0180] Specifically, the decoder learning unit 130 optimizes parameters of the decoder. In other words, the decoder learning unit 130 finds the optimal parameter values for the decoder.

[0181] Fig. 20 and Fig. 21 show overviews of a model of the decoder.

[0182] The decoder has a generator G de< . The decoder furthermore has a treatment dosage discriminator D d and a treatment discriminator Dw for each treatment type.

[0183] The treatment dosage discriminator D d and the treatment discriminator Dw are the same as those possessed by the encoder.

[0184] With referring to Fig. 22 and Fig. 23, a procedure of step S30 will be described.

[0185] In step S31, the initialization unit 131 initializes parameters of the generator G de< using the parameters of the generator G en< .

[0186] In step S32-1, the generation unit 132 calculates an intermediate state h^ t+S-1 of a recurrent layer of the generator G de< ,

[0187] Fig. 24 shows an overview of the generator G de< ,

[0188] In the first step (s = 2), the intermediate state h^ t+S-1 is calculated by inputting an element {x^ t+1 , w t , dt}, an element h^ t , and an element v to the recurrent layer of generator G de< .

[0189] The element {x^ t+1 , wt, dt} is extracted from the set Y^ t+1 in Expression (10).

[0190] The element h^ t is extracted from the set h^ en< in Expression (14).

[0191] Returning to Fig. 22, the explanation resumes from step S32-2.

[0192] In step S32-2, the generation unit 132 calculates a set X^ t+s .

[0193] The set X^ t+s is calculated by inputting the intermediate state h^ t+S-1 and a combination of treatment, treatment dosage, and noise to a multi-task layer of the generator G de< .

[0194] The combination of treatment, treatment dosage, and noise is expressed as follows. w t + s − 1 k d t + s − 1 k , l z t + s − 1 k , l l = 1 n d k k = 1 n w

[0195] The set X^ t+s is expressed by Expression (50). [Formula 302] X ^ t + s = x ^ t + s w t + s − 1 k d t + s − 1 k , l l = 1 n d k = 1 n w

[0196] In step S32-3, the generation unit 132 obtains a set X^ t+2:t+τ .

[0197] The set X^ t+2:t+τ is obtained by repeating recursive processing from step 2 (s = 2) to step τ (s = τ).

[0198] In the recursive processing, for each element {x^ t+s , w t+s-1 , d t+s-1 } of the set X^ t+s , the intermediate state h^ t+S-1 and the element v are inputted to the recurrent layer of the generator G de< to obtain a set X^ t+s+1 .

[0199] The set X^ t+2:t+τ is expressed by Expression (51). [Formula 303] X ^ t + 2 : t + τ = x ^ t + 2 : t + τ f = x ^ t + s f w t + s − 1 k = f d t + s − 1 k , l = f s = 2 τ X ^ t + 2 : t + τ cf

[0200] In the set X^ t+2:t+τ , the factual data x^ f< is in only one pattern, and all remaining patterns are counterfactual data X^ cf< .

[0201] The number of patterns that are the counterfactual data X^ cf< is expressed as follows. ∑ k = 1 n w n d k τ − 1 − 1

[0202] In step S32-4, the generation unit 132 obtains a set X^' de< and a set h^ de< .

[0203] The set X^ 'de< and the set h ^de< are obtained as follows.

[0204] First, the generation unit 132 replaces the factual element x^ f< in Expression (51) with the observed value x f< to obtain a set X^' t+2:t+τ .

[0205] The set X^' t+2:t+τ is expressed by Expression (52). [Formula 305] X ^ ′ t + 2 : t + τ = x t + 2 : t + τ f = x t + s f w t + s − 1 k = f d t + s − 1 k , l = f s = 2 τ X ^ t + 2 : t + τ cf

[0206] Then, for each individual i, the generation unit 132 obtains an element {x f< , x^ cf< } of the set X^' t+2:t+τ to obtain a set X^' de< .

[0207] The set X^' de< is expressed by Expression (53). [Formula 306] X ^ ′ all de = X ^ ′ t + 2 : t + τ i t = 1 t max i − τ i = 1 N

[0208] The set h^ de< is obtained by calculation in the recurrent layer of the generator G de< .

[0209] The set h^ de< is expressed by Expression (54). [Formula 307] h ^ all de = h ^ t + 1 : t + τ − 1 i t = 1 t max i − τ i = 1 N

[0210] In step S32-5, the generation unit 132 calculates a loss function L S de< .

[0211] The loss function L S de< calculates a mean squared error (MSE) of the factual element x^ f< in Expression (51) and the observed value x f< .

[0212] The loss function L S de< is expressed by Expression (55). [Formula 308] L S de = ∑ i = 1 N ∑ t = 1 t max i − τ ∑ s = 2 τ x t + s f , i − x ^ t + s f , i 2

[0213] In step S33-1, the treatment dosage discrimination unit 133 discriminates each element x^ t+s .

[0214] Each element x^ t+s is discriminated as follows.

[0215] First, the treatment dosage discrimination unit 133 extracts an element y^ k< t+s (1 < s < τ) from the set X^' de< in Expression (53).

[0216] The element y^ k< t+s to be extracted is expressed by Expression (60). [Formula 309] y ^ t + s k = x ^ t + s w t + s − 1 k d t + s − 1 k , l l = 1 n d k

[0217] Also, the treatment dosage discrimination unit 133 extracts the element h^ t+s-1 from set h^ de< in Expression (54).

[0218] Then, the treatment dosage discrimination unit 133 inputs the element y^ k< t+s and the element h^ t+s-1 to a treatment discriminator D d k< to discriminate each element 0x^ t+s .

[0219] In step S33-2, the treatment dosage discrimination unit 133 calculates a total sum L d .

[0220] The total sum L d is calculated as follows.

[0221] First, for each individual i, the treatment dosage discrimination unit 133 discriminates the element x^ t+s that constitutes the element y^ k< t+s of a set indicated below. y ^ t + s k s = 2 τ t = 1 t max i − τ i = 1 N

[0222] Next, for each treatment k (k = 1 ... n k ), the treatment dosage discrimination unit 133 calculates a loss function L d k< to determine the loss.

[0223] The loss function L d k< is expressed by Expression (61).

[0224] Note that n f< x is a number of pieces of factual data of x^ k< t+s in y^ k< t+s .

[0225] Note that n cf< x is a number of pieces of edition factual data of x^ k< t+s in y^ k< t+s . [Formula 311] L d k = ∑ i = 1 N ∑ t = 1 t max i − τ ∑ s = 2 τ ∑ n x f , i log D d k x t + s f , i + ∑ n x cf , i log 1 − D d k x ^ t + s cf , i

[0226] Then, the treatment dosage discrimination unit 133 calculates the total sum L d of losses.

[0227] The total sum L d is expressed by Expression (62). [Formula 312] L d = ∑ k = 1 n w L d k

[0228] In step S34-1, the treatment discrimination unit 134 discriminates an element y^ t+s .

[0229] The element y^ t+s is discriminated as follows.

[0230] First, the treatment discrimination unit 134 extracts an element Y^ t+s from the set X^' de< in Expression (53).

[0231] The element Y^ t+s is expressed by Expression (63). [Formula 313] Y ^ t + s = y ^ t + s k k = 1 n w = x ^ t + s w t + s − 1 k d t + s − 1 k , l l = 1 n d k k = 1 n w

[0232] Also, the treatment discrimination unit 134 extracts the element h^ t+s-1 from the set h^ de< in Expression (54).

[0233] Then, the treatment discrimination unit 134 inputs the element Y^ t+s and the element h^ t+s-1 to the treatment discriminator D w to discriminate each element y^ t+s .

[0234] In step S34-2, for each individual i, the treatment discrimination unit 134 discriminates the element y^ t+s that constitutes the element Y^ t+s of a set indicated below. Y ^ t + s s = 2 τ t = 1 t max i − τ i = 1 N

[0235] Then, the treatment discrimination unit 134 calculates a loss function Lw. The loss function Lw is expressed by Expression (64).

[0236] Note that n f< y is a number of pieces of factual data of y^ t+s in y^ c+s .

[0237] Note that n cf< y is a number of pieces of counterfactual data of y^ t+s in y^ t+s . [Formula 315] L w = ∑ i = 1 N ∑ t = 1 t max i − 1 ∑ s = 2 τ ∑ n y f , i log D w y ^ t + s k = f , i + ∑ n y cf , i log 1 − D w y ^ t + s k = cf , i

[0238] In step S35-1, the generator optimization unit 135 calculates a loss function L G de< of the generator G de< using a loss (L S de< ), the total sum L d , and a loss (Lw).

[0239] The loss (L S de< ) is a value obtained by calculating Expression (55).

[0240] The total sum L d is a value obtained by calculating Expression (62).

[0241] The loss (Lw) is a value obtained by calculating Expression (64).

[0242] The loss function L G de< is expressed by Expression (70). [Formula 316] L G de = L S de − α d L d − α w L w

[0243] In step S35-2, the generator optimization unit 135 optimizes the parameters of the generator G de< . As a result, the parameters of the generator G de< are updated.

[0244] The parameters of the generator G de< are optimized such that an output value of the loss function L G de< becomes minimum. An optimization technique such as the known stochastic gradient descent method is used for the optimization.

[0245] In step S36, the decoder learning unit 130 decides whether to repeat the parameter update.

[0246] A value obtained by calculating Expression (70) is referred to as a loss (L G de< ).

[0247] If the loss (L G de< ) is not minimized, the decoder learning unit 130 decides to repeat the parameter update.

[0248] If the loss (L G de< ) is minimized, the decoder learning unit 130 decides not to repeat the parameter update.

[0249] If the loss (L G de< ) is converged, the loss (L G de< ) has been minimized.

[0250] If the loss (L G de< ) is not minimized but a number of times of repetition processing has reached an upper limit, the decoder learning unit 130 decides not to repeat the parameter update. The upper limit is a predetermined number of times.

[0251] If the parameter update is repeated, the processing returns to step S32-1.

[0252] If the parameter update is not repeated, the processing proceeds to step S37.

[0253] In step S37, the decoder learning unit 130 passes the parameters of each of the generator G en< and the generator G de< to the estimation unit 140.

[0254] Returning to Fig. 8, the explanation resumes from step S40.

[0255] In step S40, the estimation unit 140 selects a treatment plan to achieve a treatment result.

[0256] The treatment result indicates an effect (treatment effect) obtained from a plurality of treatments.

[0257] Specifically, the estimation unit 140 estimates a treatment result of each time following time t + 1, concerning the plurality of treatments, using the optimized encoder and the optimized decoder. Then, the estimation unit 140 selects a treatment plan that provides a high final treatment result or a treatment plan that provides a high cost performance, based on estimation results concerning the plurality of treatments.

[0258] With referring to Fig. 25, the procedure of step S40 will be described.

[0259] In step S41, the estimation unit 140 uses the generator G en< and the generator G de< to calculate a treatment result x^t +1:t+τ .

[0260] The treatment plan is expressed as follows. w t + s k d t + s k , l s = 1 τ

[0261] In step S42, the estimation unit 140 selects an optimal treatment plan.

[0262] The optimal treatment plan is a treatment plan that provides a high final treatment result x^ t+τ .

[0263] Alternatively, the optimal treatment plan may be a treatment plan that provides a high cost performance in the treatment cost and the treatment result x^ t+τ where the treatment dosage is regarded as the treatment cost.

[0264] The processing amount is expressed as follows. d t + s k , l s = 1 τ

[0265] Returning to Fig. 8, step S50 will be described.

[0266] In step S50, the output unit 150 outputs the optimal treatment plan and the treatment result x^ t+1:t+τ which is obtained by an advantageous treatment plan.*** Effects of Embodiment 1 ***

[0267] Embodiment 1 is designed to estimate the treatment results at a plurality of time points where both the treatment and the treatment dosage change as time passes.

[0268] The information processing device 100 estimates counterfactual treatment results for a plurality of types of treatments at a plurality of time points and a treatment dosage of each treatment. As a result, when conducting a plurality of times of treatments, the information processing device 100 is able to grasp in advance which treatment and what treatment dosage would provide a good effect in each treatment time, allowing formulation of an accurate treatment plan.

[0269] Estimating the treatment results at the plurality of time points in Embodiment 1 enables to grasp in advance which treatment plan should be formulated at what time point according to the characteristic of the target.

[0270] For example, it is possible to formulate a treatment plan for a case where vaccine is administered four times (refer to Fig. 1). The treatment plan indicates multiple combinations of treatments, dosage of treatments, a sequence of treatments, and a timing of treatment. Additionally, the treatment plan indicates when to stop treatment, and so on.*** Supplement to Embodiment 1 ***

[0271] Embodiment 1 is formed of a first block and a second block.

[0272] The first block is a block that "generates a treatment effect from a state and treatment", and operates as follows. The first block includes comparing a treatment effect generated by a GAN and a treatment effect estimated by the encoder and conducting learning cooperatively. In the first block, three loss functions are calculated.

[0273] The second block is a block that "estimates a treatment from a treatment effect", and operates as follows. The second block includes introducing a GAN or an NN that generates a treatment or classifies a treatment, and estimating a treatment A 1:t = {W 1:t , D 1:t } from a treatment effect Y t . In the second block, a discriminator is introduced, and whether a pair of estimated treatments {W 1:t , D 1:t } is factual or counterfactual is decided.

[0274] Applications of Embodiment 1 are not limited to a vaccine treatment schedule. Embodiment 1 can be applied to various fields.

[0275] For instance, Embodiment 1 can be applied to a distribution plan for sales promotion of products or services. In the distribution plan, items such as discount coupons and advertisements are distributed. Specifically, Embodiment 1 enables formulation of a distribution plan that indicates how many discount coupons and advertisements are to be distributed in what order and at what timing.

[0276] For example, Embodiment 1 can be applied to dynamic pricing of train seat reservation or hotel rooms. Specifically, Embodiment 1 enables formation of a pricing plan that indicates how much the pricing for sales promotion of seat reservation or rooms is to be varied in what order and at what timing.

[0277] In this manner, Embodiment 1 can be applied to a wide area including supporting medical planning such as a vaccine treatment plan, formulating a distribution plan for sales promotion of products or services, formulating dynamic pricing of train seat reservation or hotel rooms.

[0278] With referring to Fig. 26, a hardware configuration of the information processing device 100 will be described.

[0279] The information processing device 100 is equipped with processing circuitry 109.

[0280] The processing circuitry 109 is a hardware device that implements the data acquisition unit 110, the encoder learning unit 120, the decoder learning unit 130, the estimation unit 140, and the output unit 150.

[0281] The processing circuitry 109 may be a dedicated hardware device, or a processor 101 that executes the program stored in the memory 102.

[0282] If the processing circuitry 109 is a dedicated hardware device, the processing circuitry 109 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an ASIC, or an FPGA; or a combination of these.

[0283] Note that ASIC stands for Application Specific Integrated Circuit.

[0284] Note that FPGA stands for Field Programmable Gate Array.

[0285] The information processing device 100 may include a plurality of processing circuitries that substitute for the processing circuitry 109.

[0286] In the processing circuitry 109, some functions may be implemented by dedicated hardware, while the remaining functions may be implemented by software or firmware.

[0287] In this manner, the functions of the information processing device 100 can be implemented by hardware, software, or firmware; or a combination of these.

[0288] Embodiment 1 is an exemplification of a preferred embodiment and is not intended to limit the technical scope of the present disclosure. Embodiment 1 may be implemented partially, or may be implemented by combination with other embodiments. The procedures described using the flowcharts and so on may be changed as appropriate.

[0289] The term "unit" in the name of each element of the information processing device 100 may be replaced with "process", "stage", "circuit", or "circuitry".Reference Signs List

[0290] 100: information processing device; 101: processor; 102: memory; 103: auxiliary storage device; 104: input / output interface; 109: processing circuitry; 110: data acquisition unit; 111: acquisition unit; 112: pre-processing unit; 120: encoder learning unit; 121: initialization unit; 122: generation unit; 123: treatment dosage discrimination unit; 124: treatment discrimination unit; 125: generator optimization unit; 126: treatment dosage discriminator optimization unit; 127: treatment discriminator optimization unit; 130: decoder learning unit; 131: initialization unit; 132: generation unit; 133: treatment dosage discrimination unit; 134: treatment discrimination unit; 135: generator optimization unit; 136: discriminator optimization unit; 140: estimation unit; 150: output unit; 190: storage unit.

Claims

1. An information processing device comprising: a data acquisition unit to acquire, as training data concerning a plurality of treatments, time-series data including: a variant feature that varies according to treatment; an invariant feature that does not vary according to treatment; and a categorical variable concerning treatment; an encoder learning unit to optimize an encoder that predicts a treatment result of time t + 1 that is 1 step ahead of any given time t, using the training data; a decoder learning unit to optimize a decoder that predicts a treatment result of each time following time t + 1, using the training data; and an estimation unit to estimate a treatment result of each of a plurality of times following time t + 1, concerning the plurality of treatments, using the optimized encoder and the optimized decoder.

2. The information processing device according to claim 1, wherein the estimation unit selects a treatment plan that provides a high final treatment result or a treatment plan that provides a high cost performance, based on estimation results.

3. An information processing method comprising: acquiring, as training data concerning a plurality of treatments, time-series data including: a variant feature that varies according to treatment; an invariant feature that does not vary according to treatment; and a categorical variable concerning treatment; optimizing an encoder that predicts a treatment result of time t + 1 that is 1 step ahead of any given time t, using the training data; optimizing a decoder that predicts a treatment result of each time following time t + 1, using the training data; and estimating a treatment result of each of a plurality of times following time t + 1, concerning the plurality of treatments, using the optimized encoder and the optimized decoder.

4. An information processing program which causes a computer to execute: a data acquisition process of acquiring, as training data concerning a plurality of treatments, time-series data including: a variant feature that varies according to treatment; an invariant feature that does not vary according to treatment; and a categorical variable concerning treatment; an encoder learning process of optimizing an encoder that predicts a treatment result of time t + 1 that is 1 step ahead of any given time t, using the training data; a decoder learning process of optimizing a decoder that predicts a treatment result of each time following time t + 1, using the training data; and an estimation process of estimating a treatment result of each of a plurality of times following time t + 1, concerning the plurality of treatments, using the optimized encoder and the optimized decoder.