Simulation execution apparatus, simulation execution method, and program
The simulation execution device addresses the challenge of inaccurate model parameter estimation by using a simulation unit, data assimilation unit, and statistical processing to control system noise variance, enhancing estimation accuracy.
Patent Information
- Application Number
- JP2023191059
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-08
- Publication Date
- 2025-05-20
AI Technical Summary
Existing data assimilation techniques face challenges in accurately estimating model parameters due to large variance in system noise, which can lead to a deterioration in estimation accuracy.
A simulation execution device that includes a simulation unit, data assimilation unit, and statistical processing unit to control the variance of data assimilation results based on system noise, with the ability to correct results when variance exceeds a threshold using methods like ensemble Kalman filter and outlier removal.
Enables accurate estimation of model parameters by controlling system noise variance, improving the reproducibility of simulation results.
Smart Images

Figure 2025078465000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a simulation execution device, a simulation execution method, and a program. [Background technology]
[0002] In various fields, there are techniques for modeling and simulating the laws operating in a target system in order to predict future events or verify behavior in hypothetical situations.
[0003] For example, Non-Patent Document 1 proposes a model that can simulate traffic flow on an actual expressway with high accuracy and low calculation cost. However, the simulation proposed in Non-Patent Document 1 is a method for calculating the time evolution of traffic conditions based on a model formula, and includes multiple model parameters such as traffic capacity and maximum traffic density per unit section. If these model parameters deviate from the true values, there is a concern that the reproducibility of the actual phenomenon will be reduced. Therefore, it is necessary to identify multiple model parameters with high accuracy.
[0004] In recent years, as a measure to address these issues, there is a parameter estimation device disclosed in paragraphs 0004-0012 and 0015-0031 of Patent Document 1, which proposes a model parameter estimation method using a data assimilation technique. Data assimilation is a technique for correcting a simulation model or simulation results using observation data obtained by observation using a sensor or the like so as to increase the reproducibility of the actual phenomenon. In particular, when the simulation model has nonlinearity, a technique for sequentially assimilating data based on a set of many simulation results (for example, a technique called an ensemble Kalman filter or particle filter) may be used. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2020-201146 A [Non-patent literature]
[0006] [Non-Patent Document 1] Toru Takahashi, et al. "Development of a dynamic hybrid traffic flow simulation model and its verification using actual data from expressways," Journal of the Japan Society for Simulation Studies, 2021, Vol. 13, No. 1: pp. 37-47. [Non-Patent Document 2] Yasuyoshi Kato, "Road Traffic Simulation Using Cellular Automata Method" (Special Issue: Intelligent Transport Systems (ITS) and AI). Japanese Society for Artificial Intelligence, Vol. 15, No. 2, 2000, pp. 242-250. Summary of the Invention [Problem to be solved by the invention]
[0007] In general, data assimilation deals with a model that includes observation noise that arises mainly from observation errors, etc., and system noise that arises from modeling errors in simulations, etc. In this case, depending on the modeling accuracy, the variance of the system noise may become large, which may result in a deterioration in the estimation accuracy of the model parameters.
[0008] Therefore, it is desirable to provide a technique for accurately estimating model parameters through data assimilation. [Means for solving the problem]
[0009] In order to solve the above problem, according to one aspect of the present invention, there is provided a simulation execution device comprising: a simulation unit that executes a simulation using a model in which model parameters are set to obtain simulation results; a data assimilation unit that executes sequential data assimilation to obtain data assimilation results based on observation data obtained by observing the state of an observation object and the simulation results; and a statistical processing unit that performs statistical processing on the data assimilation results by controlling the variance of the data assimilation results based on the variance of system noise in the simulation unit satisfying a predetermined condition.
[0010] The statistical processing unit may correct the data assimilation result when the variance of the system noise is greater than a threshold value.
[0011] When the variance of the system noise is greater than the threshold, the statistical processing unit may correct the data assimilation result such that the variance of the corrected data assimilation result is smaller than the variance of the data assimilation result before correction.
[0012] The data assimilation result may include a simulation result of an ensemble number and a model parameter of the ensemble number, and the statistical processing unit may correct the simulation result by replacing the simulation result with a representative value of the simulation result, and may correct the model parameter by replacing the model parameter with a representative value of the model parameter.
[0013] The representative value may be an average value or a median value.
[0014] The data assimilation result includes a simulation result of an ensemble number and a model parameter of the ensemble number, and the statistical processing unit may correct the simulation result by excluding outliers from the simulation result and replacing the simulation result after the outliers have been excluded with a representative value of the simulation result or a representative value of the simulation result after the outliers have been excluded, and may correct the model parameters by excluding outliers from the model parameters and replacing the model parameters after the outliers have been excluded with a representative value of the model parameters or a representative value of the model parameters after the outliers have been excluded.
[0015] The statistical processing unit may not need to correct the variance of the data assimilation result when the variance of the system noise is equal to or less than the threshold value.
[0016] The simulation execution device may include a process control unit, and the process control unit may execute the simulation, the sequential data assimilation, and the statistical processing based on initial values of model parameters for threshold determination and observation data for threshold determination, and may determine the threshold based on estimated values of model parameters obtained by executing reprocessing, in order, one or more times while gradually increasing the variance of system noise, the reprocessing sequentially including a second simulation using a model in which previously estimated model parameters are set and a result of a previously estimated simulation, a second sequential data assimilation based on a result of the second simulation, and a second statistical processing on a result of the second sequential data assimilation, and the second reprocessing.
[0017] The process control unit may determine, as the threshold value, a variance of the system noise when a difference between the estimated value and the initial value becomes equal to or greater than a predetermined standard.
[0018] The simulation execution device may include a process control unit, and the process control unit may execute one or more reprocessing operations in which a re-simulation is performed using a model in which a previously estimated model parameter is set and a previously estimated simulation result, a re-sequential data assimilation based on a result of the re-simulation, and a re-statistical processing of a result of the re-sequential data assimilation are executed in that order.
[0019] The data assimilation unit may perform the sequential data assimilation based on an ensemble Kalman filter or a particle filter.
[0020] In addition, according to another aspect of the present invention to solve the above-mentioned problems, there is provided a simulation execution method executed by a computer, including: performing a simulation using a model in which model parameters are set to obtain simulation results; performing sequential data assimilation based on the simulation results and observation data obtained by observing the state of an observed object to obtain data assimilation results; and performing statistical processing on the data assimilation results by controlling the variance of the data assimilation results based on the variance of system noise in the simulation unit satisfying a predetermined condition.
[0021] In addition, according to another aspect of the present invention to solve the above-mentioned problems, there is provided a program that causes a computer to function as a simulation unit that performs a simulation using a model in which model parameters are set to obtain a simulation result, a data assimilation unit that performs sequential data assimilation based on the simulation result and observation data obtained by observing the state of an observation object, and the simulation result to obtain a data assimilation result, and a statistical processing unit that performs statistical processing on the data assimilation result by controlling the variance of the data assimilation result based on the variance of system noise in the simulation unit satisfying a predetermined condition. Effect of the Invention
[0022] As described above, according to the present invention, a technique is provided that enables accurate estimation of model parameters through data assimilation. [Brief description of the drawings]
[0023] [Figure 1] 1 is a diagram illustrating an example of a functional configuration of a simulation execution device 1 according to an embodiment of the present invention. [Diagram 2] 4 is a flowchart showing an example of operation of the simulation execution device 1 according to the embodiment of the present invention. [Diagram 3] 10 is a flowchart showing details of a simulation executed by a simulation unit 120. [Figure 4] 10 is a flowchart showing details of data assimilation performed by the data assimilation unit 130. [Diagram 5] 13 is a flowchart showing details of the statistical processing executed by the statistical processing unit 140. [Figure 6] This figure shows the results of comparing the estimated values of model parameters while changing the variance of the system noise and changing whether or not statistical processing is performed on the simulation results of the ensemble number after data assimilation. [Figure 7] FIG. 1 is a diagram showing a hardware configuration of an information processing device 900 as an example of a simulation execution device 1 according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functional configurations are designated by the same reference numerals, and duplicated explanations will be omitted.
[0025] 1. DETAILED DESCRIPTION OF THE EMBODIMENTS The following describes the details of the embodiments of the present invention.
[0026] (1-1. Configuration of the simulation execution device) First, a configuration example of a simulation execution device 1 according to an embodiment of the present invention will be described with reference to Fig. 1. Fig. 1 is a diagram showing a functional configuration example of the simulation execution device 1 according to an embodiment of the present invention. Note that model parameters and simulation results are estimated by the operation of the simulation execution device 1, and the estimated model parameters and simulation results are output.
[0027] As shown in FIG. 1, a simulation execution device 1 according to an embodiment of the present invention includes an observation data acquisition unit 110, a simulation unit 120, a data assimilation unit 130, a statistical processing unit 140, and a processing control unit 150.
[0028] (Observation data acquisition unit 110) The observation data acquisition unit 110 is a system that acquires observation data by observing the state of an observation target. The observation data acquisition unit 110 includes an observation data storage unit 111 and an observation unit 112.
[0029] The observation data storage unit 111 stores observation data obtained by observing the state of an observation target.
[0030] The observation unit 112 obtains observation data by observing the state of an observation target. Here, the observation data is time-series data. Therefore, the observation data may change over time. More specifically, the observation unit 112 has a sensor, and the observation data may be data (e.g., summed or averaged data) that is obtained by continuously obtaining data in a time series by the sensor at predetermined intervals (e.g., one minute).
[0031] The observation data is associated with a time. For example, the time associated with the observation data may increase by a predetermined value (e.g., 1) from the oldest data obtained by the sensor to the newest data.
[0032] The observation data may be obtained by a sensor external to the simulation execution apparatus 1. In this case, the observation data obtained by the sensor external to the simulation execution apparatus 1 may be input to the observation data acquisition unit 110. Here, various types of sensors may be assumed as the sensor that acquires the observation data.
[0033] For example, when the observation target is a traffic flow on a road, the sensor may be a vehicle detection unit (free flow antenna or vehicle detector) that detects vehicles on the road, and a driving history acquisition unit (probe data collector) that acquires driving history data of a traveling vehicle, etc. The observation data acquisition unit 110 may accumulate the observation data observed and acquired by these sensors in the observation data storage unit 111.
[0034] (Simulation Section 120) The simulation unit 120 is a system that performs a simulation using a model in which the laws of an observed object are modeled, and obtains a simulation result. The simulation unit 120 includes a model parameter storage unit 121, an initial condition acquisition unit 122, a simulation execution unit 123, and an output result storage unit 124.
[0035] The model parameter storage unit 121 stores parameters of a model used in a simulation (hereinafter, simply referred to as "model parameters"). The model parameters are set in the model.
[0036] The initial condition acquisition unit 122 acquires initial conditions (hereinafter, simply referred to as "initial conditions") used in executing a simulation. For example, the initial condition acquisition unit 122 may read initial conditions prepared in advance, or may acquire initial conditions input by a user operation when the simulation execution unit 123 executes a simulation.
[0037] At a stage where the estimation of the model parameters and the simulation results has not been performed even once, the simulation execution unit 123 sets the initial values of the model parameters in the model, and executes the simulation multiple times based on the initial conditions using the model in which the initial values of the model parameters are set, thereby obtaining multiple simulation results. That is, multiple simulation results corresponding to the initial values and initial conditions of the model parameters are obtained.
[0038] The number of times that a simulation is executed corresponding to the initial values and initial conditions of the model parameters may be determined in advance as the number of times that the simulation is executed in parallel (hereinafter, also referred to as the "ensemble number"). For example, the ensemble number may be 100 times. In the following description, the execution of the simulation for the ensemble number is also expressed as "one trial" of the simulation.
[0039] On the other hand, when the model parameters and the simulation results have already been estimated once or more, the simulation execution unit 123 executes a simulation of the ensemble number based on the last estimated simulation result using a model in which the last estimated model parameters are set. As a result, the simulation execution unit 123 obtains the simulation result of the ensemble number corresponding to the estimated model parameters and the estimated simulation result.
[0040] Furthermore, the simulation execution unit 123 obtains model parameters of the ensemble numbers based on the simulation results of the ensemble numbers and the model. The simulation execution unit 123 associates a time with each of the simulation results and the model parameters. For example, the times associated with each of the simulation results and the model parameters may increase by a predetermined value from the oldest to the newest in the order in which the simulations and model parameters were obtained, similar to the times associated with the observation data.
[0041] In the embodiment of the present invention, it is mainly assumed that the operation termination condition (hereinafter also referred to as the "abortion condition") of the simulation execution device 1 is determined in advance. Therefore, the amount of calculation per trial of the simulation executed by the simulation execution unit 123 does not need to be determined. However, the amount of calculation per trial of the simulation executed by the simulation execution unit 123 may be determined in advance, separately from the abort condition. The amount of calculation per trial of the simulation may be determined in any manner.
[0042] For example, the amount of calculation per trial of a simulation may be determined by the calculation time (e.g., 5 minutes) or the number of calculation steps per unit time (e.g., 10 steps). Alternatively, the amount of calculation per trial of a simulation may be determined according to at least one of the amount of observed data and the number of times data assimilation is performed, which will be described later. For example, the amount of calculation per trial of a simulation may be an amount obtained by dividing the amount of observed data by the number of times data assimilation is performed.
[0043] The type of model used in the simulation does not need to be limited. In other words, any model capable of outputting a simulation result for an initial condition may be adopted as the model used in the simulation. For example, when the observation target is a traffic flow on a road, a cellular automaton method or a cell transmission model as described in Non-Patent Document 2 may be used as a representative traffic flow simulation model.
[0044] The output result storage unit 124 stores the simulation result of the ensemble number obtained by the simulation execution unit 123.
[0045] (Data Assimilation Unit 130) The data assimilation unit 130 is a system that performs data assimilation based on observation data and simulation results to obtain data assimilation results. The data assimilation results include simulation results of the ensemble numbers after data assimilation and model parameters of the ensemble numbers after data assimilation. In this specification, the data assimilation unit 130 includes a data assimilation setting acquisition unit 131, a data assimilation execution unit 132, and a data assimilation result storage unit 133.
[0046] The data assimilation setting acquisition unit 131 acquires setting conditions (hereinafter simply referred to as "setting conditions") used for performing data assimilation. For example, the setting conditions may include the variance of observation noise occurring in the observation data, the variance of system noise in the simulation unit 120, the termination condition, the calculation time per trial of the simulation, and the number of ensembles. As described above, the system noise may arise from modeling errors in the simulation, etc.
[0047] For example, the data assimilation setting acquisition unit 131 may read setting conditions prepared in advance, or may acquire setting conditions input by user operation when data assimilation is performed by the data assimilation execution unit 132.
[0048] The data assimilation execution unit 132 obtains a data assimilation result by performing data assimilation based on the simulation result of the ensemble number stored in the output result storage unit 124, the model parameters of the ensemble number, and the observation data associated with the same time as the time associated with the simulation result, using the variance of the observation noise and the variance of the system noise included in the setting conditions acquired by the data assimilation setting acquisition unit 131. At this time, the data assimilation also takes into account the observation noise and the system noise.
[0049] Here, as an example of the data assimilation method, any method that performs sequential data assimilation on time series data may be adopted. For example, a method called an ensemble Kalman filter or a particle filter may be adopted as the sequential data assimilation method. In the embodiment of the present invention, a case where an ensemble Kalman filter is adopted as the sequential data assimilation method will be mainly described.
[0050] The data assimilation result storage unit 133 stores the data assimilation results.
[0051] (Statistical processing unit 140) The statistical processing unit 140 is a system that performs statistical processing on the data assimilation results based on whether the variance of the system noise satisfies a predetermined condition. The statistical processing unit 140 includes a data assimilation result acquisition unit 141 and a statistical processing execution unit 142.
[0052] The data assimilation result acquisition unit 141 acquires the data assimilation results stored in the data assimilation result storage unit 133 .
[0053] The statistical processing execution unit 142 performs statistical processing on the data assimilation result by controlling the variance of the data assimilation result based on the variance of the system noise satisfying a predetermined condition. The data assimilation result after the statistical processing includes the simulation result after the statistical processing and the model parameters after the statistical processing. At this time, the simulation result after the statistical processing is regarded as an estimated simulation result, and the model parameters after the statistical processing are regarded as estimated model parameters.
[0054] On the other hand, if the variance of the system noise does not satisfy the predetermined condition, no statistical processing is performed on the data assimilation results. In this case, the model parameters included in the data assimilation results are regarded as estimated model parameters, and the simulation results included in the data assimilation results are regarded as estimated simulation results.
[0055] The combination of the estimated model parameters and the estimated simulation results may be stored by the data assimilation result storage unit 133.
[0056] (Processing control unit 150) The process control unit 150 causes the simulation unit 120 to execute a second simulation using a model in which the previously estimated model parameters are set and the previously estimated simulation results. Note that "previously" as used in this specification includes at least the time immediately preceding the time currently being simulated by the simulation execution device 1 (hereinafter also simply referred to as the "target time"), and may additionally include two or more times preceding the target time.
[0057] In addition, the processing control unit 150 causes the data assimilation unit 130 to perform a second data assimilation based on the results of the second simulation, model parameters corresponding to the results of the second simulation, and observation data corresponding to the same time as the time corresponding to the results of the second simulation.
[0058] Furthermore, the process control unit 150 causes the statistical processing unit 140 to execute a second statistical process on the result of the second data assimilation.
[0059] The process control unit 150 causes the simulation unit 120, the data assimilation unit 130, and the statistical processing unit 140 to execute the reprocessing, which sequentially executes the simulation again, the sequential data assimilation again, and the statistical processing again, one or more times. Note that the number of times of data assimilation executed by the data assimilation unit 130 in this manner may be determined in advance as the number of data assimilation executions.
[0060] The initial condition acquisition unit 122, the simulation execution unit 123, the data assimilation setting acquisition unit 131, the data assimilation execution unit 132, the data assimilation result acquisition unit 141, the statistical processing execution unit 142, and the process control unit 150 each include a calculation device such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), and the functions can be realized by the calculation device expanding a program stored in a ROM (Read Only Memory) into a RAM and executing it. At this time, a computer-readable recording medium on which the program is recorded can also be provided.
[0061] Alternatively, the initial condition acquisition unit 122, the simulation execution unit 123, the data assimilation setting acquisition unit 131, the data assimilation execution unit 132, the data assimilation result acquisition unit 141, the statistical processing execution unit 142, and the processing control unit 150 may be configured with dedicated hardware or may be configured with a combination of multiple hardware components. Data necessary for the calculation by the calculation device is appropriately stored in a storage unit not shown.
[0062] The observation data storage unit 111, the model parameter storage unit 121, the output result storage unit 124, and the data assimilation result storage unit 133 are realized by a storage unit (not shown). Such a storage unit may be configured by a memory such as a RAM (Random Access Memory), a hard disk drive, or a flash memory.
[0063] An example of the configuration of the simulation execution device 1 according to an embodiment of the present invention has been described above.
[0064] (1-2. Operation of the simulation execution device) Next, an example of the operation of the simulation execution device 1 according to the embodiment of the present invention will be described with reference to Figures 2 to 5. First, an overall flow of the operation of the simulation execution device 1 according to the embodiment of the present invention will be described with reference to Figure 2.
[0065] 2 is a flowchart showing an example of the operation of the simulation execution device 1 according to an embodiment of the present invention. Model parameters can mainly be estimated by the operation of the simulation execution device 1. The operation of the simulation execution device 1 is roughly divided into four steps: "observation data acquisition processing", "simulation processing", "data assimilation processing", and "statistical processing". The three steps of "simulation processing", "data assimilation processing", and "statistical processing" are repeatedly executed until a predetermined termination condition is satisfied.
[0066] First, the observation data acquiring unit 110 acquires observation data by observing the state of an observation target (S201).
[0067] Next, the simulation unit 120 executes a simulation using the model in which the model parameters are set, and obtains a simulation result (S202). At this time, a simulation result for the ensemble number is obtained in one step S202 by executing a simulation for a predetermined number of ensembles. Furthermore, the simulation unit 120 obtains a model parameter for the ensemble number based on the simulation result for the ensemble number and the model.
[0068] Next, the data assimilation unit 130 performs data assimilation based on the observation data acquired by the observation data acquisition unit 110, the simulation results of the ensemble numbers obtained by the simulation unit 120, and the model parameters of the ensemble numbers obtained by the simulation unit 120 to obtain data assimilation results (S203).
[0069] Next, the statistical processing unit 140 performs statistical processing on the data assimilation result by controlling the variance of the data assimilation result based on the variance of the system noise satisfying a predetermined condition (S204). The data assimilation result after the statistical processing includes the simulation result after the statistical processing and the model parameters after the statistical processing. At this time, the simulation result after the statistical processing is regarded as an estimated simulation result, and the model parameters after the statistical processing are regarded as estimated model parameters.
[0070] On the other hand, if the variance of the system noise does not satisfy the predetermined condition, no statistical processing is performed on the data assimilation results. In this case, the model parameters included in the data assimilation results are regarded as estimated model parameters, and the simulation results included in the data assimilation results are regarded as estimated simulation results.
[0071] Next, if the termination condition is not satisfied ("NO" in S205), the process control unit 150 shifts the operation to a second simulation (S202) using the model in which the estimated model parameters have been set and the estimated simulation result.
[0072] On the other hand, if the termination condition is satisfied ("YES" in S205), the process control unit 150 outputs the estimated model parameters and the estimated simulation results, and ends the operation.
[0073] In the following description, the "observation data acquisition process", "simulation process", "data assimilation process" and "statistical process" will be described in detail.
[0074] (Observation data acquisition process) The observation data acquisition unit 110 stores the observation data obtained by the observation unit 112 in the observation data storage unit 111. The observation data may be data obtained continuously in time series by a sensor and statistically compiled at predetermined intervals (e.g., one minute).
[0075] As described above, the observation data may be obtained by a sensor external to the simulation execution apparatus 1. In this case, the observation data obtained by the sensor external to the simulation execution apparatus 1 may be input to the observation data acquisition unit 110 and acquired by the observation data acquisition unit 110.
[0076] (Simulation processing) A detailed operation of the simulation process executed by the simulation unit 120 will be described with reference to Fig. 3. Fig. 3 is a flowchart showing the details of the simulation executed by the simulation unit 120.
[0077] First, the initial condition acquisition unit 122 acquires the initial conditions of the simulation (S301). As described above, the initial condition acquisition unit 122 may read the initial conditions prepared in advance, or may acquire the initial conditions input by the user's operation when the simulation is executed by the simulation execution unit 123.
[0078] Next, the simulation execution unit 123 acquires the initial values of the model parameters stored in the model parameter storage unit 121 (S302). The simulation execution unit 123 executes a simulation of the ensemble number based on the initial conditions using a model in which the initial values are set as the model parameters. As a result, the simulation execution unit 123 obtains a simulation result of the ensemble number corresponding to the initial values and the initial conditions (S303).
[0079] 3, it is assumed that S303 is executed for the first time (i.e., the statistical processing shown in S204 has never been performed). However, it is also assumed that S303 has already been executed once or more (i.e., the statistical processing shown in S204 has already been performed once or more).
[0080] In such a case, the simulation execution unit 123 acquires the previous estimated model parameters and the previous estimated simulation results. Then, the simulation execution unit 123 executes a simulation of the ensemble number based on the previous estimated simulation results using a model in which the previous estimated model parameters are set. As a result, the simulation execution unit 123 obtains the simulation results of the ensemble number corresponding to the estimated model parameters and the estimated simulation results.
[0081] Furthermore, the simulation execution unit 123 obtains model parameters of the ensemble numbers based on the simulation results of the ensemble numbers and the model. When the simulation by the simulation execution unit 123 is completed, the simulation unit 120 stores the output results from the model (i.e., the simulation results of the ensemble numbers and the model parameters of the ensemble numbers) obtained by the simulation by the simulation execution unit 123 in the output result storage unit 124 (S304).
[0082] (Data assimilation processing) A detailed operation of the data assimilation process executed by the data assimilation unit 130 will be described with reference to Fig. 4. Fig. 4 is a flowchart showing the details of the data assimilation process executed by the data assimilation unit 130.
[0083] First, the data assimilation setting acquisition unit 131 acquires the setting conditions used for performing data assimilation (S401). The setting conditions may include the variance of the observation noise, the variance of the system noise, the termination condition, the calculation time per trial of the simulation, and the number of ensembles.
[0084] The cutoff condition may be determined based on the number of data assimilation runs (e.g., 50 runs).
[0085] Alternatively, the termination condition may be determined based on the total simulation time (e.g., 3 hours, etc.). When the termination condition is defined based on the total simulation time, the data assimilation setting acquisition unit 131 may calculate the data assimilation execution time based on the total simulation time and the calculation time per trial of the simulation, and set the calculated data assimilation execution time as the termination condition.
[0086] Alternatively, the cutoff condition may be determined based on the rate of change of the model parameters due to data assimilation (for example, the rate of change is 1% or less).
[0087] 4 shows an example in which the setting conditions are acquired (S401) every time the data assimilation process (S203) is executed. However, the setting conditions do not have to be acquired (S401) every time the data assimilation process (S203) is executed. For example, the data assimilation setting acquisition unit 131 may acquire the setting conditions before the simulation process (S202) is executed (for example, in acquiring the observation data shown in S201).
[0088] Next, the data assimilation execution unit 132 can obtain the ensemble number included in the set conditions and grasp it as the ensemble number to be used for data assimilation. Then, the data assimilation execution unit 132 performs data assimilation based on the simulation result of the ensemble number obtained in S202, the model parameters of the ensemble number, and the observation data corresponding to the same time as the time corresponding to the simulation result (S402). In this way, the data assimilation execution unit 132 obtains the data assimilation result.
[0089] When performing data assimilation, the data assimilation execution unit 132 takes into consideration the variance of observation noise and the variance of system noise, which are included in the set conditions.
[0090] For example, the data assimilation execution unit 132 acquires the variance of the observation noise included in the set conditions, and randomly determines the observation noise so that the acquired variance of the observation noise is the same as the variance of the observation noise to be determined. Similarly, the data assimilation execution unit 132 acquires the variance of the system noise included in the set conditions, and randomly determines the system noise so that the acquired variance of the system noise is the same as the variance of the system noise to be determined. Then, the data assimilation execution unit 132 uses the determined observation noise and system noise for data assimilation.
[0091] Next, the data assimilation unit 130 stores the data assimilation results obtained by the data assimilation execution unit 132 in the data assimilation result storage unit 133 (S403).
[0092] (Statistical processing) A detailed operation of the statistical processing executed by the statistical processing unit 140 will be described with reference to Fig. 5. Fig. 5 is a flowchart showing the details of the statistical processing executed by the statistical processing unit 140.
[0093] First, the data assimilation result acquisition unit 141 acquires the data assimilation results stored in the data assimilation result storage unit 133 (S501).
[0094] Next, the statistical processing execution unit 142 determines whether the variance of the system noise is greater than a threshold value (S502). If the variance of the system noise is greater than the threshold value (YES in S502), the statistical processing execution unit 142 determines that a predetermined condition is satisfied and performs statistical processing on the data assimilation result by correcting the variance of the data assimilation result (S503).
[0095] More specifically, when the variance of the system noise is greater than a threshold, the statistical processing execution unit 142 corrects the data assimilation result so that the variance of the data assimilation result decreases from before correction to after correction. Even more specifically, when the variance of the system noise is greater than a threshold, the statistical processing execution unit 142 corrects the simulation result of the ensemble number so that the variance of the simulation result of the ensemble number decreases from before correction to after correction, and corrects the model parameters of the ensemble number so that the variance of the model parameters of the ensemble number decreases from before correction to after correction.
[0096] Here, various methods may be considered for correcting the variance of the data assimilation results. For example, the statistical processing execution unit 142 may correct the simulation results of the ensemble numbers by replacing the simulation results of the ensemble numbers with a representative value of the simulation results of the ensemble numbers. Furthermore, the statistical processing execution unit 142 may correct the model parameters of the ensemble numbers by replacing the model parameters of the ensemble numbers with a representative value of the model parameters of the ensemble numbers. The representative value may be an average value. Alternatively, the representative value may be a median value.
[0097] Alternatively, the statistical processing execution unit 142 may correct the simulation result by removing outliers from the simulation result of the ensemble number and replacing the simulation result after removing the outliers with a representative value of the simulation result of the ensemble number or a representative value of the simulation result after removing the outliers. Furthermore, the statistical processing execution unit 142 may correct the model parameters by removing outliers from the model parameters of the ensemble number and replacing the model parameters after removing the outliers with a representative value of the model parameters of the ensemble number or a representative value of the model parameters after removing the outliers. The outliers may be outliers using quartiles. As an example, the outliers may be a value equal to or less than (first quartile-1.5 x interquartile range) or a value equal to or more than (third quartile +1.5 x interquartile range).
[0098] The data assimilation result after the statistical processing includes the simulation result after the statistical processing and the model parameters after the statistical processing. At this time, the simulation result after the statistical processing is set as the estimated simulation result, and the model parameters after the statistical processing are set as the estimated model parameters. The statistical processing execution unit 142 shifts the operation to S504.
[0099] On the other hand, if the variance of the system noise is equal to or less than the threshold (NO in S502), the statistical processing execution unit 142 determines that the predetermined condition is not satisfied, does not correct the variance of the data assimilation result, and proceeds to S504. At this time, the model parameters included in the data assimilation result are treated as estimated model parameters, and the simulation results included in the data assimilation result are treated as estimated simulation results.
[0100] The statistical processing execution unit 142 stores a combination of the estimated model parameters and the estimated simulation results in the data assimilation result storage unit 133 (S504).
[0101] The threshold value to be compared with the variance of the system noise may be acquired in advance by the process control unit 150. Specifically, the process control unit 150 may execute a simulation, data assimilation, and statistical processing based on the initial values of the model parameters for threshold determination and the observation data for threshold determination. The process control unit 150 may then perform reprocessing by sequentially executing a second simulation using a model in which the most recently estimated model parameters are set and the most recently estimated simulation result, a second sequential data assimilation based on the result of the second simulation, and a second statistical processing on the result of the second sequential data assimilation.
[0102] The process control unit 150 may determine the threshold value based on the estimated model parameters obtained by performing this reprocessing one or more times while gradually increasing the variance of the system noise.
[0103] More specifically, the process control unit 150 may determine the variance of the system noise when the difference between the estimated value of the model parameter and the initial value of the model parameter becomes equal to or greater than a predetermined standard (e.g., equal to or greater than 5% of the initial value of the model parameter) as the threshold value.
[0104] The threshold value may be adjustable according to a request from a parameter estimation executor. For example, if there is a request from the parameter estimation executor to suppress the influence of noise as much as possible even if it takes a long time to estimate the model parameters, the process control unit 150 may adjust the criterion to be smaller so that the threshold value is set smaller.
[0105] Furthermore, since the difference between the estimated value of the model parameter and the initial value of the model parameter may be affected by the initial value of the model parameter, the process control unit 150 may calculate the threshold value while changing the initial value of the model parameter, and may determine the average value of the multiple threshold values as the final threshold value.
[0106] For example, before the simulation execution device 1 starts parameter estimation, the threshold determined by the process control unit 150 may be acquired by the data assimilation setting acquisition unit 131. Alternatively, the data assimilation setting acquisition unit 131 may acquire a threshold input by a parameter estimation executor in order to set a value experimentally obtained in advance by the parameter estimation executor as the threshold.
[0107] The details of the embodiment of the present invention have been described above.
[0108] (1-3. Effects) As described above, according to the embodiment of the present invention, a simulation is performed using a model in which the laws of the observed object are modeled, and data assimilation is performed using the simulation results and observation data acquired by observing the state of the observed object. Here, statistical processing is performed on the data assimilation results based on whether the variance of the system noise satisfies a predetermined condition. This allows model parameters to be estimated with high accuracy regardless of the magnitude of the variance of the system noise.
[0109] In the following explanation, as a simple example, we will show the effect that can be obtained when estimating the model parameters of the simulation using a model that models frictionless simple harmonic motion. As the model formula for the simulation, the formula (1) can be adopted, which is obtained by differentiating the equation of motion of frictionless simple harmonic motion and ignoring the third-order and higher infinitesimal terms.
[0110] x t =2x t-1 -(1+ω 2 Δt 2 )x t-2 (1)
[0111] where x t is the position of the object at time t (simulation result), Δt is the time step size of the simulation (predetermined time), and ω is the angular frequency of vibration (model parameter). That is, the initial condition x 0 , x 1 By inputting these values into the model, the position of the object at times t=2 and after can be obtained.
[0112] The angular frequency ω is a model parameter, and it is assumed that this is obtained by parameter estimation. In this experiment, ω = ω t The simulation results obtained by performing a simulation with a value of ω and adding observation noise to the simulation results are used as the observed data. t When a value of ω different from the above is given as the initial value of the model parameters and data assimilation is performed, the true value ω t This method is a verification method known as a twin experiment.
[0113] In practice, the variance of the system noise is estimated using modeling errors, etc. However, in order to clarify the effects of the embodiment of the present invention, two types of variance of the system noise are set in this experiment. In this experiment, the variance of the observation noise is set to 20% of the amplitude of the simple harmonic motion.
[0114] Figure 6 shows the results of comparing the estimated values of the model parameters while changing the variance of the system noise and changing whether or not statistical processing is performed on the simulation results of the ensemble number after data assimilation and the model parameters of the ensemble number after data assimilation.
[0115] In the example shown in Figure 6, the graph shows estimated values of model parameters corresponding to all combinations of the following cases: when the variance of the system noise is set to 3% of the model parameter or 0.03% of the model parameter; when a statistical process is performed in which the simulation results of the ensemble number after data assimilation are replaced with the average value of these simulation results, and when a statistical process is performed in which the model parameters of the ensemble number after data assimilation are replaced with the average value of these model parameters (hereinafter also referred to as the "averaging process"); and when such statistical process is not performed.
[0116] The model parameter estimates are the average values of the model parameters over the number of ensembles, which in this experiment was set to 100.
[0117] First, when the variance of the system noise is large (i.e., when the variance of the system noise is 3% of the model parameters), it can be seen that the estimated parameter values are closer to the true values when averaging is performed than when averaging is not performed.
[0118] If the variance of the system noise is large, the variance in the simulation results and correction of model parameters by data assimilation will be large, and if averaging processing is not performed at this time, the variance will become larger with each successive data assimilation. On the other hand, averaging processing unifies the simulation results and model parameters to more likely values before moving on to the next simulation and the next data assimilation. It is believed that these reasons make it easier for the estimated values of the model parameters to approach the true values.
[0119] Next, when the variance of the system noise is small (i.e., when the variance of the system noise is 0.03% of the model parameter), it can be seen that the estimated parameter value is closer to the true value when no averaging processing is performed than when averaging processing is performed.
[0120] When the variance of the system noise is small, the simulation results and the amount of correction of the model parameters by sequential data assimilation are also small, and the effect of the correction is reduced when averaging is performed at this time. On the other hand, when averaging is not performed, the effect of the correction is maintained. It is believed that these reasons make it easier for the estimated values of the model parameters to approach the true values.
[0121] The above describes the effects achieved by the simulation execution device 1 according to the embodiment of the present invention.
[0122] (2. Hardware configuration example) Next, an example of the hardware configuration of the simulation execution device 1 according to the embodiment of the present invention will be described.
[0123] In the following, an example of the hardware configuration of an information processing device 900 will be described as an example of the hardware configuration of a simulation execution device 1 according to an embodiment of the present invention. Note that the example of the hardware configuration of the information processing device 900 described below is merely one example of the hardware configuration of the simulation execution device 1. Therefore, the hardware configuration of the simulation execution device 1 may be such that unnecessary components are deleted from the hardware configuration of the information processing device 900 described below, or new components are added.
[0124] 7 is a diagram showing a hardware configuration of an information processing device 900 as an example of the simulation execution device 1 according to an embodiment of the present invention. The information processing device 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a host bus 904, a bridge 905, an external bus 906, an interface 907, an input device 908, an output device 909, a storage device 910, and a communication device 911.
[0125] The CPU 901 functions as an arithmetic processing device and control device, and controls the overall operation of the information processing device 900 in accordance with various programs. The CPU 901 may also be a microprocessor. The ROM 902 stores programs and arithmetic parameters used by the CPU 901. The RAM 903 temporarily stores programs used in the execution of the CPU 901 and parameters that change appropriately during the execution. These are connected to each other by a host bus 904 consisting of a CPU bus etc.
[0126] The host bus 904 is connected to an external bus 906, such as a PCI (Peripheral Component Interconnect / Interface) bus, via a bridge 905. It is not necessary to configure the host bus 904, bridge 905, and external bus 906 separately, and these functions may be implemented in a single bus.
[0127] The input device 908 is composed of input means such as a mouse, keyboard, touch panel, button, microphone, switch, and lever for the user to input information, and an input control circuit that generates an input signal based on the user's input and outputs it to the CPU 901. A user who operates the information processing device 900 can input various data to the information processing device 900 and instruct the information processing device 900 to perform processing operations by operating this input device 908.
[0128] The output device 909 includes, for example, a display device such as a CRT (Cathode Ray Tube) display device, a Liquid Crystal Display (LCD) device, an OLED (Organic Light Emitting Diode) device, or a lamp, and an audio output device such as a speaker.
[0129] The storage device 910 is a device for storing data. The storage device 910 may include a storage medium, a recording device for recording data in the storage medium, a reading device for reading data from the storage medium, and a deleting device for deleting data recorded in the storage medium. The storage device 910 is configured, for example, with an HDD (Hard Disk Drive). This storage device 910 drives a hard disk and stores programs executed by the CPU 901 and various data.
[0130] The communication unit 911 is, for example, a communication interface configured with a communication device for connecting to a network, etc. Also, the communication unit 911 may be compatible with either wireless communication or wired communication.
[0131] An example of the hardware configuration of the simulation execution device 1 according to an embodiment of the present invention has been described above.
[0132] (3. Supplementary Notes) Although the preferred embodiment of the present invention has been described in detail above with reference to the accompanying drawings, the present invention is not limited to such an example. It is clear that a person having ordinary knowledge in the technical field to which the present invention pertains can conceive of various modified or altered examples within the scope of the technical ideas described in the claims, and it is understood that these also naturally belong to the technical scope of the present invention. [Explanation of symbols]
[0133] 1 Simulation execution device 110 Observation Data Acquisition Section 111 Observation data storage unit 112 Observation Section 120 Simulation Department 121 Model parameter storage unit 122 Initial condition acquisition section 123 Simulation Execution Department 124 Output result storage unit 130 Data Assimilation Department 131 Data Assimilation Setting Acquisition Unit 132 Data Assimilation Executive Team 133 Data Assimilation Results Storage Unit 140 Statistical Processing Unit 141 Data Assimilation Results Acquisition Section 142 Statistical Processing Unit 150 Processing control section
Claims
1. a simulation unit that executes a simulation using the model in which the model parameters are set and obtains a simulation result; a data assimilation unit that performs sequential data assimilation based on observation data obtained by observing a state of an observation target and the simulation result to obtain a data assimilation result; a statistical processing unit that performs statistical processing on the data assimilation result by controlling the variance of the data assimilation result based on whether the variance of the system noise in the simulation unit satisfies a predetermined condition; A simulation execution device comprising:
2. The statistical processing unit corrects the data assimilation result when the variance of the system noise is greater than a threshold. The simulation execution device according to claim 1 .
3. The statistical processing unit corrects the data assimilation result so that a variance of the data assimilation result after correction is smaller than a variance of the data assimilation result before correction when the variance of the system noise is larger than the threshold value. The simulation execution device according to claim 2 .
4. The data assimilation results include simulation results of ensemble numbers and model parameters of ensemble numbers; The statistical processing unit correcting the simulation result by replacing the simulation result with a representative value of the simulation result; correcting the model parameters by replacing the model parameters with representative values of the model parameters; The simulation execution device according to claim 3.
5. The representative value is an average value or a median value. The simulation execution device according to claim 4.
6. The data assimilation results include simulation results of ensemble numbers and model parameters of ensemble numbers; The statistical processing unit correcting the simulation result by excluding outliers from the simulation result and replacing the simulation result after excluding the outliers with a representative value of the simulation result or a representative value of the simulation result after excluding the outliers; correcting the model parameters by excluding outliers from the model parameters and replacing the model parameters after excluding the outliers with representative values of the model parameters or representative values of the model parameters after excluding the outliers; The simulation execution device according to claim 3.
7. The statistical processing unit does not correct the variance of the data assimilation result when the variance of the system noise is equal to or less than the threshold. The simulation execution device according to claim 2 .
8. The simulation execution device includes a processing control unit, The processing control unit Executing the simulation, the sequential data assimilation, and the statistical processing based on initial values of model parameters for threshold determination and observation data for threshold determination; a re-simulation using a model in which the model parameters estimated immediately before are set and a simulation result estimated immediately before, a re-sequential data assimilation based on the result of the re-simulation, and a re-statistical process for the result of the re-sequential data assimilation are sequentially performed one or more times while gradually increasing the variance of the system noise, and the threshold value is determined based on an estimated value of the model parameters obtained by performing the re-processing in this order; The simulation execution device according to claim 2 .
9. The process control unit determines, as the threshold value, a variance of the system noise when a difference between the estimated value and the initial value becomes equal to or greater than a predetermined criterion. The simulation execution device according to claim 8.
10. The simulation execution device includes a processing control unit, The processing control unit Executing a re-processing step once or a plurality of times, the re-processing step sequentially executing a re-simulation using a model in which the model parameters estimated immediately before are set and a simulation result estimated immediately before, a re-sequential data assimilation based on the result of the re-simulation, and a re-statistical process for the result of the re-sequential data assimilation; The simulation execution device according to claim 1 .
11. The data assimilation unit performs the sequential data assimilation based on an ensemble Kalman filter or a particle filter. The simulation execution device according to any one of claims 1 to 10.
12. performing a simulation using the model in which the model parameters are set to obtain a simulation result; performing sequential data assimilation based on observation data obtained by observing the state of the observation target and the simulation result to obtain a data assimilation result; performing statistical processing on the data assimilation result by controlling the variance of the data assimilation result based on whether the variance of the system noise satisfies a predetermined condition; A computer-implemented method for performing a simulation, comprising:
13. Computer, a simulation unit that executes a simulation using the model in which the model parameters are set and obtains a simulation result; a data assimilation unit that performs sequential data assimilation based on observation data obtained by observing a state of an observation target and the simulation result to obtain a data assimilation result; a statistical processing unit that performs statistical processing on the data assimilation result by controlling the variance of the data assimilation result based on whether the variance of the system noise in the simulation unit satisfies a predetermined condition; A program that functions as a
Citation Information
Patent Citations
Parameter estimating device, parameter estimating method, and program
JP2020201146A