Prediction program, prediction method, and information processing device
Patent Information
- Application Number
- JP2023132279
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-15
- Publication Date
- 2025-02-28
AI Technical Summary
【0010】 1態様によれば、約定価格の予測精度が向上する。
Smart Images

Figure 2025027505000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a prediction program, a prediction method, and an information processing device. [Background technology]
[0002] Power exchanges act as intermediaries in the buying and selling of electricity between power generation companies and power retailers. Power exchanges use a computer system (trading system) to mediate the buying and selling of electricity. One of the transactions that takes place at power exchanges is the spot market. In the spot market, for example, the trading system divides a day into measurement units (e.g., 30 minutes) and accepts selling bids for electricity from power generation companies and buying bids for electricity from retailers for each time slot (delivery time slot) that is the length of the measurement unit. After the trading system finishes accepting orders, it determines the contract price based on the status of the selling bids and the buying bids.
[0003] The contract price and contract quantity are determined based on the supply curve, which shows the relationship between the quantity of sell orders and the price, and the demand curve, which shows the relationship between the quantity of buy orders and the price. Therefore, if the supply curve and the demand curve for a specific delivery time are known in advance, the contract price can be accurately estimated.
[0004] In response to this, for example, an energy trading support device that appropriately determines useful demand and supply curves has been proposed. Also, a bidding support method that predicts demand and supply curves for discontinuous behavior such as market fragmentation has been proposed.
[0005] Technologies to assist in electricity trading include decision support systems that minimize the difference between purchasing and selling power and maximize profits, as well as systems for forecasting energy usage data for one or more markets. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2016-33801 A [Patent Document 2] JP 2020-184176 A [Patent Document 3] US Patent Application Publication No. 2014 / 0081704 [Patent Document 4] US Patent Application Publication No. 2016 / 0055507 Summary of the Invention [Problem to be solved by the invention]
[0007] However, in the conventional technology, the prediction accuracy of the demand curve or the supply curve for a future time period is low, and the prediction accuracy of the contract price determined based on the demand curve and the supply curve is insufficient. Note that the problem of insufficient prediction accuracy of the contract price also occurs in market transactions other than the electricity trading.
[0008] In one aspect, the present invention aims to improve the accuracy of predicting execution prices. [Means for solving the problem]
[0009] In one proposal, a prediction program is provided that causes a computer to execute the following processes. The computer determines an output value of a first time series model in which first data including a second contract price of a transaction in a second time period prior to the first time period is inputted into a first value of a first parameter included in a first model formula indicating the relationship between the price and volume of a selling bid intended for a transaction in the first time period, determines an output value of a second time series model in which second data including a second contract price of a transaction in a second time period prior to the first time period is inputted into a second value of a second parameter included in a second model formula indicating the relationship between the price and volume of a buying bid intended for a transaction in the first time period, and predicts the first contract price in the first time period based on the first model formula in which the determined first value is set for the first parameter and the second model formula in which the determined second value is set for the second parameter. Effect of the Invention
[0010] According to one embodiment, the accuracy of predicting the contract price is improved. [Brief description of the drawings]
[0011] [Figure 1] FIG. 2 is a diagram illustrating an example of a prediction method according to the first embodiment. [Diagram 2] FIG. 13 illustrates an example of a configuration of a computer system according to a second embodiment. [Diagram 3] FIG. 2 is a diagram illustrating an example of hardware of a bidding computer. [Figure 4] FIG. 2 is a diagram showing an example of a supply curve and a demand curve. [Diagram 5] FIG. 13 is a diagram showing an example of contract prices for each delivery time slot. [Figure 6] FIG. 13 is a diagram illustrating an example of a method for predicting a supply curve. [Figure 7] FIG. 13 is a diagram showing an example of a forecast result of a contract price by a model for each time period. [Figure 8] FIG. 13 is a diagram showing an example of a function that a bidding computer has for predicting a supply and demand curve. [Figure 9] FIG. 2 is a diagram illustrating an example of transaction data. [Figure 10] FIG. 4 is a diagram illustrating an example of power data. [Figure 11] FIG. 4 is a diagram illustrating an example of weather data. [Figure 12] FIG. 4 is a diagram illustrating an example of model data. [Figure 13] 13 is a flowchart illustrating an example of a learning process procedure. [Figure 14] 13 is a flowchart illustrating an example of a procedure for a prediction process. [Figure 15] FIG. 13 is a diagram showing an example of a predicted result of an agreement price based on a price prediction model taking into account a time series. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, the present embodiment will be described with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments within a range that does not cause inconsistency. First Embodiment The first embodiment is a prediction method for estimating a contract price with high accuracy before a transaction in which the supply curve and the demand curve are not disclosed is executed.
[0013] Fig. 1 is a diagram showing an example of a prediction method according to a first embodiment. Fig. 1 shows an information processing device 10 for realizing the prediction method. The information processing device 10 can implement the prediction method by, for example, executing a predetermined prediction program.
[0014] The information processing device 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.
[0015] The storage unit 11 stores supply curve model data 1 and demand curve model data 2. The supply curve model data 1 is data indicating a machine learning model for predicting a supply curve. The supply curve model data 1 includes a first model formula 1a and a plurality of first time series models 1b, 1c, and 1d.
[0016] The first model formula 1a is a formula that indicates the relationship between the price and the amount of a sell bid intended for trading in a first time slot. The first model formula 1a includes a plurality of first parameters θ1, θ2, and θ3.
[0017] The first time series models 1b, 1c, and 1d are machine learning models using time series data for determining the first parameters θ1, θ2, and θ3. For example, the first time series models 1b, 1c, and 1d are models of a recurrent neural network (RNN). The time series data is, for example, a second contract price in a second time period prior to the first time period to be predicted.
[0018] The demand curve model data 2 is data showing a machine learning model for predicting a demand curve. The demand curve model data 2 includes a second model formula 2a and a plurality of second time series models 2b, 2c, and 2d.
[0019] The second model formula 2a is a formula showing the relationship between the price and the quantity of a buy bid for a transaction in a first time slot. The second model formula 2a includes a plurality of second parameters θ1', θ2', θ3'. The plurality of second time series models 2b, 2c, 2d are machine learning models using time series data for determining the plurality of second parameters θ1', θ2', θ3', respectively. For example, the plurality of second time series models 2b, 2c, 2d are RNN models. The time series data is, for example, a second contract price in a second time slot prior to the first time slot to be predicted.
[0020] The processing unit 12 predicts the first contract price in the first time slot using the supply curve model data 1 and the demand curve model data 2. For example, the processing unit 12 determines the output values of the first time series models 1b, 1c, and 1d to which the first data including the second contract price of the transaction in the second time slot is input as the first values of the first parameters θ1, θ2, and θ3 included in the first model formula 1a. The processing unit 12 also determines the output values of the second time series models 2b, 2c, and 2d to which the second data including the second contract price of the transaction in the second time slot is input as the second values of the second parameters θ1', θ2', and θ3' included in the second model formula 2a.
[0021] The processing unit 12 sets the first value determined using the first time series models 1b, 1c, and 1d to the first parameters θ1, θ2, and θ3 of the first model formula 1a. The processing unit 12 also sets the second value determined using the second time series models 2b, 2c, and 2d to the second parameters θ1', θ2', and θ3' of the second model formula 2a. The processing unit 12 then predicts the first contract price in the first time zone based on the first model formula 1a and the second model formula 2a in which the parameter values have been set.
[0022] For example, the processing unit 12 generates a supply curve (indicating the relationship between the quantity and price of selling bids) based on the first model formula 1a, and generates a demand curve (indicating the relationship between the quantity and price of buying bids) based on the second model formula 2a. The processing unit 12 predicts the price at the intersection of the supply curve and the demand curve as the contract price.
[0023] In this way, the processing unit 12 determines the values of the parameters included in the first model formula 1a and the second model formula 2a as the inference result of the model using the time series data, so that the first model formula 1a and the second model formula 2a are formulas that reflect the state of the time series data. Therefore, by the processing unit 12 predicting the contract price based on the first model formula 1a and the second model formula 2a, it is possible to predict a highly accurate contract price that reflects the influence of the time series data.
[0024] The predicted contract price is used as reference information when determining, for example, the time period during which bidders will place bids, the amount of bids, and the price of bids. The accuracy of the contract price depends on the prediction accuracy of the first parameters θ1, θ2, θ3 and the second parameters θ1', θ2', θ3' by the first time series models 1b, 1c, 1d and the second time series models 2b, 2c, 2d. Therefore, it is desirable that the first time series models 1b, 1c, 1d and the second time series models 2b, 2c, 2d are sufficiently trained.
[0025] When learning the first time series models 1b, 1c, 1d and the second time series models 2b, 2c, 2d, the processing unit 12 acquires a third contract price of a trade that is concluded for a trading object in a first time zone. Then, the processing unit 12 learns the first time series models 1b, 1c, 1d and the second time series models 2b, 2c, 2d based on the acquired third contract price and the predicted first contract price. For example, the processing unit 12 updates the values of the weight parameters of the first time series models 1b, 1c, 1d and the second time series models 2b, 2c, 2d so that the first contract price approaches the third contract price.
[0026] By learning the first time series models 1b, 1c, and 1d and the second time series models 2b, 2c, and 2d in this manner, it is possible to improve the prediction accuracy of the contract price. An example of a trading target is electricity. The demand for electricity is affected by temperature, the day of the week, or the power usage rate. The supply of electricity varies according to the demand, and therefore the supply is also affected by temperature, the day of the week, or the power usage rate.
[0027] Therefore, the processing unit 12 also reflects information on temperature and day of the week in predicting the contract price. The temperature is the predicted temperature on the day (delivery day) to which the first time slot belongs, or the temperature on the day (trading day) when the contract is confirmed. The day of the week is the day to which the first time slot belongs. The power usage rate is the predicted power usage rate on the delivery day, or the power usage rate on the trading day.
[0028] For example, the processing unit 12 determines the first value using first time series models 1b, 1c, and 1d that receive as input first data including one or more of data indicating temperature, data indicating day of the week, and data indicating power usage rate. Similarly, the processing unit 12 determines the second value using second time series models 2b, 2c, and 2d that receive as input second data including one or more of data indicating temperature, data indicating day of the week, and data indicating power usage rate. This makes it possible to predict the contract price with high accuracy, taking into account the influence of temperature, day of the week, or power usage rate.
[0029] In addition, when the contract volume approaches the total selling bid volume, the contract price rises sharply. Therefore, the processing unit 12 may reflect information on the difference between the total selling bid volume and the contract volume in determining the value of at least one first parameter.
[0030] For example, the processing unit 12 estimates the first value using a first time series model that uses as input data including the minimum value of the difference between the total selling bid volume and the contract volume among other trading time periods on the same day as the first time period. This allows the first value that takes into account the difference between the total selling bid volume and the contract volume to be obtained, and a highly accurate contract price can be obtained by predicting the contract price using the first model formula 1a in which this value is set.
[0031] Second Embodiment The second embodiment is a computer system that generates a model for estimating the demand curve and the supply curve in the day-ahead market (spot market) for electricity trading with high accuracy, and predicts the contract price using the model.
[0032] 2 is a diagram showing an example of the configuration of a computer system according to the second embodiment. In the computer system, a plurality of bidding computers 100, 100a, . . ., a trading system 200, a power information server 300, and a weather information server 400 are connected to a network 20.
[0033] The multiple bidding computers 100, 100a,... are computers used for bidding by the power generation company 31 or the power retailer 32. For example, the power generation company 31 uses the bidding computer 100, and the retailer 32 uses the bidding computer 100a.
[0034] The trading system 200 is a computer that determines an agreement price for each delivery time slot and executes an agreement between selling orders and buying orders submitted within each delivery time slot. The trading system 200 acquires selling orders for electricity from a bidding computer 100 used by, for example, a power generation company 31, and acquires buying orders for electricity from a bidding computer 100a used by a retail company 32. The trading system 200 obtains a supply curve and a demand curve based on the selling orders and buying orders, and determines the intersection of these curves as the contract amount and the contract price.
[0035] The power information server 300 is a computer that provides data on the power usage status. For example, the power information server 300 provides power information indicating the power usage rate for each date in response to a request from the bidding computers 100, 100a, . . .
[0036] The weather information server 400 is a computer that provides data related to weather information. For example, the weather information server 400 provides weather data indicating temperatures for each date in response to requests from the bidding computers 100, 100a, . . .
[0037] Such computer systems are used to conduct spot trading of electricity. For example, in the case of the one-day-ahead market, the trading day is the day before the day on which electricity is bought and sold (delivery date), and the contract price is determined on the trading day, and the transaction is concluded.
[0038] In spot trading of electricity, if the power generation company 31 can accurately estimate the contract price in each delivery time slot on the delivery day before the transaction day, the power generation company 31 can sell the generated electricity at a high price by placing a sell order in the delivery time slot when the contract price is high. Also, if the retail business operator 32 can accurately estimate the contract price in each delivery time slot on the delivery day before the transaction day, the retail business operator 32 can purchase electricity at a low price by placing a buy order in the delivery time slot when the contract price is low. Therefore, the bidding computers 100, 100a,... predict the contract price using AI (Artificial Intelligence).
[0039] FIG. 3 is a diagram showing an example of hardware of a bidding computer. The bidding computer 100 is entirely controlled by a processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), or a digital signal processor (DSP). At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an application specific integrated circuit (ASIC) or a programmable logic device (PLD).
[0040] The memory 102 is used as a main storage device of the bidding computer 100. The memory 102 temporarily stores at least a part of the OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 also stores various data used for processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.
[0041] The peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
[0042] The storage device 103 electrically or magnetically writes and reads data to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for the bidding computer 100. The storage device 103 stores an OS program, application programs, and various data. Note that, for example, a hard disk drive (HDD) or a solid state drive (SSD) can be used as the storage device 103.
[0043] The GPU 104 is an arithmetic device that performs image processing. The GPU 104 is an example of a graphic controller. The monitor 21 is connected to the GPU 104. The GPU 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. The monitor 21 may be a display device using an organic EL (Electro Luminescence) display device or a liquid crystal display device.
[0044] The input interface 105 is connected to the keyboard 22 and the mouse 23. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. Note that the mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
[0045] The optical drive device 106 uses a laser beam or the like to read data recorded on the optical disc 24 or write data to the optical disc 24. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disc 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), etc.
[0046] The device connection interface 107 is a communication interface for connecting peripheral devices to the bidding computer 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27. The memory card 27 is a card-type recording medium.
[0047] The network interface 108 is connected to the network 20. The network interface 108 transmits and receives data to and from other computers or communication devices via the network 20. The network interface 108 is a wired communication interface that is connected by a cable to a wired communication device such as a switch or a router. The network interface 108 may also be a wireless communication interface that is communicatively connected by radio waves to a wireless communication device such as a base station or an access point.
[0048] The bidding computer 100 can realize the processing functions of the second embodiment by the above hardware. The other bidding computers 100a,..., the trading system 200, the power information server 300, and the weather information server 400 can also be realized by the same hardware as the bidding computer 100. In addition, the information processing device 10 shown in the first embodiment can also be realized by the same hardware as the bidding computer 100.
[0049] The bidding computer 100 realizes the processing function of the second embodiment by executing a program recorded in, for example, a computer-readable recording medium. The program describing the processing contents to be executed by the bidding computer 100 can be recorded in various recording media. For example, the program to be executed by the bidding computer 100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the bidding computer 100 can also be recorded in a portable recording medium such as the optical disk 24, the memory device 25, or the memory card 27. The program stored in the portable recording medium becomes executable after being installed in the storage device 103 under the control of, for example, the processor 101. The processor 101 can also read and execute the program directly from the portable recording medium.
[0050] Next, we will explain the difficulty of predicting supply and demand curves. Fig. 4 is a diagram showing an example of a supply curve and a demand curve. In the graph 40 shown in Fig. 4, the horizontal axis represents the amount of selling bids or buying bids, and the vertical axis represents the price.
[0051] Supply curve 41 is a curve showing the relationship between the quantity and price of selling bids. For example, when selling bids are arranged in ascending order of price and the amount of energy bids are added up from the top selling bid, the supply curve 41 shows the amount after the addition and the price of the last selling bid added. The sum of the amounts of energy of all selling bids is the total selling bid amount.
[0052] Demand curve 42 is a curve showing the relationship between the quantity and price of purchase bids. For example, when purchase bids are arranged in order of price from highest to lowest and the amount of energy bids bid from the top of the purchase bids are added up, the amount after the addition and the price of the last added purchase bid are represented by demand curve 42. The sum of the amounts of energy of the purchase bids is the total purchase bid amount.
[0053] The intersection 43 between the supply curve 41 and the demand curve 42 indicates the contract quantity and the contract price. In other words, the quantity value at the intersection 43 is the contract quantity, and the price value is the contract price. Buying and selling is carried out, for example, using a single price method. In that case, a transaction is made at the contract price for a sell bid lower than the contract price and a buy bid higher than the contract price.
[0054] At a predetermined time on a trading day, the trading system 200 determines the contract price for each delivery time slot on the following day (delivery day). FIG. 5 is a diagram showing an example of contract prices for each delivery time slot. Graph 51 is a graph showing the bidding situation for a 30-minute delivery time slot from 8 p.m. Graph 52 is a graph showing the bidding situation for a 30-minute delivery time slot from 9 p.m. Graph 53 is a graph showing the bidding situation for a 30-minute delivery time slot from 10 p.m. Graph 54 is a graph showing the bidding situation for a 30-minute delivery time slot from 11 p.m. In each of graphs 51 to 54, the intersection of the supply curve and the demand curve is indicated by a circle.
[0055] In the delivery time shown in graph 51, the difference between the total selling bid amount and the total buying bid amount is small. In the example of graph 51, the supply curve and the demand curve intersect near the middle of each curve. In the delivery time shown in graph 52, the total selling bid amount is insufficient relative to the total buying bid amount. Therefore, in the example of graph 52, the intersection point between the supply curve and the demand curve is further to the left (the contract amount is smaller) than in the case of graph 51. In the delivery time shown in graph 53, the total selling bid amount is significantly insufficient relative to the total buying bid amount. Therefore, in the example of graph 53, the intersection point between the supply curve and the demand curve is significantly shifted to the left, resulting in a smaller contract amount and a higher contract price. In the delivery time shown in graph 54, the total buying bid amount is insufficient relative to the total selling bid amount. Therefore, in the example of graph 54, the intersection point between the supply curve and the demand curve is shifted to the right, resulting in a larger contract amount and a lower contract price.
[0056] As shown in Fig. 5, the supply curve and the demand curve are transformed according to the total selling bid volume and the total buying bid volume, and the contract volume and the contract price are determined according to the transformed supply curve and the demand curve. In the trading system 200, the contract volume, the contract price, the total selling bid volume, and the total buying bid volume are made public as trading data, but the supply curve and the demand curve are not made public. If the supply curve and the demand curve are known, it will be possible to accurately predict the contract volume and the contract price. Therefore, it is conceivable to create a prediction model that estimates the supply curve and the demand curve based on the publicly available trading data.
[0057] It is assumed that the demand for electricity is affected by the time, day of the week, and temperature. If it is known that the demand is affected by the time, day of the week, and temperature, the power generation company 31 is expected to make a selling bid during the delivery time slot with the highest demand, depending on the time, day of the week, and temperature. Then, the supply curve will also be affected by the time, day of the week, and temperature.
[0058] Fig. 6 is a diagram showing an example of a method for predicting a supply curve. For example, a supply curve can be estimated based on transaction data of transactions with the same time period in one day as the delivery time period. In the example of Fig. 6, the supply curve for the delivery time period corresponding to the time period from 8:00 pm to 30:00 pm on each day of the year is estimated.
[0059] Graphs 61a to 61n show the contract quantity, contract price, and total selling bid quantity shown in the transaction data for each delivery time slot. In graphs 61a to 61n, the horizontal axis is quantity and the vertical axis is price. The circles in graphs 61a to 61n are the intersections of the supply curve and the demand curve, and the positions of these intersections show the contract quantity and contract price. The vertical dashed lines in graphs 61a to 61n show the total selling bid quantity.
[0060] In graph 62, the horizontal axis is "contract amount / total selling bid amount" and the vertical axis is price. In graph 62, circles are shown at positions indicating the relationship between "contract amount / total selling bid amount" and "contract price" in the delivery time slots corresponding to graphs 61a to 61n. By fitting the "contract amount / total selling bid amount-price curve" to the positions of the plotted circles as a function, it is possible to estimate a model for calculating the contract price, "contract price=f(contract amount / total selling bid amount)."
[0061] The height of the minimum value (price) of the model obtained depends on the temperature and day of the week during the delivery time. Therefore, a term that changes the price depending on the day of the week and temperature is added to the equation that represents the model. For example, the following model is generated.
[0062]
number
[0063] "price" is the contract price. θ={θ1,θ2,θ3,θ4,θ5,...,θ 12} are the parameters to be learned. ρ is a preset constant. x is the quantity. "Total Sell" is the total amount of sell bids. "Temp" is the temperature. "Mon,...,Sun" are variables that indicate the day of the week. The value of the variable corresponding to the day of the week on which the delivery date falls is "1", and the value of the variable for other days of the week is "0".
[0064] The model expressed by formula (1) takes the contract volume and the total selling bid volume as inputs, but if it is possible to predict that the total selling bid volume will be a predetermined value, then by fixing the total selling bid volume at that value, it will become a function that shows the relationship between the contract volume and the contract price. This function represents the estimated supply curve.
[0065] Such a model is generated for each time period obtained by dividing a day into a predetermined time (for example, in 30-minute units). Specifically, the value of the parameter θ is learned for each time period. In this way, a model that reflects the time of day, day of the week, and temperature is generated. However, in the model shown in formula (1), the value of parameter θ is fixed for each time period. In other words, even if the day for which the contract price is estimated is different, the same value of parameter θ is applied for the same time period. In this way, when the total selling bid volume can be easily predicted, the only variables that differ depending on the day of the transaction are temperature and day of the week.
[0066] Fig. 7 is a diagram showing an example of the predicted results of the contract price using the model for each time period. Graph 63 shows a line indicating the contract price predicted using the model for each time period (predicted contract price) and the contract price confirmed in the actual transaction (actual contract price). The horizontal axis of graph 63 is time, and the vertical axis is price. The time is a value indicating the ordinal number of the delivery time period when each delivery time period (30 minutes) is arranged in chronological order.
[0067] Graph 64 shows an estimated supply curve for approximately the 350th delivery time slot in the time series, and the intersection of the supply curve and demand curve when the actual contract price is calculated. Graph 65 shows an estimated supply curve for approximately the 500th delivery time slot in the time series, and the intersection of the supply curve and demand curve when the actual contract price is calculated. In graphs 64 and 65, the horizontal axis is quantity and the vertical axis is price. In graphs 64 and 65, the estimated supply curve is far from the intersection of the actual supply curve and demand curve. In other words, it is difficult to accurately predict the contract price even if the estimated supply curve is used.
[0068] The reason why the time-of-day model has poor accuracy in predicting transaction prices is that time-series information is not effectively used. In other words, while supply curves generally change gradually over time (supply curves are similar in consecutive time periods), in a time-of-day model such as that shown in equation (1), the supply curve is the same for each day, and only its height changes depending on the temperature and day of the week. Therefore, the model shown in equation (1) cannot track changes in the shape of the supply curve over time (changes in trends and cyclical components), and the model's prediction accuracy is poor.
[0069] Therefore, in the second embodiment, in the bidding computers 100, 100a..., a model that reflects the time-series connection is generated to predict the supply curve or the demand curve. 8 is a diagram showing an example of functions that the bidding computer has for predicting a supply and demand curve. The bidding computer 100 has a memory unit 110, a bidding unit 120, a power information acquisition unit 130, a weather information acquisition unit 140, a learning unit 150, and a prediction unit 160.
[0070] The memory unit 110 stores transaction data 111, power data 112, weather data 113, and model data 114. The transaction data 111 is data related to confirmed transactions for each delivery time period. The power data 112 is information such as power usage rates. The weather data 113 is data related to weather such as temperature. The model data 114 is data indicating a machine learning model for predicting a supply curve or a demand curve.
[0071] The bidding unit 120 transmits information on selling bids or buying bids to the trading system 200 and places bids in the electricity trading market. The bidding unit 120 also obtains transaction data 111 related to the concluded transaction from the trading system 200 and stores it in the storage unit 110.
[0072] The power information acquiring unit 130 acquires power data 112 relating to the power usage rate and the like from the power information server 300, and stores the data in the memory unit 110. For example, the power information acquiring unit 130 transmits an acquisition request for the power data 112 to the power information server 300 at a predetermined time once a day. The power information server 300 transmits the power data 112 to the power information acquiring unit 130 in response to the acquisition request.
[0073] The weather information acquisition unit 140 acquires weather data 113 including information such as temperature from the weather information server 400, and stores it in the memory unit 110. For example, the weather information acquisition unit 140 transmits an acquisition request for the weather data 113 to the weather information server 400 at a predetermined time once a day. The weather information server 400 transmits the weather data 113 to the weather information acquisition unit 140 in response to the acquisition request.
[0074] The learning unit 150 learns a model for obtaining a supply curve or a demand curve, based on the transaction data 111, the power data 112, and the weather data 113. For example, the learning unit 150 performs model learning in response to an instruction from a user.
[0075] The prediction unit 160 predicts a supply curve or a demand curve for a given delivery time slot using the model, and predicts a contract price based on the predicted supply curve or demand curve.
[0076] The function of each element shown in FIG. 8 can be realized, for example, by causing the processor 101 to execute a program module corresponding to that element. Next, the information stored in storage unit 110 will be specifically described.
[0077] 9 is a diagram showing an example of transaction data. The transaction data 111 includes a plurality of transaction data 111a, 111b, etc. classified by delivery time slot. The transaction data 111a, 111b, etc. classified by delivery time slot include values of the target period of the delivery time slot, the contract amount, the contract price, the total selling bid amount, and the total buying bid amount.
[0078] 10 is a diagram showing an example of power data. In the power data 112, the power usage rate of a day is set in association with a date. The power usage rate shown in the power data 112 is, for example, a representative value (maximum value, average value, etc.) of the power usage rate that varies during a day.
[0079] 11 is a diagram showing an example of weather data. The temperature of a day is set in association with a date in the weather data 113. The temperature shown in the weather data 113 is, for example, a representative value (maximum value, average value, etc.) of the temperature that varies during a day.
[0080] 12 is a diagram showing an example of the model data 114. The model data 114 includes supply curve model data 114-1 and demand curve model data 114-2. The supply curve model data 114-1 includes a price forecast model 114a and a plurality of time series models 114b to 114d.
[0081] The price prediction model 114a is a model that calculates a contract price from the amount of electricity and the total amount of selling bids. The price prediction model 114a is expressed as a monotonically increasing function. For example, the price prediction model 114a is expressed by the following formula (2) using parameters θ1, θ2, and θ3.
[0082]
number
[0083] The right-hand side of equation (2) corresponds to the first and second terms on the right-hand side of equation (1) above. In other words, equation (2) is what you get by deleting the third and subsequent terms on the right-hand side of equation (1). The time series models 114b to 114d are, for example, RNNs, which are neural networks useful for predicting the next data to be obtained based on time series data.
[0084] The time series model 114b is a model that outputs the value of the parameter θ1 as a prediction result. The inputs of the time series model 114b are the contract price in the previous time period, the temperature on the previous day, the day of the week of the current day, and the power usage rate on the previous day.
[0085] The time series model 114c is a model that outputs the value of the parameter θ2 as a prediction result. The inputs of the time series model 114c are the contract price in the previous time period, the temperature on the previous day, the day of the week, and min (total selling bid amount on the day - contract amount on the day).
[0086] The time series model 114d is a model that outputs the value of the parameter θ3 as a prediction result. The inputs of the time series model 114d are the contract price in the previous time period, the temperature on the previous day, and the day of the week of the current day.
[0087] The contract price of the previous time slot is the contract price of the delivery time slot chronologically preceding the delivery time slot to be forecasted. By including the contract price of the previous time slot in the input, it becomes possible to make a forecast with a chronological connection.
[0088] The temperature of the previous day is a representative value (average, maximum, etc.) of the temperature on the trading day (the day before the delivery date). By including the temperature of the previous day in the input, it becomes possible to make a forecast that reflects the changes in electricity demand and power generation according to the temperature.
[0089] The day of the week for the current day is the day of the week on which the electricity to be traded is delivered. By including the day of the week for the current day in the input, it becomes possible to make forecasts that reflect the differences in electricity demand and generation for each day of the week. The power usage rate of the previous day is a representative value (average, maximum, etc.) of the power usage rate for the day of the transaction. By including the power usage rate of the previous day in the input, it becomes possible to make predictions that reflect price fluctuations such as when the power usage rate becomes excessive (e.g., 97% or more), leaving almost no power generation capacity and causing a sudden rise in the selling price.
[0090] min(total selling bids for that day - contracted amount for that day) is the minimum of the differences between the total selling bids and the contracted amount for each delivery time slot on the delivery day of the electricity to be traded. By including the minimum of total selling bids for that day - contracted amount for that day in the input, it becomes possible to make predictions that reflect price fluctuations (see graph 53 in Figure 5) where the price rises sharply as the contracted amount approaches the total selling bids.
[0091] The parameter θ used in the price prediction model 114a is predicted by the time series models 114b to 114d. Therefore, the value of the parameter θ is not fixed for each time period, but reflects trends and changes gradually. This makes it possible to predict a supply curve that follows the fluctuations in the situation that occur over time.
[0092] Like the supply curve model data 114-1, the demand curve model data 114-2 also includes one price prediction model and multiple time series models. The price prediction model for the demand curve is a model that calculates the contract price from the amount of electricity and the total amount of selling bids. The price prediction model for the demand curve is expressed by a monotonically decreasing function. When the total amount of buying bids is "Total Buy" and the amount of buying bids is x', the price prediction model is expressed by, for example, the following formula (3).
[0093]
number
[0094] In equation (3), "Total Sell" in equation (2) is replaced with "Total Buy" and x is replaced with "Total Buy-x'". The parameters θ1', θ2', and θ3' included in the price forecast model for the demand curve are also trained by the corresponding time series model (RNN) in the same manner as the parameters θ1, θ2, and θ3. The input of the time series model for obtaining the parameter θ1' is the same as that of the time series model 114b. The input of the time series model for obtaining the parameter θ2' is the same as that of the time series model 114c. The input of the time series model for obtaining the parameter θ3' is the same as that of the time series model 114d.
[0095] 13 is a flowchart showing an example of a procedure for a learning process. The process shown in FIG. 13 will be described below in order of step numbers. [Step S101] The learning unit 150 acquires from the storage unit 110 data on explanatory variables of the time series models 114b to 114d related to completed transactions (the transaction data 111, the power data 112, and the weather data 113).
[0096] [Step S102] The learning unit 150 calculates the value of the parameter θ using a time series model. For example, the learning unit 150 generates a data set of explanatory variables (the contracted price of the previous time slot, the temperature of the previous day, the day of the week of the current day, and the power usage rate of the previous day) for each of a plurality of delivery time slots for which a transaction has already been contracted. The learning unit 150 generates the data for the day of the week of the current day based on calendar information or the like. The learning unit 150 then performs calculations according to the time series model 114b using the data set for each contracted delivery time slot as input, and obtains an output value. The obtained output value becomes the value of the parameter θ1. As a result, the parameter θ1 for each contracted delivery time slot is obtained.
[0097] The learning unit 150 also generates a data set of explanatory variables (the contract price of the previous time slot, the temperature of the previous day, the day of the week, and min (total selling bid amount on that day - contract amount on that day)) for each of the multiple delivery time slots for which transactions have already been contracted. The learning unit 150 then performs calculations according to the time series model 114c using the data set for each contracted delivery time slot as input, and obtains an output value. The obtained output value becomes the value of the parameter θ2. As a result, the parameter θ2 for each contracted delivery time slot is obtained.
[0098] Furthermore, the learning unit 150 generates a data set of explanatory variables (the contract price of the previous time slot, the temperature of the previous day, and the day of the week of the current day) for each of the multiple delivery time slots for which transactions have already been contracted. The learning unit 150 then performs calculations according to the time series model 114d using the data set for each contracted delivery time slot as input, and obtains an output value. The obtained output value becomes the value of the parameter θ3. This allows the parameter θ3 to be obtained for each contracted delivery time slot.
[0099] The learning unit 150 calculates the parameters θ1', θ2', θ3' of the price forecast model for the demand curve, similarly to the parameters θ1, θ2, θ3, by using the corresponding time series models. [Step S103] The learning unit 150 acquires the trade data 111 (total selling bid volume, total buying bid volume, and contracted price (actual contracted price)) from the storage unit 110.
[0100] [Step S104] The learning unit 150 uses the price prediction model to calculate an estimated supply curve and an estimated demand curve. For example, the learning unit 150 sets θ1, θ2, and θ3 calculated in step S102 to the price prediction model 114a for the supply curve. Next, the learning unit 150 sets the total selling bid amount for each contracted delivery time slot to the price prediction model for the supply curve to generate an estimated supply curve.
[0101] The learning unit 150 also sets θ1', θ2', and θ3' obtained in step S102 to the price prediction model for the demand curve. Next, the learning unit 150 sets the total buy bid amount for each contracted delivery time slot to the price prediction model for the demand curve to generate an estimated demand curve.
[0102] [Step S105] The learning unit 150 calculates the difference between the predicted contract price and the actual contract price. For example, the learning unit 150 finds an intersection between the generated estimated supply curve and estimated demand curve for each contracted delivery time slot, and sets the price value of the intersection as the predicted contract price for that delivery time slot. The learning unit 150 then finds the absolute value of the difference between the predicted contract price and the actual contract price for each contracted delivery time slot, and calculates the average of the absolute values of the difference for each delivery time slot. The learning unit 150 sets the found average value as the difference between the overall predicted contract price and the actual contract price.
[0103] [Step S106] The learning unit 150 judges whether the difference between the predicted contract price and the actual contract price is sufficiently small. For example, the learning unit 150 judges that the difference calculated in step S105 is sufficiently small when it is smaller than a threshold value. If the difference is sufficiently small, the learning unit 150 advances the process to step S108. If the difference is not sufficiently small, the learning unit 150 advances the process to step S107.
[0104] [Step S107] The learning unit 150 updates the parameters inside each time series model. For example, the learning unit 150 updates the weight parameters indicating the connection strength between the neurons of the time series model, which is an RNN, so as to reduce the difference between the predicted contract price and the actual contract price. After updating the parameters, the learning unit 150 advances the process to step S102.
[0105] [Step S108] The learning unit 150 outputs the parameters of the time series model. The pair of the time series model to which the output parameters are set and the price prediction model is a trained model.
[0106] The prediction unit 160 predicts the contract amount and contract price for a delivery time slot in which no transaction is concluded, based on the trained model generated by the learning unit 150. For example, the prediction unit 160 predicts the contract amount and contract price for each delivery time slot on the delivery date at a time before the transaction is concluded on the day before the delivery date (trading day). In this case, the prediction unit 160, for example, arranges multiple delivery time slots on the delivery date in chronological order based on the corresponding time slots, and performs the prediction process in order from the earliest delivery time slot in chronological order.
[0107] Fig. 14 is a flowchart illustrating an example of a procedure for a prediction process. The process shown in Fig. 14 will be described below in order of step numbers. [Step S201] The prediction unit 160 acquires explanatory variable data (transaction data 111, power data 112, and weather data 113) of the time series models 114b to 114d related to future transactions. For example, in the case of explanatory variables related to a transaction on the next day, the prediction unit 160 acquires the temperature and power usage rate of the previous day from the storage unit 110. In addition, the prediction unit 160 generates data on the day of the week on the current day based on calendar information, etc.
[0108] Furthermore, the prediction unit 160 applies, for example, a predicted contract price calculated for a time period prior to (for example, immediately prior to) the delivery time period to be predicted, to the contract price for the previous time period. Furthermore, the prediction unit 160 applies, for example, estimated values to the total selling bid volume and the contract volume for that day. For example, the prediction unit 160 sets the total selling bid volume and the contract volume for that day to the predicted values of the total selling bid volume and the contract volume using the model data 114 in the delivery time slot for which the contract price has already been predicted on the same day as the delivery time value of the prediction target. The prediction unit 160 may also set the total selling bid volume and the contract volume for that day to the average of the total selling bid volume and the average of the contract volume for the delivery time slot for which the contract has already been predicted for the same time slot as the delivery time slot for the prediction target.
[0109] [Step S202] The prediction unit 160 calculates the value of the parameter θ using a time series model. For example, the prediction unit 160 performs calculations according to the time series model 114b using a data set of explanatory variables (the contract price in the previous time slot, the temperature on the previous day, the day of the week, and the power usage rate on the previous day) for the delivery time slot to be predicted as input, and obtains an output value. The obtained output value becomes the value of the parameter θ1.
[0110] The prediction unit 160 also performs calculations according to the time series model 114c using a data set of explanatory variables (the contract price of the previous time slot, the temperature of the previous day, the day of the week, and min (total selling bid amount of the day - contract amount of the day)) for the delivery time slot to be predicted as input, and obtains an output value. The obtained output value becomes the value of the parameter θ2.
[0111] Furthermore, the prediction unit 160 performs calculations according to the time series model 114d using a data set of explanatory variables (the contract price in the previous time slot, the temperature on the previous day, and the day of the week of the current day) for the delivery time slot to be predicted as input, and obtains an output value. The obtained output value becomes the value of the parameter θ3.
[0112] The prediction unit 160 calculates the parameters θ1', θ2', θ3' of the price prediction model for the demand curve, similarly to the parameters θ1, θ2, θ3, by using the corresponding time series models. [Step S203] The prediction unit 160 acquires future transaction data (total selling bid volume and total buying bid volume). The value of the future transaction data is a value predicted from past transaction data. For example, the prediction unit 160 sets the average of the total selling bid volume and the average of the total buying bid volume of the already-agreed delivery time slot for the same time slot on the same day of the week as the delivery time slot to be predicted as the total selling bid volume and the contract volume for that day, respectively. Note that the prediction unit 160 may use values input by the user as the future transaction data.
[0113] [Step S204] The prediction unit 160 calculates a predicted contract price using the price prediction model. For example, the prediction unit 160 sets θ1, θ2, and θ3 obtained in step S202 to the price prediction model 114a for the supply curve. Next, the prediction unit 160 sets the total selling bid amount for the delivery time slot to be predicted to the price prediction model for the supply curve to generate an estimated supply curve.
[0114] The prediction unit 160 also sets θ1', θ2', and θ3' obtained in step S102 to the price prediction model for the demand curve. Next, the prediction unit 160 sets the total buy bid amount for the delivery time slot to be predicted to the price prediction model for the demand curve to generate an estimated demand curve.
[0115] [Step S205] The forecasting unit 160 detects an intersection point between the generated estimated supply curve and estimated demand curve. [Step S206] The prediction unit 160 sets the value of the quantity at the intersection obtained in step S205 as the predicted contract quantity for the delivery time slot of the prediction target, and sets the value of the price at the intersection as the predicted contract price for the delivery time slot of the prediction target. The prediction unit 160 then outputs the predicted contract quantity and predicted contract price for the delivery time slot of the prediction target. The output predicted contract quantity and predicted contract price are displayed on a monitor, for example.
[0116] In this way, the forecasted contract volume and the forecasted contract price are obtained. The estimated supply curve and the estimated demand curve used in the calculation of the forecasted contract volume and the forecasted contract price are generated by reflecting the time-series transition of the information. By effectively using the time-series information, the accuracy of the forecasted contract volume and the forecasted contract price is improved.
[0117] Fig. 15 is a diagram showing an example of the predicted result of the contract price by the price prediction model considering the time series. Graph 71 shows a line indicating the contract price predicted using the price prediction model considering the time series (predicted contract price) and the contract price confirmed in the actual transaction (actual contract price). The horizontal axis of graph 71 is time, and the vertical axis is price. The time is a value indicating the ordinal number of the delivery time slot when each delivery time slot (30 minutes) is arranged in chronological order.
[0118] Graph 72 shows an estimated supply curve for approximately the 350th delivery time slot in the time series, and the intersection of the supply curve and demand curve when the actual contract price is calculated. Graph 73 shows an estimated supply curve for approximately the 500th delivery time slot in the time series, and the intersection of the supply curve and demand curve when the actual contract price is calculated. In graphs 72 and 73, the horizontal axis is quantity and the vertical axis is price. In graphs 72 and 73, the intersection of the actual supply curve and demand curve is located above the estimated supply curve. In other words, the use of the estimated supply curve makes it possible to accurately predict the contract price.
[0119] [Other embodiments] In the second embodiment, we predict the contract price in the electricity trading market, but it is also possible to predict the contract price with high accuracy for transactions in markets other than electricity by determining the parameter values using a time series model.
[0120] Although the embodiments have been described above, the configurations of the parts shown in the embodiments can be replaced with other configurations having similar functions. Any other components or steps may be added. Furthermore, any two or more configurations (features) of the above-mentioned embodiments may be combined. [Explanation of symbols]
[0121] 1. Supply curve model data 1a First model equation 1b, 1c, 1d First time series model 2. Demand curve model data 2a Second model equation 2b, 2c, 2d Second Time Series Model 10. Information processing device 11 Storage section 12 Processing section
Claims
1. determining an output value of a first time series model in which first data including a second contract price of a transaction in a second time slot prior to the first time slot is input to a first value of a first parameter included in a first model formula indicating a relationship between the price and the volume of a selling bid for a transaction in a first time slot; determining an output value of a second time series model in which second data including the second contract price of a transaction in the second time slot prior to the first time slot is inputted into a second value of a second parameter included in a second model formula indicating a relationship between a price and a volume of a buying bid for the transaction in the first time slot; predicting a first contract price in the first time zone based on the first model formula in which the determined first value is set to the first parameter and the second model formula in which the determined second value is set to the second parameter; A prediction program that causes a computer to carry out the processing.
2. learning the first time series model and the second time series model based on a third contract price of a transaction that was contracted in the first time zone and the predicted first contract price; The prediction program according to claim 1.
3. In the process of determining the first value of the first parameter, the first value is predicted using the first time series model in which the first data including one or more of data indicating temperature, data indicating a day of the week, and data indicating a power usage rate is input. The prediction program according to claim 1.
4. In the process of determining the first value of the first parameter, the first value is estimated using the first time series model that inputs the first data including a minimum value of the difference between the total selling bid amount and the contract amount during other trading time periods on the same day as the first time period; The prediction program according to claim 1.
5. determining an output value of a first time series model in which first data including a second contract price of a transaction in a second time slot prior to the first time slot is input to a first value of a first parameter included in a first model formula indicating a relationship between the price and the volume of a selling bid for a transaction in a first time slot; determining an output value of a second time series model in which second data including the second contract price of a transaction in the second time slot prior to the first time slot is inputted into a second value of a second parameter included in a second model formula indicating a relationship between a price and a volume of a buying bid for the transaction in the first time slot; predicting a first contract price in the first time zone based on the first model formula in which the determined first value is set to the first parameter and the second model formula in which the determined second value is set to the second parameter; A prediction method in which processing is performed by a computer.
6. a processing unit that determines an output value of a first time series model in which first data including a second contract price of a transaction in a second time zone prior to the first time zone is inputted to a first value of a first parameter included in a first model formula indicating a relationship between a price and a volume of a selling bid intended for a transaction in the first time zone, and determines an output value of a second time series model in which second data including the second contract price of a transaction in the second time zone prior to the first time zone is inputted to a second value of a second parameter included in a second model formula indicating a relationship between a price and a volume of a buying bid intended for a transaction in the first time zone, and predicts a first contract price in the first time zone based on the first model formula in which the determined first value is set to the first parameter and the second model formula in which the determined second value is set to the second parameter; An information processing device having the above configuration.
Citation Information
Patent Citations
Power transaction support device, power transaction support method, and program
JP2016033801A
Bidding support method and apparatus in electricity market
JP2020184176A
Decision support system based on energy markets
US20140081704A1
Forecasting market prices for management of grid-scale energy storage systems
US20160055507A1