WO2022059189A1 - データ算出装置、データ算出方法および記録媒体 - Google Patents

データ算出装置、データ算出方法および記録媒体 Download PDF

Info

Publication number
WO2022059189A1
WO2022059189A1 PCT/JP2020/035546 JP2020035546W WO2022059189A1 WO 2022059189 A1 WO2022059189 A1 WO 2022059189A1 JP 2020035546 W JP2020035546 W JP 2020035546W WO 2022059189 A1 WO2022059189 A1 WO 2022059189A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
data
value
data calculation
posterior distribution
Prior art date
Application number
PCT/JP2020/035546
Other languages
English (en)
French (fr)
Inventor
慶一 木佐森
裕 清川
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2020/035546 priority Critical patent/WO2022059189A1/ja
Priority to JP2022550307A priority patent/JPWO2022059189A5/ja
Priority to US18/025,609 priority patent/US20240028789A1/en
Publication of WO2022059189A1 publication Critical patent/WO2022059189A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a data calculation device, a data calculation method, and a recording medium.
  • Patent Document 1 describes that the posterior distribution of parameter values according to the target data is calculated by using Kernel ABC (Kernel ABC; Kernel Approximate Bayesian Computation) and Kernel Harding (Kernel Herding).
  • Kernel ABC Kernel ABC; Kernel Approximate Bayesian Computation
  • Kernel Harding Kernel Herding
  • the number of parameters for which you want to estimate the value is large, such as when the scale of the simulation target is large, it may take time to estimate the parameter value.
  • the time required for estimating the parameter value will increase exponentially as the number of parameters for which the value is to be estimated increases. Therefore, when the number of parameters for which the value is to be estimated is large, it is conceivable that the estimated value of the parameter cannot be obtained within a realistic time.
  • One of the objects of the present invention is to provide a data calculation device, a data calculation method, and a recording medium capable of solving the above-mentioned problems.
  • the data calculation device calculates the upper posterior distribution data that calculates the data showing the posterior distribution of the parameter values of the upper model based on the target data for the output of the upper model simulating the target.
  • the posterior distribution of the parameter values of the lower model is shown based on the data showing the posterior distribution of the parameter values of the upper model for the means and the lower model that simulates the target portion and outputs the parameter values of the upper model. It is provided with a subordinate posterior distribution data calculation means for calculating data.
  • the data calculation device applies data showing the distribution of the parameter values of the lower model to the lower model that outputs the parameter values of the upper model that simulates the target, and executes the simulation. Then, the simulation of the target is executed by applying the data showing the distribution of the parameter values to the upper model and the lower model simulation execution means for calculating the data showing the distribution of the parameter values of the upper model. It is equipped with a high-level model simulation execution means.
  • a computer calculates data showing the posterior distribution of the parameter values of the upper model based on the target data for the output of the upper model simulating the target.
  • the data showing the posterior distribution of the parameter value of the lower model is calculated based on the data showing the posterior distribution of the parameter value of the upper model. ..
  • the recording medium calculates on a computer data indicating the posterior distribution of the parameter values of the upper model based on the target data for the output of the upper model simulating the target.
  • the data showing the posterior distribution of the parameter value of the lower model is calculated based on the data showing the posterior distribution of the parameter value of the upper model. It is a recording medium that records what to do and the program to be executed.
  • the value can be estimated in a relatively short time even when the number of parameters for which the value is to be estimated based on the output of the simulator is large.
  • FIG. 1 is a schematic block diagram showing a functional configuration of a data calculation device according to an embodiment.
  • the data calculation device 100 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 170, and a control unit 180.
  • the control unit 180 includes an initial setting unit 181, a loop processing unit 182, an upper simulator unit 183, an upper posterior distribution data calculation unit 184, a lower simulator unit 185, and a lower posterior distribution data calculation unit 186.
  • FIG. 1 shows a target 900 that is a target of simulation by a simulation model.
  • the simulation model of the target 900 is also referred to as a model of the target 900, or simply a model.
  • the data calculation device 100 uses the target data for the output of the model to estimate the parameter value of the model so that the output value of the model approaches the value of the target data.
  • the data calculation device 100 may be configured by using a computer such as a workstation or a personal computer (PC).
  • the data calculation device 100 may be configured as one device or may be configured by a combination of a plurality of devices.
  • the upper simulator unit 183 and the lower simulator unit 185 may be configured as separate simulator devices for each model.
  • the value of the target data is also referred to as the target value.
  • the process of estimating the parameter value of the model so that the output value of the model approaches the target value is also called data assimilation. Estimating the parameter value in data assimilation is also called adjusting the parameter value.
  • the target data may be actual measurement data in the target 900.
  • the data calculation device 100 estimates the parameter values, so that the model can be adjusted so that the target 900 can be simulated with high accuracy. Further, the state of the target 900 can be estimated by referring to the parameter value of the estimation result. For example, when the target 900 is a factory and the parameter to be estimated by the data calculation device 100 is the production amount for each production line of the factory, the parameter value estimated by the data calculation device 100 is estimated from the actual measurement data. It can be used as the production volume for each production line in the factory.
  • the target data may be data indicating the target value in the target 900.
  • the parameters of the estimation result by the data calculation device 100 it is possible to create a measure for achieving the target. Further, according to the data calculation device 100, it is possible to control the target 900 by controlling each device in the factory based on the created policy.
  • the parameter value estimated by the data calculation device 100 is the target value shown in the target data. It can be used as the production volume for each production line of the factory to achieve the above. According to the data calculation device 100, it is possible to perform control based on the estimation result, such as controlling the equipment for each production line based on the production amount estimated for each production line in the factory.
  • the data calculation device 100 uses a hierarchical model as a model for simulating the target 900.
  • the data calculation device 100 may use a model including an upper model that simulates the entire target 900 and one or more lower models that simulate a part of the target 900.
  • the "hierarchy” here means that the hierarchical relationship can be defined. For example, as described above, based on the relationship between the whole and the part, the model that simulates the whole of the target 900 can be set as the upper rank, and the model that simulates the part of the target 900 can be set as the lower rank.
  • This hierarchical relationship may be fixed or variable. For example, in a model that simulates a company, the model of the accounting department is ranked high for the flow of expenses, but the model of the purchasing department is ranked high for the flow of materials. May be different.
  • the data calculation device 100 uses a hierarchical model in which the lower model outputs the parameter values of the upper model. As a result, the data calculation device 100 repeats the process of estimating the parameter value of the model based on the target data of the output of the model according to the hierarchical structure of the model.
  • the data calculation device 100 estimates the parameter value of the upper model based on the target data of the output of the upper model. Then, the data calculation device 100 estimates the parameter value of the lower model by using the estimated parameter value of the upper model as the target data of the output of the lower model.
  • the data calculation device 100 hierarchically estimates the parameter values of the model according to the hierarchical structure of the model, so that the parameters of the individual models can be compared with the case where the target 900 is simulated by only one model.
  • the number can be reduced. For example, by using the production volume of each department including multiple production lines as a parameter for the parameters of the upper model, the number of parameters of the upper model is smaller than when the production volume of each production line is used as a parameter. I'm done.
  • the number of parameters in the model is large, it may take time to estimate the parameter values. In particular, it is conceivable that the time required for estimating the parameter value increases exponentially as the number of parameters increases. Therefore, when the number of parameters is large, it is conceivable that the estimated values of the parameters cannot be obtained within a realistic time.
  • the calculation time is larger than in the case of using one model having a large number of parameters. Is expected to be short.
  • the target 900 is a simulated target by the data calculation device 100.
  • the target 900 may be a factory.
  • the data calculation device 100 may use a hierarchical model including a higher-level model that simulates the entire factory and one or more lower-level models that simulate a part of the factory.
  • the target 900 may be a supply chain including a production base, a distribution facility, and a sales base.
  • the data calculation device 100 may use a hierarchical model including a higher-level model that simulates the entire supply chain and a lower-level model that simulates each of the production base, the distribution facility, and the sales base.
  • the target 900 may be an area.
  • the data calculation device 100 includes a higher-level model that simulates the spread of infection for the entire area and a lower-level model that simulates the state of infection in a part of the area or transportation. May be used.
  • the target 900 may be real or virtual.
  • FIG. 2 is a diagram showing an example of a model of the target 900 used by the data calculation device 100.
  • the model 200 includes one upper model 210 and S lower models 220-1 to 220-S.
  • S is an integer of S ⁇ 1, and indicates the number of lower models 220.
  • the lower models 220-1 to 220-S are collectively referred to as the lower model 220.
  • the input to the upper model 210 is indicated by the vector X
  • the parameters of the upper model 210 are indicated by the vector Z
  • the output of the upper model 210 is indicated by the vector Y.
  • the vectors X, Y, and Z are all real vector.
  • the number of dimensions of each of the vectors X and Y may be one or more.
  • the number of dimensions of the vector Z may be S or more.
  • the vector X is also referred to as an input vector X.
  • the vector Y is also referred to as an output vector Y.
  • the vector Z is also referred to as a parameter vector Z.
  • the element of the input vector X may include an element that takes a discrete value such as an integer value or a binary value.
  • the element of the output vector Y may include an element that takes a discrete value such as an integer value or a binary value.
  • the element of the parameter vector Z may include an element that takes a discrete value such as an integer value or a binary value.
  • the input to the lower model 220-s is shown by the vector X s
  • the parameters of the lower model 220-s are shown by the vector ⁇ s
  • the output of the lower model 220-s is shown by the vector Z s .
  • s is an integer of 1 ⁇ s ⁇ S.
  • the vectors X s , Z s , and ⁇ s are all real vector.
  • the number of dimensions of X s , the vector Z s , and ⁇ s may be one or more.
  • the number of dimensions of the vector X s may be 0 or more.
  • the element of the input vector X s may include an element that takes a discrete value such as an integer value or a binary value.
  • the element of the output vector Z s may include an element that takes a discrete value such as an integer value or a binary value.
  • the element of the parameter vector ⁇ s may include an element that takes a discrete value such as an integer value or a binary value.
  • the data calculation device 100 acquires target data indicating a combination of the value of the input vector X and the value of the output vector Y, and adjusts the value of the parameter vector Z so that the output value of the upper model 210 approaches the target value.
  • the probability distribution of the parameter vector Z before adjustment by the data calculation device 100 is referred to as a prior distribution ⁇ Z
  • the value of the parameter vector Z based on the prior distribution ⁇ Z is referred to as a sample Z ⁇ PRI> .
  • the probability distribution of a vector may be represented by a combination of probability distributions for each element of the vector.
  • the prior distribution ⁇ Z may be set by the user based on the information of the target 900. Alternatively, a predetermined distribution such as a uniform distribution may be used as the prior distribution ⁇ Z.
  • the probability distribution of the parameter vector Z adjusted by the data calculation device 100 is expressed as the posterior distribution p (Z
  • the data calculation device 100 determines the input value (value of the input vector X s ) to the lower model 220-s based on the input value (value of the input vector X) to the upper model 210.
  • the vector space of the input vector X s may be a subspace of the vector space of the input vector X. That is, the input vector X s may be configured by using some of the elements of the input vector X.
  • the data calculation device 100 sets the value of the element of the input vector X to the value of the element of the input vector X s according to the relationship between the input vector X and the input vector X s .
  • the value of the element of the input vector X s may include a calculated value based on the value of the input vector X.
  • the data calculation device 100 determines the target value of the output of the lower model 220-s based on the sample Z ⁇ POST> .
  • the vector space of the output vector Z s may be a subspace of the vector space of the parameter vector Z. That is, the output vector Z s may be configured by using some of the elements of the parameter vector Z.
  • the data calculation device 100 sets the value of the element of the sample Z ⁇ POST> in the output target data of the lower model 220- s according to the relationship between the parameter vector Z and the output vector Z s . Set to the value of the element.
  • the parameter vector Z there may be an element that is not associated with the output vector Z s . That is, as a parameter of the upper model 210, there may be a parameter that is used in the calculation in the upper model 210 and no value is output in the lower model 220.
  • the target value of the output of the lower model 220-s determined by the data calculation device 100 based on the sample Z ⁇ POST> is referred to as the sample Z ⁇ POST> s .
  • the data calculation device 100 can perform data assimilation hierarchically by setting the parameter value of the upper model 210 to the target data of the output value of the lower model 220. Specifically, the data calculation device 100 determines the target value (sample Z ⁇ POST> s ) of the output of the lower model 220 based on the sample Z ⁇ POST> after adjusting the parameter value in the upper model 210. Then, the adjustment result in the upper model 210 can be reflected in the adjustment of the parameter value in the lower model 220.
  • the number of dimensions of the parameter vector Z is smaller than the total number of dimensions of the parameter vectors ⁇ 1 to ⁇ S , the number of parameters of each model is smaller than when the target 900 is simulated by only one model. can do.
  • the data calculation device 100 can perform data assimilation in a relatively short time and can estimate the values from the parameter vectors ⁇ 1 to ⁇ S.
  • the data calculation device 100 performs data assimilation for each of the lower models 220 by adjusting the value of the parameter vector ⁇ s so that the value of the output vector Z s approaches the sample Z ⁇ POST> s .
  • the probability distribution of the parameter vector ⁇ s before adjustment by the data calculation device 100 is expressed as the prior distribution ⁇ ⁇ s
  • the value of the parameter vector ⁇ s based on the prior distribution ⁇ ⁇ s is expressed as the sample ⁇ ⁇ PRI> s .
  • the prior distribution ⁇ ⁇ s may be set by the user based on the information of the target 900. Alternatively, a predetermined distribution such as a uniform distribution may be used as the prior distribution ⁇ ⁇ s .
  • the probability distribution of the parameter vector Z adjusted by the data calculation device 100 is expressed as the posterior distribution p ( ⁇ s
  • the data calculation device 100 applies the sample ⁇ ⁇ POST> s to the parameters of the lower model 220-s to execute the simulation, and calculates the output vector Z s with respect to the input vector X s .
  • Applying a sample parameter to a model parameter means setting the sample value as a parameter value. Applying a sample to a model parameter is also referred to as applying the sample to the model.
  • the value of the output vector Z s calculated by the simulation to which the sample ⁇ ⁇ POST> s is applied is expressed as the sample Z ⁇ PRED> s .
  • the data calculation device 100 generates a sample of the value of the parameter vector Z based on the values from the sample Z ⁇ PRED> 1 to the sample Z ⁇ PRED> S.
  • This sample is used as a sample that reflects the result of data assimilation in the lower model 220 when the data calculation device 100 repeatedly performs data assimilation using the upper model 210.
  • Sample Z ⁇ PRED> 1 to Sample Z ⁇ PRED> S may be used as the element value of the generated sample.
  • the data calculation device 100 calculates the values of the elements of the sample to be generated by a predetermined method such as averaging the values of a plurality of elements from the sample Z ⁇ PRED> 1 to the sample Z ⁇ PRED> S. You may do it.
  • the data calculation device 100 can repeat the hierarchical data assimilation by generating a sample of the parameter vector Z based on the values from the sample Z ⁇ PRED> 1 to the sample Z ⁇ PRED> S. can. Specifically, the data calculation device 100 applies the value of the generated sample to the parameter vector Z of the upper model 210 to execute the simulation. As a result, the data calculation device 100 acquires a sample of the output vector Y based on the sample of the generated parameter. Then, the data calculation device 100 estimates the value of the parameter vector Z so that the output value of the upper model 210 approaches the target value based on the relationship between the obtained sample of the output vector Y and the target value.
  • the data calculation device 100 uses the estimated value of the parameter vector Z as the sample Z ⁇ POST> , performs data assimilation in the lower model 220 in the same manner as described above, and based on the result of the data assimilation, the parameter vector Z Generate a sample.
  • the data calculation device 100 repeats hierarchical data assimilation until a predetermined end condition is satisfied.
  • the parameter value can be estimated with high accuracy by repeating the hierarchical data assimilation of the data calculation device 100.
  • the probability distribution of the parameter vector Z and the respective probability distributions of the parameter vectors ⁇ 1 to ⁇ S converge to a certain parameter value according to the target value. Convergence of the probability distribution here to a certain parameter value means that the probability at that value increases.
  • the probability of the value of the parameter Z at which the value of the output vector Y is close to the target value becomes relatively large, so that when data assimilation is performed again, the target value is used as the sampling value of the output vector Y.
  • the probability of the value of the parameter Z at which the value of the output vector Y is close to the target value will be further increased by the data assimilation again. It is expected that the probability of the parameter value according to the target value will increase by repeating the data assimilation for the parameter vectors ⁇ 1 to ⁇ S.
  • the data calculation device 100 uses kernel ABC and kernel harding as a process of estimating a parameter value so as to bring the output value of the model closer to the target value
  • the method in which the data calculation device 100 estimates the parameter value so that the output value of the model approaches the target value is not limited to a specific method.
  • the data calculation device 100 may use Markov Chain Monte Carlo (MCMC) or ABC (Approximate Bayesian Computation) as a process of estimating a parameter value so that the output value of the model approaches the target value. You may do it.
  • MCMC Markov Chain Monte Carlo
  • ABC Approximate Bayesian Computation
  • the communication unit 110 communicates with other devices. For example, when the data calculation device 100 acquires the actual measurement data by the sensor as the target data, the communication unit 110 may receive the actual measurement data by the sensor from the sensor installed in the target 900.
  • the display unit 120 includes a display screen such as a liquid crystal panel or an LED (Light Emitting Diode) panel, and displays various images. For example, the display unit 120 may display the estimation result of the parameter value by the data calculation device 100.
  • the operation input unit 130 includes an input device such as a keyboard and a mouse, and accepts user operations. For example, the operation input unit 130 may accept a user operation for inputting a target value in the target 900 as target data.
  • the storage unit 170 stores various data.
  • the storage unit 170 stores the model layered as described above as the model of the target 900.
  • the storage unit 170 is configured by using the storage device included in the data calculation device 100.
  • the control unit 180 controls each unit of the data calculation device 100 to perform various processes.
  • the function of the control unit 180 may be executed by the CPU (Central Processing Unit) included in the data calculation device 100 reading a program from the storage unit 170 and executing the program.
  • CPU Central Processing Unit
  • the loop processing unit 182 processes a loop that repeats hierarchical data assimilation. Specifically, the loop processing unit 182 counts up the value of the variable l according to the number of times the hierarchical data assimilation is repeated. Further, the loop processing unit 182 determines whether or not the loop end condition is satisfied.
  • the loop end condition may be that the value of the variable l is equal to or greater than a predetermined threshold value.
  • the loop end condition may be that the output value of the upper model 210 is evaluated to be closer to the target value than a predetermined condition.
  • the upper simulator unit 183 executes a simulation using the upper model 210.
  • the upper simulator unit 183 applies the value of the updated parameter vector Z based on the samples Z ⁇ PRED> 1 to Z ⁇ PRED> S obtained as a result of the simulation using the lower model 220 to the upper model 210. And run the simulation.
  • the upper simulator unit 183 corresponds to an example of the upper simulator unit 183 upper model simulation execution means.
  • Sample Z ⁇ PRED> (l) The value of the updated parameter vector Z based on 1 to Z ⁇ PRED> (l) S is referred to as sample Z ⁇ PRI> (l + 1) . As described above, the value in () is the value of the variable l.
  • the upper simulator unit 183 is the l + 1st time of the hierarchical data assimilation based on the samples Z ⁇ PRED> (l) 1 to Z ⁇ PRED> (l) S obtained in the first execution of the hierarchical data assimilation. Sample Z ⁇ PRI> (l + 1) for.
  • the upper simulator unit 183 may use the value of the element of the sample Z ⁇ PRED> (l) s as the value of the element of the sample Z ⁇ PRI> (l + 1) . .. Alternatively, as described above for the data calculation device 100, the upper simulator unit 183 takes the average of the values of a plurality of elements from the sample Z ⁇ PRED> 1 to the sample Z ⁇ PRED> S , or the sample Z by a predetermined method. ⁇ PRED> The value of the element of (l + 1) s may be calculated.
  • the upper simulator unit 183 applies the sample Z ⁇ PRI> (l + 1) to the upper model 210 to execute the simulation, and calculates the sample Y ⁇ PRI> (l + 1) .
  • the upper simulator unit 183 acquires M combinations of samples Z ⁇ PRED> (l) 1 to Z ⁇ PRED> (l) S , calculates M samples Z ⁇ PRI> (l + 1) , and samples Y. Calculate M ⁇ PRI> (l + 1) .
  • the upper posterior distribution data calculation unit 184 calculates data indicating the posterior distribution of the value of the parameter vector Z of the upper model 210 based on the target data for the output vector Y of the upper model 210.
  • the subscript "m" of "Z ⁇ POST> (l) m " indicates an identification number for identifying M samples "Z ⁇ POST> (l) ".
  • the distance in the reproducing kernel Hilbert space corresponds to an example of an index showing the degree of similarity between the sample Y ⁇ PRI> (l) m and the target value.
  • the lower simulator unit 185 executes a simulation using the lower model 220.
  • the lower simulator unit 185 applies the sample ⁇ ⁇ POST> s obtained by data assimilation in the lower model 220-s to the lower model 220-s to execute the simulation as described above for the data calculation device 100.
  • Sample Z ⁇ PRED> s is calculated.
  • the data assimilation in the lower model 220-s is the value of the parameter vector ⁇ s of the lower model 220 so that the value of the output vector Z s of the lower model 220-s approaches the target value (sample Z ⁇ POST> s ). Is data assimilation to estimate.
  • the lower simulator unit 185 acquires M samples ⁇ ⁇ POST> s calculated by the lower posterior distribution data calculation unit 186 by data assimilation, and calculates M samples Z ⁇ PRED> s .
  • the lower simulator unit 185 corresponds to an example of a lower model simulation execution means.
  • the subscript "m" of "Z ⁇ PRED> (l) s, m " indicates an identification number for identifying M samples Z ⁇ PRED> (l) s .
  • the lower posterior distribution data calculation unit 186 calculates data indicating the posterior distribution of the parameter values of the lower model 220 based on the data indicating the posterior distribution p (Z
  • the control unit 180 may control the target 900, such as transmitting a control signal to the target 900 via the communication unit 110.
  • the control unit 180 corresponds to an example of control means.
  • FIG. 3 is a flowchart showing an example of a processing procedure in which the data calculation device 100 performs hierarchical data assimilation.
  • the initial setting unit 181 initially sets the value of the variable l used as the loop counter. Specifically, the initial setting unit 181 sets the value of the variable l to 1. The value of the variable l indicates the number of repetitions of the loop from steps S103 to S110. After step S101, the process transitions to step S102.
  • Step S103 The loop processing unit 182 determines whether or not the loop end condition is satisfied.
  • step S103: NO the processing transitions to step S104.
  • step S103: YES the data calculation device 100 ends the process of FIG.
  • Y ⁇ PRI> (l) m is expressed by the equation (1).
  • step S104 the process transitions to step S105.
  • Step S105 The upper posterior distribution data calculation unit 184 calculates the kernel average ⁇ ⁇ (l) Z
  • Y is expressed by Eq. (2).
  • k z indicates the kernel.
  • the " ⁇ " in parentheses indicates that the variables of the function in the reproducing kernel Hilbert space are not limited to specific ones.
  • the weight w m is expressed by the equation (3).
  • I represents an identity matrix.
  • indicates the regularization constant.
  • Gy represents a Gram Matrix and is expressed as in Eq. (4).
  • ky (Y) indicates the kernel of y and is expressed by the equation (5).
  • step S105 the process transitions to step S106.
  • Y is associated one-to-one with the posterior distribution p (Z
  • Kernel Herding processing a sample by posterior distribution can be obtained.
  • the upper posterior distribution data calculation unit 184 calculates Z ⁇ POST> (l) m based on the equation (6).
  • step S106 the process transitions to step S107.
  • step S107 the process transitions to step S108.
  • Step S108 The data calculation device 100 executes processing for each lower model 220. As described above, the data calculation device 100 calculates the sample Z ⁇ PRED> (l) s by the processing of the lower model 220-s. After step S108, the process transitions to step S109.
  • the upper simulator unit 183 passes the processing result for each lower model 220 to the processing of the upper model 210. Specifically, as described above for the data calculation device 100, the upper simulator unit 183 is based on the values of the sample Z ⁇ PRED> (l) s obtained for each lower model 220, and the sample Z ⁇ PRI> ( Set the value of l + 1) . For example, the upper simulator unit 183 sets the value of the sample Z ⁇ PRI> (l + 1) as shown in the equation (10).
  • step S109 the process transitions to step S110.
  • Step S110 The loop processing unit 182 counts up the value of the variable l used as the loop counter. That is, the loop processing unit 182 increases the value of the variable l by 1. After step S110, the process transitions to step S102.
  • FIG. 4 is a flowchart showing an example of a processing procedure performed by the data calculation device 100 for each lower model 220.
  • the data calculation device 100 performs the process of FIG. 4 in step S108 of FIG. (Step S201)
  • the upper posterior distribution data calculation unit 184 passes the value of the parameter vector Z of the upper model 210 to the lower model 220. Specifically, as described above for the data calculation device 100, the upper posterior distribution data calculation unit 184 acquires the sample Z' ⁇ POST> (l) s based on the sample Z ⁇ POST> (l). For example, the upper posterior distribution data calculation unit 184 acquires Z' ⁇ POST> (l) s based on the equation (11).
  • Z ⁇ POST> (l) [s,:] indicates the row vector of the sth row of the matrix Z ⁇ POST> (l) .
  • Z' ⁇ POST> (l) s is expressed by the equation (12).
  • Z ⁇ POST> (l) [s, m] indicates the elements in the sth row and mth column of the matrix Z ⁇ POST> (l) .
  • Z ⁇ POST> (l) is configured as a matrix having Z' ⁇ POST> (l) s and m as elements.
  • the upper posterior distribution data calculation unit 184 reads the sth line of Z ⁇ POST> (l) , and has M pieces to be used as the target data of the lower model 220-s. Samples Z' ⁇ POST> (l) s, 1 , ..., Z' ⁇ POST> (l) s, M are acquired. After step S201, the process transitions to step 202.
  • Step S203 The lower simulator unit 185 applies the samples ⁇ ⁇ PRI> (l) s and m to the lower model 220-s to execute the simulation, and calculates the samples Z ⁇ PRI> (l) s and m .
  • Sample Z ⁇ PRI> (l) s, m is expressed by the formula (14).
  • step S203 the process transitions to step S204.
  • Step S204 The subordinate posterior distribution data calculation unit 186 calculates the kernel average ⁇ ⁇ (l) ⁇
  • Z, s is expressed by Eq. (15).
  • G z and s represent a Gram matrix and are expressed as in Eq. (17).
  • K ⁇ and s (Z) indicate the kernel of Z and are expressed as in Eq. (18).
  • step S204 the process transitions to step S205.
  • the subordinate posterior distribution data calculation unit 186 calculates ⁇ ⁇ POST> (l) s, m based on the equation (19).
  • step S205 the process transitions to step S206.
  • Step S206 The lower simulator unit 185 sets the sample ⁇ ⁇ POST> (l) s, m to the parameters of the lower model 220-s, executes the simulation, and calculates the sample Z ⁇ PRED> (l) s, m .
  • Z ⁇ PRED> (l) s, m is expressed by the equation (22).
  • step S206 the process transitions to step S207.
  • the data calculation device 100 ends the process of FIG.
  • FIG. 5 is a diagram showing a configuration of a production system 910 corresponding to the example of the target 900.
  • the production system 910 includes a first subsystem 911-1 and a second subsystem 911-2.
  • the first subsystem 911-1 and the second subsystem 911-2 are collectively referred to as subsystem 911.
  • the first subsystem 911-1 includes the first production line 912-1, the second production line 912-2, the third production line 912-3, the fourth production line 912-4, and the fifth production line 912-5.
  • the second subsystem 911-2 includes a sixth production line 912-6, a seventh production line 912-7, an eighth production line 912-8, and a ninth production line 912-9.
  • the first production line 912-1 to the ninth production line 912-9 are collectively referred to as a production line 912.
  • FIG. 6 is a diagram showing an example of a model simulating the production system 910.
  • a lower model 220 is provided for each subsystem 911, and the number of lower models 220 is two.
  • the parameters z 1 and z 1 indicate the time required for production per production unit in the first subsystem 911-1 and the second subsystem 911-2, respectively.
  • the parameters ⁇ 1 , 1 to ⁇ 1, 5 indicate the time required for production per production unit in the first production line 912-1 to the fifth production line 912-5 .
  • the parameters ⁇ 2, 1 to ⁇ 2 , 4 indicate the time required for production per production unit in the sixth production line 912-6 to the ninth production line 912-9.
  • this target time and the output from the upper model 210 to the lower model 220 are the takt time (Takt Time). ), which is considered to indicate a demand for time.
  • the upper model 210 and the lower model 220 exchange data to search for a solution that can correspond to both the required time and the required time.
  • FIG. 7 is a diagram showing an example of a sample of parameter values of the upper model 210 based on the prior distribution.
  • the horizontal axis of FIG. 7 shows the value of the parameter z1.
  • the vertical axis shows the value of the parameter z 2 .
  • the prior distribution of the parameter z1 is shown in the region A11.
  • the prior distribution of the parameter z 2 is shown in the region A12.
  • Each of the points in region A13 shows an example of a sample of (z 1 , z 2 ).
  • FIG. 7 shows an example of a sample of the parameter Z based on the prior distribution calculated by the initial setting unit 181 in step S102 of FIG.
  • FIG. 8 is a diagram showing a first example of a sample of output values of the upper model 210.
  • the horizontal axis of FIG. 8 shows the output value of the upper model 210.
  • the vertical axis shows the frequency.
  • FIG. 8 shows the output value of the upper model 210 obtained by executing the simulation using the upper model 210 for each value of the parameter vector Z shown in FIG. 7 in a frequency distribution.
  • the upper simulator unit 183 performs this simulation.
  • the upper posterior distribution data calculation unit 184 estimates the value of the parameter Z so that the model output shown in FIG. 8 approaches the actual value “5” in the processing of steps S105 and S106 of FIG.
  • FIG. 9 is a diagram showing an example of a sample of parameter values of the upper model 210 based on the posterior distribution.
  • the horizontal axis of FIG. 9 shows the value of the parameter z1.
  • the vertical axis shows the value of the parameter z 2 .
  • the posterior distribution of parameter z1 is shown in region A21.
  • the posterior distribution of parameter z 2 is shown in region A22.
  • Each of the points in region A23 shows an example of a sample of (z 1 , z 2 ).
  • FIG. 9 shows an example of a parameter value estimated by the upper posterior distribution data calculation unit 184 using the model output and the actual value shown in FIG.
  • the value of z 1 is plotted in a region of about 10 to 15 and the value of z 2 is plotted in a region of about 10 to 15. It is considered that the value of the parameter Z has converged due to the data assimilation by the upper posterior distribution data calculation unit 184.
  • FIG. 10 is a diagram showing an example of a sample of parameter values of the lower model 220 based on the prior distribution.
  • FIG. 10 shows a sample based on the prior distribution for the parameters ⁇ 1, 1 to ⁇ 1, 5 of the lower model 220-1, and the parameters ⁇ 2, 1 to ⁇ 2 , 4 of the lower model 220-2, respectively.
  • the horizontal axis is the parameter value and the vertical axis is the frequency.
  • the subordinate posterior distribution data calculation unit 186 samples the parameter values of the subordinate model 220 based on the prior distribution exemplified in FIG. 10 in step S202 of FIG.
  • FIG. 11 is a diagram showing an example of a sample output value of the lower model 220.
  • the horizontal axis of FIG. 11 shows the output value of the lower model 220.
  • the vertical axis shows the probability.
  • FIG. 11 shows the output value of the lower model 220 obtained by applying the parameter value shown in FIG. 10 to the lower model 220 and executing the simulation by the probability distribution.
  • the lower simulator unit 185 performs this simulation.
  • FIG. 12 is a diagram showing an example of a sample of parameter values of the lower model 220 based on the posterior distribution.
  • FIG. 12 shows a sample based on the posterior distribution for the parameters ⁇ 1, 1 to ⁇ 1, 5 of the lower model 220-1, and the parameters ⁇ 2, 1 to ⁇ 2 , 4 of the lower model 220-2, respectively.
  • the horizontal axis is the parameter value and the vertical axis is the frequency.
  • the lower posterior distribution data calculation unit 186 performs data assimilation and calculates a sample of the parameter values of the lower model 220 based on the posterior distribution. Comparing FIGS. 10 and 12, the parameter values are unevenly distributed in FIG. 12 than in FIG. 10. It is considered that the values of the parameters ⁇ 1 and ⁇ 2 have converged due to the data assimilation by the subordinate posterior distribution data calculation unit 186.
  • FIG. 13 is a diagram showing an example of a sample output value of the lower model 220.
  • the horizontal axis of FIG. 13 indicates the value of the parameter z1.
  • the vertical axis shows the value of the parameter z 2 .
  • FIG. 13 shows the output value of the lower model 220 when the simulation is executed by applying the parameter value shown in FIG. 12 to the lower model 220.
  • the lower simulator unit 185 performs this simulation.
  • Each of the points in region A33 shows an example of a sample of (z 1 , z 2 ).
  • Region A31 shows the distribution of parameter z1 based on the sample shown in region A33.
  • Region A32 shows the distribution of parameter z2 based on the sample shown in region A33.
  • the parameter values are more unevenly distributed than in the case of FIG. 9, and the value of z 1 is plotted in a region of about 6 to 10 and the value of z 2 is plotted in a region of about 7 to 15. It is considered that the value of the parameter Z is further converged by reflecting the result of the data assimilation by the lower posterior distribution data calculation unit 186.
  • FIG. 14 is a diagram showing a second example of a sample of output values of the upper model 210.
  • the horizontal axis of FIG. 14 shows the output value of the upper model 210.
  • the vertical axis shows the frequency.
  • FIG. 14 shows an example of the output of the upper model 210 in a frequency distribution when the parameter value shown in FIG. 13 is applied to the upper model 210 and the simulation is executed.
  • the upper simulator unit 183 performs this simulation.
  • the value of the parameter Z is more converged than in the case of FIG. 7, and the output of the upper model 210 is more converged in the case of FIG. 14 than in the case of FIG.
  • FIG. 15 is a diagram showing a third example of a sample of parameter values of the upper model 210.
  • the horizontal axis of FIG. 15 indicates the value of the parameter z1.
  • the vertical axis shows the value of the parameter z 2.
  • FIG. 15 shows the data assimilation that estimates the parameter value so that the output value of the upper model 210 actually approaches based on the output value of the upper model 210 shown in FIG.
  • the value of the parameter of the upper model 210 when it is done is shown.
  • the upper posterior distribution data calculation unit 184 performs this data assimilation.
  • Each of the points in region A43 shows an example of a sample of (z 1 , z 2 ).
  • Region A41 shows the distribution of parameter z1 based on the sample shown in region A43.
  • Region A42 shows the distribution of parameter z2 based on the sample shown in region A33.
  • the parameter values are more unevenly distributed than in the case of FIG. 13, and the points are concentrated in the region where the value of z 1 is about 9 and the value of z 2 is about 12. It is considered that the data calculation device 100 succeeded in estimating the value of the appropriate parameter Z.
  • FIG. 16 is a diagram showing an example of the estimation result of the parameter value of the lower model 220 by the data calculation device 100.
  • FIG. 16 shows data assimilation in which the parameter value of the upper model 210 shown in FIG. 15 is used as the target value of the output of the lower model 220, and the parameter value of the lower model 220 is estimated so that the output value of the lower model 220 approaches the target value.
  • An example of the parameter value of the lower model 220 in the case of performing the above is shown by a frequency distribution in which the parameter value is taken on the horizontal axis and the frequency is taken on the vertical axis.
  • the subordinate posterior distribution data calculation unit 186 performs this data assimilation.
  • the parameter values are further unevenly distributed as compared with the case of FIG. It is considered that the data calculation device 100 succeeded in estimating the values of the appropriate parameters ⁇ 1 and ⁇ 2 .
  • the model 200 may be configured as a model having three or more layers.
  • the model of the uppermost layer is referred to as an upper model
  • the model of the lowest layer is referred to as a lower model
  • the model of the other layers is referred to as an intermediate model. Even when the number of layers of the model is three or more, the processing related to the upper model is the same as described with reference to FIG.
  • the "lower model” is read as the intermediate model in the explanation of FIG.
  • the processing of steps S107 to S109 of FIG. 3 is performed between steps S205 and S206.
  • the input / output data in the intermediate layer is expressed as shown in FIG.
  • FIG. 17 is a diagram showing an example of data input / output in the intermediate layer when the number of layers of the model is three or more.
  • the intermediate model 232 inputs / outputs data to / from the upper layer model 231 and the lower layer model 233.
  • the upper layer model 231 is a model of the layer immediately above the intermediate model 232.
  • the upper layer model 231 may be an upper model or an intermediate model.
  • the lower layer model 233 is a model of the layer immediately below the intermediate model 232.
  • the lower layer model 233 may be a lower model or an intermediate model.
  • the number of one upper layer model 231 and an intermediate model for inputting / outputting data may be one or more.
  • the number of one intermediate model 232 and the number of lower layer models that input / output data may be one or more.
  • the number of layers in the model does not have to be uniform. For example, there may be both an intermediate model and a lower model as models in the layer immediately below the upper model. There may be both an intermediate model and a lower model as models in the layer immediately below the intermediate model.
  • the data calculation device 100 sets an input vector X (u) to be an input to the intermediate model 232 and an input vector X (d) to be an input to the lower layer model 233. This corresponds to the above-mentioned data calculation device 100 performing the process of setting the input vector Xs of the lower model 220- s hierarchically.
  • the sample output from the upper layer model 231 to the intermediate model 232 is referred to as Z' ⁇ POST> (u) .
  • the sample output from the intermediate model 232 to the lower layer model 233 is referred to as Z' ⁇ POST> (d) .
  • Z' ⁇ POST> (u) and Z' ⁇ POST> (d) are Z' ⁇ POST> (l) s, 1 , ..., Z' ⁇ POST> (l) s, in the process of FIG. Corresponds to M.
  • Z' ⁇ POST> (u) is used as target data in the data assimilation in the intermediate model 232.
  • Z' ⁇ POST> (u) is used as target data in the data assimilation in the lower layer model 233.
  • the sample output from the lower layer model 233 to the intermediate model 232 is referred to as Z ⁇ PRED> (d) .
  • the sample output from the intermediate model 232 to the upper layer model 231 is referred to as Z ⁇ PRED> (u) .
  • Z ⁇ PRED> (d) and Z ⁇ PRED> (u) correspond to Z ⁇ PRED> (l) s in the process of FIG. 3 and the process of FIG. Z ⁇ PRED> (d) is used to update sample Z ⁇ POST> (d) based on the posterior distribution in the intermediate model 232.
  • the sample based on the posterior distribution referred to here is a sample obtained by data assimilation, and corresponds to a sample of parameters based on the posterior distribution when the target data of the output value of the model is given.
  • Z ⁇ PRED> (u) is used to update the sample Z ⁇ POST> (d) based on the posterior distribution in the upper layer model 231.
  • Z ⁇ PRED> (u) is used to generate a sample of the upper layer model 231 based on the prior distribution in the next loop execution.
  • the data calculation device 100 uses the parameter Z (d) so that the value of the output Z u of the intermediate model 232 approaches the value of the target data Z ⁇ POST> (u) by the process corresponding to steps S201 to S205 in FIG. Perform data assimilation to estimate the value of. As a result, the data calculation device 100 calculates the sample Z ⁇ POST> (d) .
  • the data calculation device 100 calculates the sample Z ⁇ PRED> (d) in which the result of the data assimilation in the lower layer model 233 is reflected by the processing corresponding to steps S107 to S109 in FIG.
  • the data calculation device 100 calculates Z ⁇ PRI> (l + 1) using Z (PRED) (l) s .
  • the data calculation device 100 updates the sample Z ⁇ POST> (d) based on the posterior distribution using Z ⁇ PRED> (d) .
  • the data calculation device 100 applies the updated sample Z ⁇ POST> (d) to the intermediate model 232 by the process corresponding to steps S206 to S207 in FIG. 4, executes the simulation, and Z ⁇ PRED> ( u) is calculated.
  • Z ⁇ PRED> ( u) is calculated in the processing related to the intermediate model 232.
  • the processing related to the intermediate model is the same as the processing shown in FIG.
  • the lower posterior distribution data calculation unit 186 can perform data assimilation hierarchically by calculating the data indicating the posterior distribution of the parameter values of the lower model 220 using the parameter values of the upper model 210. Specifically, the lower posterior distribution data calculation unit 186 determines the target value of the output of the lower model 220 (sample Z ⁇ POST>, which is determined based on the adjusted sample Z ⁇ POST> in the upper model 210. By using > s ), the adjustment result of the parameter value in the upper model 210 can be reflected in the adjustment of the parameter value in the lower model 220.
  • the number of dimensions of the parameter vector Z is smaller than the total number of dimensions of the parameter vectors ⁇ 1 to ⁇ S , the number of parameters of each model is smaller than when the target 900 is simulated by only one model. can do.
  • the data calculation device 100 can perform data assimilation in a relatively short time and can estimate the values from the parameter vectors ⁇ 1 to ⁇ S.
  • the result of data assimilation in the lower model 220 can be reflected in the parameter value of the upper model 210, whereby the hierarchical data assimilation can be repeated. It is expected that the data calculation device 100 can estimate the parameter value with high accuracy by repeating the hierarchical data assimilation. In particular, it is expected that the probability distribution of the parameter vector Z and the respective probability distributions of the parameter vectors ⁇ 1 to ⁇ S converge to a certain parameter value according to the target value. As mentioned above, converging the probability distribution to a certain parameter value means that the probability at that value increases.
  • the probability of the value of the parameter Z at which the value of the output vector Y is close to the target value becomes relatively large, so that when data assimilation is performed again, the target value is used as the sampling value of the output vector Y.
  • the probability of the value of the parameter Z at which the value of the output vector Y is close to the target value will be further increased by the data assimilation again. It is expected that the probability of the parameter value according to the target value will increase by repeating the data assimilation for the parameter vectors ⁇ 1 to ⁇ S.
  • the upper posterior distribution data calculation unit 184 calculates the data showing the posterior distribution of the parameter values of the upper model 210 based on the kernel average, so that the same number is obtained for the given M prior distribution samples. It is possible to calculate a sample of M posterior distributions. According to the data calculation device 100, the parameter value can be efficiently estimated at this point.
  • control unit 180 controls the target 900 based on the data indicating the posterior distribution of the parameter values of the lower model 220 calculated by the lower posterior distribution data calculation unit 186.
  • the data calculation device 100 uses a hierarchical model, the number of parameters of each model is relatively small.
  • the subordinate posterior distribution data calculation unit 186 can estimate the parameter value of the subordinate model 220.
  • the control unit 180 can grasp the state of the target 900 and control the target 900 with relatively high accuracy by referring to the estimation result of the parameter value by the lower posterior distribution data calculation unit.
  • FIG. 18 is a diagram showing a configuration example of the data calculation device according to the embodiment.
  • the data calculation device 610 includes an upper posterior distribution data calculation unit 611 and a lower posterior distribution data calculation unit 612.
  • the upper posterior distribution data calculation unit 611 calculates data indicating the posterior distribution of the parameter values of the upper model based on the target data for the output of the upper model simulating the target.
  • the subordinate posterior distribution data calculation unit 612 simulates the target part and outputs the parameter values of the upper model.
  • the posterior distribution of the parameter values of the lower model is based on the data showing the posterior distribution of the parameter values of the upper model.
  • the data indicating the above is calculated.
  • the upper posterior distribution data calculation unit 611 corresponds to an example of the upper posterior distribution data calculation means.
  • the subordinate posterior distribution data calculation unit 612 corresponds to an example of the subordinate posterior distribution data calculation means.
  • the lower posterior distribution data calculation unit 612 can perform data assimilation hierarchically by calculating the data indicating the posterior distribution of the parameter values of the lower model using the parameter values of the upper model. Specifically, the lower posterior distribution data calculation unit 612 uses the target value of the output of the lower model, which is determined based on the sample of the parameter value after the data assimilation in the upper model, so that the data in the upper model can be used. The result of assimilation can be reflected in the data assimilation in the lower model.
  • the number of parameters of the upper model is smaller than the total number of parameters of the lower model, the number of parameters of each model can be reduced as compared with the case where the target is simulated by only one model.
  • the data calculation device 610 it is expected that the data assimilation can be performed in a relatively short time and the parameter values can be estimated.
  • the data calculation device 610 it is expected that it is possible to avoid not being able to obtain an estimated value of the parameter within a realistic time due to the large number of parameters of the model.
  • the upper posterior distribution data calculation unit 611 can be realized by using, for example, a function such as the upper posterior distribution data calculation unit 184 shown in FIG.
  • the subordinate posterior distribution data calculation unit 612 can be realized by using, for example, a function such as the subordinate posterior distribution data calculation unit 186 shown in FIG.
  • FIG. 19 is a diagram showing another example of the configuration of the data calculation device according to the embodiment.
  • the data calculation device 620 includes a lower model simulation execution unit 621 and an upper model simulation execution unit 622.
  • the lower model simulation execution unit 621 applies data showing the distribution of the parameter values of the lower model to the lower model that outputs the parameter values of the upper model that simulates the target, executes the simulation, and executes the simulation of the upper model.
  • the upper model simulation execution unit 622 executes the target simulation by applying the data showing the distribution of the calculated parameter values to the upper model.
  • the lower model simulation execution unit 621 corresponds to an example of the lower model simulation execution means.
  • the upper model simulation execution unit 622 corresponds to an example of the upper model simulation execution means. According to the data calculation device 620, the estimation result of the parameter value using the lower model can be reflected in the upper model, and in this respect, the target simulation can be executed with high accuracy.
  • the lower model simulation execution unit 621 can be realized by using a function such as the lower simulator unit 185 shown in FIG. 1, for example.
  • the upper model simulation execution unit 622 can be realized by using a function such as the upper simulator unit 183 shown in FIG. 1, for example.
  • FIG. 20 is a diagram showing an example of a processing procedure in the data calculation method according to the embodiment.
  • the data calculation method shown in FIG. 20 includes a step of calculating data showing the posterior distribution of the upper model (step S611) and a step of calculating data showing the posterior distribution of the lower model (step S612).
  • Step of calculating the posterior distribution of the upper model in step S611, the data showing the posterior distribution of the parameter values of the upper model is calculated based on the target data for the output of the upper model simulating the target.
  • step S612 the lower model that simulates the target part and outputs the parameter values of the upper model is based on the data showing the posterior distribution of the parameter values of the upper model. , Calculate the data showing the posterior distribution of the parameter values of the lower model.
  • data assimilation can be performed hierarchically by calculating the data showing the posterior distribution of the parameter values of the lower model using the parameter values of the upper model. Specifically, by using the target value of the output of the lower model, which is determined based on the sample of the parameter value after the data assimilation in the upper model, the result of the data assimilation in the upper model is the data in the lower model. It can be reflected in assimilation.
  • the number of parameters of the upper model is smaller than the total number of parameters of the lower model, the number of parameters of each model can be reduced as compared with the case where the target is simulated by only one model.
  • the data assimilation can be performed in a relatively short time and the parameter values can be estimated.
  • the data calculation method shown in FIG. 20 it is expected that it can be avoided that the estimated value of the parameter cannot be obtained within a realistic time due to the large number of parameters of the model.
  • FIG. 21 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • the computer 700 includes a CPU 710, a main storage device 720, an auxiliary storage device 730, an interface 740, and a non-volatile recording medium 750.
  • any one or more of the above data calculation device 100 and data calculation device 610 or a part thereof may be mounted on the computer 700.
  • the operation of each of the above-mentioned processing units is stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program. Further, the CPU 710 secures a storage area corresponding to each of the above-mentioned storage units in the main storage device 720 according to the program.
  • Communication between each device and other devices is executed by the interface 740 having a communication function and performing communication according to the control of the CPU 710. Further, the interface 740 has a port for the non-volatile recording medium 750, and reads information from the non-volatile recording medium 750 and writes information to the non-volatile recording medium 750.
  • the operations of the control unit 180 and each unit thereof are stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area corresponding to the storage unit 170 in the main storage device 720 according to the program.
  • Communication with other devices by the communication unit 110 is executed when the interface 740 has a communication function and operates according to the control of the CPU 710.
  • the display by the display unit 120 is executed by the interface 740 having a display device and displaying various images according to the control of the CPU 710.
  • the reception of the user operation by the operation input unit 130 is executed by the interface 740 having an input device such as a keyboard and a mouse, accepting the user operation, and outputting information indicating the accepted user operation to the CPU 710.
  • the operations of the upper posterior distribution data calculation unit 611 and the lower posterior distribution data calculation unit 612 are stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area for processing performed by the data calculation device 610 in the main storage device 720 according to the program.
  • Communication between the data calculation device 610 and other devices is executed by the interface 740 having a communication function and operating according to the control of the CPU 710.
  • the interaction between the data calculation device 610 and the user is executed by having the interface 740 have an input device and an output device, presenting information to the user on the output device according to the control of the CPU 710, and accepting the user operation on the input device.
  • any one or more of the above-mentioned programs may be recorded on the non-volatile recording medium 750.
  • the interface 740 may read the program from the non-volatile recording medium 750. Then, the CPU 710 may directly execute the program read by the interface 740, or may temporarily store and execute the program in the main storage device 720 or the auxiliary storage device 730.
  • a program for executing all or part of the processing performed by the data calculation device 100 and the data calculation device 610 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is recorded in the computer system. You may process each part by reading it into the computer and executing it.
  • the term "computer system” as used herein includes hardware such as an OS and peripheral devices.
  • the "computer-readable recording medium” includes a flexible disk, a magneto-optical disk, a portable medium such as a ROM (Read Only Memory) and a CD-ROM (Compact Disc Read Only Memory), and a hard disk built in a computer system. It refers to a storage device such as.
  • the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be further realized for realizing the above-mentioned functions in combination with a program already recorded in the computer system.
  • the embodiment of the present invention may be applied to a data calculation device, a data calculation method, and a recording medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

データ算出装置が、対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出する上位事後分布データ算出手段と、前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出する下位事後分布データ算出手段と、を備える。

Description

データ算出装置、データ算出方法および記録媒体
 本発明は、データ算出装置、データ算出方法および記録媒体に関する。
 シミュレータの出力相当するターゲットデータに基づいて、そのシミュレータがターゲットデータを出力するようなパラメータ値を推定する技術が提案されている。例えば、特許文献1には、カーネルABC(Kernel ABC; Kernel Approximate Bayesian Computation)およびカーネルハーディング(Kernel Herding)を用いて、ターゲットデータに応じたパラメータ値の事後分布を算出することが記載されている。
国際公開第2020-105468号
 シミュレーションの対象の規模が大きい場合など、値を推定したいパラメータの個数が多い場合、パラメータ値の推定に時間がかかることが考えられる。特に、値を推定したいパラメータの個数の増加に応じて、パラメータ値の推定に要する時間が指数的に増加することが考えられる。このため、値を推定したいパラメータの個数が多い場合、現実的な時間内にパラメータの推定値を得られないことが考えられる。
 本発明の目的の1つは、上述の課題を解決することのできるデータ算出装置、データ算出方法および記録媒体を提供することである。
 本発明の第1の態様によれば、データ算出装置は、対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出する上位事後分布データ算出手段と、前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出する下位事後分布データ算出手段と、を備える。
 本発明の第2の態様によれば、データ算出装置は、対象を模擬する上位モデルのパラメータ値を出力する下位モデルに、前記下位モデルのパラメータ値の分布を示すデータを適用してシミュレーションを実行し、前記上位モデルの前記パラメータ値の分布を示すデータを算出する下位モデルシミュレーション実行手段と、前記上位モデルに、算出した前記パラメータ値の分布を示すデータを適用して前記対象のシミュレーションを実行する上位モデルシミュレーション実行手段と、を備える。
 本発明の第3の態様によれば、データ算出方法では、コンピュータが、対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出し、前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出する。
 本発明の第4の態様によれば、記録媒体は、コンピュータに、対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出することと、前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出することと、実行させるためのプログラムを記録する記録媒体である。
 上記したデータ算出装置、データ算出方法および記録媒体によれば、シミュレータの出力に基づいて値を推定したいパラメータの個数が多い場合でも、比較的短時間で値を推定することができる。
実施形態に係るデータ算出装置の機能構成を示す概略ブロック図である。 実施形態に係るデータ算出装置が用いる対象のモデルの例を示す図である。 実施形態に係るデータ算出装置が階層的なデータ同化を行う処理手順の例を示すフローチャートである。 実施形態に係るデータ算出装置が下位モデルごとに行う処理の手順の例を示すフローチャートである。 実施形態に係る対象の例に該当する生産システムの構成を示す図である。 実施形態に係る生産システムを模擬するモデルの例を示す図である。 実施形態に係る事前分布に基づく上位モデルのパラメータ値のサンプルの例を示す図である。 実施形態に係る上位モデルの出力値のサンプルの第1例を示す図である。 実施形態に係る事後分布に基づく上位モデルのパラメータ値のサンプルの例を示す図である。 実施形態に係る事前分布に基づく下位モデルのパラメータ値のサンプルの例を示す図である。 実施形態に係る下位モデルの出力値のサンプルの例を示す図である。 実施形態に係る事後分布に基づく下位モデルのパラメータ値のサンプルの例を示す図である。 実施形態に係る下位モデルの出力値のサンプルの例を示す図である。 実施形態に係る上位モデルの出力値のサンプルの第2例を示す図である。 実施形態に係る上位モデルのパラメータ値のサンプルの第3例を示す図である。 実施形態に係るデータ算出装置による下位モデルのパラメータ値の推定結果の例を示す図である。 実施形態に係るモデルの層数が3層以上である場合の中間層におけるデータの入出力の例を示す図である。 実施形態に係るデータ算出装置の構成例を示す図である。 実施形態に係るデータ算出装置の構成のもう1つの例を示す図である。 実施形態に係るデータ算出方法における処理手順の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、実施形態に係るデータ算出装置の機能構成を示す概略ブロック図である。図1に示す構成で、データ算出装置100は、通信部110と、表示部120と、操作入力部130と、記憶部170と、制御部180とを備える。制御部180は、初期設定部181と、ループ処理部182と、上位シミュレータ部183と、上位事後分布データ算出部184と、下位シミュレータ部185と、下位事後分布データ算出部186とを備える。
 また、図1には、シミュレーションモデルによる模擬(シミュレーション、Simulation)の対象である対象900が示されている。対象900のシミュレーションモデルを、対象900のモデル、あるいは単にモデルとも称する。
 データ算出装置100は、モデルの出力に対するターゲットデータを用いて、モデルの出力値がターゲットデータの値に近付くように、モデルのパラメータ値を推定する。データ算出装置100が、例えばワークステーション(Workstation)またはパソコン(Personal Computer;PC)等のコンピュータを用いて構成されていてもよい。
 データ算出装置100が、1つの装置として構成されていてもよいし、複数の装置の組み合わせにて構成されていてもよい。例えば、上位シミュレータ部183、および、下位シミュレータ部185が、モデルごとに別々のシミュレータ装置として構成されていてもよい。
 ターゲットデータの値をターゲット値とも称する。モデルの出力値がターゲット値に近付くように、モデルのパラメータ値を推定する処理をデータ同化とも称する。データ同化におけるパラメータ値の推定をパラメータ値の調整とも称する。
 ターゲットデータは、対象900における実測データであってもよい。この場合、データ算出装置100がパラメータ値を推定することで、対象900を高精度に模擬できるようにモデルを調整することができる。
 また、推定結果のパラメータ値を参照することで、対象900の状態を推定することができる。例えば、対象900が工場であり、データ算出装置100による推定対象のパラメータに、工場の生産ラインごとの生産量である場合、データ算出装置100が推定するパラメータ値を、実測データから推定される、工場の生産ラインごとの生産量として用いることができる。
 あるいは、ターゲットデータは、対象900における目標値を示すデータであってもよい。この場合、データ算出装置100による推定結果のパラメータを参照することで、目標を達成するための方策を作成することができる。さらには、データ算出装置100によれば、作成した方策に基づいて工場内の各装置を制御するなど、対象900を制御することができる。
 例えば、対象900が工場であり、データ算出装置100による推定対象のパラメータに、工場の生産ラインごとの生産量である場合、データ算出装置100が推定するパラメータ値を、ターゲットデータに示される目標値を達成するための、工場の生産ラインごとの生産量として用いることができる。
 データ算出装置100によれば、工場の生産ラインごとに推定した生産量に基づいて生産ラインごとに機器を制御するなど、推定結果に基づく制御を行うことができる。
 データ算出装置100は、対象900を模擬するモデルとして階層的なモデルを用いる。例えば、データ算出装置100が、対象900の全体を模擬する上位モデルと、対象900の一部を模擬する1つ以上の下位モデルとを含むモデルを用いるようにしてもよい。
 ここでいう「階層」は、上下関係を定めることができることである。例えば上記のように、全体と部分との関係に基づいて、対象900の全体を模擬するモデルを上位とし、対象900の部分を模擬するモデルを下位とすることができる。この上下関係は固定的であってもよいし、可変であってもよい。例えば、会社を模擬するモデルで、経費の流れに関しては経理部のモデルが上位となるが、資材の流れに関しては購買部のモデルが上位になるというように、データ算出の目的に応じて上下関係が異なってもよい。
 さらに、データ算出装置100は、下位モデルが上位モデルのパラメータ値を出力する、階層的なモデルを用いる。これにより、データ算出装置100は、モデルの出力のターゲットデータに基づいてモデルのパラメータ値を推定する処理を、モデルの階層構造に従って繰り返す。
 例えば、データ算出装置100は、上位モデルの出力のターゲットデータに基づいて上位モデルのパラメータ値を推定する。そして、データ算出装置100は、推定した上位モデルのパラメータ値を下位モデルの出力のターゲットデータとして用いて、下位モデルのパラメータ値を推定する。
 このように、データ算出装置100がモデルの階層構造に応じてモデルのパラメータ値の推定を階層的に行うことで、対象900を1つのモデルのみで模擬する場合よりも、個々のモデルのパラメータの個数を少なくすることができる。例えば、上位モデルのパラメータが、複数の生産ラインを含む部門ごとの生産量をパラメータとして用いることで、個々の生産ラインの生産量をパラメータとして用いる場合よりも、上位モデルのパラメータの個数が少なくて済む。
 ここで、モデルのパラメータの個数が多い場合、パラメータ値の推定に時間がかかることが考えられる。特に、パラメータの個数の増加に応じて、パラメータ値の推定に要する時間が指数的に増加することが考えられる。このため、パラメータの個数が多い場合、現実的な時間内にパラメータの推定値を得られないことが考えられる。
 これに対して、データ算出装置100では、上記のように個々のモデルのパラメータの個数が比較的少ない階層的なモデルを用いることで、パラメータの個数が多い1つのモデルを用いる場合よりも計算時間が短くて済むと期待される。
 対象900は、データ算出装置100による模擬の対象である。階層的なシミュレーションモデルを用いて模擬可能ないろいろなものを対象900とすることができる。
 例えば、対象900は工場であってもよい。そして、データ算出装置100が、工場全体を模擬する上位のモデルと、工場の一部を模擬する1つ以上の下位のモデルとを含む階層的なモデルを用いるようにしてもよい。
 あるいは、対象900が、生産拠点、物流設備、および、販売拠点を含むサプライチェーンであってもよい。そして、データ算出装置100が、サプライチェーン全体を模擬する上位のモデルと、生産拠点、物流設備、販売拠点のそれぞれを模擬する下位のモデルとを含む階層的なモデルを用いるようにしてもよい。
 あるいは、対象900が、ある地域であってもよい。そして、データ算出装置100が、地域全体について感染の広がりの状況を模擬する上位のモデルと、その地域の一部または交通機関での感染の状況を模擬する下位のモデルとを含む階層的なモデルを用いるようにしてもよい。
 対象900は、実在していてもよいし、仮想的なものであってもよい。
 図2は、データ算出装置100が用いる対象900のモデルの例を示す図である。図2の例で、モデル200は、1つの上位モデル210と、S個の下位モデル220-1から220-Sまでとを含む。Sは、S≧1の整数であり、下位モデル220の個数を示す。下位モデル220-1から220-Sまでを総称して下位モデル220とも表記する。
 上位モデル210への入力をベクトルXで示し、上位モデル210のパラメータをベクトルZで示し、上位モデル210の出力をベクトルYで示す。ベクトルX、Y、Zは何れも実数ベクトルである。ベクトルX、Yの何れも次元数は1次元以上であればよい。ベクトルZの次元数はS次元以上であればよい。
 ベクトルXを入力ベクトルXとも称する。ベクトルYを出力ベクトルYとも称する。ベクトルZをパラメータベクトルZとも称する。
 入力ベクトルXの要素に、整数値または二値などの離散値をとる要素が含まれていてもよい。同様に、出力ベクトルYの要素に、整数値または二値などの離散値をとる要素が含まれていてもよい。パラメータベクトルZの要素に、整数値または二値などの離散値をとる要素が含まれていてもよい。
上位モデル210をfで示し、f(X,Z)=Yと表記する。あるいは、入力ベクトルXの表記を省略してf(Z)=Yとも表記する。
 下位モデル220-sへの入力をベクトルXで示し、下位モデル220-sのパラメータをベクトルθで示し、下位モデル220-sの出力をベクトルZで示す。sは、1≦s≦Sの整数である。
 ベクトルX、Z、θは何れも実数ベクトルである。X、ベクトルZ、θの何れも次元数は1次元以上であればよい。ベクトルXの次元数は、0次元以上であればよい。
 入力ベクトルXの要素に、整数値または二値などの離散値をとる要素が含まれていてもよい。同様に、出力ベクトルZの要素に、整数値または二値などの離散値をとる要素が含まれていてもよい。パラメータベクトルθの要素に、整数値または二値などの離散値をとる要素が含まれていてもよい。
 下位モデル220をgで示し、g(X,θ)=Zと表記する。あるいは、入力ベクトルXの表記を省略し、g(θ)=Zとも表記する。
 データ算出装置100は、入力ベクトルXの値と出力ベクトルYの値との組み合わせを示すターゲットデータを取得し、上位モデル210の出力値がターゲット値に近付くようにパラメータベクトルZの値を調整する。
 データ算出装置100による調整前のパラメータベクトルZの確率分布を事前分布πと表記し、事前分布πによるパラメータベクトルZの値をサンプルZ<PRI>と表記する。ベクトルの確率分布は、ベクトルの要素ごとの確率分布の組み合わせで示されてもよい。
 事前分布πは、ユーザが対象900の情報に基づいて設定するようにしてもよい。あるいは、事前分布πとして一様分布など所定の分布を用いるようにしてもよい。
 データ算出装置100による調整後のパラメータベクトルZの確率分布を事後分布p(Z|Y)と表記し、事後分布p(Z|Y)によるパラメータベクトルZの値をサンプルZ<POST>と表記する。ここでの事後分布p(Z|Y)は、出力ベクトルYのターゲット値が与えられたときの、パラメータベクトルZの値の事後分布を意味する。
 また、データ算出装置100は、上位モデル210への入力値(入力ベクトルXの値)に基づいて下位モデル220-sへの入力値(入力ベクトルXの値)を決定する。例えば、入力ベクトルXのベクトル空間が、入力ベクトルXのベクトル空間の部分空間になっていてもよい。すなわち、入力ベクトルXが入力ベクトルXの要素のうち一部の要素を用いて構成されていてもよい。この場合、データ算出装置100は、入力ベクトルXと入力ベクトルXとの関係に応じて、入力ベクトルXの要素の値を入力ベクトルXの要素の値に設定する。
 あるいは、入力ベクトルXの要素の値に、入力ベクトルXの値に基づく計算値が含まれていてもよい。
 また、データ算出装置100は、サンプルZ<POST>に基づいて下位モデル220-sの出力のターゲット値を決定する。例えば、出力ベクトルZのベクトル空間が、パラメータベクトルZのベクトル空間の部分空間になっていてもよい。すなわち、出力ベクトルZがパラメータベクトルZの要素のうち一部の要素を用いて構成されていてもよい。この場合、データ算出装置100は、パラメータベクトルZと出力ベクトルZとの関係に応じて、サンプルZ<POST>の要素の値を下位モデル220-sの出力のターゲットデータにおける出力ベクトルZの要素の値に設定する。
 パラメータベクトルZの要素のうち、出力ベクトルZに紐付けられない要素があってもよい。すなわち、上位モデル210のパラメータとして、上位モデル210での計算に用いられ、下位モデル220には値が出力されないパラメータがあってもよい。
 データ算出装置100がサンプルZ<POST>に基づいて決定する下位モデル220-sの出力のターゲット値をサンプルZ<POST> と表記する。
 このように、データ算出装置100が、上位モデル210のパラメータ値を下位モデル220の出力値のターゲットデータに設定することで、データ同化を階層的に行うことができる。具体的には、データ算出装置100が、上位モデル210でのパラメータ値の調整後のサンプルZ<POST>に基づいて下位モデル220の出力のターゲット値(サンプルZ<POST> )を決定することで、上位モデル210での調整結果を下位モデル220でのパラメータ値の調整に反映させることができる。
 パラメータベクトルZの次元数が、パラメータベクトルθからθまでの次元数の合計よりも小さいことで、対象900を1つのモデルのみで模擬する場合よりも、個々のモデルのパラメータの個数を少なくすることができる。この点で、データ算出装置100によれば比較的短時間でデータ同化を行うことができ、パラメータベクトルθからθまでの値を推定できると期待される。特に、データ算出装置100によれば、モデルのパラメータの個数が多いことで現実的な時間内にパラメータの推定値を得られないことを回避できると期待される。
 また、データ算出装置100は、下位モデル220のそれぞれについて、出力ベクトルZの値がサンプルZ<POST> に近付くようにパラメータベクトルθの値を調整するデータ同化を行う。
 データ算出装置100による調整前のパラメータベクトルθの確率分布を事前分布πθsと表記し、事前分布πθsによるパラメータベクトルθの値をサンプルθ<PRI> と表記する。
 事前分布πθsは、ユーザが対象900の情報に基づいて設定するようにしてもよい。あるいは、事前分布πθsとして一様分布など所定の分布を用いるようにしてもよい。
 データ算出装置100による調整後のパラメータベクトルZの確率分布を事後分布p(θ|Z)と表記し、事後分布p(θ|Z)によるパラメータベクトルZの値をサンプルθ<POST> と表記する。
 また、データ算出装置100は、サンプルθ<POST> を下位モデル220-sのパラメータに適用してシミュレーションを実行し、入力ベクトルXに対する出力ベクトルZを算出する。パラメータのサンプルをモデルのパラメータに適用するとは、サンプル値をパラメータ値として設定することである。サンプルをモデルのパラメータに適用することを、サンプルをモデルに適用するとも称する。サンプルθ<POST> を適用したシミュレーションで算出される出力ベクトルZの値をサンプルZ<PRED> と表記する。
 そして、データ算出装置100は、サンプルZ<PRED> からサンプルZ<PRED> までの値に基づいて、パラメータベクトルZの値のサンプルを生成する。このサンプルは、データ算出装置100が、上位モデル210を用いたデータ同化を繰り返し行う際に、下位モデル220でのデータ同化の結果を反映したサンプルとして用いられる。
 パラメータベクトルZの何れの要素も、サンプルZ<PRED> からサンプルZ<PRED> までの要素のうち高々1つの要素と紐付けられている場合、この関係に応じて、データ算出装置100が、サンプルZ<PRED> からサンプルZ<PRED> まで要素の値を、生成するサンプルの要素の値として用いるようにしてもよい。
 あるいは、パラメータベクトルZの要素のうち、サンプルZ<PRED> からサンプルZ<PRED> までの複数の要素と紐付けられる要素があってもよい。この場合、データ算出装置100が、サンプルZ<PRED> からサンプルZ<PRED> までの複数の要素の値の平均をとるなど所定の方法で、生成するサンプルの要素の値を算出するようにしてもよい。
 このように、データ算出装置100が、サンプルZ<PRED> からサンプルZ<PRED> までの値に基づいて、パラメータベクトルZのサンプルを生成することで、階層的なデータ同化を繰り返すことができる。
 具体的には、データ算出装置100は、生成したサンプルの値を上位モデル210のパラメータベクトルZに適用してシミュレーションを実行する。これにより、データ算出装置100は、生成したパラメータのサンプルに基づく出力ベクトルYのサンプルを取得する。そして、データ算出装置100は、得られた出力ベクトルYのサンプルとターゲット値との関係に基づいて、上位モデル210の出力値がターゲット値に近付くように、パラメータベクトルZの値を推定する。データ算出装置100は、推定したパラメータベクトルZの値をサンプルZ<POST>として用いて、上述したのと同様に、下位モデル220におけるデータ同化を行い、データ同化の結果に基づいてパラメータベクトルZのサンプルを生成する。データ算出装置100は、所定の終了条件が成立するまで、階層的なデータ同化を繰り返す。
 このように、データ算出装置100が階層的なデータ同化を繰り返すことで、パラメータ値を高精度に推定できると期待される。特に、パラメータベクトルZの確率分布、および、パラメータベクトルθからθまでのそれぞれの確率分布が、何れもターゲット値に応じたあるパラメータ値に収束していくことが期待される。ここでいう確率分布があるパラメータ値に収束するとは、その値における確率が大きくなることである。
 例えば、データ同化によって、出力ベクトルYの値がターゲット値に近い値となるパラメータZの値の確率が比較的大きくなることで、データ同化を再度行う際に、出力ベクトルYのサンプリング値としてターゲット値に近いものが多くなる。これにより、再度のデータ同化によって、出力ベクトルYの値がターゲット値に近い値となるパラメータZの値の確率がさらに大きくなると期待される。
 パラメータベクトルθからθまでについても、データ同化を繰り返すことで、ターゲット値に応じたパラメータ値の確率が大きくなっていくと期待される。
 以下では、データ算出装置100が、モデルの出力値をターゲット値に近付けるようにパラメータ値を推定する処理として、カーネルABCおよびカーネルハーディングを用いる場合を例に説明する。
 ただし、データ算出装置100が、モデルの出力値をターゲット値に近付けるようにパラメータ値を推定する方法は、特定の方法に限定されない。例えば、データ算出装置100が、モデルの出力値をターゲット値に近付けるようにパラメータ値を推定する処理として、マルコフチェーンモンテカルロ(Markov Chain Monte Carlo;MCMC)、または、ABC(Approximate Bayesian Computation)を用いるようにしてもよい。
 通信部110は、他の装置と通信を行う。例えば、データ算出装置100がターゲットデータとしてセンサによる実測データを取得する場合、通信部110が、対象900に設置されたセンサから、そのセンサによる実測データを受信するようにしてもよい。
 表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、各種画像を表示する。例えば、表示部120が、データ算出装置100によるパラメータ値の推定結果を表示するようにしてもよい。
 操作入力部130は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば、操作入力部130が、ターゲットデータとして対象900における目標値を入力するユーザ操作を受け付けるようにしてもよい。
 記憶部170は、各種データを記憶する。例えば、記憶部170は、対象900のモデルとして上記のように階層化されたモデルを記憶する。記憶部170は、データ算出装置100が備える記憶デバイスを用いて構成される。
 制御部180は、データ算出装置100の各部を制御して各種処理を行う。制御部180の機能は、データ算出装置100が備えるCPU(Central Processing Unit、中央処理装置)が記憶部170からプログラムを読み出して実行することで実行されてもよい。
 初期設定部181は、階層的なデータ同化のための初期設定を行う。
 具体的には、初期設定部181は、階層的なデータ同化を繰り返すためのループカウンタとして用いられる変数lに1を代入する。
 また、初期設定部181は、パラメータベクトルZの事前分布πに基づくサンプリングを行う。すなわち、事前分布πに基づいてサンプルZ<PRI>を算出する。初期設定部181は、サンプルZ<PRI>をM個算出する。Mは、M≧1の整数であり、サンプルの個数を示す。初期設定部181のサンプリングによって得られるM個のサンプルZ<PRI>(l)を、{Z<PRI>(1) m=1 と表記する。()内の値は、変数lの値である。すなわち、()内の値は、階層的なデータ同化の何回目の実行であるかを示す。「Z<PRI>(1) 」の下付の「m」はM個のサンプルZ<PRI>(1)を識別する識別番号を示す。
 ループ処理部182は、階層的なデータ同化を繰り返すループの処理を行う。具体的には、ループ処理部182は、階層的なデータ同化を繰り返し回数に応じて、変数lの値をカウントアップする。また、ループ処理部182は、ループの終了条件が成立しているか否かを判定する。
 ここでのループの終了条件として、いろいろな条件を用いることができる。例えば、ループの終了条件が、変数lの値が所定の閾値以上であることであってもよい。あるいは、ループの終了条件が、上位モデル210の出力値が所定の条件以上にターゲット値に近いと評価されることであってもよい。
 上位シミュレータ部183は、上位モデル210を用いたシミュレーションを実行する。
 特に、上位シミュレータ部183は、下位モデル220を用いたシミュレーションの結果として得られるサンプルZ<PRED> からZ<PRED> までに基づく更新後のパラメータベクトルZの値を上位モデル210に適用してシミュレーションを実行する。
 上位シミュレータ部183は、上位シミュレータ部183上位モデルシミュレーション実行手段の例に該当する。
 サンプルZ<PRED>(l) からZ<PRED>(l) までに基づく更新後のパラメータベクトルZの値をサンプルZ<PRI>(l+1)と表記する。上述したように、()内の値は、変数lの値である。
 上位シミュレータ部183は、階層的なデータ同化のl回目の実行にて得られるサンプルZ<PRED>(l) からZ<PRED>(l) に基づいて、階層的なデータ同化のl+1回目のためのサンプルZ<PRI>(l+1)を取得する。データ算出装置100について上述したように、上位シミュレータ部183が、サンプルZ<PRED>(l) の要素の値を、サンプルZ<PRI>(l+1)の要素の値として用いるようにしてもよい。あるいは、データ算出装置100について上述したように、上位シミュレータ部183が、サンプルZ<PRED> からサンプルZ<PRED> までの複数の要素の値の平均をとるなど、所定の方法でサンプルZ<PRED>(l+1) の要素の値を算出するようにしてもよい。
 上位シミュレータ部183は、サンプルZ<PRI>(l+1)を上位モデル210に適用してシミュレーションを実行し、サンプルY<PRI>(l+1)を算出する。
 上位シミュレータ部183は、サンプルZ<PRED>(l) からZ<PRED>(l) までの組み合わせをM個取得して、サンプルZ<PRI>(l+1)をM個算出し、サンプルY<PRI>(l+1)をM個算出する。上位シミュレータ部183が算出するM個のサンプルZ<PRI>(l)を、{Z<PRI>(l) m=1 と表記する。上位シミュレータ部183が算出するM個のサンプルY<PRI>(l)を、{Y<PRI>(l) m=1 と表記する。「Z<PRI>(l) 」の下付の「m」、および、「Y<PRI>(l) 」の下付の「m」は、いずれも、M個のサンプルを識別する識別番号を示す。
 上位事後分布データ算出部184は、上位モデル210の出力ベクトルYに対するターゲットデータに基づく、上位モデル210のパラメータベクトルZの値の事後分布を示すデータを算出する。上位事後分布データ算出部184は、上位事後分布データ算出手段の例に該当する。
 具体的には、上位事後分布データ算出部184は、出力ベクトルYの値がターゲット値に近付くようにパラメータベクトルZの値を推定するデータ同化を、カーネルABCおよびカーネルハーディングを用いて行う。上位事後分布データ算出部184は、このデータ同化で、M個のサンプル{Z<PRI>(l) m=1 に応じて、サンプルZ<POST>(l)をM個算出する。上述したように、()内の値は、変数lの値である。
 上位事後分布データ算出部184が算出するM個のサンプルZ<POST>(l)を、{Z<POST>(l) m=1 と表記する。「Z<POST>(l) 」の下付の「m」は、いずれも、M個のサンプル「Z<POST>(l)」を識別する識別番号を示す。M個のサンプル{Z<POST>(l) m=1 は、ターゲットデータに基づく、上位モデル210のパラメータベクトルZの値の事後分布p(Z|Y)を示すデータの例に該当する。
 上位事後分布データ算出部184は、カーネルABCの実行にて、ターゲット値と、{Y<PRI>(l) m=1 の各々とを再生核ヒルベルト空間(Reproducing Kernel Hilbert Space;RKHS)における点に射影する。そして、上位事後分布データ算出部184は、ターゲット値が射影された点と、サンプルY<PRI>(l) が射影された点との再生核ヒルベルト空間における距離に基づいて、カーネル平均を算出する。上位事後分布データ算出部184は、算出したカーネル平均にカーネルハーディングを適用して、{Z<POST>(l) m=1 を算出する。
 再生核ヒルベルト空間における距離は、サンプルY<PRI>(l) とターゲット値との類似度を示す指標の例に該当する。サンプルY<PRI>(l) とターゲット値との類似度が高いほど、再生核ヒルベルト空間における距離は小さくなる。
 下位シミュレータ部185は、下位モデル220を用いたシミュレーションを実行する。
 特に、下位シミュレータ部185は、データ算出装置100について上述したように、下位モデル220-sにおけるデータ同化で得られるサンプルθ<POST> を下位モデル220-sに適用してシミュレーションを実行し、サンプルZ<PRED> を算出する。下位モデル220-sにおけるデータ同化は、上述した、下位モデル220-sの出力ベクトルZの値がターゲット値(サンプルZ<POST> )に近付くように下位モデル220のパラメータベクトルθの値を推定するデータ同化である。
 下位シミュレータ部185は、下位事後分布データ算出部186がデータ同化で算出するM個のサンプルθ<POST> を取得して、M個のサンプルZ<PRED> を算出する。下位シミュレータ部185は、下位モデルシミュレーション実行手段の例に該当する。
 下位事後分布データ算出部186が算出するM個のθ<POST> を、{θ<POST>(l) m=1 と表記する。上述したように、()内の値は、変数lの値である。「θ<POST>(l) 」の下付の「m」は、M個のサンプルθ<POST>(l)を識別する識別番号を示す。
 下位シミュレータ部185が算出するM個のZ<PRED> を、{Z<PRED>(l) s,mm=1 と表記する。上述したように、()内の値は、変数lの値である。「Z<PRED>(l) s,m」の下付の「m」は、M個のサンプルZ<PRED>(l) を識別する識別番号を示す。
 下位事後分布データ算出部186は、上位モデル210のパラメータベクトルZの事後分布p(Z|Y)を示すデータに基づく、下位モデル220のパラメータ値の事後分布を示すデータを算出する。下位事後分布データ算出部186は、下位事後分布データ算出手段の例に該当する。
 具体的には、下位事後分布データ算出部186は、下位モデル220-sの出力値が、ターゲット値であるサンプルZ<POST>(l)に近付くようにパラメータθの値を推定するデータ同化を、カーネルABCおよびカーネルハーディングを用いて行う。
 下位事後分布データ算出部186は、データ同化にて、上述したようにM個のサンプル{θ<POST>(l) m=1 を算出する。
 制御部180が、通信部110を介して対象900に制御信号を送信するなど、対象900を制御するようにしてもよい。例えば、制御部180が、モデル200のパラメータの推定結果に基づいて、あるいはモデル200を用いたシミュレーションの実行結果に基づいて、対象900の各装置など対象900の各部を制御するようにしてもよい。さらに例えば、制御部180が、下位事後分布データ算出部186が算出する下位モデル220のパラメータ値の事後分布を示すデータ(サンプル{θ<POST>(l) m=1 )に基づいて、対象900を制御するようにしてもよい。
 制御部180は、制御手段の例に該当する。
 図3は、データ算出装置100が階層的なデータ同化を行う処理手順の例を示すフローチャートである。
(ステップS101)
 初期設定部181は、ループカウンタとして用いられる変数lの値を初期設定する。具体的には、初期設定部181は、変数lの値を1に設定する。変数lの値は、ステップS103からS110までのループの繰り返し回数を示す。
 ステップS101の後、処理がステップS102へ遷移する。
(ステップS102)
 初期設定部181は、パラメータベクトルZの事前分布πからのM個のサンプル{Z<PRI>(1) m=1 を算出する。
 ステップS102の後、処理がステップS103へ遷移する。
(ステップS103)
 ループ処理部182は、ループの終了条件が成立しているか否かを判定する。
 終了条件が成立していないとループ処理部182が判定した場合(ステップS103:NO)、処理がステップS104へ遷移する。
 一方、終了条件が成立しているとループ処理部182が判定した場合(ステップS103:YES)、データ算出装置100は、図3の処理を終了する。
(ステップS104)
 上位シミュレータ部183は、サンプルZ<PRI>(l) (m=1,・・・,M)を上位モデル210のパラメータに設定してシミュレーションを実行し、出力のサンプルY<PRI>(l) を算出する。Y<PRI>(l) は、式(1)のように示される。
Figure JPOXMLDOC01-appb-M000001
 ステップS104の後、処理がステップS105へ遷移する。
(ステップS105)
 上位事後分布データ算出部184は、カーネル平均μ^(l) Z|Yを算出する。カーネル平均μ^(l) Z|Yは、式(2)のように示される。
Figure JPOXMLDOC01-appb-M000002
 kは、カーネルを示す。
 括弧内の「・」は、再生核ヒルベルト空間における関数の変数が特定のものに限定されないことを示す。
 重みwは、式(3)のように示される。
Figure JPOXMLDOC01-appb-M000003
 「I」は単位行列を表す。
 δは正則化定数(Regularization Constant)を示す。δ>0である。
 Gはグラム行列(Gram Matrix)を示し、式(4)のように表される。
Figure JPOXMLDOC01-appb-M000004
 k(Y)はyのカーネルを示し、式(5)のように表される。
Figure JPOXMLDOC01-appb-M000005
 上付のTは、行列またはベクトルの転置を示す。
 ステップS105の後、処理がステップS106へ遷移する。
(ステップS106)
 上位事後分布データ算出部184は、カーネル平均μ^(l) Z|YによるパラメータZのサンプル{Z<POST>(l) m=1 を算出する。
 カーネル平均μ^(l) Z|Yは、出力ベクトルYとしてターゲットデータが与えられた場合の事後分布p(Z|Y)と一対一に紐付けられる。カーネルハーディング(Kernel Herding)の処理を行うことで、事後分布によるサンプルを得られる。
 例えば、上位事後分布データ算出部184は、式(6)に基づいてZ<POST>(l) を算出する。
Figure JPOXMLDOC01-appb-M000006
 「argmax(Z)」は、「h(Z)」が最大となる「Z」を出力する関数である。
 hは、式(7)のように再帰的に示される。
Figure JPOXMLDOC01-appb-M000007
 式(7)の「H」は、再生核ヒルベルト空間を示す。
 hは、式(8)のように示される。
Figure JPOXMLDOC01-appb-M000008
 ステップS106の後、処理がステップS107へ遷移する。
(ステップS107)
 上位事後分布データ算出部184は、M個のサンプルZ<POST>(l) (m=1,・・・,M)を、サンプルZ<POST>(l)に集約する。例えば、上位事後分布データ算出部184は、式(9)に示されるように、M個のサンプルZ<POST>(l) (m=1,・・・,M)を、サンプルZ<POST>(l)に集約する。
Figure JPOXMLDOC01-appb-M000009
 ステップS107の後、処理がステップS108へ遷移する。
(ステップS108)
 データ算出装置100は、下位モデル220ごとの処理を実行する。上述したように、データ算出装置100は、下位モデル220-sの処理でサンプルZ<PRED>(l) を算出する。
 ステップS108の後、処理がステップS109に遷移する。
(ステップS109)
 上位シミュレータ部183は、下位モデル220ごとの処理結果を上位モデル210の処理に受け渡す。具体的には、データ算出装置100について上述したように、上位シミュレータ部183は、下位モデル220ごとに得られたサンプルZ<PRED>(l) の値に基づいて、サンプルZ<PRI>(l+1)の値を設定する。例えば、上位シミュレータ部183は、式(10)に示されるように、サンプルZ<PRI>(l+1)の値を設定する。
Figure JPOXMLDOC01-appb-M000010
 ステップS109の後、処理がステップS110に遷移する。
(ステップS110)
 ループ処理部182は、ループカウンタとして用いられる変数lの値をカウントアップする。すなわち、ループ処理部182は、変数lの値を1増加させる。
 ステップS110の後、処理がステップS102へ遷移する。
 図4は、データ算出装置100が下位モデル220ごとに行う処理の手順の例を示すフローチャートである。データ算出装置100は、図3のステップS108で図4の処理を行う。
(ステップS201)
 上位事後分布データ算出部184は、上位モデル210のパラメータベクトルZの値を下位モデル220に受け渡す。具体的には、データ算出装置100について上述したように、上位事後分布データ算出部184は、サンプルZ<POST>(l)に基づいてサンプルZ’<POST>(l) を取得する。例えば、上位事後分布データ算出部184は、式(11)に基づいてZ’<POST>(l) を取得する。
Figure JPOXMLDOC01-appb-M000011
 Z<POST>(l)[s,:]は、行列Z<POST>(l)のs行目の行ベクトルを示す。
 式(11)では、Z<POST>(l) と区別するために、Zに’を付している。
 Z’<POST>(l) は、式(12)のように示される。
Figure JPOXMLDOC01-appb-M000012
 Z’<POST>(l) s、mは、式(13)のように示される。
Figure JPOXMLDOC01-appb-M000013
 Z<POST>(l)[s,m]は、行列Z<POST>(l)のs行目かつm列目の要素を示す。
 式(13)の例で、Z<POST>(l)は、Z’<POST>(l) s、mを要素とする行列として構成されている。上位事後分布データ算出部184は、式(11)に示されるように、Z<POST>(l)のs行目を読み出すことで、下位モデル220-sのターゲットデータとして用いるためのM個のサンプルZ’<POST>(l) s、1,・・・,Z’<POST>(l) s、Mを取得する。
 ステップS201の後、処理がステップ202へ遷移する。
(ステップS202)
 下位シミュレータ部185は、事前分布πθsからのM個のサンプル{θ<PRI>(l) s,mm=1 を算出する。
 ステップS202の後、処理がステップS203へ遷移する。
(ステップS203)
 下位シミュレータ部185は、サンプルθ<PRI>(l) s,mを下位モデル220-sに適用してシミュレーションを実行し、サンプルZ<PRI>(l) s,mを算出する。サンプルZ<PRI>(l) s,mは、式(14)のように示される。
Figure JPOXMLDOC01-appb-M000014
 ステップS203の後、処理がステップS204へ遷移する。
(ステップS204)
 下位事後分布データ算出部186は、カーネル平均μ^(l) θ|Z,sを算出する。カーネル平均μ^(l) θ|Z,sは、式(15)のように示される。
Figure JPOXMLDOC01-appb-M000015
 kθは、カーネルを示す。
 重みws,mは、式(16)のように示される。
Figure JPOXMLDOC01-appb-M000016
 Gz,sはグラム行列を示し、式(17)のように表される。
Figure JPOXMLDOC01-appb-M000017
 Kθ,s(Z)はZのカーネルを示し、式(18)のように表される。
Figure JPOXMLDOC01-appb-M000018
 ステップS204の後、処理がステップS205へ遷移する。
(ステップS205)
 下位事後分布データ算出部186は、カーネル平均μ^(l) θ|Z,sによるパラメータθのサンプル{θ<POST>(l) s,mm=1 を算出する。
 例えば、下位事後分布データ算出部186は、式(19)に基づいてθ<POST>(l) s,mを算出する。
Figure JPOXMLDOC01-appb-M000019
s,jは、式(20)のように再帰的に示される。
Figure JPOXMLDOC01-appb-M000020
  hs,0は、式(21)のように示される。
Figure JPOXMLDOC01-appb-M000021
 ステップS205の後、処理がステップS206へ遷移する。
(ステップS206)
 下位シミュレータ部185は、サンプルθ<POST>(l) s,mを下位モデル220-sのパラメータに設定してシミュレーションを実行し、サンプルZ<PRED>(l) s,mを算出する。Z<PRED>(l) s,mは、式(22)のように示される。
Figure JPOXMLDOC01-appb-M000022
 ステップS206の後、処理がステップS207へ遷移する。
(ステップS207)
 下位事後分布データ算出部186は、M個のサンプルZ<PRED>(l) s,m(m=1,・・・,M)を、サンプルZ<PRED>(l) に集約する。
 ステップS207の後、データ算出装置100は、図4の処理を終了する。
 データ算出装置100が行う処理について、例を用いてさらに説明する。
 図5は、対象900の例に該当する生産システム910の構成を示す図である。図5に示す構成で、生産システム910は、第一サブシステム911-1と、第二サブシステム911-2とを備える。第一サブシステム911-1と第二サブシステム911-2とを総称して、サブシステム911と表記する。
 第一サブシステム911-1は、第一生産ライン912-1、第二生産ライン912-2、第三生産ライン912-3、第四生産ライン912-4、および、第五生産ライン912-5を備える。第二サブシステム911-2は、第六生産ライン912-6、第七生産ライン912-7、第八生産ライン912-8、および、第九生産ライン912-9を備える。第一生産ライン912-1から第九生産ライン912-9までを総称して、生産ライン912と表記する。
 図6は、生産システム910を模擬するモデルの例を示す図である。図6の例では、サブシステム911ごとに下位モデル220が設けられており、下位モデル220の個数は2つとなっている。
 上位モデル210では、2つの下位モデルに応じて、2つのパラメータzおよびzが設けられている。Z=(z,z)と表される。
 下位モデル220-1では、第一サブシステム911-1が備える第一生産ライン912-1から第五生産ライン912-5までの5つの生産ライン912に応じて、5つのパラメータθ1,1からθ1,5までが設けられている。θ=(θ1,1,・・・,θ1,5)と表される。
 下位モデル220-2では、第二サブシステム911-2が備える第六生産ライン912-6から第九生産ライン912-9までの4つの生産ライン912に応じて、4つのパラメータθ2,1からθ2,4までが設けられている。θ=(θ2,1,・・・,θ2,4)と表される。
 モデルの出力およびパラメータとして、製品または部品など各部での生産単位1つあたりの生産にかかる時間を用いる。
 パラメータz、zは、それぞれ第一サブシステム911-1、第二サブシステム911-2で、生産単位1つあたりの生産にかかる時間を示す。
 パラメータθ1,1からθ1,5までは、第一生産ライン912-1から第五生産ライン912-5までで、生産単位1つあたりの生産にかかる時間を示す。パラメータθ2,1からθ2,4までは、第六生産ライン912-6から第九生産ライン912-9までで、生産単位1つあたりの生産にかかる時間を示す。
 ターゲットデータに目標時間を設定する場合、このターゲット時間、および、上位モデル210から下位モデル220への出力(サンプル{Z<POST>(l)m}m=1 )は、タクトタイム(Takt Time)のような、時間についての要求を示すと考えられる。一方、下位モデル220から上位モデル210への出力(サンプル{Z<PRED>(l) s,mm=1 )は、処理に必要な時間を示すと考えられる。
 この場合、上位モデル210と下位モデル220とがデータをやり取りすることで、要求される時間と必要な時間との両方に対応できる解を探索すると見ることができる。
 図7は、事前分布に基づく上位モデル210のパラメータ値のサンプルの例を示す図である。図7の横軸は、パラメータzの値を示す。縦軸は、パラメータzの値を示す。
 領域A11に、パラメータzの事前分布が示されている。領域A12に、パラメータzの事前分布が示されている。領域A13の点の各々は、(z,z)のサンプルの例を示している。領域A13に示されるサンプルは、{Z<PRI>(1) m=1 100と表される。
 図7は、図3のステップS102で初期設定部181が算出する、事前分布に基づくパラメータZのサンプルの例を示している。
 図8は、上位モデル210の出力値のサンプルの第1例を示す図である。図8の横軸は、上位モデル210の出力値を示す。縦軸は度数を示す。
 図8は、図7に示されるパラメータベクトルZの値ごとに上位モデル210を用いたシミュレーションを実行して得られる、上位モデル210の出力値を度数分布にて示している。図3のステップS104で、上位シミュレータ部183が、このシミュレーションを行う。
 上位事後分布データ算出部184は、図5のステップS105およびS106の処理で、図8に示されるモデル出力が、実際値である「5」に近付くような、パラメータZの値を推定する。
 図9は、事後分布に基づく上位モデル210のパラメータ値のサンプルの例を示す図である。図9の横軸は、パラメータzの値を示す。縦軸は、パラメータzの値を示す。
 領域A21に、パラメータzの事後分布が示されている。領域A22に、パラメータzの事後分布が示されている。領域A23の点の各々は、(z,z)のサンプルの例を示している。領域A23に示されるサンプルは、{Z<POST>(1) m=1 100と表される。
 図9は、図8に示されるモデル出力および実際値を用いて、上位事後分布データ算出部184が推定するパラメータ値の例を示している。図7に示されるパラメータZの事前分布のサンプルの場合、領域A13全体にプロットされている。これに対し、図9に示されるパラメータZの事後分布のサンプルの場合、zの値が10から15程度、かつ、zの値が10から15程度の領域に多くプロットされている。
 上位事後分布データ算出部184によるデータ同化によって、パラメータZの値が収束していると考えられる。
 図10は、事前分布に基づく下位モデル220のパラメータ値のサンプルの例を示す図である。
図10は、下位モデル220-1のパラメータθ1,1からθ1,5まで、および下位モデル220-2のパラメータθ2,1からθ2,4までのそれぞれについて、事前分布に基づくサンプルを、横軸にパラメータ値をとり縦軸に度数をとった度数分布にて示している。
 下位事後分布データ算出部186は、図4のステップS202で、図10に例示される事前分布に基づいて下位モデル220のパラメータ値をサンプリングする。
 図11は、下位モデル220の出力値のサンプルの例を示す図である。図11の横軸は、下位モデル220の出力値を示す。縦軸は確率を示す。
 図11は、図10に示されるパラメータ値を下位モデル220に適用してシミュレーションを実行して得られる下位モデル220の出力値を確率分布にて示している。図4のステップS203で、下位シミュレータ部185が、このシミュレーションを行う。
 図12は、事後分布に基づく下位モデル220のパラメータ値のサンプルの例を示す図である。
 図12は、下位モデル220-1のパラメータθ1,1からθ1,5まで、および下位モデル220-2のパラメータθ2,1からθ2,4までのそれぞれについて、事後分布に基づくサンプルを、横軸にパラメータ値をとり縦軸に度数をとった度数分布にて示している。
 図4のステップS204およびS205で、下位事後分布データ算出部186がデータ同化を行って、事後分布に基づく下位モデル220のパラメータ値のサンプルを算出する。
 図10と図12とを比較すると、図10よりも図12のほうが、パラメータ値が偏在している。下位事後分布データ算出部186によるデータ同化によって、パラメータθおよびθの値が収束していると考えられる。
 図13は、下位モデル220の出力値のサンプルの例を示す図である。図13の横軸は、パラメータzの値を示す。縦軸は、パラメータzの値を示す。
 図13は、図12に示されるパラメータ値を下位モデル220に適用してシミュレーションを実行した場合の、下位モデル220の出力値を示している。図4のステップS206で、下位シミュレータ部185が、このシミュレーションを行う。
 領域A33の点の各々は、(z,z)のサンプルの例を示している。領域A33に示されるサンプルは、{Z<PRED>(1) s,mm=1 100と表される。
 領域A31に、領域A33に示されるサンプルに基づくパラメータzの分布が示されている。領域A32に、領域A33に示されるサンプルに基づくパラメータzの分布が示されている。
 図13では、図9の場合よりもさらにパラメータ値が偏在しており、zの値が6から10程度、かつ、zの値が7から15程度の領域に多くプロットされている。
 下位事後分布データ算出部186によるデータ同化の結果が反映されることで、パラメータZの値がさらに収束していると考えられる。
 図14は、上位モデル210の出力値のサンプルの第2例を示す図である。図14の横軸は、上位モデル210の出力値を示す。縦軸は度数を示す。
 図14は、図13に示されるパラメータ値を上位モデル210に適用してシミュレーションを実行した場合の、上位モデル210の出力の例を度数分布で示している。図3のステップS103からS110のループの2回目の実行におけるステップS104で、上位シミュレータ部183が、このシミュレーションを行う。
 図7の場合よりも図13の場合のほうがパラメータZの値が収束していることに応じて、図8の場合よりも図14の場合のほうが、上位モデル210の出力が収束している。
 図15は、上位モデル210のパラメータ値のサンプルの第3例を示す図である。図15の横軸は、パラメータzの値を示す。縦軸は、パラメータzの値を示す
 図15は、図14に示される上位モデル210の出力値に基づいて、上位モデル210の出力値が実際に近付くようにパラメータ値を推定するデータ同化を行った場合の、上位モデル210のパラメータの値を示している。図3のステップS103からS110のループの2回目の実行における、ステップS104からS105で、上位事後分布データ算出部184が、このデータ同化を行う。
 領域A43の点の各々は、(z,z)のサンプルの例を示している。領域A33に示されるサンプルは、{Z<PRED>(1) s,mm=1 100と表される。
 領域A41に、領域A43に示されるサンプルに基づくパラメータzの分布が示されている。領域A42に、領域A33に示されるサンプルに基づくパラメータzの分布が示されている。
 図15では、図13の場合よりもさらにパラメータ値が偏在しており、zの値が9程度、かつ、zの値が12程度の領域に点が集中している。
 データ算出装置100が適切なパラメータZの値の推定に成功したと考えられる。
 図16は、データ算出装置100による下位モデル220のパラメータ値の推定結果の例を示す図である。
 図16は、図15に示される上位モデル210のパラメータ値を下位モデル220の出力のターゲット値として、下位モデル220の出力値がターゲット値に近付くように下位モデル220のパラメータ値を推定するデータ同化を行った場合の、下位モデル220のパラメータ値の例を、横軸にパラメータ値をとり縦軸に度数をとった度数分布にて示している。
 図4の処理の2回目の実行におけるステップS204およびS205で、下位事後分布データ算出部186が、このデータ同化を行う。
 図16では、図12の場合よりも、パラメータ値がさらに偏在している。データ算出装置100が、適切なパラメータθおよびθの値の推定に成功したと考えられる。
 モデル200が、3層以上のモデルとして構成されていてもよい。この場合、最上位層のモデルを上位モデルと称し、最下位層のモデルを下位モデルと称し、それ以外の層のモデルを中間モデルと称する。
 モデルの層数が3層以上の場合も、上位モデルに関する処理は、図3を参照して説明したのと同様である。上位モデルと直接データの入出力を行うモデルが中間モデルである場合は、図3の説明で「下位モデル」を中間モデルと読み替える。
 モデルの層数が3層以上の場合も、下位モデルに関する処理は、図4を参照して説明したのと同様である。下位モデルと直接データの入出力を行うモデルが中間モデルである場合は、図4の説明で「上位モデル」を中間モデルと読み替える。
 中間層については、図4の処理に加えて、ステップS205とS206との間に図3のステップS107からS109の処理を行う。
 ここで、中間層における入出力データを図17のように表記する。
 図17は、モデルの層数が3層以上である場合の中間層におけるデータの入出力の例を示す図である。図17の例で、中間モデル232は、上位層モデル231および下位層モデル233とデータの入出力を行う。上位層モデル231は、中間モデル232のすぐ上の層のモデルである。上位層モデル231は、上位モデルであってもよいし、中間モデルであってもよい。
 下位層モデル233は、中間モデル232のすぐ下の層のモデルである。下位層モデル233は、下位モデルであってもよいし、中間モデルであってもよい。
 1つの上位層モデル231とデータの入出力を行う中間モデルの個数は、1つ以上であればよい。1つの中間モデル232とデータの入出力を行う下位層モデルの個数は、1つ以上であればよい。
 モデルの層数は一律でなくてもよい。例えば、上位モデルのすぐ下の層のモデルとして、中間モデルと下位モデルとの両方があってもよい。中間モデルのすぐ下の層のモデルとして、中間モデルと下位モデルとの両方があってもよい。
 入力ベクトルについては、データ算出装置100が、中間モデル232への入力となる入力ベクトルX(u)、および、下位層モデル233への入力となる入力ベクトルX(d)を設定する。これは、上述した、データ算出装置100が、下位モデル220-sの入力ベクトルXを設定する処理を階層的に行うことに相当する。
 モデルパラメータについてのサンプルについては、上位層モデル231から中間モデル232へ出力するサンプルを、Z’<POST> (u)と表記する。中間モデル232から下位層モデル233へ出力するサンプルを、Z’<POST> (d)と表記する。
 Z’<POST> (u)およびZ’<POST> (d)は、図4の処理におけるZ’<POST>(l) s、1,・・・,Z’<POST>(l) s、Mに相当する。Z’<POST> (u)は、中間モデル232におけるデータ同化でターゲットデータとして用いられる。Z’<POST> (u)は、下位層モデル233におけるデータ同化でターゲットデータとして用いられる。
 下位層モデル233から中間モデル232へ出力するサンプルを、Z<PRED> (d)と表記する。中間モデル232から上位層モデル231へ出力するサンプルを、Z<PRED> (u)と表記する。
 Z<PRED> (d)およびZ<PRED> (u)は、図3の処理および図4の処理におけるZ<PRED>(l) に相当する。Z<PRED> (d)は、中間モデル232における、事後分布に基づくサンプルZ<POST> (d)を更新するために用いられる。ここでいう事後分布に基づくサンプルは、データ同化によって得られるサンプルであり、モデルの出力値のターゲットデータが与えられたときの、事後分布に基づくパラメータのサンプルに該当する。
 上位層モデル231が中間モデルである場合、Z<PRED> (u)は、上位層モデル231における、事後分布に基づくサンプルZ<POST> (d)を更新するために用いられる。一方、上位層モデル231が上位モデルである場合、Z<PRED> (u)は、上位層モデル231の、次回のループ実行における、事前分布に基づくサンプルを生成するために用いられる。
 データ算出装置100は、図4のステップS201からS205に相当する処理によって、中間モデル232の出力Zの値がターゲットデータZ<POST> (u)の値に近付くように、パラメータZ(d)の値を推定するデータ同化を行う。これにより、データ算出装置100は、サンプルZ<POST> (d)を算出する。
 そして、データ算出装置100は、図3のステップS107からS109に相当する処理によって、下位層モデル233でのデータ同化の結果が反映されたサンプルZ<PRED> (d)を算出する。
 図3のステップS109では、データ算出装置100は、Z(PRED)(l) を用いてZ<PRI>(l+1)を算出する。これに対し、中間モデル232に対する処理では、データ算出装置100は、Z<PRED> (d)を用いて事後分布に基づくサンプルZ<POST> (d)を更新する。
 そして、データ算出装置100は、図4のステップS206からS207に相当する処理によって、更新されたサンプルZ<POST> (d)を中間モデル232に適用してシミュレーションを実行し、Z<PRED> (u)を算出する。
 このように、中間モデル232に関する処理では、中間モデル232におけるデータ同化の後、下位層モデル233におけるデータ同化の結果をサンプルZ<POST> (d)に反映させてから、Z<PRED> (u)を算出する点で、図4の処理と異なる。それ以外の点では、中間モデルに関する処理は、図4の処理と同様である。
 以上のように、上位事後分布データ算出部184は、上位モデル210の出力に対するターゲットデータに基づく、上位モデル210のパラメータ値の事後分布を示すデータ{Z<POST>(l) m=1 を算出する。下位事後分布データ算出部186は、下位モデル220について、上位モデル210のパラメータ値の事後分布を示すデータ{Z<POST>(l) m=1 に基づく、下位モデル220のパラメータ値の事後分布を示すデータ{θ<POST>(l) m=1 を算出する。
 下位事後分布データ算出部186が、上位モデル210のパラメータ値を用いて下位モデル220のパラメータ値の事後分布を示すデータを算出することで、データ同化を階層的に行うことができる。具体的には、下位事後分布データ算出部186が、上位モデル210でのパラメータ値の調整後のサンプルZ<POST>に基づいて決定される、下位モデル220の出力のターゲット値(サンプルZ<POST> )を用いることで、上位モデル210でのパラメータ値の調整結果を下位モデル220でのパラメータ値の調整に反映させることができる。
 パラメータベクトルZの次元数が、パラメータベクトルθからθまでの次元数の合計よりも小さいことで、対象900を1つのモデルのみで模擬する場合よりも、個々のモデルのパラメータの個数を少なくすることができる。この点で、データ算出装置100によれば比較的短時間でデータ同化を行うことができ、パラメータベクトルθからθまでの値を推定できると期待される。特に、データ算出装置100によれば、モデルのパラメータの個数が多いことで現実的な時間内にパラメータの推定値を得られないことを回避できると期待される。
 また、下位モデル220同士間では直接的なデータのやり取りは無く、下位モデル220の各々は並列処理可能である。データ算出装置100によれば、この点でも比較的短時間でデータ同化を行えると期待される。
 また、下位シミュレータ部185は、下位モデル220のパラメータ値の事後分布を示すデータ{θ<POST>(l) m=1 に基づくパラメータ値θ<POST>を下位モデル220に適用してシミュレーションを実行する。上位シミュレータ部183は、下位モデル220を用いたシミュレーションの結果{Z<PRED>(l) s,mm=1 に基づく上位モデル210のパラメータ値のサンプルデータ{Z<PRI>(l+1) m=1 を上位モデル210に適用してシミュレーションを実行する。上位事後分布データ算出部184は、上位モデル210を用いたシミュレーションの結果として得られる上位モデル210の出力のサンプルデータ{Y<PRI>(l+1) m=1 とターゲットデータとの類似度に基づいて、上位モデル210の出力に対するターゲットデータに基づく、上位モデル210のパラメータ値の事後分布を示すデータ{Z<POST>(l+1) m=1 を算出する。
 このように、データ算出装置100では、下位モデル220におけるデータ同化の結果を上位モデル210のパラメータ値に反映させることができ、これにより、階層的なデータ同化を繰り返すことができる。データ算出装置100が階層的なデータ同化を繰り返すことで、パラメータ値を高精度に推定できると期待される。特に、パラメータベクトルZの確率分布、および、パラメータベクトルθからθまでのそれぞれの確率分布が、何れもターゲット値に応じたあるパラメータ値に収束していくことが期待される。上述したように、確率分布があるパラメータ値に収束するとは、その値における確率が大きくなることである。
 例えば、データ同化によって、出力ベクトルYの値がターゲット値に近い値となるパラメータZの値の確率が比較的大きくなることで、データ同化を再度行う際に、出力ベクトルYのサンプリング値としてターゲット値に近いものが多くなる。これにより、再度のデータ同化によって、出力ベクトルYの値がターゲット値に近い値となるパラメータZの値の確率がさらに大きくなると期待される。
 パラメータベクトルθからθまでについても、データ同化を繰り返すことで、ターゲット値に応じたパラメータ値の確率が大きくなっていくと期待される。
 また、上位シミュレータ部183によるシミュレーションの実行で、上位モデル210の出力{Y<PRI>(l+1) m=1 が、下位モデル220でのデータ同化の結果に応じて特定の値の近傍に集中することが考えられる。上位事後分布データ算出部184が、この出力{Y<PRI>(l+1) m=1 を用いてデータ同化を行うことで、上位モデル210の出力の特定の値の近傍について集中的にデータ同化の解となるパラメータ値を探索する。データ算出装置100によれば、この点で、単一階層のモデルを用いてパラメータ空間を均一的に探索する場合よりも効率的に、パラメータ値を推定できると期待される。
 また、上位事後分布データ算出部184は、上位モデル210のパラメータ値のサンプルデータのカーネル平均に基づいてカーネルハーディングを実行し、上位モデル210のパラメータ値の事後分布を示すデータ{Z<POST>(l) m=1 を算出する。
 このように、上位事後分布データ算出部184がカーネル平均に基づいて、上位モデル210のパラメータ値の事後分布を示すデータを算出することで、与えられるM個の事前分布のサンプルに対して、同数であるM個の事後分布のサンプルを算出することができる。データ算出装置100によれば、この点で、パラメータ値の推定を効率的に行うことができる。
 また、下位事後分布データ算出部186は、下位モデル220のパラメータ値のサンプルデータのカーネル平均に基づいてカーネルハーディングを実行し、下位モデルのパラメータ値の事後分布を示すデータ{θ<POST>(l) m=1 を算出する。
 このように、下位事後分布データ算出部186がカーネル平均に基づいて、下位モデル220のパラメータ値の事後分布を示すデータを算出することで、与えられるM個の事前分布のサンプルに対して、同数であるM個の事後分布のサンプルを算出することができる。データ算出装置100によれば、この点で、パラメータ値の推定を効率的に行うことができる。
 また、制御部180は、下位事後分布データ算出部186が算出する下位モデル220のパラメータ値の事後分布を示すデータに基づいて、対象900を制御する。
 上記のように、データ算出装置100が階層的なモデルを用いることで、個々のモデルのパラメータの個数が比較的少ない。これにより、対象900が比較的複雑な場合でも、下位事後分布データ算出部186は、下位モデル220のパラメータ値を推定することができる。制御部180は、下位事後分布データ算出部によるパラメータ値の推定結果を参照することで、対象900の状態を把握して対象900を比較的高精度に制御することができる。
 図18は、実施形態に係るデータ算出装置の構成例を示す図である。図18に示す構成で、データ算出装置610は、上位事後分布データ算出部611と、下位事後分布データ算出部612とを備える。
 かかる構成で、上位事後分布データ算出部611は、対象を模擬する上位モデルの出力に対するターゲットデータに基づく、上位モデルのパラメータ値の事後分布を示すデータを算出する。下位事後分布データ算出部612は、対象の部分を模擬して上位モデルのパラメータ値を出力する下位モデルについて、上位モデルのパラメータ値の事後分布を示すデータに基づく、下位モデルのパラメータ値の事後分布を示すデータを算出する。
 上位事後分布データ算出部611は、上位事後分布データ算出手段の例に該当する。下位事後分布データ算出部612は、下位事後分布データ算出手段の例に該当する。
 下位事後分布データ算出部612が、上位モデルのパラメータ値を用いて下位モデルのパラメータ値の事後分布を示すデータを算出することで、データ同化を階層的に行うことができる。具体的には、下位事後分布データ算出部612が、上位モデルでのデータ同化後のパラメータ値のサンプルに基づいて決定される、下位モデルの出力のターゲット値を用いることで、上位モデルでのデータ同化の結果を下位モデルでのデータ同化に反映させることができる。
 上位モデルのパラメータの個数が、下位モデルのパラメータの個数の合計よりも少ないことで、対象を1つのモデルのみで模擬する場合よりも、個々のモデルのパラメータの個数を少なくすることができる。この点で、データ算出装置610によれば比較的短時間でデータ同化を行うことができ、パラメータの値を推定できると期待される。特に、データ算出装置610によれば、モデルのパラメータの個数が多いことで現実的な時間内にパラメータの推定値を得られないことを回避できると期待される。
 また、下位モデル同士間では直接的なデータのやり取りは無く、下位モデルの各々は並列処理可能である。データ算出装置610によれば、この点でも比較的短時間でデータ同化を行えると期待される。
 上位事後分布データ算出部611は、例えば、図1に示される上位事後分布データ算出部184等の機能を用いて実現することができる。下位事後分布データ算出部612は、例えば、図1に示される下位事後分布データ算出部186等の機能を用いて実現することができる。
 図19は、実施形態に係るデータ算出装置の構成のもう1つの例を示す図である。図19に示す構成で、データ算出装置620は、下位モデルシミュレーション実行部621と、上位モデルシミュレーション実行部622とを備える。
 かかる構成で、下位モデルシミュレーション実行部621は、対象を模擬する上位モデルのパラメータ値を出力する下位モデルに、下位モデルのパラメータ値の分布を示すデータを適用してシミュレーションを実行し、上位モデルのパラメータ値の分布を示すデータを算出する。上位モデルシミュレーション実行部622は、上位モデルに、算出したパラメータ値の分布を示すデータを適用して対象のシミュレーションを実行する。
 下位モデルシミュレーション実行部621は、下位モデルシミュレーション実行手段の例に該当する。上位モデルシミュレーション実行部622は、上位モデルシミュレーション実行手段の例に該当する。
 データ算出装置620によれば、下位モデルを用いたパラメータ値の推定結果を上位モデルに反映させることができ、この点で、対象のシミュレーションを高精度に実行することができる。
 下位モデルシミュレーション実行部621は、例えば、図1に示される下位シミュレータ部185等の機能を用いて実現することができる。上位モデルシミュレーション実行部622は、例えば、図1に示される上位シミュレータ部183等の機能を用いて実現することができる。
 図20は、実施形態に係るデータ算出方法における処理手順の例を示す図である。図20に示すデータ算出方法は、上位モデルについて事後分布を示すデータを算出する工程(ステップS611)と、下位モデルについて事後分布を示すデータを算出する工程(ステップS612)とを含む。
 上位モデルについて事後分布を示すデータを算出する工程(ステップS611では、対象を模擬する上位モデルの出力に対するターゲットデータに基づく、上位モデルのパラメータ値の事後分布を示すデータを算出する。
 下位モデルについて事後分布を示すデータを算出する工程(ステップS612)では、対象の部分を模擬して上位モデルのパラメータ値を出力する下位モデルについて、上位モデルのパラメータ値の事後分布を示すデータに基づく、下位モデルのパラメータ値の事後分布を示すデータを算出する。
 図20に示すデータ算出方法によれば、上位モデルのパラメータ値を用いて下位モデルのパラメータ値の事後分布を示すデータを算出することで、データ同化を階層的に行うことができる。具体的には、上位モデルでのデータ同化後のパラメータ値のサンプルに基づいて決定される、下位モデルの出力のターゲット値を用いることで、上位モデルでのデータ同化の結果を下位モデルでのデータ同化に反映させることができる。
 上位モデルのパラメータの個数が、下位モデルのパラメータの個数の合計よりも少ないことで、対象を1つのモデルのみで模擬する場合よりも、個々のモデルのパラメータの個数を少なくすることができる。図20に示すデータ算出方法によれば、この点で、比較的短時間でデータ同化を行うことができ、パラメータの値を推定できると期待される。特に、図20に示すデータ算出方法によれば、モデルのパラメータの個数が多いことで現実的な時間内にパラメータの推定値を得られないことを回避できると期待される。
 また、下位モデル同士間では直接的なデータのやり取りは無く、下位モデルの各々は並列処理可能である。図20に示すデータ算出方法によれば、この点でも比較的短時間でデータ同化を行えると期待される。
 図21は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 図21に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
 上記のデータ算出装置100およびデータ算出装置610のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
 データ算出装置100がコンピュータ700に実装される場合、制御部180およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、記憶部170に対応する記憶領域を主記憶装置720に確保する。
 通信部110による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 表示部120による表示は、インタフェース740が表示装置を有し、CPU710の制御に従って各種画像を表示することで実行される。
 操作入力部130によるユーザ操作の受け付けは、インタフェース740が例えばキーボードおよびマウスなどの入力デバイスを有してユーザ操作を受け付け、受け付けたユーザ操作を示す情報をCPU710へ出力することで実行される。
 データ算出装置610がコンピュータ700に実装される場合、上位事後分布データ算出部611、および、下位事後分布データ算出部612の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、データ算出装置610が行う処理のための記憶領域を主記憶装置720に確保する。
 データ算出装置610と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
 データ算出装置610とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
 上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
 なお、データ算出装置100、および、データ算出装置610が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 本発明の実施形態は、データ算出装置、データ算出方法および記録媒体に適用してもよい。
 100、610 データ算出装置
 110 通信部
 120 表示部
 130 操作入力部
 170 記憶部
 180 制御部
 181 初期設定部
 182 ループ処理部
 183 上位シミュレータ部
 184、611 上位事後分布データ算出部
 185 下位シミュレータ部
 186、612 下位事後分布データ算出部

Claims (8)

  1.  対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出する上位事後分布データ算出手段と、
     前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出する下位事後分布データ算出手段と、
     を備えるデータ算出装置。
  2.  前記下位モデルのパラメータ値の事後分布を示すデータに基づくパラメータ値を前記下位モデルに適用してシミュレーションを実行する下位モデルシミュレーション実行手段と、
     前記下位モデルを用いたシミュレーションの結果に基づく前記上位モデルのパラメータ値のサンプルデータを前記上位モデルに適用してシミュレーションを実行する上位モデルシミュレーション実行手段と、
     をさらに備え、
     前記上位事後分布データ算出手段は、前記上位モデルシミュレーション実行手段による前記シミュレーションの結果として得られる前記上位モデルの出力のサンプルデータと前記ターゲットデータとの類似度に基づいて、前記上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出する、
     請求項1に記載のデータ算出装置。
  3.  前記上位事後分布データ算出手段は、前記上位モデルのパラメータ値のサンプルデータのカーネル平均に基づいてカーネルハーディングを実行し、前記上位モデルのパラメータ値の事後分布を示すデータを算出する、
     請求項1または請求項2に記載のデータ算出装置。
  4.  前記下位事後分布データ算出手段は、前記下位モデルのパラメータ値のサンプルデータのカーネル平均に基づいてカーネルハーディングを実行し、前記下位モデルのパラメータ値の事後分布を示すデータを算出する、
     請求項1から3の何れか一項に記載のデータ算出装置。
  5.  前記下位事後分布データ算出手段が算出する前記下位モデルのパラメータ値の事後分布を示すデータに基づいて、前記対象を制御する制御手段
     をさらに備える、請求項1から4の何れか一項に記載のデータ算出装置。
  6.  対象を模擬する上位モデルのパラメータ値を出力する下位モデルに、前記下位モデルのパラメータ値の分布を示すデータを適用してシミュレーションを実行し、前記上位モデルの前記パラメータ値の分布を示すデータを算出する下位モデルシミュレーション実行手段と、
     前記上位モデルに、算出した前記パラメータ値の分布を示すデータを適用して前記対象のシミュレーションを実行する上位モデルシミュレーション実行手段と、
     を備えるデータ算出装置。
  7.  コンピュータが、
     対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出し、
     前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出する、
     データ算出方法。
  8.  コンピュータに、
     対象を模擬する上位モデルの出力に対するターゲットデータに基づく、前記上位モデルのパラメータ値の事後分布を示すデータを算出することと、
     前記対象の部分を模擬して前記上位モデルのパラメータ値を出力する下位モデルについて、前記上位モデルのパラメータ値の事後分布を示すデータに基づく、前記下位モデルのパラメータ値の事後分布を示すデータを算出することと、
     実行させるためのプログラムを記録する記録媒体。
PCT/JP2020/035546 2020-09-18 2020-09-18 データ算出装置、データ算出方法および記録媒体 WO2022059189A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2020/035546 WO2022059189A1 (ja) 2020-09-18 2020-09-18 データ算出装置、データ算出方法および記録媒体
JP2022550307A JPWO2022059189A5 (ja) 2020-09-18 データ算出装置、データ算出方法およびプログラム
US18/025,609 US20240028789A1 (en) 2020-09-18 2020-09-18 Data calculation device, data calculation method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/035546 WO2022059189A1 (ja) 2020-09-18 2020-09-18 データ算出装置、データ算出方法および記録媒体

Publications (1)

Publication Number Publication Date
WO2022059189A1 true WO2022059189A1 (ja) 2022-03-24

Family

ID=80776078

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/035546 WO2022059189A1 (ja) 2020-09-18 2020-09-18 データ算出装置、データ算出方法および記録媒体

Country Status (2)

Country Link
US (1) US20240028789A1 (ja)
WO (1) WO2022059189A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016031174A1 (ja) * 2014-08-27 2016-03-03 日本電気株式会社 シミュレーション装置、シミュレーション方法、および、記憶媒体
WO2020105468A1 (ja) * 2018-11-22 2020-05-28 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016031174A1 (ja) * 2014-08-27 2016-03-03 日本電気株式会社 シミュレーション装置、シミュレーション方法、および、記憶媒体
WO2020105468A1 (ja) * 2018-11-22 2020-05-28 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラムが格納された非一時的なコンピュータ可読媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUNICHIRO YOSHIMOTO, ISHII SHIN, SATO MASA-AKI: "Normalized Gaussian Network Based on Variational Bayes Inference and Hierarchical Model Selection", TRANSACTIONS OF THE SOCIETY OF INSTRUMENT AND CONTROL ENGINEERS, KEISOKU JIDO SEIGYO GAKKAI, TOKYO, JP, vol. 39, no. 5, 1 January 2003 (2003-01-01), JP , pages 503 - 512, XP055232563, ISSN: 0453-4654, DOI: 10.9746/sicetr1965.39.503 *

Also Published As

Publication number Publication date
US20240028789A1 (en) 2024-01-25
JPWO2022059189A1 (ja) 2022-03-24

Similar Documents

Publication Publication Date Title
Wegmann et al. ABCtoolbox: a versatile toolkit for approximate Bayesian computations
US8818922B2 (en) Method and apparatus for predicting application performance across machines with different hardware configurations
Umbach et al. Fitting nonlinear structural equation models in R with package nlsem
Gao et al. Price forecast in the competitive electricity market by support vector machine
CN111656375A (zh) 使用量子经典计算硬件用于量子计算使能的分子从头算模拟的方法和系统
US7599898B2 (en) Method and apparatus for improved regression modeling
US20110167020A1 (en) Hybrid Simulation Methodologies To Simulate Risk Factors
JP4847916B2 (ja) 購買順序を考慮したリコメンド装置、リコメンド方法、リコメンドプログラムおよびそのプログラムを記録した記録媒体
US20140139529A1 (en) Information processing apparatus, control method, and recording medium
JP5071851B2 (ja) 時間情報を用いた予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体
Dutta et al. Bayesian calibration of force-fields from experimental data: TIP4P water
KR101089898B1 (ko) 방향성 스케일-프리 객체 관계의 모델을 생성하는 방법, 컴퓨팅 장치 및 컴퓨터 판독가능 기록 매체
WO2020004575A1 (ja) 学習方法、混合率予測方法及び学習装置
JPWO2018088277A1 (ja) 予測モデル生成システム、方法およびプログラム
WO2022059189A1 (ja) データ算出装置、データ算出方法および記録媒体
JP6573272B2 (ja) 生成装置、生成方法、及び、プログラム
WO2020235631A1 (ja) モデル生成装置、システム、パラメータ算出装置、モデル生成方法、パラメータ算出方法および記録媒体
Giribone et al. Option pricing via radial basis functions: Performance comparison with traditional numerical integration scheme and parameters choice for a reliable pricing
CN111160733A (zh) 一种基于有偏样本的风险控制方法、装置及电子设备
Sinnott et al. Omnibus risk assessment via accelerated failure time kernel machine modeling
US20130159373A1 (en) Matrix storage for system identification
US20140207715A1 (en) Data driven reduction of multi-scale models
Tan et al. A hybrid model method for accurate surface deformation and incision based on fem and PBD
JP2020030702A (ja) 学習装置、学習方法及び学習プログラム
Hooker et al. Prediction-based regularization using data augmented regression

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20954174

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022550307

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18025609

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20954174

Country of ref document: EP

Kind code of ref document: A1