Observation data predicting device and observation data predicting program
By employing self-supervised learning and fine-tuning with uniformly distributed subset data, the method addresses geographical biases in solar radiation prediction, enhancing accuracy and generalization of machine learning models.
Patent Information
- Application Number
- PCT/JP2024/031081
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2026-03-05
AI Technical Summary
Existing methods for predicting solar radiation at unobserved locations suffer from geographical bias due to limited observation points, leading to lower prediction accuracy when using machine learning-based models trained on non-uniformly distributed data.
A method involving self-supervised learning and fine-tuning of encoder and decoder models to predict solar radiation using uniformly distributed subset data, incorporating attention mechanisms to reduce computational complexity and improve prediction accuracy.
Enhances the accuracy of predicting solar radiation at arbitrary points by mitigating geographical biases in training data, improving the model's generalization performance.
Smart Images

Figure JP2024031081_05032026_PF_FP_ABST
Abstract
Description
Observation data prediction device and observation data prediction program
[0001] The disclosed technology relates to an observation data prediction device and an observation data prediction program.
[0002] There are times when you want to predict future observation values at a specified location based on observation values from observation points distributed in various locations.
[0003] For example, with the promotion of renewable energy use, solar power generation facilities have been installed in various locations in recent years. The amount of power generated by solar power generation depends on the amount of solar radiation, which represents the amount of radiant energy from the sun. Therefore, when planning and operating the amount of power generated by solar power generation facilities, there is a need to know the amount of solar radiation at the location where the solar power generation facility is installed in advance.
[0004] However, there are only a limited number of solar radiation observation points, and solar radiation observation values are only observed in certain regions. For example, in Japan, there are only about 60 meteorological observatories and weather stations nationwide, and only about 90 special regional meteorological observation stations. In other words, solar radiation observations are not conducted in many regions. In order to obtain solar radiation in regions where there are no solar radiation observation points, the only option is to predict the amount of solar radiation from the amount of solar radiation observed at observation points.
[0005] High-resolution local models (for example, Local Forecast Models (LFMs), see Non-Patent Documents 1 and 2) are widely used as a means for predicting the amount of solar radiation at any point.
[0006] Solar radiation observed at the Earth's surface is easily attenuated by small-scale phenomena such as clouds, water vapor, ozone, and aerosols. To take these effects into account, LFM uses various observations, such as AMeDAS, microwaves from low-earth orbit satellites, and radar reflectivity, to improve the simulation of mathematical models (e.g., data assimilation) and predict solar radiation.
[0007] In recent years, machine learning-based foundation models have been proposed as an approach to improving prediction accuracy beyond that of data assimilation (see, for example, Non-Patent Document 3). Foundation models prepare mathematical models (e.g., Transformers) with a large number of parameters, and then use self-supervised learning to learn patterns between data, which predicts future data using a large amount of training data. Then, fine-tuning learning tailored to specific tasks is performed. Machine learning-based foundation models are said to have high prediction accuracy for complex natural phenomena that are difficult to represent using conventional simulations.
[0008] <Non-patent document 1> Japan Meteorological Agency, Forecast Department, Numerical Prediction Division, "Characteristics of Local Meteorological Models (LFM) and Points to Note in Their Use," November 20, 2013, <URL: https: / / www.jma.go.jp / jma / kishou / minkan / koushu131120 / shiryou1.pdf>
[0009] <Non-patent document 2> Hideaki Otake, Fumito Uno, Takashi Ozeki, Yoshinori Yamada, "Verification of the latest space-time observation data of the Japan Meteorological Agency's operational numerical forecast model", IEEJ Transactions on Electrical Engineering, Vol. 138, No. 11, pp. 881-892, Published: November 1, 2018, Online ISSN 1348-8147, Print ISSN 0385-4213, <URL: https: / / doi.org / 10.1541 / ieejpes.138.881, https: / / www.jstage.jst.go.jp / article / ieejpes / 138 / 11 / 138_881 / _article / -char / ja>
[0010] <Non-patent Document 3> Bodnar, Cristian, et al. "Aurora: A foundation model of the atmosphere." arXiv preprint arXiv:2405.13063 (2024).
[0011] In machine learning-based foundational models, the characteristics of the training data used for machine learning affect the prediction accuracy of observed values. For example, if there is a bias in the observation points for observation values and the observation points are concentrated in a specific region, the observation values used in the training data will contain many observed values from that specific region. Therefore, if the obtained training data is used as is, the machine learning-based foundational model will perform machine learning using training data that is geographically biased. In other words, if the foundational model is used to predict observed values in a region where observed values are not included in the training data, the prediction accuracy will be lower than the prediction accuracy of observed values in a region where many observed values are included in the training data.
[0012] The disclosed technology has been developed in consideration of the above points, and aims to provide an observation data prediction device and an observation data prediction program that can improve the accuracy of predicting observation values compared to when a dataset containing observation values observed at an observation point is used as is to predict observation values at an arbitrary point.
[0013] A first aspect of the present disclosure is an observation data prediction device, comprising: a receiving unit that receives designated time and designated position information; a sampling unit that samples, as subset data, each of the records that satisfy a predetermined condition from a data set including time information, position information, and records that associate observation values observed at a time represented by the time information at a position represented by the position information; and a sampling unit that samples, when inputting the record that is included in learning data that is the subset data for learning and that is prior to a specific time t, outputs the observation value at a time after the time t at the position represented by the position information of the input record, and outputs the sampled data obtained by the sampling unit to an encoder model that has been machine-learned using the learning data. a decoder model that has been machine-learned using the learning data so as to output the observation value of the record selected from the learning data when it is input with subset data, the output of the encoder layer in the encoder model, and the time information and the position information of the record after time t selected from the learning data used to input the encoder model; and a prediction unit that, when it is input with the output of the encoder layer in the encoder model to which the subset data has been input, and the specified time and specified position information accepted by the acceptance unit, predicts the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information.
[0014] A second aspect of the present disclosure is an observation data prediction program, which includes: receiving designated time and designated position information in a computer; sampling, as subset data, each of the records that satisfy a predetermined condition from a dataset including records that associate time information, position information, and observation values observed at a time represented by the time information at a position represented by the position information; and inputting, when inputting a record that is included in learning data that is the subset data for learning and that is prior to a specific time t, the record that is included in learning data and that is the subset data for learning, the encoder model that has been machine-learned using the learning data to output the observation value at a time after the time t at the position represented by the position information of the input record. When the decoder model is input with the subset data, the decoder model is machine-learned using the training data so as to output the observation value of the record selected from the training data when the decoder model is input with the output of the encoder layer in the encoder model to which the subset data has been input, and the time information and the position information of the record after time t selected from the training data used to input the encoder model, and the decoder model is caused to execute a process of predicting the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information when the decoder model is input with the output of the encoder layer in the encoder model to which the subset data has been input, and the received specified time and specified position information.
[0015] According to the disclosed technology, it is possible to improve the accuracy of predicting observation values compared to when a dataset containing observation values observed at an observation point is used as training data as is and observation values at an arbitrary point are predicted.
[0016] FIG. 1 is a diagram illustrating an example of the functional configuration of an observation data prediction device focusing on the learning function. FIG. 2 is a diagram illustrating an example of a dataset. FIG. 3 is a diagram illustrating an example of a mathematical model of an encoder model. FIG. 4 is a diagram illustrating an example of a mathematical model of a decoder model. FIG. 5 is a diagram illustrating an example of the configuration of a main part of an electrical system of an observation data prediction device. A flowchart illustrating an example of the flow of a self-supervised learning process. A diagram illustrating an example of the distribution of observation points. A flowchart illustrating an example of the flow of a fine-tuning learning process. A diagram illustrating an example of a range that affects the amount of solar radiation at an observation point. A diagram illustrating an example of the functional configuration of an observation data prediction device focusing on the prediction function. A flowchart illustrating an example of the flow of a prediction process.
[0017] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that the same or equivalent components and parts in each drawing are given the same reference numerals. Also, the dimensional proportions in the drawings are exaggerated for the convenience of explanation and may differ from the actual proportions.
[0018] FIG. 1 is a diagram showing an example of the functional configuration of an observation data prediction device 10 that predicts future observation values at a specified position.
[0019] The observation data prediction device 10 has a learning function that performs machine learning on a base model used to predict observation values, and a prediction function that predicts future observation values at a specified location specified by a user using the base model that has undergone machine learning. Of these, Figure 1 shows an example of the functional configuration of the observation data prediction device 10, focusing on the learning function.
[0020] The observation values available for prediction of observation values by the observation data prediction device 10 are observed at observation points that are not uniformly distributed in space. "Not uniformly distributed observation points" means that the positions of the observation points are not arranged according to a uniform distribution.
[0021] The observation data prediction device 10 predicts future observation values at a specified location based on observation values at observation points that are not necessarily uniformly distributed. There are no restrictions on the types of observation values predicted by the observation data prediction device 10. For example, the observation data prediction device 10 predicts the amount of solar radiation, precipitation, radio wave bands in use, noise, gas concentrations, etc. at the specified location.
[0022] The following describes the observation data prediction device 10 using an example of predicting solar radiation near the earth's surface, one of the various types of observation values that can be predicted by the observation data prediction device 10. Solar radiation, which is a typical example of an observation value that can be predicted by the observation data prediction device 10, is widely used in planning and operating the power generation amount of solar power generation facilities, designing the orientation of windows and buildings in civil engineering construction, managing agricultural growth, controlling air conditioning energy, and running tourism and leisure events.
[0023] In the machine learning-based solar radiation prediction, the observed solar radiation values at each location along a time series are used for the machine learning. Therefore, in the disclosed technology, as an example, the solar radiation observed at meteorological stations, weather stations, and special regional meteorological observation stations is used.
[0024] However, the observation points for solar radiation are not limited to meteorological observatories, weather stations, and special regional weather observation stations. For example, there is a strong correlation between the amount of solar radiation and the amount of power generated by a solar power generation facility. Therefore, the observation data prediction device 10 may use the amount of solar radiation predicted from the amount of power generated by the solar power generation facility. Alternatively, the observation data prediction device 10 may use the amount of solar radiation observed by an independently installed pyranometer. In this case, the amount of solar radiation can be observed over time at more points than when the observation points for solar radiation are limited to meteorological observatories, weather stations, and special regional weather observation stations.
[0025] The amount of solar radiation observed in this manner is input to the observation data prediction device 10 together with time information indicating the time at which the amount of solar radiation was observed and location information indicating the location at which the amount of solar radiation was observed. A group of data on the amount of solar radiation observed in time series for each observation point is called a "data set."
[0026] Fig. 2 is a diagram showing an example of a data set. As shown in Fig. 2, the data set includes a plurality of data items that associate time, latitude, longitude, and amount of solar radiation. In Fig. 2, LT1 and LT2 represent latitude values, and LG1 and LG2 represent longitude values. Furthermore, SR1 to SR6 each represent a value of amount of solar radiation.
[0027] In the example of Fig. 2, the location information of the solar radiation observation point is expressed by latitude and longitude. However, the method of expressing the location information of the observation point is not limited to latitude and longitude. For example, geohash or map code (registered trademark) may be used as the location information.
[0028] In FIG. 2 , each piece of data that associates time, location information, and the amount of solar radiation observed at that time at the location represented by the location information is called a "record." That is, a data set is made up of multiple records. The time in a record is an example of time information. Hereinafter, a location represented by location information will simply be referred to as a "location." Therefore, a location represented by location information included in a record will be referred to as the "location of the record."
[0029] The components of a record are not limited to time, location information, and solar radiation. An element correlated with solar radiation may be added to the components of a record. For example, humidity at the observation point may be added to the components of a record.
[0030] Alternatively, a physical quantity that indirectly represents the amount of solar radiation may be used as a component of the record. For example, a physical quantity that represents the intensity of solar radiation, such as the amount of power generated by a solar power generation facility or the ratio of the current amount of solar radiation to the total amount of solar radiation that can be theoretically calculated from time and location information, may be used instead of the amount of solar radiation.
[0031] As shown in FIG. 1 , an observation data prediction device 10 with a learning function has the following functional units: a dataset input unit 11, a sampling unit 12, a self-supervised learning unit 13, an encoder model unit 14, a fine-tuning learning unit 15, a decoder model unit 16, and a memory unit 17.
[0032] The dataset input unit 11 receives a dataset including at least a time when the amount of solar radiation was observed, location information indicating the location where the amount of solar radiation was observed, and a plurality of records in which the observed amounts of solar radiation are associated with each other. The dataset input unit 11 passes the received dataset to the sampling unit 12.
[0033] The sampling unit 12 extracts, as subset data, each record that satisfies a predetermined condition from the dataset received from the dataset input unit 11. Extracting records that satisfy a predetermined condition from the dataset is called "sampling."
[0034] The basic model obtained by machine learning in the observation data prediction device 10 has an attention mechanism and is composed of two learning phases: self-supervised learning and fine-tuning learning.
[0035] An attention mechanism is a technique for selectively focusing on a portion of input data in time-series data processing. The attention mechanism is implemented in a deep learning model consisting of an encoder model M1 and a decoder model M2, such as a Transformer.
[0036] Self-supervised learning is a method for effectively learning complex patterns in data, which is a task of predicting the near future. The more diverse the patterns learned through self-supervised learning, the easier it is to improve the generalization performance of solar radiation forecasting in fine-tuning learning.
[0037] The sampling unit 12 performs different sampling on the data set in the learning phase in which self-supervised learning is performed and in the learning phase in which fine-tuning learning is performed.
[0038] In the learning phase where self-supervised learning is performed, the sampling unit 12 passes subset data generated from the data set to the self-supervised learning unit 13 .
[0039] The predetermined conditions used to select records from the data set will be explained in detail later.
[0040] The self-supervised learning unit 13 performs self-supervised learning on the encoder model M1 using the subset data. The model parameters of the encoder model M1 are updated through self-supervised learning. The self-supervised learning unit 13 stores the model parameters of the encoder model M1 updated through self-supervised learning (hereinafter referred to as "encoder model parameters 17A") in the storage unit 17.
[0041] Details of the self-supervised learning of the encoder model M1 by the self-supervised learning unit 13 will be described later.
[0042] The encoder model unit 14 manages the configuration of the encoder model M1. Fig. 3 is a diagram showing an example of a mathematical model of the encoder model M1 included in the encoder model unit 14.
[0043] As shown in FIG. 3, the encoder model M1 includes an embedding layer 21, linear layers 22A to 22E, and an attention layer 23.
[0044] Records having a time before a specific time t included in the subset data are input to the encoder model M1. The time t is, for example, a time specified by the user. For convenience of explanation, "up to time t" refers to "before time t."
[0045] Then, the self-supervised learning unit 13 refers to a record from the subset data that records the amount of insolation at time t+j for location information that is the same as the location information of the input record, where "j" is the elapsed time since time t, and j > 0. The self-supervised learning unit 13 uses the amount of insolation in the referenced record as training data, and updates the encoder model parameters 17A so that the amount of insolation set as training data for the record input to the encoder model M1 is output from the encoder model M1.
[0046] That is, the self-supervised learning unit 13 updates the encoder model parameters 17A so as to output the amount of solar radiation at time t+j at the position of the input record from the record including the amount of solar radiation up to time t.
[0047] In the embedding layer 21 to which the record is input, the time, location information, and amount of solar radiation are projected into a vector of the same dimension (for example, a 256-dimensional vector).
[0048] The attention mechanism is an operation that issues a query to a set of pairs of a key for searching data and an actual value to extract the value. Therefore, the linear layers 22A to 22C perform linear transformation calculations on each vector to generate the key, query, and value. In this way, the encoder model M1 treats the three types of values obtained by converting the output values of the embedding layer 21 in the linear layers 22A to 22C as the key, query, and value.
[0049] The attention layer 23 receives keys, queries, and values from the linear layers 22A to 22C, respectively, and outputs self-attention, which is attention with a value weighted by the inner product value of the query and key, to the linear layer 22D.
[0050] Generally, if “N” is the number of input records, the computational complexity of the attention layer 23 is O(N 2 ) The attention layer 23 of the encoder model M1 in the observation data prediction device 10 has a division unit 23A and a self-attention mechanism 23B to reduce calculation costs. The division unit 23A divides the keys, queries, and values into subgroups. The division unit 23A passes the divided keys, queries, and values to the self-attention mechanism 23B.
[0051] As a result, the amount of calculation of the attention layer 23 according to the disclosed technique is O(M 2 *N / M).
[0052] The self-attention mechanism 23B calculates the self-attention for each subgroup and outputs it to the linear layer 22D. Therefore, there are as many self-attention mechanisms 23B as there are subgroups.
[0053] The linear layer 22D further outputs the self-attention for each subgroup to the linear layer 22E. As a result, the encoder model M1 outputs the linearly combined self-attention value from the linear layer 22E. The output data output from the linear layer 22E represents the amount of solar radiation at time t+j at the position of the record input to the encoder model M1.
[0054] The encoder model M1 may include an activation function (for example, a ReLU function).
[0055] On the other hand, in the learning phase in which fine-tuning learning is performed, the sampling unit 12 randomly selects multiple records from the dataset received from the dataset input unit 11. The sampling unit 12 samples records from the dataset that satisfy predetermined conditions related to the time and location information of the records selected from the dataset (hereinafter referred to as "selected records"). Then, the sampling unit 12 sets the selected records and records that satisfy the predetermined conditions acquired based on the selected records as subset data for the set data. In other words, the subset data used for fine-tuning learning is generated as many times as the number of selected records.
[0056] The sampling unit 12 passes the subset data thus generated from the data set to the fine-tuning learning unit 15 .
[0057] The fine tuning learning unit 15 in FIG. 1 is a means for effectively learning patterns among data related to the prediction of the amount of solar radiation.
[0058] The fine-tuning learning unit 15 performs machine learning on the decoder model M2 using the output of the encoder layer 20 in the encoder model M1 and the records of the subset data input to the encoder model M1. This machine learning on the decoder model M2 is fine-tuning learning. The model parameters of the decoder model M2 are updated by fine-tuning learning. The fine-tuning learning unit 15 stores the model parameters of the decoder model M2 updated by fine-tuning learning (hereinafter referred to as "decoder model parameters 17B") in the storage unit 17.
[0059] The details of the fine tuning of the decoder model M2 by the fine tuning learning unit 15 will be explained later.
[0060] The decoder model unit 16 manages the configuration of the decoder model M2. Fig. 4 is a diagram showing an example of a mathematical model of the decoder model M2 included in the decoder model unit 16. In fine-tuning learning, an encoder model M1 that has been machine-learned by self-supervised learning is used. Therefore, Fig. 4 shows the mathematical model of the encoder model M1 in addition to the mathematical model of the decoder model M2.
[0061] As shown in FIG. 4, the decoder model M2 includes an embedding layer 31, linear layers 32A to 32D, and an attention layer 33.
[0062] The embedding layer 31 of the decoder model M2 receives input of time and position information in the selected record. The time in the selected record is defined as time t+k, where "k" is the elapsed time from time t, and k>0. The time t set for the subset data in self-supervised learning and the time t set for the subset data in fine-tuning learning may be the same time or different times.
[0063] The input data input to the encoder model M1 is a record having a time up to time t among the subset data including the selected record. The encoder model M1 has already undergone machine learning by the self-supervised learning unit 13. Therefore, the encoder model M1 outputs the amount of solar radiation at time t+j at the position of the record input to the encoder model M1.
[0064] In the embedding layer 31 of the decoder model M2, the time and position information of the selected record is projected into a vector of the same dimension.
[0065] In the linear layer 32A and the linear layer 32B, a linear transformation of each vector is calculated to generate a query and a value.
[0066] The attention layer 33 receives queries and values from the linear layer 32A and the linear layer 32B, respectively.
[0067] In addition, the attention layer 33 receives the output of the encoder layer 20 in the encoder model M1 as a key. In other words, the attention layer 33 receives the output of the intermediate layer in the encoder model M1 as a key.
[0068] The attention layer 33 uses the key received from the encoder model M1 and the query and value received from the linear layer 32A and the linear layer 32B to output attention, with the value weighted by the inner product value of the query and the key, to the linear layer 32C. The attention calculated by the attention layer 33 is called "cross attention."
[0069] In order to reduce the amount of calculation in the attention layer 33, the attention layer 33 includes a division unit 33A that divides the keys, queries, and values into subgroups and a cross-attention mechanism 33B, similar to the attention layer 23 of the encoder model M1.
[0070] The dividing unit 33A divides the keys, queries, and values into subgroups. The dividing unit 33A passes the divided keys, queries, and values to the cross-attention mechanism 33B. The cross-attention mechanism 33B calculates cross-attention for each subgroup and outputs it to the linear layer 32C. Therefore, there are as many cross-attention mechanisms 33B as there are subgroups.
[0071] The linear layer 32C further outputs the cross-attention for each subgroup to the linear layer 32D. As a result, the decoder model M2 outputs the linearly combined cross-attention value from the linear layer 32D. The output data output from the linear layer 32D represents the amount of solar radiation at time t+k at the position of the selected record input to the decoder model M2.
[0072] 4, the fine-tuning learning unit 15 inputs to the decoder model M2 the output of the encoder layer 20 when a record having a time up to time t out of the subset data including the selected record is input to the encoder model M1, and the time and position information of the selected record. Then, the fine-tuning learning unit 15 updates the decoder model parameters 17B so that the output data output from the linear layer 32D outputs the amount of solar radiation of the selected record input to the decoder model M2.
[0073] That is, when the fine-tuning learning unit 15 inputs the output of the encoder layer 20 in the encoder model M1 and the time and position information of the selected record selected from the subset data used to input the encoder model M1 into the decoder model M2, it updates the decoder model parameters 17B so that it outputs the amount of solar radiation at time t+k at the position of the selected record.
[0074] 3 and 4 show an encoder model M1 and a decoder model M2 each having one encoder layer 20 and one decoder layer 30. However, the encoder layer 20 in the encoder model M1 is configured with multiple layers (e.g., four layers). Similarly, the decoder layer 30 in the decoder model M2 is also configured with multiple layers (e.g., four layers). That is, in the encoder model M1 and the decoder model M2, multiple encoder layers 20 and multiple decoder layers 30 are connected in series. By stacking multiple encoder layers 20 and multiple decoder layers 30, the expressive power of the encoder model M1 and the decoder model M2 in expressing patterns between data is improved compared to when each encoder layer 20 and decoder layer 30 is one layer.
[0075] If the encoder model M1 has a plurality of encoder layers 20 and the decoder model M2 has a plurality of decoder layers 30, the output of the final encoder layer 20 is input to the division unit 33A of each decoder layer 30.
[0076] 1 stores encoder model parameters 17 A and decoder model parameters 17 B. Furthermore, the storage unit 17 stores various parameters, programs, etc. that are referenced when the observation data prediction device 10 operates.
[0077] The observation data prediction device 10 shown in Fig. 1 can be configured using a computer 1. Fig. 5 is a diagram showing an example of the configuration of the main parts of the electrical system of the observation data prediction device 10 configured using the computer 1.
[0078] The computer 1 includes a CPU (Central Processing Unit) 1A, which is an example of a processor that executes the processing of each functional unit in the observation data prediction device 10 shown in Fig. 1. The computer 1 also includes a RAM (Random Access Memory) 1B that is used as a temporary work area for the CPU 1A. The computer 1 also includes a non-volatile memory 1C that stores an observation data prediction program that defines the operation of the observation data prediction device 10. The computer 1 also includes an input / output interface (hereinafter referred to as "I / O") 1D that exchanges data with various units.
[0079] The CPU 1A, RAM 1B, nonvolatile memory 1C, and I / O 1D are connected to each other via a bus 1E, and exchange data with each other.
[0080] The nonvolatile memory 1C is an example of a storage device in which stored information is maintained even if the power supplied to the nonvolatile memory 1C is cut off. The nonvolatile memory 1C is used, for example, as a storage destination for the encoder model parameters 17A and the decoder model parameters 17B. The nonvolatile memory 1C is, for example, a semiconductor memory, but a hard disk may also be used. The CPU 1A reads the observation data prediction program stored in the nonvolatile memory 1C and executes the observation data prediction program, thereby operating the observation data prediction device 10.
[0081] To the I / O 1D, for example, a communication unit 2, an input unit 3, and a display unit 4 are connected.
[0082] The communication unit 2 is connected to a communication line and performs data communication with an external device connected to the communication line in accordance with a predetermined communication protocol.
[0083] The input unit 3 receives instructions from the user and notifies the CPU 1 A. The input unit 3 may include, for example, a button, a touch panel, a keyboard, and a mouse.
[0084] The display unit 4 visually displays to the user information processed by the CPU 1A, such as the predicted amount of solar radiation. The display unit 4 may be, for example, a liquid crystal display or an organic EL (Electro Luminescence) display.
[0085] The units connected to the I / O 1D are not limited to the various units exemplified in Fig. 5. For example, when printing the predicted solar radiation amount on paper or the like, an image forming unit such as a printer is connected to the I / O 1D. Furthermore, when the observation data prediction device 10 is constructed using cloud computing, the user operates the observation data prediction device 10 via the Internet from a terminal connected to the Internet. In this case, the input unit 3 and the display unit 4 do not necessarily have to be connected to the I / O 1D.
[0086] <Self-supervised learning of encoder model M1> Next, self-supervised learning of encoder model M1 will be described. Fig. 6 is a flowchart showing an example of the flow of the self-supervised learning process executed in observation data prediction device 10 when, for example, an instruction to start self-supervised learning is received from a user. CPU 1A reads the observation data prediction program stored in non-volatile memory 1C and executes the self-supervised learning process.
[0087] In step S10, the CPU 1A receives a data set including the amount of solar radiation observed in time series at each observation point.
[0088] In step S20, the CPU 1A samples records that satisfy predetermined conditions from the data set received in the processing of step S10, and generates subset data.
[0089] Generally, when sampling records from a dataset, a method is used in which records are randomly sampled from the dataset so that the number of samples fits within the subset size. However, there is a geographical bias in the solar radiation observation points.
[0090] Fig. 7 is a diagram showing an example distribution of observation points at which solar radiation amounts included in records of a dataset were observed. The horizontal axis of Fig. 7 represents the longitude of the solar radiation observation points, and the vertical axis of Fig. 7 represents the latitude of the solar radiation observation points. Furthermore, icons 8 represent the solar radiation observation points.
[0091] For example, suppose that CPU 1A randomly samples records from a dataset and samples a record containing solar radiation observed at an observation point included in range 5A in Fig. 7. Area 6 included in range 5A is an area where the density of solar radiation observation points is higher than in other areas included in range 5A.
[0092] In contrast, suppose that CPU 1A performs self-supervised learning of encoder model M1 using, as learning data, subset data configured from records including the amount of solar radiation observed at observation points in range 5A. In this case, the learning result of self-supervised learning of encoder model M1 may be a learning result that more strongly reflects the characteristics of the amount of solar radiation in an area with a high density of observation points, such as area 6, than the amount of solar radiation in other areas other than area 6 in range 5A.
[0093] Therefore, CPU 1A generates subset data by sampling records from the data set so that the positions from which each record constituting the subset data was obtained approximate a uniform distribution. In other words, the predetermined condition in step S20 is that the positions of the observation points represented by the position information of the sampled records follow a uniform distribution.
[0094] In step S30 of FIG. 6, the CPU 1A performs self-supervised learning of the encoder model M1 using the subset data generated by the processing in step S20 as learning data.
[0095] Therefore, CPU 1A sets time t for the learning data and inputs each record of the learning data including the amount of solar radiation up to time t into encoder model M1. CPU 1A sets the amount of solar radiation of a record that records the amount of solar radiation at time t+j at the same position information as the position information of the record input to encoder model M1 as teacher data. CPU 1A updates encoder model parameters 17A so that encoder model M1 outputs the amount of solar radiation set in the teacher data for the record input to encoder model M1.
[0096] The CPU 1A stores the updated encoder model parameters 17A in the nonvolatile memory 1C. The CPU 1A also stores the number of times the encoder model parameters 17A have been updated in the nonvolatile memory 1C.
[0097] In step S40, the CPU 1A determines whether the termination condition of the self-supervised learning is satisfied. Specifically, the CPU 1A determines that the termination condition of the self-supervised learning is satisfied if the number of updates of the encoder model parameters 17A is equal to or greater than a specified number. The specified number that specifies the termination condition of the self-supervised learning is set, for example, by a user and stored in the non-volatile memory 1C. The specified number that specifies the termination condition of the self-supervised learning can be modified by the user.
[0098] If the number of updates of the encoder model parameters 17A is less than the specified number, the process proceeds to step S20. That is, the CPU 1A generates new subset data that satisfies a predetermined condition from the data set received by the process of step S10, and continues self-supervised learning of the encoder model M1 using the new subset data as learning data.
[0099] On the other hand, if the number of updates of the encoder model parameters 17A is equal to or greater than the specified number of times, the self-supervised learning process shown in FIG. 6 is terminated.
[0100] <Fine-tuning Learning of Decoder Model M2> Next, fine-tuning learning of the decoder model M2 will be described. Fig. 8 is a flowchart showing an example of the flow of fine-tuning learning processing executed in the observation data prediction device 10 when, for example, an instruction to start fine-tuning learning is received from a user. The CPU 1A reads the observation data prediction program stored in the non-volatile memory 1C and executes the fine-tuning learning processing.
[0101] In step S100, the CPU 1A receives a data set including the amount of solar radiation observed in time series at each observation point.
[0102] In step S110, the CPU 1A randomly selects a plurality of records from the data set received by the processing in step S100. Based on the time t+k of the selected records, the CPU 1A sets a time t that is less than the time t+k.
[0103] For each of the selected records, the CPU 1A samples records that satisfy a predetermined condition from the data set received in the process of step S100, and generates subset data for each selected record.
[0104] The predetermined conditions in fine-tuning learning are conditions related to the geographical range that affects the amount of solar radiation, which are predicted based on the time t+k and location information of the selected record.
[0105] For example, the amount of solar radiation varies depending on whether or not there are clouds. Clouds can appear suddenly in a certain location, but in most cases, they move along with the flow of the atmosphere. Therefore, if the maximum theoretical cloud movement speed is S [km / h], then the amount of solar radiation at the location of the selected record X hours later will be affected by the weather conditions within a radius SX [km] centered on the location of the selected record.
[0106] Therefore, based on the time t+k and position information of the selected record, CPU 1A identifies the range that will affect the amount of solar radiation at the position of the selected record k hours after time t.
[0107] 9 is a diagram showing an example of a range that affects the amount of solar radiation at the observation point represented by icon 8, when the observation point of the amount of solar radiation represented by icon 8 is the observation point represented by the position of the selected record. Range 5B shows the range that affects the amount of solar radiation at the observation point represented by icon 8.
[0108] The CPU 1A samples records observed at observation points included in the specified range from the dataset accepted by the processing of step S100, and generates subset data for each selected record. As already explained, in this case, the CPU 1A generates subset data by sampling records within the specified range from the dataset so that the positions from which each record constituting the subset data was obtained approximate a uniform distribution. In other words, the fact that the positions of the observation points represented by the position information of the records included in the subset data follow a uniform distribution is also an example of a predetermined condition in fine-tuning learning.
[0109] In step S120 of FIG. 8, the CPU 1A performs fine-tuning learning of the decoder model M2 using each subset data generated by the process of step S110 as learning data.
[0110] Therefore, CPU 1A inputs records having times up to time t from among the subset data including the selected record to encoder model M1. CPU 1A also inputs the output of encoder layer 20 in this case and the time and position information in the selected record to decoder model M2. CPU 1A then updates decoder model parameters 17B so that the output data from decoder model M2 outputs the amount of solar radiation for the selected record input to decoder model M2.
[0111] The CPU 1A stores the updated decoder model parameters 17B in the nonvolatile memory 1C. The CPU 1A also stores the number of times the decoder model parameters 17B have been updated in the nonvolatile memory 1C.
[0112] In step S130, the CPU 1A determines whether the termination condition for fine-tuning learning is met. Specifically, the CPU 1A determines that the termination condition for fine-tuning learning is met if the number of updates of the decoder model parameters 17B is equal to or greater than a specified number. The specified number that specifies the termination condition for fine-tuning learning is set, for example, by the user and stored in the non-volatile memory 1C. The specified number that specifies the termination condition for fine-tuning learning can be modified by the user.
[0113] If the number of updates of the decoder model parameters 17B is less than the specified number of times, the process proceeds to step S110. That is, the CPU 1A generates new subset data that satisfies a predetermined condition from the data set received by the processing of step S100, and continues fine-tuning learning of the decoder model M2 using the new subset data as learning data.
[0114] On the other hand, if the number of updates of the decoder model parameters 17B is equal to or greater than the specified number of times, the fine-tuning learning process shown in FIG. 8 is terminated.
[0115] <Prediction of Solar Radiation Amount> Up to this point, the machine learning of the encoder model M1 and the decoder model M2 has been described. Hereinafter, a prediction process will be described in which the machine-learned encoder model M1 and decoder model M2 are used to predict the future solar radiation amount at a specified position.
[0116] Fig. 10 is a diagram showing an example of the functional configuration of the observation data prediction device 10 that predicts future solar radiation at a specified location. While Fig. 1 shows an example of the functional configuration focusing on the learning function of the observation data prediction device 10, Fig. 10 shows an example of the functional configuration focusing on the prediction function that predicts future solar radiation at a specified location.
[0117] 10, an observation data prediction device 10 having a prediction function includes functional units, an output unit 9, a data set input unit 11, a sampling unit 12, an encoder model unit 14, a decoder model unit 16, a storage unit 17, a receiving unit 18, and a prediction unit 19. Here, configurations that differ from the example functional configuration shown in FIG. 1 will be described, and descriptions of the same configurations will be omitted.
[0118] The reception unit 18 receives from the user a location for which the amount of solar radiation is to be predicted, i.e., a designated location, and a future time for which the amount of solar radiation at the designated location is to be predicted, i.e., a designated time. The designated time and designated location received by the reception unit 18 are referred to as "target information." The reception unit 18 passes the target information received from the user to the sampling unit 12 and the prediction unit 19.
[0119] The sampling unit 12 refers to the target information received from the receiving unit 18 and identifies the range that will affect the amount of solar radiation at the specified position at the specified time. If the specified time is X hours later, the range that will affect the amount of solar radiation at the specified position is a radius SX [km] centered on the specified position. As already explained, "S" is the maximum theoretical movement speed of clouds [km / h].
[0120] Therefore, the sampling unit 12 samples records observed at observation points located within a radius SX [km] of the specified position from the dataset acquired from the dataset input unit 11. In this case, the sampling unit 12 generates subset data so that the positions from which each sampled record was obtained approximate a uniform distribution. The sampling unit 12 passes the generated subset data to the prediction unit 19.
[0121] The prediction unit 19 sets a time t for the subset data that is less than the specified time of the target information, and inputs records of the subset data having a time up to the time t to the encoder model M1. As a result, the output of the encoder layer 20 in the encoder model M1 is input as a key to the attention layer 33 of the decoder model M2.
[0122] Meanwhile, the prediction unit 19 inputs the specified time and specified position of the target information to the decoder model M2. The decoder model M2 is a model that has undergone machine learning so that when the output of the encoder layer 20 in the encoder model M1 and time and position information are input to the decoder model M2, the decoder model M2 outputs the amount of solar radiation at the specified time and position information input to the decoder model M2. Therefore, the decoder model M2 outputs the amount of solar radiation at the specified position at the specified time. The amount of solar radiation output by the decoder model M2 is the predicted amount of solar radiation at the specified position at the specified time. The prediction unit 19 passes the predicted amount of solar radiation to the output unit 9.
[0123] The output unit 9 outputs the predicted amount of solar radiation received from the prediction unit 19. For example, the output unit 9 displays the predicted amount of solar radiation on the display unit 4. Note that the method of outputting the predicted amount of solar radiation is not limited to displaying it on the display unit 4. For example, forms of outputting the predicted amount of solar radiation include transmitting the predicted amount of solar radiation to an external device via the communication unit 2 and storing the predicted amount of solar radiation in a storage medium such as a user-readable portable memory.
[0124] 11 is a flowchart showing an example of the flow of the prediction process executed in the observation data prediction device 10 when, for example, a solar radiation prediction instruction is received from a user. The CPU 1A reads an observation data prediction program stored in the nonvolatile memory 1C and executes the prediction process. Note that the nonvolatile memory 1C is assumed to have stored in advance a dataset and machine-learned encoder model parameters 17A and decoder model parameters 17B.
[0125] In step S200, the CPU 1A receives, from the user via the input unit 3, target information for predicting the amount of solar radiation.
[0126] In step S210, CPU 1A identifies a range that will affect the amount of solar radiation at the specified time at the specified location of the target information based on the maximum theoretical cloud movement speed S [km / h] and the period from the current time to the specified time. CPU 1A selects observation points from which to acquire records from observation points within the identified range centered on the specified location so that the positions of the observation points of the records included in the subset data approach a uniform distribution. CPU 1A then generates subset data by sampling from the dataset records observed at the selected observation points up to a time t that is less than the specified time.
[0127] In step S220, the CPU 1A reads the encoder model parameters 17A and the decoder model parameters 17B from the nonvolatile memory 1C, and constructs an encoder model M1 and a decoder model M2 in the RAM 1B.
[0128] The CPU 1A inputs the subset data generated by the processing of step S210 to the encoder model M1. As a result, the output of the encoder layer 20 is input to the decoder model M2. The CPU 1A also inputs the designated time and designated position of the target information to the decoder model M2. The predicted amount of solar radiation at the designated time at the designated position is obtained from the decoder model M2 to which the output of the encoder layer 20 and the designated time and designated position of the target information have been input.
[0129] In step S230, CPU 1A outputs the predicted amount of solar radiation obtained by the process of step S220. This completes the prediction process shown in FIG.
[0130] In this way, the observation data prediction device 10 predicts the amount of solar radiation at a specified time at a specified location using subset data generated by selecting records that satisfy predetermined conditions from the dataset based on the target information. Therefore, the observation data prediction device 10 improves the accuracy of predicting the amount of solar radiation compared to when a dataset containing the amount of solar radiation observed at each observation point is used as is.
[0131] Note that a user may wish to prioritize reducing the amount of calculation required to predict solar radiation over the accuracy of the solar radiation prediction. In such a case, the observation data prediction device 10 may be configured such that the dataset input unit 11 of the observation data prediction device 10 shown in FIG. 10 does not pass the dataset to the sampling unit 12, but passes the dataset directly to the prediction unit 19. The reception unit 18 also does not pass the target information to the sampling unit 12, but passes the target information only to the prediction unit 19. The prediction unit 19 treats the dataset received from the dataset input unit 11 as subset data and predicts the solar radiation using the method already described.
[0132] The observation data prediction device 10 can omit the generation of subset data in the sampling unit 12, thereby reducing the amount of calculation required to predict solar radiation compared to when subset data is generated by sampling records that satisfy predetermined conditions.
[0133] That is, the observation data prediction device 10 may predict the amount of solar radiation without necessarily using the function of the sampling unit 12 .
[0134] In the above embodiment, a configuration has been described in which self-supervised learning, fine-tuning learning, and solar radiation prediction are performed in the same observation data prediction device 10. However, self-supervised learning and fine-tuning learning may be performed in an external device. In this case, the observation data prediction device 10 simply receives the encoder model parameters 17A and the decoder model parameters 17B obtained by the self-supervised learning and fine-tuning learning from the external device and stores them in the storage unit 17.
[0135] While one form of the observation data prediction device 10 has been described above using the embodiment, the disclosed form of the observation data prediction device 10 is merely an example, and the form of the observation data prediction device 10 is not limited to the scope described in the embodiment. Various changes or improvements can be made to the embodiment without departing from the gist of the present disclosure, and forms incorporating such changes or improvements are also included in the technical scope of the disclosure.
[0136] In the above embodiment, as an example, the processes shown in Figures 6, 8, and 11 are implemented by software. However, processes equivalent to those shown in the flowcharts of the processes may be implemented by hardware. In this case, the processing speed can be increased compared to when the processes are implemented by software.
[0137] In the above embodiment, the processes executed by the CPU 1A after reading the software (program) may be executed by various processors other than the CPU 1A. Examples of such processors include a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacture, such as an FPGA (Field-Programmable Gate Array), and a dedicated electrical circuit, such as an ASIC (Application Specific Integrated Circuit), which is a processor having a circuit configuration designed specifically to execute a specific process. Each process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). The hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
[0138] In the above embodiment, the observation data prediction program is pre-stored (installed) in the non-volatile memory 1C, but the present disclosure is not limited to this. The observation data prediction program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The observation data prediction program may also be downloaded from an external device via a communication line. The present disclosure is also applicable to programs and program products.
[0139] The following additional notes are provided regarding the above-described embodiments.
[0140] (Supplementary Item 1) A data set including a receiving unit that receives designated time and designated position information, a sampling unit that samples, as subset data, each of the records that satisfy a predetermined condition from a data set including time information, position information, and records that associate observation values observed at a time indicated by the time information at a position indicated by the position information, and a data set including the records that satisfy a predetermined condition from the data set, and a data set including the records that correspond to ... and a prediction unit configured to, when inputting an output of an encoder layer in the encoder model and the time information and the position information of the record after time t selected from the learning data used to input the encoder model, predict the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information, when inputting the output of the encoder layer in the encoder model to which the subset data has been input and the specified time and specified position information accepted by the accepting unit into the decoder model, the decoder model having undergone machine learning using the learning data so as to output the observation value of the record selected from the learning data.
[0141] (Supplementary Item 2) The observation data prediction device according to Supplementary Item 1, wherein the sampling unit samples the subset data from the data set so that the positions represented by the position information of each of the records constituting the subset data approach a uniform distribution.
[0142] (Supplementary Item 3) The observation data prediction device described in Supplementary Item 1 or Supplementary Item 2, wherein the sampling unit uses the specified time and the specified location information to identify a geographical range that will affect the observation value predicted by the prediction unit, and samples each of the records from the dataset whose location represented by the location information is included in the geographical range as the subset data.
[0143] (Supplementary Item 4) A computer receives designated time and designated position information, samples each of the records that satisfy a predetermined condition as subset data from a data set including records that associate time information, position information, and observed values observed at the time indicated by the time information at the position indicated by the position information, inputs the subset data to an encoder model that has been machine-learned using the training data so that, when the record that is included in training data that is the subset data for learning and that is prior to a specific time t is input, the encoder model outputs the observed value at a time after the time t at the position indicated by the position information of the input record, and an observation data prediction program for executing a process to predict the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information, when the output of the encoder layer in the encoder model and the time information and the position information of the record after time t selected from the learning data used to input the encoder model are input to the decoder model, which has been machine-learned using the learning data so that the decoder model outputs the observation value of the record selected from the learning data, and when the output of the encoder layer in the encoder model to which the subset data has been input and the received specified time and specified position information are input to the decoder model.
[0144] (Supplementary Item 5) A system includes a processor, wherein the processor receives designated time and designated position information, samples each of the records that satisfy a predetermined condition from a dataset including records that associate time information, position information, and observed values observed at the time indicated by the time information at the position indicated by the position information, as subset data, and inputs the subset data to an encoder model that has been machine-learned using the training data so that, when the record that is included in training data that is the subset data for training and that is prior to a specific time t is input, the encoder model outputs the observed value at a time after the time t at the position indicated by the position information of the input record, and an observation data prediction device that, when inputting the output of the encoder layer in the encoder model and the time information and the position information of the record after time t selected from the learning data used to input the encoder model, predicts the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information, when inputting the output of the encoder layer in the encoder model to which the subset data has been input and the received specified time and specified position information, the decoder model has been subjected to machine learning using the learning data so as to output the observation value of the record selected from the learning data.
[0145] (Supplementary Item 6) A non-transitory storage medium storing a program executable by a computer to execute a prediction process, the prediction process comprising: a receiving step of receiving designated time and designated position information; a sampling step of sampling, as subset data, each of the records that satisfy a predetermined condition from a dataset including time information, position information, and records that associate observation values observed at the time indicated by the time information at the position indicated by the position information; and a step of inputting the subset data into an encoder model that has been machine-learned using the training data so that, when a record that is included in training data that is the subset data for learning and that is prior to a specific time t is input, the encoder model outputs the observation value at a time after the time t at the position indicated by the position information of the input record, and a prediction step of, when inputting an output of an encoder layer in the encoder model and the time information and the position information of the record after time t selected from the learning data used to input the encoder model, into a decoder model that has been machine-learned using the learning data so as to output the observation value of the record selected from the learning data, predicting, when inputting the output of the encoder layer in the encoder model to which the subset data has been input and the received specified time and specified position information, the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information.
[0146] (Supplementary Item 7) A computer receives designated time and designated position information, samples each of the records that satisfy a predetermined condition as subset data from a data set including records that associate time information, position information, and observed values observed at the time indicated by the time information at the position indicated by the position information, inputs the subset data to an encoder model that has been machine-learned using the training data so that, when the record that is included in training data that is the subset data for learning and that is prior to a specific time t is input, the encoder model outputs the observed value at a time after the time t at the position indicated by the position information of the input record, and a decoder model that has been machine-learned using the training data so that, when input with the output of the encoder layer in the encoder model and the time information and the position information of the record after time t selected from the training data used to input the encoder model, the decoder model outputs the observation value of the record selected from the training data; and when input with the output of the encoder layer in the encoder model to which the subset data has been input and the received specified time and specified position information, the decoder model predicts the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information.
[0147] an encoder model that has been machine-learned using the training data to output an observed value at a time after time t at a position represented by the position information of the input record when a new dataset is input, the encoder model having been machine-learned using the training data, the encoder model being generated from a dataset that associates time information, position information, and observation values observed at a position represented by the position information with a time represented by the time information; and a decoder model that has been machine-learned using the training data to output an observed value of the record selected from the training data when an output of an encoder layer in the encoder model and the time information and position information of the record after time t selected from the training data used for input to the encoder model are input, the decoder model being machine-learned using the training data to output the observed value of the record selected from the training data when the decoder model is input with the output of the encoder layer in the encoder model to which the new dataset has been input, and the specified time and the specified position information received by the receiver, predict the observed value output from the decoder model as the observed value at the specified time at the position represented by the specified position information.
[0148] (Supplementary Item 9) An observation data prediction program for causing a computer to execute a process of receiving designated time and designated position information, and causing a computer to execute a process of predicting the observation value output from the decoder model as the observation value at the designated time at the position represented by the designated position information when the computer receives time information, position information, and a record of training data prior to a specific time t generated from a dataset that associates observation values observed at the time represented by the time information at the position represented by the position information of the input record, inputting a new dataset into an encoder model that has been machine-learned using the training data so as to output an observation value at a time after time t at the position represented by the position information of the input record, and inputting an output of an encoder layer in the encoder model and the time information and the position information of the record after time t selected from the training data used for input to the encoder model,
[0149] (Supplementary Item 10) An observation data prediction device including: a sampling unit that samples, as subset data, each of the records that satisfy a predetermined condition from a data set that includes time information, position information, and records that associate observation values observed at times represented by the time information at positions represented by the position information; and a self-supervised learning unit that performs machine learning using the training data such that, when the record that is included in training data that is the subset data for learning and that is prior to a specific time t is input to an encoder model, the encoder model outputs the observation value at a time after the time t at the position represented by the position information of the input record.
[0150] (Supplementary Item 11) An observation data prediction program for causing a computer to execute a process of performing machine learning using the training data, by sampling each of the records that satisfy a predetermined condition from a dataset including time information, position information, and records that associate observation values observed at a time represented by the time information at a position represented by the position information, as subset data, and by inputting the record before a specific time t included in training data that is the subset data for learning into an encoder model, so that the encoder model outputs the observation value at a time after time t at the position represented by the position information of the input record.
[0151] (Supplementary Item 12) An observation data prediction device including: a sampling unit that samples, as subset data, each of the records that satisfy a predetermined condition from a dataset that includes time information, position information, and records that associate observation values observed at positions represented by the position information with times represented by the time information; and a fine-tuning learning unit that inputs the subset data obtained by the sampling unit into an encoder model that has been machine-learned using the training data, when a record that is earlier than a specific time t included in training data that is the subset data for training is input, the encoder model outputs the observation value at a time after the time t at the position represented by the position information of the input record; and a fine-tuning learning unit that performs machine learning using the training data, when an output of an encoder layer in the encoder model and the time information and the position information of the record after the time t selected from the training data used to input the encoder model are input to a decoder model, the decoder model outputs the observation value of the record selected from the training data.
[0152] (Supplementary Item 13) An observation data prediction program for causing a computer to execute a process of performing machine learning using training data, the process comprising: sampling, as subset data, each of the records that satisfy a predetermined condition from a dataset including time information, position information, and records that associate observation values observed at a position represented by the position information at a time represented by the time information; inputting the subset data into an encoder model that has been machine-learned using the training data so that, when a record that is earlier than a specific time t included in training data that is the subset data for training is input, the encoder model outputs the observation value at a time after time t at the position represented by the position information of the input record; and inputting, into a decoder model, an output of an encoder layer in the encoder model and the time information and the position information of the record after time t selected from the training data used to input the encoder model, the decoder model outputs the observation value of the record selected from the training data.
Claims
1. A receiving unit that receives specified time and specified location information; a sampling unit that samples, as subset data, each of the records that satisfy a predetermined condition from a data set that includes time information, location information, and records that associate observation values observed at the time indicated by the time information at the location indicated by the location information; and inputting the subset data obtained by the sampling unit into an encoder model that has been machine-learned using the learning data so that, when a record that is included in learning data and that is prior to a specific time t is input, the encoder model outputs the observation value at a time after the time t at the location indicated by the location information of the input record, and and a prediction unit configured to, when inputting an output of an encoder layer in the encoder model and the time information and the position information of the record after time t selected from the learning data used to input the encoder model, predict the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information, when inputting the output of the encoder layer in the encoder model to which the subset data has been input and the specified time and specified position information accepted by the accepting unit into the decoder model, the decoder model having undergone machine learning using the learning data so as to output the observation value of the record selected from the learning data.
2. The observation data prediction device according to claim 1, wherein the sampling unit samples the subset data from the data set so that the positions represented by the position information of each of the records constituting the subset data approximate a uniform distribution.
3. The observation data prediction device described in claim 1 or claim 2, wherein the sampling unit uses the specified time and the specified location information to identify a geographical range that affects the observation value predicted by the prediction unit, and samples each of the records from the dataset whose location represented by the location information is included in the geographical range as the subset data.
4. A computer receives designated time and designated position information, samples each of the records that satisfy a predetermined condition from a dataset including time information, position information, and records that associate observation values observed at the time indicated by the time information at the position indicated by the position information as subset data, and inputs the subset data to an encoder model that has been machine-learned using the training data so that, when the record that is included in training data and that is the subset data for learning and that is prior to a specific time t is input, the encoder model outputs the observation value at a time after the time t at the position indicated by the position information of the input record, and an observation data prediction program for executing a process to predict the observation value output from the decoder model as the observation value at the specified time at the position represented by the specified position information, when the output of the encoder layer in the encoder model and the time information and the position information of the record after time t selected from the learning data used to input the encoder model are input to the decoder model, which has been machine-learned using the learning data so that the decoder model outputs the observation value of the record selected from the learning data, and when the output of the encoder layer in the encoder model to which the subset data has been input and the received specified time and specified position information are input to the decoder model.
Citation Information
Patent Citations
Heatwave prediction system using learning based on cluster analysis by land cover
KR102297183B1
Learning model generation method, computer program, microwave radiometer and estimation method
WO2022239417A1
A method for forecasting wind parameters in an area of interest
WO2023152151A1