Model generation apparatus, prediction apparatus, model generation method, and prediction method
The model generation device improves power consumption prediction accuracy by setting lags based on autocorrelation coefficients and employment status, generating models that adapt to facility-specific business types, addressing the limitations of existing methods.
Patent Information
- Application Number
- JP2023221627
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-27
- Publication Date
- 2025-07-09
- Estimated Expiration
- 2043-12-27
AI Technical Summary
Existing methods for predicting power consumption in facilities lack accuracy and versatility in handling various business types and fluctuations, making it difficult to generate high-quality prediction models.
A model generation device that sets multiple lags for time-series data to derive autocorrelation coefficients, selects special lags based on these coefficients and employment status, and generates prediction models through machine learning, incorporating rolling and non-rolling features to improve prediction accuracy.
Enhances prediction accuracy and versatility of power consumption models by considering facility-specific business types and employment status, allowing for more precise and flexible predictions.
Smart Images

Figure 2025103909000001_ABST
Abstract
Description
Technical Field
[0001] One aspect of the present invention relates to a model generation device that generates a prediction model for predicting the required power consumption in a facility.
Background Art
[0002] In recent years, machine learning has been used to predict various types of energy demand in facilities. For example, Patent Document 1 below discloses a technique for predicting the heat load in a heat storage utilization system using a neural network.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] One aspect of the present invention aims to improve the prediction accuracy of the required power consumption in a facility.
Means for Solving the Problems
[0005] A model generation device according to an aspect of the present invention is a model generation device that generates a prediction model for predicting the required power consumption in a facility. The model generation device sets a plurality of lags with respect to the actual value for time-series data indicating the temporal transition of the actual value of the required power consumption, thereby deriving the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. The model generation device selects a first switching time point from among a plurality of time points belonging to the first prediction target period based on the first predicted value and the second predicted value in the first prediction target period, and calculates the time length from the first prediction start time to the first switching time point as a first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from among a plurality of time points belonging to the second prediction target period, and the time length from the second prediction start time to the second switching time point is calculated as a second switching time length. Data indicating the switching time length corresponding to the time of an arbitrary prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length.
[0006] A prediction device according to an aspect of the present invention is a prediction device that derives a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility that has been generated in advance in a learning phase. In the learning phase, for time-series data indicating the temporal change of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. Based on the first predicted value and the second predicted value in the first prediction target period, a first switching time point is selected from among a plurality of time points belonging to the first prediction target period, and the time length from the first prediction start time to the first switching time point is calculated as a first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from among a plurality of time points belonging to the second prediction target period, and the time length from the second prediction start time to the second switching time point is calculated as a second switching time length.Data indicating the switching time length corresponding to the time of any prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length, and the prediction device uses the first model and the second model based on the data in the prediction phase to predict the required power consumption.
[0007] A model generation method according to an aspect of the present invention is a model generation method for generating a prediction model for predicting the required power consumption in a facility. The model generation method includes: a step of deriving an autocorrelation coefficient of the actual value corresponding to each of a plurality of lags by setting a plurality of lags with respect to time-series data indicating the time transition of the actual value of the required power consumption; a step of selecting a special lag from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags, based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility; a step of deriving a new feature amount by setting the special lag with respect to the actual value; a step of generating a first model as the prediction model by machine learning based on first time-series data obtained by adding the new feature amount to the time-series data; a step of deriving a further new feature amount by setting the minimum lag with respect to the actual value; a step of further generating a second model different from the first model by the machine learning based on second time-series data obtained by adding the further new feature amount to the first time-series data. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. The model generation method includes: a step of selecting a first switching point from among a plurality of time points belonging to the first prediction target period based on the first predicted value and the second predicted value in the first prediction target period; a step of calculating the time length from the first prediction start time to the first switching point as a first switching time length; a step of selecting a second switching point from among a plurality of time points belonging to the second prediction target period based on the first predicted value and the second predicted value in the second prediction target period; a step of calculating the time length from the second prediction start time to the second switching point as a second switching time length; data indicating the switching time length corresponding to the time of an arbitrary prediction start time,A step of generating based on the first time, the first switching time length, the second time, and the second switching time length.
[0008] A prediction method according to an aspect of the present invention is a prediction method for deriving a predicted value of the required power consumption in a facility by using, in a prediction phase, a prediction model for predicting the required power consumption in the facility, which is generated in advance in a learning phase. In the learning phase, for time series data indicating the time transition of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time series data obtained by adding the new feature amount to the time series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time series data obtained by adding the further new feature amount to the first time series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. Based on the first predicted value and the second predicted value in the first prediction target period, a first switching time point is selected from among a plurality of time points belonging to the first prediction target period. The time length from the first prediction start time to the first switching time point is calculated as a first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from among a plurality of time points belonging to the second prediction target period. The time length from the second prediction start time to the second switching time point is calculated as a second switching time length.Data indicating the switching time length corresponding to the time of any prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length, and the prediction method includes, in the prediction phase, predicting the required power consumption by using the first model and the second model based on the data.
Advantages of the Invention
[0009] According to one aspect of the present invention, the prediction accuracy of the required power consumption in a facility can be improved.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
Figure 37
MODE FOR CARRYING OUT THE INVENTION
[0011] 〔REFERENCE MODE〕 Prior to the description of the information processing apparatus 1A according to Embodiment 1, the information processing apparatus 1 as a reference form will be described. For the sake of convenience of explanation, components having the same functions as the components (components) described in the reference form will be given the same reference numerals in the following embodiments, and the description thereof will not be repeated. Also, for the sake of simplicity, descriptions of matters similar to known techniques will be omitted as appropriate. Each component and each numerical value described in this specification are all merely examples as long as there is no particular contradiction. Therefore, for example, as long as there is no particular contradiction, the positional relationship and connection relationship of each component are not limited to the examples in each figure. Also, note that the correspondence between the date and the day of the week in the examples of each figure does not necessarily match that of the actual calendar. In this specification, as long as there is no particular contradiction, the notation "A~B" for two numbers A and B represents "A or more and B or less".
[0012] (Overview of Information Processing Apparatus 1) FIG. 1 is a block diagram illustrating the configuration of the main part of the information processing apparatus 1 according to the reference form. The information processing apparatus 1 may include a control device 9 and a storage unit 90. The control device 9 comprehensively controls each part of the information processing apparatus 1. The control device 9 may include a model generation device 10 and a prediction device 20.
[0013] As will be described later, the model generation device 10 generates a prediction model for predicting the required power consumption in a facility by machine learning. Therefore, the model generation device 10 may be referred to as a learning device. The prediction device 20 uses the prediction model previously generated by the model generation device 10 to derive a predicted value of the required power consumption in the above facility.
[0014] The facility in one aspect of the present invention may be, for example, any facility in which fluctuations in the required power consumption can occur according to at least one of the time zone, day of the week, and employment status of employees in the facility. Examples of the facility in one aspect of the present invention include industrial facilities such as factories, commercial facilities such as shopping malls, and medical facilities such as hospitals.
[0015] The storage unit 90 stores various data and programs used in the processing of the control device 9. In the example of FIG. 1, it is assumed that the performance data and the employment status data are stored in the storage unit 90. In this specification, the performance data generally refers to data (more specifically, data structure) indicating the actual values of the required power consumption in the facility recorded at a predetermined time resolution. In this specification, unless otherwise inconsistent, the term "required power consumption" refers to the actual value of the required power consumption.
[0016] Since the performance data is data in which the time point and the required power consumption are associated, it is an example of time-series data showing the time transition of the required power consumption. In the example of this specification, the time resolution in the performance data is 1 minute. In the example of this specification, it is assumed that the time points in the data with a time resolution of 1 minute are expressed in the format of "year / month / day hour / minute" ("yyyy / mm / dd / hh / mm" format). The time point may be used as a key in the data structure.
[0017] In this specification, the employment status data generally refers to data indicating the daily employment status in the facility. As an example, the employment status data may be data indicating whether a certain day is a working day of the facility. Since the employment status data is data in which the date and the employment status are associated, it is an example of time-series data showing the daily transition of the employment status. In the example of this specification, the time resolution in the employment status data before the following pre-value interpolation is performed is 1 day. In the example of this specification, it is assumed that the dates in the data with a time resolution of 1 day are expressed in the format of "year / month / day" ("yyyy / mm / dd" format).
[0018] (Learning Phase in the Reference Embodiment) Hereinafter, an example of the operation of the information processing apparatus 1 will be described. The processing of the information processing apparatus 1 is roughly classified into processing in the learning phase (a series of processing of the model generation apparatus 10) and processing in the prediction phase (a series of processing of the prediction apparatus 20). First, an example of the learning phase will be described.
[0019] As shown in FIG. 1, the model generation device 10 may include a data acquisition unit 11, a preprocessing unit 12, a learning unit 13, and an evaluation unit 14. The data acquisition unit 11 may also be referred to as a learning-time data acquisition unit or a first data acquisition unit. The preprocessing unit 12 may also be referred to as a learning-time preprocessing unit or a first preprocessing unit.
[0020] As shown in FIG. 1, the storage unit 90 may store the performance data DZ and the employment status data DS used in the learning phase. Hereinafter, for example, the performance data DZ is simply abbreviated as DZ. The data acquisition unit 11 acquires DZ and DS as input data sets in the learning phase. Then, the data acquisition unit 11 divides the input data set into training data and verification data.
[0021] DZ0 in FIG. 2 is an example of the performance data as training data. DZ0 is a part of DZ. In the example of this specification, it is assumed that the unit of the required power amount recorded in the performance data is kWh. DS0 in FIG. 3 is an example of the employment status data as training data. DS0 is a part of DS. In the example of this specification, it is assumed that the employment status recorded in the employment status data has been pre-converted into qualitative variables (more specifically, nominal scale). The employment status value of "1" in the example of FIG. 3 indicates that the day (the day corresponding to the employment status) is a working day. On the other hand, the employment status value of "0" indicates that the day is a holiday.
[0022] However, the types of employment status recorded in the employment status data are not limited to the above example. For example, the employment status type of "long vacation day" may be recorded in the employment status data. A long vacation day means a holiday belonging to a predetermined long vacation (e.g., summer vacation period). In this case, for example, the employment status value of "-1" may indicate that the day is a long vacation day.
[0023] Before the learning unit 13 executes the machine learning algorithm, the preprocessing unit 12 generates preprocessed training data by performing a series of preprocessing on the training data. Next, the learning unit 13 generates a prediction model based on the preprocessed training data by executing the machine learning algorithm.
[0024] First, the preprocessing unit 12 generates new data by performing previous value interpolation on the employment status recorded in DS0. DS1 in FIG. 4 is an example of the new data. DS1 may be referred to as employment status data after previous value interpolation. Specifically, the preprocessing unit 12 converts DS0 into new data having the same time resolution (e.g., 1 minute) as DZ0 by previous value interpolation. As shown in FIG. 4, as a result of the previous value interpolation, in DS1, the employment statuses belonging to the same date have the same value at all time points.
[0025] Next, the preprocessing unit 12 generates new data by combining DZ0 and DS1 using the time point as a key. DZ1 in FIG. 4 is an example of the new data. For example, the preprocessing unit 12 generates DZ1 by adding the "employment status" column in DS1 to DZ0. DZ1 may be referred to as performance data with employment status data.
[0026] Next, the preprocessing unit 12 calculates the autocorrelation coefficient of the required power amount in DZ1. In this specification, the autocorrelation coefficient is abbreviated as AC. Specifically, the preprocessing unit 12 varies the lag variously and calculates the AC for each lag. The lag represents the time delay amount set for the feature quantity as time series data.
[0027] The preprocessing unit 12 may set a lag as the product of the lag unit amount and the lag order. Then, the preprocessing unit 12 may calculate the AC for each determined lag. As an example, the lag unit amount may be a constant value preset by the user of the information processing apparatus 1. In this specification, the case where the lag unit amount is 30 minutes is illustrated. However, the lag unit amount may be set by the preprocessing unit 12. For example, the preprocessing unit 12 may set the time resolution of DZ1 (e.g., 1 minute) as the lag unit amount.
[0028] The preprocessing unit 12 may generate a table showing the correspondence between the lag and the AC. LT in FIG. 6 shows an example of the table. In the example of FIG. 6, the lag order may be used as the key in LT. In the example of FIG. 6, the preprocessing unit 12 sets 1008 lags by changing the lag order from 1 to 1008. Therefore, the preprocessing unit 12 calculates 1008 ACs. The lag in the example of this specification is an amount representing the time length per day.
[0029] As described above, since the lag unit amount is 30 minutes, lag order 1 corresponds to 30 minutes. Therefore, lag order 48 corresponds to 1 day (= 30 minutes × 48). And lag order 336 (= 48 × 7) corresponds to 7 days, that is, 1 week. And lag order 672 (= 336 × 2) corresponds to 14 days, that is, 2 weeks, and lag order 1008 (= 336 × 3) corresponds to 21 days, that is, 3 weeks.
[0030] In this specification, the element numbers of the data structure are generically represented by the integer i. In the example of FIG. 6, i may be a value equal to the lag order. Therefore, in the example of FIG. 6, the lag corresponding to i is denoted as lag[i]. Also, the AC corresponding to i is denoted as AC[i]. As is clear from the above description, lag[i] where i > 1 represents the i-th shortest lag. In this specification, unless otherwise contradictory, it is assumed that the minimum value of the element number of the data structure is 0 according to the notation of a general programming language. Although not shown in FIG. 6, as is clear to those skilled in the art, lag[0] = 0 and AC[0] = 1.
[0031] The preprocessing unit 12 selects (extracts) a special lag from among a plurality of set lags based on the AC. As an example, the preprocessing unit 12 may select, as the special lag, a lag having a value equal to or greater than the time length threshold among the plurality of lags and corresponding to an AC having a value equal to or greater than the autocorrelation threshold.
[0032] Generally, in the field of machine learning, when the correlation coefficient between two pieces of data is 0.7 or more, it can be considered that there is a strong positive correlation between the data. Therefore, as an example, the autocorrelation threshold may be 0.7 to 1. The autocorrelation threshold may be a value that can be arbitrarily set by the user. In this specification, the case where the autocorrelation threshold is 0.7 is exemplified.
[0033] And the variation in the required power consumption within the facility is generally considered to have a cycle of approximately one day in the short term. Therefore, the time length threshold may be set to a value that is considered appropriate for grasping the variation trend of the relatively short-term required power consumption. The time length threshold may also be a value that can be arbitrarily set by the user. In this specification, the case where the time length threshold is one day is exemplified.
[0034] As is clear to those skilled in the art, when the lag is short, an AC close to 1 is likely to occur. Therefore, by setting the time length threshold as described above, it is possible to avoid many short lags being selected as special lags. That is, the number of selected special lags can be reduced (see the rows with lag orders 1 to 3 in the example of FIG. 6). As a result, as can be understood from the following description, the quality of the prediction model can be improved.
[0035] As described above, the time length threshold of one day corresponds to i = 48. In the example of FIG. 6, in the range of i ≧ 48, AC
[48] = 0.78 AC
[0336] = 0.73 AC
[0672] = 0.70 AC
[1008] = 0.72 has a value equal to or greater than the autocorrelation threshold. Therefore, the preprocessing unit 12 lag
[48] = 1 lag
[0336] = 7 lag
[0672] = 14 lag
[1008] = 21 Select these as special lags.
[0036] The inventors used the performance data obtained from a certain factory to derive the relationship between the lag and AC in that factory. Figure 7 is a graph showing the relationship between the lag and AC in that factory, which was derived by the inventors. In the graph of Figure 7, the horizontal axis represents the lag order, and the vertical axis represents AC. The horizontal axis in the graph of Figure 7 can be read as the lag. The trend of the graph in Figure 7 generally coincides with the example in Figure 6.
[0037] Next, the preprocessing unit 12 may sort the extracted plurality of special lags in ascending order. Then, the preprocessing unit 12 may generate an array Plag including the sorted special lags as elements. In the example of the reference form, the preprocessing unit 12 generates Plag = [1, 7, 14, 21]. Then, the preprocessing unit 12 selects elements (arithmetic sequence elements) that form an arithmetic sequence among the elements of Plag. The method for selecting the arithmetic sequence elements will be described later.
[0038] In the example of the reference form, the preprocessing unit 12 selects Plag[1:] = [7, 14, 21], which are the elements after the first element among the elements of Plag, as the arithmetic sequence elements. These arithmetic sequence elements form an arithmetic sequence with the first term value of 7 and a common difference of 7.
[0039] Then, the preprocessing unit 12 selects the elements other than the arithmetic sequence elements among the elements of Plag as the remaining elements. The remaining elements may also be referred to as non - arithmetic sequence elements (elements that do not form an arithmetic sequence). In the example of the reference form, the preprocessing unit 12 selects Plag[0] = [1], which is the 0 - th element among the elements of Plag, as the remaining element.
[0040] The preprocessing unit 12 derives a new feature amount by setting the special lag selected as described above with respect to the required power amount. For example, the preprocessing unit 12 may derive at least one of a rolling feature and a lag feature as the new feature amount.
[0041] Based on FIG. 7 described above, it is considered that the special lag corresponding to the arithmetic progression element is suitable for expressing the relatively long-term periodicity of the fluctuations in the required power amount. Therefore, the preprocessing unit 12 may select the special lag corresponding to the arithmetic progression element as a rolling lag, which is a special lag for deriving a rolling feature amount. In the example of the reference embodiment, the preprocessing unit 12 selects the lags "7, 14, and 21" as the rolling lags. The preprocessing unit 12 derives a rolling feature amount based on the rolling lag.
[0042] Then, the preprocessing unit 12 may select the special lag corresponding to the remaining element as a non-rolling lag, which is a special lag for deriving a feature amount different from the rolling feature amount. In the example of the reference embodiment, the preprocessing unit 12 selects the lag "1" as the non-rolling lag. It is considered that the non-rolling lag is suitable for expressing the relatively short-term periodicity of the fluctuations in the required power amount. Therefore, the preprocessing unit 12 derives a lag feature amount based on the non-rolling lag.
[0043] In the reference embodiment, the case where the lag feature amount is derived prior to the derivation of the rolling feature amount is exemplified. However, as will be apparent to those skilled in the art, the rolling feature amount may be derived prior to the derivation of the lag feature amount. Each process in the examples of this specification may be executed in any order as long as there is no particular contradiction.
[0044] The preprocessing unit 12 derives a lag feature amount as a new feature amount corresponding to the required power amount by setting a non-rolling lag with respect to the required power amount. DZ2 in FIG. 8 shows an example of data generated by adding a lag feature amount to DZ1. In the example of the reference form, since the non-rolling lag is 1, the preprocessing unit 12 derives "the required power amount one day before" as the lag feature amount. Therefore, in the example of FIG. 8, the "required power amount one day before" belonging to the row at the time point "2021 / 4 / 1 0:00" represents the "required power amount at 2021 / 3 / 31 0:00". Also, the "required power amount one day before" belonging to the row at the time point "2022 / 3 / 31 23:59" represents the "required power amount at 2022 / 3 / 30 23:59".
[0045] Next, the preprocessing unit 12 derives a rolling feature amount as a new feature amount corresponding to the required power amount by setting a non-rolling lag with respect to the required power amount. First, for a certain time point, the preprocessing unit 12 acquires the required power amount at a time point that is the rolling lag before as a component (rolling feature amount component) of the rolling feature amount corresponding to the time point. In the example of the reference form, since the rolling lags are 7, 14, and 21, the preprocessing unit 12 acquires "the required power amount seven days before", "the required power amount fourteen days before", and "the required power amount twenty-one days before" as rolling feature amount components. The preprocessing unit 12 adds the rolling feature amount component to DZ2.
[0046] Next, the preprocessing unit 12 derives the statistical value of the rolling feature amount component as the rolling feature amount. In this specification, the case where the statistical value is the average value is exemplified. Therefore, the preprocessing unit 12 derives the average value of "the required power amount seven days before", "the required power amount fourteen days before", and "the required power amount twenty-one days before". The preprocessing unit 12 further adds the average value to DZ2 as the rolling feature amount.
[0047] DZ3 in FIG. 9 shows an example of data generated by adding rolling feature quantity components and rolling feature quantities to DZ2. In the example of FIG. 9, “demand power quantity 7 days ago”, “demand power quantity 14 days ago”, and “demand power quantity 21 days ago” belonging to the row at the time point “2021 / 4 / 1 0:00” represent “demand power quantity at 2021 / 3 / 25 0:00”, “demand power quantity at 2021 / 3 / 18 0:00”, and “demand power quantity at 2021 / 3 / 11 0:00” respectively. And “average (7, 14, 21 days ago) demand power quantity” belonging to the row at the time point “2021 / 4 / 1 0:00” represents the average value of “demand power quantity 7 days ago”, “demand power quantity 14 days ago”, and “demand power quantity 21 days ago” belonging to the row at the same time point.
[0048] After the acquisition of the rolling feature quantity, the rolling feature quantity component is considered to be no longer necessary. Therefore, the preprocessing unit 12 may delete the rolling feature quantity component from DZ3 after the acquisition of the rolling feature quantity. DZ4 in FIG. 10 shows an example of data generated by deleting the rolling feature quantity component from DZ3.
[0049] Next, the preprocessing unit 12 derives a time equivalent quantity, which is a feature quantity corresponding to the time point, by converting the time point recorded in DZ4 into a predetermined type. Then, the preprocessing unit 12 adds the time equivalent quantity to DZ4. As an example, the preprocessing unit 12 may set the time equivalent quantity as an amount representing the elapsed time from the reference time point “0:00” to the target time point in units of hours (h). DZ5 in FIG. 11 shows an example of data generated by adding the time equivalent quantity to DZ4.
[0050] In the example of FIG. 11, the elapsed time of 1 minute from “0:00” corresponds to a time equivalent quantity of 1 / 60 (≈0.01667). In the example of the reference embodiment, the time equivalent quantity is derived using only hours (h) and minutes (m) without considering the year (y), month (m), and day (d) of the time point. However, as will be apparent to those skilled in the art, an amount derived as a type considering at least any one of the year, month, and day may also be derived as the time equivalent quantity.
[0051] However, as is obvious to those skilled in the art, the time-point equivalent amount does not necessarily have to be derived. This is because the prediction model according to one aspect of the present invention may be set so as to be able to output a predicted value of the power demand amount by using, as an explanatory variable, a new feature amount derived by setting a special lag with respect to the power demand amount.
[0052] Next, the preprocessing unit 12 determines, for example, the day of the week corresponding to the date at the time recorded in DZ5 by referring to the calendar data. Then, the preprocessing unit 12 adds the day of the week to DZ5. DZ6 in FIG. 12 is an example of data generated by adding the day of the week to DZ5. In the example of FIG. 12, the preprocessing unit 12 generates DZ6 by adding the day of the week converted into a qualitative variable (nominal scale) to DZ5. In the example of this specification, days of the week 0 to 6 represent Sunday to Saturday in this order. Therefore, the day of the week 4 in the example of FIG. 12 represents Thursday.
[0053] As shown in FIG. 12, in DZ6, the power demand amount and the new feature amount derived based on the power demand amount can be larger values than, for example, the feature amounts (calendar feature amounts) indicating the day of the week and the employment status. Therefore, the preprocessing unit 12 may perform scaling on each feature amount included in DZ6. Thereby, the numerical ranges of the respective feature amounts can be made to be approximately the same, so that it becomes possible to generate a prediction model having higher performance.
[0054] In this specification, a case where the preprocessing unit 12 performs standardization as scaling is exemplified. The preprocessing unit 12 derives the average value (μ) and the standard deviation (σ) of a certain feature amount included in DZ6 for the feature amount. Then, the preprocessing unit 12 standardizes the feature amount using the derived μ and σ. In this specification, μ and σ used for standardization before the generation of the learning model are referred to as standardization parameters. DZ6S in FIG. 13 is an example of data generated by performing standardization on each feature amount of DZ6. In the example of the reference embodiment, DZ6 is used as the training data after preprocessing.
[0055] The learning unit 13 generates a prediction model by machine learning based on the time-series data of the power demand amount after a new feature amount derived based on the power demand amount is added. Therefore, as an example, the learning unit 13 may generate a prediction model based on the training data after preprocessing (e.g., DZ6S) by executing a predetermined machine learning algorithm.
[0056] The prediction model according to one aspect of the present invention may be any learned model that can output the predicted value of the power demand amount at the prediction target time point as the target variable. Therefore, the type of the machine learning algorithm is not particularly limited as long as it can solve the regression task. Examples of the machine learning algorithm include a neural network (NN), a support vector machine (SVM), and a decision tree (DT).
[0057] In the example of the reference embodiment, the learning unit 13 generates a prediction model that derives the target variable from the explanatory variables by using (i) the power demand amount at an arbitrary prediction target time point included in DZ6S as the true value (correct data) of the target variable and (ii) each feature amount other than the power demand amount before the prediction target time point as the explanatory variables.
[0058] After generating the prediction model, the learning unit 13 may incorporate the normalization parameters of each feature amount into the prediction model. The learning unit 13 may further incorporate a rolling lag and a non-rolling lag into the prediction model.
[0059] The evaluation unit 14 evaluates the prediction model generated by the learning unit 13. Specifically, the evaluation unit 14 evaluates the prediction performance of the prediction model. Prior to the evaluation by the evaluation unit 14, the preprocessing unit 12 generates preprocessed verification data by performing a series of preprocessing on the verification data in the same format as the above-described training data. Therefore, in the example of the reference embodiment, the preprocessed verification data has the same data structure as DZ6S. For this reason, in the preprocessed verification data in the reference embodiment, each feature amount is normalized using the normalization parameters incorporated in the prediction model.
[0060] The evaluation unit 14 evaluates the prediction model using the preprocessed verification data. Specifically, the evaluation unit 14 inputs the preprocessed verification data into the prediction model to cause the prediction model to output a predicted value. Then, the evaluation unit 14 derives an index value indicating the prediction accuracy of the prediction model based on the predicted value and the true value of the required power amount shown in the preprocessed verification data.
[0061] The index value may be any value used for evaluating the prediction accuracy in a regression task in the field of machine learning and is not particularly limited. Examples of the index value include the Mean Absolute Error (MAE) and the Root Mean Square Error (RMSE). After deriving the index value, the evaluation unit 14 may store the prediction model in the storage unit 90.
[0062] Note that when the index value is below a predetermined threshold, the model generation device 10 may cause the learning unit 13 to generate a prediction model again. In this case, prior to the regeneration of the prediction model, for example, the hyperparameters of the prediction model may be reset. In this way, in order to compensate for the performance of the prediction model used in the prediction phase, the generation of the prediction model may be repeated until an index value equal to or higher than the threshold is obtained. In this case, the evaluation unit 14 may store the prediction model in which an index value equal to or higher than the threshold is obtained for the first time in the storage unit 90.
[0063] (Example of method for selecting arithmetic sequence elements) FIG. 14 is a flowchart showing an example of the flow of processing for selecting arithmetic sequence elements. First, prior to S1, the preprocessing unit 12 acquires the number of elements NPlag of the above-described array Plag. In the example of the reference form, since Plag = [1, 7, 14, 21], NPlag = 4.
[0064] In S1, the preprocessing unit 12 reflects whether NPlag is 2 or more. If NPlag is 2 or more (YES in S1), the process proceeds to S2. On the other hand, if NPlag is 1 or less (NO in S1), the preprocessing unit 12 ends the processing of FIG. 14. In this case, the preprocessing unit 12 determines that Plag does not contain arithmetic sequence elements.
[0065] In S2, the preprocessing unit 12 initializes the element number i for pointing to the elements of Plag to 0. In S3, the preprocessing unit 12 initializes a flag flg indicating that Plag contains arithmetic sequence elements to True (true).
[0066] In S4, the preprocessing unit 12 determines whether i is smaller than NPlag - 2. If i is smaller than NPlag - 2 (YES in S4), the process proceeds to S5. On the other hand, if i is NPlag - 2 or more (NO in S4), the process proceeds to S8.
[0067] In S5, the preprocessing unit 12 substitutes Plag[i] for a0. a0 is the first term of the assumed arithmetic progression. Thus, in S5, the preprocessing unit 12 sets a0 to a value equal to Plag[i]. In S6, the preprocessing unit 12 substitutes Plag[i + 1] - a0 for d. d is the common difference of the assumed arithmetic progression. Thus, in S6, the preprocessing unit 12 sets d to a value equal to Plag[i + 1] - a0. Next, in S7, the preprocessing unit 12 substitutes i + 2 for the element number j for pointing to the elements of Plag. Then, it proceeds to S11.
[0068] S8 to S10 are respectively processes paired with S5 to S7. In S8, the preprocessing unit 12 substitutes 0 for a0. That is, in S8, the preprocessing unit 12 sets a0 to 0. In S9, the preprocessing unit 12 substitutes Plag[i] - a0 for d. Thus, in S9, the preprocessing unit 12 sets d to a value equal to Plag[i] - a0. Next, in S10, the preprocessing unit 12 substitutes i + 1 for j. Then, it proceeds to S11.
[0069] In S11, the preprocessing unit 12 substitutes Plag[j] - Plag[j - 1] for next_d. next_d is the next common difference in the assumed arithmetic progression. Thus, the preprocessing unit 12 sets next_d to a value equal to Plag[j] - Plag[j - 1].
[0070] In S12, the preprocessing unit 12 determines whether next_d is equal to d. If next_d is equal to d (YES in S12), in S13, the preprocessing unit 12 increments j by 1. Then, it proceeds to S15. On the other hand, if next_d is not equal to d (NO in S12), in S14, the preprocessing unit 12 updates flg to False (false). Then, it proceeds to S16.
[0071] In S15, the preprocessing unit 12 determines whether j is greater than or equal to NPlag. If j is greater than or equal to NPlag (YES in S15), the process proceeds to S16. On the other hand, if j is less than NPlag (NO in S15), the process returns to S11. Therefore, the processes of S11 - S13 and S15 are repeated until j becomes equal to NPlag.
[0072] In S16, the preprocessing unit 12 determines whether flg is False. If flg is False (YES in S16), in S17, the preprocessing unit 12 increments i by 1. Then, the process proceeds to S19. On the other hand, if flg is not False (NO in S16), that is, if flg is True, the process proceeds to S18.
[0073] In S18, the preprocessing unit 12 substitutes Plag[i:], which are the elements of Plag after the i - th element, into the array ap. The array ap is an array for storing arithmetic - sequence elements. After the completion of S18, the preprocessing unit 12 ends the process of FIG. 14. If flg is True at the end of the process (in other words, if the array ap is not an empty array at the end of the process), the preprocessing unit 12 determines that Plag contains arithmetic - sequence elements. In this case, the preprocessing unit 12 may output ap as the selection result of the arithmetic - sequence elements.
[0074] In S19, the preprocessing unit 12 determines whether i is greater than or equal to NPlag. If i is greater than or equal to NPlag (YES in S19), the process proceeds to S20. On the other hand, if i is less than NPlag (NO in S19), the process returns to S3. Therefore, the processes of S3 - S16, S17, and S19 are repeated until i becomes equal to NPlag.
[0075] In S20, the preprocessing unit 12 assigns an empty array to the array ap. That is, the preprocessing unit 12 sets the array ap to an empty array. After the completion of S20, the preprocessing unit 12 ends the process of FIG. 14. When flg at the end of the process is False (in other words, when the array ap at the end of the process is an empty array), the preprocessing unit 12 determines that Plag does not contain arithmetic progression elements. In this case, the preprocessing unit 12 may output ap as an empty array as the selection result of the arithmetic progression elements.
[0076] In the example of the reference embodiment, after i is set to 0 in S2, in S5, a0 = Plag[0] = 1 is set. Therefore, in S6, d = Plag[1] - a0 = 7 - 1 = 6 is set. And in S7, j = 2 is set. For this reason, in S11, next_d = Plag[2] - Plag[1] = 14 - 7 = 7 is set. In this case, since d is not equal to next_d, flg is set to False in S14. Thereafter, in S17, i is incremented by 1.
[0077] After flg is updated to True in S3, in S5, a0 = Plag[1] = 7 is set. Therefore, in S6, d = Plag[2] - a0 = 14 - 7 = 7 is set. And in S7, j = 3 is set. For this reason, in S11, next_d = Plag[3] - Plag[2] = 21 - 14 = 7 is set. Therefore, since d is equal to next_d and flg is True, in S18, Plag[1:] = [7, 14, 21] is set as ap.
[0078] (Prediction phase in the reference embodiment) Subsequently, referring to FIG. 1 again, an example of the prediction phase following the learning phase will be described. The prediction device 20 may include a data acquisition unit 21, a preprocessing unit 22, a prediction calculation unit 23, and a prediction result output unit 24. The data acquisition unit 21 may also be referred to as a prediction-time data acquisition unit or a second data acquisition unit. The preprocessing unit 22 may also be referred to as a prediction-time preprocessing unit or a second preprocessing unit.
[0079] As shown in FIG. 1, the storage unit 90 may store the performance data DZP and the employment status data DSP used in the prediction phase. In the prediction phase, real-time prediction of the required power amount may be executed. Therefore, the performance data DZP may be updated in real time. The data acquisition unit 21 acquires DZP and DSP as input data in the prediction phase. Assume that DZP has a data structure in the same format as DZ. Also, assume that DSP has a data structure in the same format as DS. In addition, the data acquisition unit 21 acquires the prediction model stored in the storage unit 90 by the model generation device 10 in the learning phase.
[0080] The preprocessing unit 22 generates preprocessed input data by performing a series of preprocessing in the same format as the above-described learning phase on the input data set in the prediction phase. Examples of the processing of the preprocessing unit 22 are described below.
[0081] First, the preprocessing unit 22 generates the previous value interpolated employment status data (for convenience, referred to as DSP1) in the prediction phase by performing previous value interpolation on the employment status in DSP. As a result of the previous value interpolation, DSP1 has the same time resolution (e.g., 1 minute) as DZP.
[0082] Next, the preprocessing unit 22 generates the performance data with employment status data (for convenience, referred to as DZP1) in the prediction phase by combining DZP and DSP1 using the time point as a key.
[0083] Next, the preprocessing unit 22 acquires the special lag determined in the learning phase. For example, the preprocessing unit 22 may read out the rolling lag and the non-rolling lag determined in the learning phase from the prediction model. The preprocessing unit 22 derives new feature amounts in the prediction phase by setting the special lag determined in the learning phase for the required power amount in the prediction phase.
[0084] The preprocessing unit 22 may derive a lag feature amount as a new feature amount in the prediction phase by setting a non-rolling lag for the required power amount in the prediction phase. Then, the preprocessing unit 22 may generate new data (for convenience, referred to as DZP2) by adding the lag feature amount to DZP1. In the example of the reference form, since the non-rolling lag is 1, the preprocessing unit 22 acquires "the required power amount one day before" as the lag feature amount in the prediction phase.
[0085] Next, the preprocessing unit 22 may derive a rolling feature amount as a new feature amount in the prediction phase by setting a rolling lag for the required power amount in the prediction phase. First, the preprocessing unit 22 acquires a rolling feature amount component in the prediction phase according to the rolling lag. In the example of the reference form, since the rolling lags are 7, 14, and 21, the preprocessing unit 22 acquires "the required power amount seven days before", "the required power amount fourteen days before", and "the required power amount twenty-one days before" in the prediction phase as the rolling feature amount components in the prediction phase. Then, the preprocessing unit 22 adds the rolling feature amount component to DZP2.
[0086] Next, the preprocessing unit 22 derives the average value of "the required power amount seven days before", "the required power amount fourteen days before", and "the required power amount twenty-one days before" in the prediction phase, and acquires the average value as the rolling feature amount in the prediction phase. Then, the preprocessing unit 22 further adds the rolling feature amount to DZP2.
[0087] As described above, the preprocessing unit 22 may generate new data (for convenience, referred to as DZP3) by adding the rolling feature amount component and the rolling feature amount in the prediction phase to DZP2. After acquiring the rolling feature amount, the preprocessing unit 22 may generate new data (for convenience, referred to as DZP4) by deleting the rolling feature amount component from DZP3.
[0088] Next, the preprocessing unit 22 converts the time point recorded in DZP4 into an equivalent amount of time in the prediction phase. Then, the preprocessing unit 22 generates new data (for convenience, referred to as DZP5) by adding the equivalent amount of time to DZ4.
[0089] Next, the preprocessing unit 22 generates new data (for convenience, referred to as DZP6) by adding the day of the week corresponding to the date of the time point recorded in DZP5 (the day of the week converted into a qualitative variable) to DZ5.
[0090] Next, the preprocessing unit 22 reads out the normalization parameters determined in the learning phase from the prediction model. Then, the preprocessing unit 22 normalizes each feature quantity of DZP6 using the normalization parameters. DZP6S in FIG. 15 is an example of data generated by normalizing each feature quantity of DZP6. DZP6S is used as the preprocessed input data in the prediction phase. In FIG. 15, the illustration of the time point as the key is omitted. That is, in FIG. 15, only the explanatory variables used for predicting the required power consumption in the prediction phase are shown.
[0091] As an example, in the prediction phase, the prediction of the required power consumption may be executed every 30 minutes. Also, in the prediction phase, for example, the predicted value of the required power consumption over a future period exceeding 24 hours (e.g., from the current time to 36 hours later) may be derived. From this, in the prediction phase, for example, the values of some cells of "the required power consumption one day ago" may be unknown. In the example of FIG. 15, the cells having unknown values (i.e., blank values) are shown by the notation NULL. When there are blank values in DZP6S, the preprocessing unit 22 may interpolate the blank values using a predetermined interpolation method.
[0092] As an example, the preprocessing unit 22 may interpolate blank values based on known values of the power demand amount one day before using a prediction model. For example, the preprocessing unit 22 may input a known value of the power demand amount one day before corresponding to a certain blank value into the prediction model, and cause the prediction model to output a predicted value corresponding to the input. Then, the preprocessing unit 22 may set the predicted value as the interpolation value of the blank value.
[0093] The prediction calculation unit 23 causes the prediction model to output a predicted value of the power demand amount based on the time series data of the power demand amount after a new feature amount derived based on the power demand amount in the prediction phase is added. Therefore, the prediction calculation unit 23 may input the preprocessed input data (e.g., DZP6S) into the prediction model and cause the prediction model to output a predicted value. Specifically, the prediction calculation unit 23 supplies each feature amount in the preprocessed input data to the prediction model as an explanatory variable. The prediction model outputs a predicted value corresponding to the explanatory variable as an objective variable.
[0094] The prediction result output unit 24 generates prediction result data based on the predicted value of the power demand amount output by the prediction model. For example, the prediction result output unit 24 may generate data associating each predicted value with each time point as the prediction result data. The prediction result output unit 24 outputs the generated prediction result data.
[0095] In addition, the prediction result output unit 24 may convert the predicted value of the power demand amount (unit: kWh) into another unit. As an example, the prediction result output unit 24 may convert the predicted value of the power demand amount into a predicted value of the power demand (unit: kW). In this case, the prediction result output unit 24 may generate data associating each converted predicted value with each time point as the prediction result data.
[0096] (Effect of the information processing apparatus 1) According to the model generation device 10, in the learning phase, a special lag can be selected based on the AC (autocorrelation coefficient of the required power consumption). Then, by setting the special lag for the required power consumption, new features can be derived. Thus, according to the model generation device 10, the new features can be derived based on the AC from features expected to represent the periodicity of the fluctuations in the required power consumption (e.g., the above-mentioned rolling features and lag features). Therefore, it becomes possible to obtain the new features as explanatory variables expected to be beneficial for predicting the required power consumption.
[0097] And according to the model generation device 10, a prediction model can be generated based on the time-series data with new features added to the required power consumption (see, for example, DZ4 in FIG. 9 above). For this reason, since a prediction model can be generated using the new features as explanatory variables, the prediction accuracy of the prediction model can be improved. That is, a high-quality prediction model can be obtained.
[0098] The trend of fluctuations in the required power consumption in a facility may vary depending on, for example, the type of business of the facility. Therefore, prior to generating the prediction model, it is not always easy for the user to manually set an appropriate lag according to the facility. Also, if the lag set by the user is inappropriate, there is a risk of deterioration in the quality of the prediction model.
[0099] However, as described above, according to the model generation device 10, a special lag expected to be a lag suitable for grasping the periodicity of the fluctuations in the required power consumption can be selected based on the AC. Therefore, a prediction model can be generated without requiring the user to manually set the lag. For this reason, while enhancing the convenience for the user, a high-quality prediction model according to the type of business of the facility can be obtained.
[0100] Furthermore, according to the model generation device 10, a prediction model can also be generated by using the employment status in the facility as an additional explanatory variable. By using the employment status as an additional explanatory variable, a prediction model that more precisely reflects the business type of the facility can be generated. Therefore, it becomes possible to further improve the prediction accuracy of the prediction model.
[0101] Incidentally, Patent Document 1 discloses an idea of using multiple NNs appropriately to improve the prediction accuracy of the heat load. Specifically, Patent Document 1 discloses that three individual NNs, namely a weekday NN, a Saturday NN, and a Sunday NN, are generated in advance and each NN is used appropriately according to the day of the week of the prediction date.
[0102] However, depending on the business type of the facility, at least one of Saturday and Sunday may be set as a working day. Alternatively, depending on the business type of the facility, a weekday (e.g., Monday) of a specific day of the week may be set as a holiday. Alternatively, depending on the business type of the facility, all of weekdays, Saturdays, and Sundays may correspond to working days.
[0103] Therefore, the appropriate use of each NN shown in Patent Document 1 cannot flexibly handle the various business types of the facilities described above. For this reason, when the appropriate use of each NN shown in Patent Document 1 is applied to the prediction of the required power consumption, a high prediction accuracy cannot necessarily be achieved.
[0104] On the other hand, according to the model generation device 10, as described above, a high-quality prediction model corresponding to the business type of the facility can be obtained. Therefore, according to the model generation device 10, different from the technology of Patent Document 1, a single prediction model capable of achieving a high prediction accuracy can be generated. Thus, according to the model generation device 10, a prediction model with higher versatility can be obtained compared to the prior art.
[0105] According to the prediction device 20, in the prediction phase, the predicted value of the required power consumption can be derived using the prediction model generated by the model generation device 10 in the learning phase. As described above, according to one aspect of the present invention, it is possible to improve the prediction accuracy of the required power consumption in a facility as compared with the prior art.
[0106] 〔Modification Example in the Reference Embodiment〕 (1) In the above example in the reference embodiment, among the plurality of lags set in the learning phase, a lag having a value equal to or greater than the time length threshold value and corresponding to an AC having a value equal to or greater than the autocorrelation threshold value is selected as a special lag. However, as will be apparent to those skilled in the art, the method for selecting the special lag in the reference embodiment is not limited to the above example.
[0107] For example, the preprocessing unit 12 may select, as a special lag candidate, a lag corresponding to the maximum value of the AC in the data series indicating the relationship between the lag and the AC among the plurality of lags. Therefore, for example, the preprocessing unit 12 may select, as a special lag candidate, a lag corresponding to the maximum value of the AC in the graph of FIG. 7. Next, the preprocessing unit 12 may select, as a special lag, a lag having a value equal to or greater than the time length threshold value and corresponding to an AC having a value equal to or greater than the autocorrelation threshold value among the special lag candidates.
[0108] Depending on the business type of the facility, there may be a case where many lags corresponding to an AC having a value equal to or greater than the autocorrelation threshold value exist in the vicinity of the lag corresponding to the maximum value of the AC. In this case, when the selection method of the above example in the reference embodiment is adopted, many special lags can be selected. In this case, many new explanatory variables (e.g., many rolling feature amounts and lag feature amounts) are derived. As will be apparent to those skilled in the art, when the number of explanatory variables is excessive, the quality of the prediction model may deteriorate. In addition, an excessive number of explanatory variables causes an increase in the time required for executing the machine learning algorithm.
[0109] On the other hand, in the above case, when the selection method in this modification example is adopted, different from the selection method of the above example in the reference form, a special lag is selected from among the special lag candidates. Therefore, according to the selection method of this modification example, the number of selected special lags can be reduced compared to the selection method of the above example in the reference form.
[0110] Therefore, according to the selection method of this modification example, the number of newly derived explanatory variables can be reduced compared to the selection method of the above example in the reference form. As a result, according to the selection method of this modification example, even in the above case, a high-quality prediction model can be generated. In addition, the time required for executing the machine learning algorithm can also be reduced.
[0111] (2) As is obvious to those skilled in the art, the explanatory variables in the prediction model are not limited to the above examples. Any feature quantity that can be considered to affect the required power consumption in the facility may be used as an explanatory variable. For example, depending on the type of facility, meteorological conditions such as temperature, weather, and solar radiation amount affect the required power consumption. Therefore, when there is a correlation between the meteorological conditions and the required power consumption, a feature quantity (meteorological feature quantity) indicating the meteorological conditions can also be used as an additional explanatory variable.
[0112] The meteorological feature quantity may be an actual value obtained as a result of measurement in the facility, or may be a predicted value provided by a meteorological forecast service provider. Therefore, for example, in the learning phase, a prediction model may be generated using the actual value of the meteorological feature quantity. Next, in the prediction phase, the required power consumption may be predicted by the prediction model using the predicted value of the meteorological feature quantity. In this case, in the prediction phase, the predicted value of the meteorological feature quantity may be corrected using the actual value of the meteorological feature quantity in the learning phase.
[0113] (3) The preprocessing unit 12 is the partial autocorrelation coefficient of the required power consumption in DZ1 (partial auto You may derive the (correlation coefficient). In this specification, the autocorrelation coefficient is abbreviated as PAC. Specifically, the preprocessing unit 12 may calculate the PAC for each lag by varying the lag in various ways.
[0114] In many cases, there is expected to be some relationship between PAC and AC. Therefore, the preprocessing unit 12 may select a special lag based on the PAC. In this way, the preprocessing unit 12 may derive new feature quantities (e.g., lag feature quantity and rolling feature quantity) based on the PAC.
[0115] In addition, by using both AC and PAC, it is expected that the periodicity of the temporal variation of the required power amount can be considered in more detail than when using only one of AC or PAC. Therefore, the preprocessing unit 12 may select a special lag based on AC and PAC. In this way, the preprocessing unit 12 can also derive new feature quantities based on AC and PAC.
[0116] 〔Summary of Reference Embodiment〕 Each matter described in the reference embodiment can be expressed as follows.
[0117] The model generation device according to the reference embodiment is a model generation device that generates a prediction model for predicting the required power amount in a facility, and the model generation device sets a plurality of lags with respect to the actual value for time-series data indicating the temporal transition of the actual value of the required power amount, thereby deriving the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags, selects a special lag from among the plurality of lags based on the autocorrelation coefficient, sets the special lag with respect to the actual value to derive a new feature quantity, and generates the prediction model by machine learning based on the time-series data with the new feature quantity added.
[0118] In the model generation device according to the reference form, in the aspect 1, among the plurality of lags, a lag having a value equal to or greater than the time length threshold value and corresponding to the autocorrelation coefficient having a value equal to or greater than the autocorrelation threshold value may be selected as the special lag.
[0119] In the model generation device according to the reference form, among the plurality of lags, a lag corresponding to the maximum value of the autocorrelation coefficient in the data series showing the relationship between the lag and the autocorrelation coefficient may be selected as a special lag candidate, and among the special lag candidates, a lag having a value equal to or greater than the time length threshold value and corresponding to the autocorrelation coefficient having a value equal to or greater than the autocorrelation threshold value may be selected as the special lag.
[0120] In the model generation device according to the reference form, the autocorrelation threshold value may be a value of 0.7 or more and 1 or less.
[0121] In the model generation device according to the reference form, in an array in which the plurality of special lags are sorted in ascending order, a plurality of special lags forming an arithmetic progression may be selected as rolling lags, and by setting the rolling lags with respect to the actual value, a rolling feature amount may be derived as the new feature amount.
[0122] In the model generation device according to the reference form, special lags excluding the rolling lags in the array may be selected as non-rolling lags, and by setting the non-rolling lags with respect to the actual value, a lag feature amount may be derived as the new feature amount.
[0123] In the model generation device according to the reference form, the time series data with the new feature amount added may further include data indicating the daily employment status in the facility.
[0124] The prediction device according to the reference embodiment is a prediction device that derives a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which is generated in advance in a learning phase. In the learning phase, for the time-series data in the learning phase indicating the temporal change of the actual value of the required power consumption, by setting a plurality of lags with respect to the actual value, the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient, a special lag is selected from among the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the time-series data with the new feature amount added, the prediction model is generated by machine learning. The prediction device sets, for the time-series data in the prediction phase indicating the temporal change of the actual value, the special lag selected in the learning phase with respect to the actual value in the prediction phase, thereby deriving a new feature amount in the prediction phase. Based on the time-series data in the prediction phase with the new feature amount added in the prediction phase, the predicted value is output to the prediction model.
[0125] The model generation method according to the reference embodiment is a model generation method for generating a prediction model for predicting the required power consumption in a facility. The method includes: a step of deriving the autocorrelation coefficient of the actual value for each of a plurality of lags by setting the plurality of lags with respect to the actual value for the time-series data indicating the temporal change of the actual value of the required power consumption in the facility; a step of selecting a special lag from among the plurality of lags based on the autocorrelation coefficient; a step of deriving a new feature amount by setting the special lag with respect to the actual value; and a step of generating the prediction model by machine learning based on the time-series data with the new feature amount added.
[0126] The prediction method according to the reference form is a prediction method for deriving a predicted value of the required power consumption in the facility by using, in the prediction phase, a prediction model for predicting the required power consumption in the facility that has been generated in advance in the learning phase. In the learning phase, for the time series data in the learning phase indicating the time transition of the actual value of the required power consumption in the facility, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value is derived for each of the plurality of lags. Based on the autocorrelation coefficient, a special lag is selected from among the plurality of lags, and a new feature amount is derived by setting the special lag with respect to the actual value in the learning phase. Based on the time series data in the learning phase to which the new feature amount in the learning phase is added, the prediction model is generated by machine learning. The prediction method includes: a step of deriving a new feature amount in the prediction phase by setting the special lag selected in the learning phase with respect to the actual value in the prediction phase for the time series data in the prediction phase indicating the time transition of the actual value of the required power consumption in the facility; and a step of causing the prediction model to output the predicted value based on the time series data in the prediction phase to which the new feature amount in the prediction phase is added.
[0127] 〔Embodiment 1〕 FIG. 16 is a block diagram illustrating the configuration of the main part of the information processing apparatus 1A in Embodiment 1. In Embodiment 1, differences from the reference form will be described. The information processing apparatus 1A in the example of FIG. 16 includes a control device 9A instead of the control device 9. The control device 9A includes a model generation device 10A and a prediction device 20A instead of the model generation device 10 and the prediction device 20. The model generation device 10A includes a preprocessing unit 12A instead of the preprocessing unit 12. The prediction device 20A includes a preprocessing unit 22A instead of the preprocessing unit 22.
[0128] (Learning Phase in Embodiment 1) In the reference form, the case where the model generation device 10 selects a special lag based on AC was exemplified. The model generation device 10A of Embodiment 1 selects a special lag based on AC and employment status data DS. That is, the model generation device 10A selects a special lag in consideration of the employment status of the facility.
[0129] Also in Embodiment 1, the case where the special lag includes a rolling lag and a non-rolling lag is exemplified. In Embodiment 1, the "relatively long-term periodicity" of the temporal variation of the required power amount described in the reference form is referred to as the "first periodicity". As is clear from the description of the reference form, the rolling lag corresponds to the first periodicity.
[0130] On the other hand, in Embodiment 1, the "relatively short-term periodicity" of the temporal variation of the required power amount described in the reference form is referred to as the "second periodicity". Therefore, the second periodicity is a periodicity shorter than the first periodicity. As is clear from the description of the reference form, the non-rolling lag corresponds to the second periodicity.
[0131] In the reference form, the case where the preprocessing unit 12 of the model generation device 10 selects, as a special lag, a lag having a value equal to or greater than the time length threshold among a plurality of lags and corresponding to an AC having a value equal to or greater than the autocorrelation threshold was exemplified.
[0132] In Embodiment 1, the preprocessing unit 12A may select, as a special lag candidate, a lag having a value equal to or greater than the time length threshold among a plurality of lags and corresponding to the autocorrelation coefficient having a value equal to or greater than the autocorrelation threshold. In this way, the preprocessing unit 12A may select, as a special lag candidate, an element that was selected as a special lag in the reference form.
[0133] The preprocessing unit 12A may select rolling lag candidates and non-rolling lag candidates from among the special lag candidates by performing the same processing as in the reference form. For example, the preprocessing unit 12A may sort the plurality of extracted special lag candidates in ascending order. Then, the preprocessing unit 12A may generate an array Plag_A including the sorted special lag candidates as elements. In Embodiment 1, for the sake of convenience of explanation, the case where Plag_A = [1, 7, 14] is exemplified.
[0134] The preprocessing unit 12A may select, as rolling lag candidates, elements that form an arithmetic progression (arithmetic progression elements) among the elements of Plag_A. That is, the preprocessing unit 12A may select, as rolling lag candidates, a plurality of special lag candidates that form an arithmetic progression in Plag_A. In the example of Embodiment 1, the preprocessing unit 12A selects the lags "7" and "14" as rolling lag candidates.
[0135] In this specification, a rolling lag corresponding to a working day of a facility is referred to as a working day rolling lag, and a rolling lag corresponding to a holiday of the facility is referred to as a holiday rolling lag. Also, a rolling feature amount corresponding to a working day rolling lag is referred to as a working day rolling feature amount, and a rolling feature amount corresponding to a holiday rolling lag is referred to as a holiday rolling feature amount.
[0136] The preprocessing unit 12A may derive a working day rolling lag and a holiday rolling lag from the rolling lag candidates based on the employment status data DS. An example of the process of deriving a working day rolling lag and a holiday rolling lag from the rolling lag candidates will be described later.
[0137] Then, the preprocessing unit 12A may derive a working day rolling feature amount by setting the working day rolling lag with respect to the actual value of the power demand. Also, the preprocessing unit 12A may derive a holiday rolling feature amount by setting the holiday rolling lag with respect to the actual value of the power demand. The working day rolling feature amount and the holiday rolling feature amount are examples of new feature amounts in Embodiment 1.
[0138] The preprocessing unit 12A may select, as residual elements, the elements of Plag_A excluding the elements of the arithmetic progression. Then, the preprocessing unit 12A may select the special lag candidates corresponding to the residual elements as non-rolling lag candidates. In this way, the preprocessing unit 12A may select the special lag candidates excluding the rolling lag candidates in Plag_A as non-rolling lag candidates. In the example of Embodiment 1, the preprocessing unit 12A selects the lag "1" as a non-rolling lag candidate.
[0139] In this specification, the non-rolling lag corresponding to the working day of the facility is referred to as the working day non-rolling lag, and the non-rolling lag corresponding to the holiday of the facility is referred to as the holiday non-rolling lag. Also, the lag feature amount corresponding to the working day non-rolling lag is referred to as the working day lag feature amount, and the lag feature amount corresponding to the holiday non-rolling lag is referred to as the holiday lag feature amount.
[0140] The preprocessing unit 12A may derive the working day non-rolling lag and the holiday non-rolling lag from the non-rolling lag candidates based on the employment status data DS. An example of the process of deriving the working day non-rolling lag and the holiday non-rolling lag from the non-rolling lag candidates will be described later.
[0141] Then, the preprocessing unit 12A may derive the working day lag feature amount by setting the working day non-rolling lag with respect to the actual value of the power demand. Also, the preprocessing unit 12A may derive the holiday lag feature amount by setting the holiday non-rolling lag with respect to the actual value of the power demand. The working day lag feature amount and the holiday lag feature amount are also examples of the new feature amounts in Embodiment 1.
[0142] (Example of the process of deriving the working day non-rolling lag and the holiday non-rolling lag) Referring to FIGS. 17 to 19, an example of a process for deriving a working day non-rolling lag and a holiday non-rolling lag will be described. In this example, based on the employment status data DS, for each day from the 17th to the 31st of a certain month, a rolling lag is individually set. As shown in item No. 0 of FIG. 17, in this example, it is assumed that the "17th", "19th", "24th", "30th", and "31st" are holidays, and the other days are working days. The notation "org" in FIG. 17 is an abbreviation of "original". No. 0 may be derived from the employment status data DS.
[0143] FIG. 17 shows an example of a process for deriving a working day non-rolling lag by focusing on working days. To explain the process flow in FIG. 17, it is as follows for the following processes 1A to 6A.
[0144] Process 1A: The preprocessing unit 12A converts each day in item No. 0 into a qualitative variable and derives item No. 1. In the example of FIG. 17, since it is focusing on working days, it is assumed that a logical value 1 is assigned to the "working day" and a logical value 0 is assigned to the "holiday".
[0145] Process 2A: The preprocessing unit 12A derives item No. 2 by shifting each value in item No. 1 one day backward. The notation "Shift1" in FIG. 17 represents the process of shifting each value in a certain item one day backward. This shift value corresponds to the lag. Therefore, the shift value for deriving item No. 2 is set to a value equal to the non-rolling lag candidate. Note that the logical value of the "17th" in item No. 2 is equal to the logical value of the "16th" in item No. 1 (not shown in FIG. 17).
[0146] Process 3A: The preprocessing unit 12A determines whether there is a working day to which a logical value 0 is assigned among the current items. If there is no working day to which a logical value 0 is assigned, the process proceeds to process 6A described later. On the other hand, if there is a working day to which a logical value 0 is assigned, the process proceeds to the following process 4A.
[0147] Process 4A: If there is a working day with a logical value of 0 assigned, the preprocessing unit 12A extracts the working day. In the example of FIG. 17, the preprocessing unit 12A extracts "the 18th, 20th, and 25th" in No. 2. As shown in FIG. 17, the working day with a logical value of 0 assigned can be the day after a holiday. For the working day corresponding to the day after a holiday, it may not always be appropriate to apply a lag of "1".
[0148] Next, the preprocessing unit 12A increases the current shift value by 1. Then, the preprocessing unit 12A derives a new item by shifting each value in the current item using the increased shift value. In the example of FIG. 17, the preprocessing unit 12A increases the shift value from 1 to 2. Then, the preprocessing unit 12A derives item No. 3 by shifting each value in item No. 1 backward by two days. Shifting each value in item No. 1 backward by two days is equivalent to shifting each value in item No. 2 backward by one day.
[0149] Process 5A: Next, the preprocessing unit 12A derives a new item by calculating the logical sum (OR) of each value in the latest item in which the working day with a logical value of 0 assigned is extracted and each value in the latest item after shifting for each day. For example, the preprocessing unit 12A derives item No. 4 by calculating the logical sum of each value in item No. 2 and each value in item No. 3 for each day. The logical value of a certain day in item No. 4 is set as the logical sum of the logical value of that day in item No. 2 and the logical value of that day in item No. 3. By calculating the logical sum, the number of working days with a logical value of 0 assigned can be reduced.
[0150] After the end of Process 5A, it returns to Process 3A. According to the above flow, Processes 3A to 5A are repeated until there is no working day with a logical value of 0 assigned.
[0151] Process 6A: The preprocessing unit 12A sets the current item as the final item. In the example of FIG. 17, the preprocessing unit 12A sets item No. 6 as the final item. Then, for each working day in the final item, the preprocessing unit 12A determines the immediately preceding working day to be referenced. The determination of the immediately preceding working day to be referenced may be performed with reference to the employment status data DS.
[0152] In the example of FIG. 17, for the working day "18th", the preprocessing unit 12A determines the immediately preceding working day to be referenced as "15th". That is, the preprocessing unit 12A sets the non-rolling lag for the working day "18th" to "3" (the value obtained by subtracting 15 from 18). On the other hand, for example, for the working day "29th", the preprocessing unit 12A determines the immediately preceding working day to be referenced as "28th". That is, the preprocessing unit 12A sets the non-rolling lag for the working day "29th" to "1" (the value obtained by subtracting 28 from 29).
[0153] In this way, the preprocessing unit 12A can set different non-rolling lags for working days corresponding to the day after a holiday (e.g., 18th) and working days corresponding to the day after a working day (e.g., 29th). As described above, by taking into account the employment status data DS, it is possible to set a flexible non-rolling lag for working days.
[0154] Subsequently, referring to FIG. 18. FIG. 18 shows an example of a process for deriving a non-rolling lag for a holiday by focusing on the holiday. To explain the flow of the process in FIG. 18, it is as follows for the following processes 1B to 6B.
[0155] Process 1B: The preprocessing unit 12A converts each day in item No. 0 into a qualitative variable and derives item No. 1. In the example of FIG. 18, different from FIG. 17, the holiday is focused on. For this reason, in the example of FIG. 18, different from FIG. 17, the logical value 1 is assigned to "holiday" and the logical value 0 is assigned to "working day".
[0156] Process 2B: The preprocessing unit 12A derives Item No. 2 by shifting each value in Item No. 1 backward by one day. This process is equivalent to the above-described Process 2A.
[0157] Process 3B: The preprocessing unit 12A determines whether there is a holiday to which a logical value of 0 is assigned among the current items. If there is no holiday to which a logical value of 0 is assigned, the process proceeds to Process 6B described below. On the other hand, if there is a holiday to which a logical value of 0 is assigned, the process proceeds to the following Process 4B.
[0158] Process 4B: If there is a holiday to which a logical value of 0 is assigned, the preprocessing unit 12A extracts the holiday. In the example of FIG. 18, the preprocessing unit 12A extracts "the 19th, 24th, and 30th" in No. 2. As shown in FIG. 18, a holiday to which a logical value of 0 is assigned may be the day after a working day. For a holiday located on the day after a working day, it may not always be appropriate to apply a lag of "1".
[0159] Next, the preprocessing unit 12A increases the current shift value by 1. Then, the preprocessing unit 12A derives a new item by shifting each value in the current item using the increased shift value. This process is equivalent to the above-described Process 4A.
[0160] Process 5B: Next, the preprocessing unit 12A derives a new item by calculating the logical sum of each value in the latest item in which a holiday to which a logical value of 0 is assigned is extracted and each value in the latest item after shifting for each day.
[0161] After the end of Process 5B, the process returns to Process 3B. According to the above flow, Processes 3B to 5B are repeated until there is no holiday to which a logical value of 0 is assigned.
[0162] Process 6B: The preprocessing unit 12A sets the current item as the final item. In the example of FIG. 18, the preprocessing unit 12A sets item No. 12 as the final item. Then, for each working day in the final item, the preprocessing unit 12A determines the immediately preceding holiday to be referenced. The determination of the immediately preceding holiday to be referenced may be executed by referring to the employment status data DS.
[0163] In the example of FIG. 18, for the holiday "30th", the preprocessing unit 12A determines the immediately preceding holiday to be referenced as "24th". That is, the preprocessing unit 12A sets the non-rolling lag for the holiday "30th" to "6" (the value obtained by subtracting 24 from 30). On the other hand, for example, for the holiday "31st", the preprocessing unit 12A determines the immediately preceding holiday to be referenced as "30th". That is, the preprocessing unit 12A sets the non-rolling lag for the holiday "31st" to "1" (the value obtained by subtracting 30 from 31).
[0164] According to the preprocessing unit 12A, for example, different non-rolling lags for holidays can be set for a holiday corresponding to the day after a working day (e.g., 30th) and a holiday corresponding to the day after a holiday (e.g., 31st). As described above, by taking into account the employment status data DS, it is also possible to set a flexible non-rolling lag for holidays. As shown in FIG. 18, since the arrangement of holidays may be more irregular than that of working days, it is particularly beneficial to be able to achieve a flexible setting of the non-rolling lag for holidays.
[0165] FIG. 19 shows a list of non-rolling lags determined by the processes of FIGS. 17 and 18. As is clear from FIG. 19, according to the preprocessing unit 12A, a non-rolling lag can be flexibly set for both working days and holidays.
[0166] (Example of the process for deriving the working day rolling lag and the holiday rolling lag) With reference to FIGS. 20 to 22, an example of the process for deriving the working day rolling lag and the holiday rolling lag will be described. FIGS. 20 to 22 are paired with FIGS. 17 to 19, respectively.
[0167] In FIG. 20, an example of a process for deriving a working day rolling lag by focusing on the working day is shown. To explain the flow of the process in FIG. 20, it is as follows: Process 1C to Process 6C below.
[0168] Process 1C: The preprocessing unit 12A converts each day in item No. 0 into a qualitative variable and derives item No. 1. This process is equivalent to the above-described Process 1A.
[0169] Process 2C: The preprocessing unit 12A derives item No. 2 by shifting each value in item No. 1 backward by seven days. The shift value "7" for deriving item No. 2 is set to a value equal to the minimum value of the rolling lag candidates. In other words, the shift value is set to a value equal to the first term of the arithmetic progression formed by the rolling lag candidates. Note that the logical value of "the 17th day" in item No. 2 is equal to the logical value of "the 16th day" in item No. 1 (not shown in FIG. 17).
[0170] Process 3C: The preprocessing unit 12A determines whether there is a working day to which a logical value of 0 is assigned among the current items. If there is no working day to which a logical value of 0 is assigned, the process proceeds to Process 6C described below. On the other hand, if there is a working day to which a logical value of 0 is assigned, the process proceeds to the following Process 4C.
[0171] Process 4C: If there is a working day to which a logical value of 0 is assigned, the preprocessing unit 12A extracts the working day.
[0172] Next, the preprocessing unit 12A increases the current shift value to a value equal to the next larger rolling lag candidate after the term of the rolling lag candidate last referred to. For example, the preprocessing unit 12A sets the current shift value to "14". Then, the preprocessing unit 12A derives a new item by shifting each value in the current item using the increased shift value. The preprocessing unit 12A derives item No. 3 by shifting each value in item No. 1 backward by 14 days. The process of shifting each value in item No. 1 backward by 14 days is equivalent to the process of shifting each value in item No. 2 backward by 7 days.
[0173] However, the shift value in the example of FIG. 20 shall not exceed the maximum value (e.g., 14) of the working day rolling lag candidates. The maximum value in the example of FIG. 20 corresponds to two weeks. In the example of FIG. 20, when the shift value reaches the maximum value, the preprocessing unit 12A may set the next shift value to 1. Thereafter, the preprocessing unit 12A may increase the current shift value by 1. This also applies to the example of FIG. 21.
[0174] Process 5C: Next, for each day, the preprocessing unit 12A derives a new item by calculating the logical sum (OR) of each value in the latest item in which the working day with the logical value 0 assigned is extracted and each value in the latest shifted item. This process is equivalent to the above-described Process 5A.
[0175] After the end of Process 5C, the process returns to Process 3C. According to the above flow, Processes 3C to 5C are repeated until there is no working day with the logical value 0 assigned.
[0176] Process 6C: The preprocessing unit 12A sets the current item as the final item. In the example of FIG. 20, the preprocessing unit 12A sets item No. 6 as the final item. Then, for each working day in the final item, the preprocessing unit 12A determines the working days up to two weeks before to be referred to. The determination of the working days to be referred to may be performed by referring to the employment status data DS.
[0177] In the example of FIG. 20, on the working day "18th", logical value 1 is assigned to both item No. 2 corresponding to shift value 7 and item No. 3 corresponding to shift value 14. This means that on the working day "18th", both 7 and 14 may be set as the working day rolling lags. Therefore, the preprocessing unit 12A sets the working day rolling lags corresponding to the working day "18th" to "7" and "14".
[0178] Next, according to the determined non-rolling working day lag, the working day to be referred to corresponding to a certain working day is determined. In the example of FIG. 20, the preprocessing unit 12A determines that the working days to be referred to corresponding to the working day "18th" are "4th" (the date 14 days before the 18th) and "11th" (the date 7 days before the 18th).
[0179] On the other hand, in the example of FIG. 20, on the working day "26th", logical value 1 is assigned only to item No. 3 corresponding to shift value 14. This means that on the working day "26th", only "14" may be set as the working day rolling lag. Therefore, the preprocessing unit 12A sets the working day rolling lag corresponding to the working day "26th" to "14". And the preprocessing unit 12A determines that the working day to be referred to corresponding to the working day "26th" is "12th" (the date 14 days before the 26th). As described above, by taking into account the employment status data DS, it is also possible to flexibly set the working day rolling lag.
[0180] Subsequently, refer to FIG. 21. FIG. 21 shows an example of the process of deriving the non-rolling holiday lag by focusing on holidays. To explain the process flow in FIG. 21, it is as follows for the following processes 1D to 6D.
[0181] Process 1D: The preprocessing unit 12A converts each day in item No. 0 into a qualitative variable and derives item No. 1. This process is equivalent to the above-described process 1B.
[0182] Process 2D: The preprocessing unit 12A derives Item No. 2 by shifting each value in Item No. 1 backward by seven days. This process is equivalent to the above-described Process 2C.
[0183] Process 3D: The preprocessing unit 12A determines whether there is a holiday to which a logical value of 0 is assigned among the current items. If there is no holiday to which a logical value of 0 is assigned, the process proceeds to Process 6D described later. On the other hand, if there is a holiday to which a logical value of 0 is assigned, the process proceeds to the following Process 4D.
[0184] Process 4D: If there is a holiday to which a logical value of 0 is assigned, the preprocessing unit 12A extracts the holiday. Other processes are equivalent to the above-described Process 4C.
[0185] Process 5D: Next, the preprocessing unit 12A derives a new item by calculating the logical sum of each value in the latest item in which a holiday to which a logical value of 0 is assigned is extracted and each value in the latest item after shifting for each day. This process is equivalent to the above-described Process 5B.
[0186] After the end of Process 5D, the process returns to Process 3D. According to the above flow, Processes 3D to 5D are repeated until there is no holiday to which a logical value of 0 is assigned.
[0187] Process 6D: The preprocessing unit 12A sets the current item as the final item. In the example of FIG. 21, the preprocessing unit 12A sets Item No. 8 as the final item. Then, the preprocessing unit 12A determines the holidays up to two weeks before to be referred to for each working day in the final item. The determination of the holidays to be referred to may be executed with reference to the employment status data DS.
[0188] In the example of FIG. 21, on the holiday "30th", the logical value 1 is assigned only in item No. 3 corresponding to the shift value 14. This means that only 14 may be set as the holiday rolling lag on the holiday "30th". Therefore, the preprocessing unit 12A sets the holiday rolling lag corresponding to the holiday "30th" to 14. And the preprocessing unit 12A determines that the holiday to be referred to corresponding to the holiday "30th" is "16th" (the date 14 days before the 30th).
[0189] On the other hand, in the example of FIG. 21, on the holiday "31st", the logical value 1 is assigned in both item No. 2 corresponding to the shift value 7 and item No. 3 corresponding to the shift value 14. This means that both 7 and 14 may be set as the holiday rolling lag on the holiday "31st". Therefore, the preprocessing unit 12A sets the holiday rolling lag corresponding to the holiday "31st" to 7 and 14. And the preprocessing unit 12A determines that the holidays to be referred to corresponding to the holiday "31st" are "17th" (the date 14 days before the 31st) and "24th" (the date 7 days before the 31st). As described above, by taking into account the employment status data DS, it is also possible to flexibly set the holiday rolling lag.
[0190] FIG. 22 shows a list of the rolling lags determined by the processes of FIGS. 20 and 21. As is clear from FIG. 22, according to the preprocessing unit 12A, the rolling lag can be flexibly set for both working days and holidays.
[0191] (Example of derivation of new feature amount) As is clear from the above descriptions, the preprocessing unit 12A can derive a new feature amount corresponding to the employment status based on the special lags (e.g., non-rolling lag and rolling lag) derived in consideration of the employment status of the facility.
[0192] As an example, focus on the working day "18th" in the examples of FIGS. 17 to 22 described above. As shown in FIG. 19, the non-rolling lag for the working day corresponding to the working day "18th" is set to "3". Therefore, the preprocessing unit 12A selects the "demand power consumption at the same time on the 15th" as the working day lag feature amount corresponding to a certain time on the working day "18th".
[0193] Also, as shown in FIG. 22, the rolling lags for the working day corresponding to the working day "18th" are set to "7" and "14". Therefore, the preprocessing unit 12A selects the "demand power consumption at the same time on the 4th" and the "demand power consumption at the same time on the 11th" as the components of the rolling feature amount for the working day corresponding to a certain time on the working day "18th". Therefore, the preprocessing unit 12A calculates the average value of the "demand power consumption at the same time on the 4th" and the "demand power consumption at the same time on the 11th" as the rolling feature amount for the working day corresponding to a certain time on the working day "18th".
[0194] As another example, focus on the holiday "30th" in the examples of FIGS. 17 to 22 described above. As shown in FIG. 19, the non-rolling lag for the holiday corresponding to the holiday "30th" is set to "6". Therefore, the preprocessing unit 12A selects the "demand power consumption at the same time on the 24th" as the holiday lag feature amount corresponding to a certain time on the holiday "30th".
[0195] Also, as shown in FIG. 22, the rolling lag for the holiday corresponding to the holiday "30th" is set to "14". Therefore, the preprocessing unit 12A selects the "demand power consumption at the same time on the 16th" as the component of the rolling feature amount for the holiday corresponding to a certain time on the holiday "30th". Therefore, the preprocessing unit 12A selects the "demand power consumption at the same time on the 16th" as the rolling feature amount for the holiday corresponding to a certain time on the holiday "30th".
[0196] (Generation of the prediction model in Embodiment 1) As is clear from each of the above descriptions, the learning unit 13 in Embodiment 1 can generate a prediction model based on time-series data with new feature quantities derived according to the employment status of the facility added. That is, the learning unit 13 in Embodiment 1 can generate a prediction model reflecting the employment status of the facility. Thus, according to Embodiment 1, it becomes possible to generate a prediction model of even higher quality compared to the reference embodiment.
[0197] The learning unit 13 may incorporate the rolling lag and non-rolling lag derived in the learning phase into the prediction model. Thereby, the rolling lag and non-rolling lag derived in the learning phase can be easily used in the subsequent prediction phase.
[0198] (Prediction Phase in Embodiment 1) In Embodiment 1, the preprocessing unit 22A of the prediction device 20A may acquire the special lag in the learning phase set by the preprocessing unit 12A of the model generation device 10A. As an example, the preprocessing unit 22A may read out the rolling lag and non-rolling lag set in the learning phase from the prediction model.
[0199] Next, the preprocessing unit 22A may derive the special lag in the prediction phase from the special lag in the learning phase based on the employment status data DSP in the prediction phase.
[0200] As an example, the preprocessing unit 22A may convert the employment day rolling lag and holiday rolling lag of each day set in the learning phase into the employment day rolling lag and holiday rolling lag of each day in the prediction phase. As an example, the conversion of these rolling lags may be executed according to the correspondence between the employment status of each day shown in the employment status data DS in the learning phase and the employment status of each day shown in the employment status data DSP in the prediction phase.
[0201] Further, the preprocessing unit 22A may convert the non-rolling lags for working days and non-rolling lags for holidays set in the learning phase into non-rolling lags for working days and non-rolling lags for holidays in the prediction phase. According to the above correspondence, the conversion of these non-rolling lags may be executed.
[0202] Next, the preprocessing unit 22A calculates new feature quantities in the prediction phase based on the special lags derived in the prediction phase. Specifically, the preprocessing unit 22A calculates new feature quantities in the prediction phase by setting the special lags for the power demand amount in the prediction phase (that is, the power demand amount shown in the actual data DZP).
[0203] In the example of Embodiment 1, the preprocessing unit 22A derives the rolling feature quantity for working days and the rolling feature quantity for holidays in the prediction phase by setting the rolling lags for working days and the rolling lags for holidays in the prediction phase for the power demand amount in the prediction phase. The preprocessing unit 22A derives the lag feature quantity for working days and the lag feature quantity for holidays in the prediction phase by setting the non-rolling lags for working days and the non-rolling lags for holidays in the prediction phase for the power demand amount.
[0204] The preprocessing unit 22A generates new time-series data by adding the new feature quantities in the prediction phase to the time-series data of the power demand amount in the prediction phase. Also in the example of Embodiment 1, it is assumed that the new time-series data includes the employment status data after the previous value interpolation. Then, the prediction calculation unit 23 causes the prediction model to output a predicted value of the power demand amount in the prediction phase based on the new time-series data.
[0205] As described above, according to Embodiment 1, even in the prediction phase, new feature amounts corresponding to the employment state of the facility can be derived. Then, the prediction model can be made to perform a prediction based on the new feature amounts. Thus, according to Embodiment 1, the prediction model can be made to perform a prediction corresponding to the employment state of the facility. Therefore, the prediction accuracy can be further improved as compared with the reference embodiment.
[0206] FIG. 23 is an example of the new time-series data generated by the preprocessing unit 22A. In FIG. 23, the case where the employment state is "1" is illustrated over the entire prediction target time range. In the example of FIG. 23, it is assumed that the employment day non-rolling lag is "1". Therefore, the lag feature amount in the example of FIG. 23 represents the power demand amount one day before. The lag feature amount in the example of FIG. 23 is an employment day lag feature amount.
[0207] In the example of FIG. 23, there is no change in the employment state over the entire prediction target time range. Therefore, the blank value (NULL) in the example of FIG. 23 may be interpolated by the prediction value obtained from the prediction model.
[0208] FIG. 24 is another example of the new time-series data generated by the preprocessing unit 22A. FIG. 24 is a figure paired with FIG. 23. In FIG. 24, different from the example of FIG. 23, the case where a change in the employment state occurs in the prediction target time range is illustrated. In the example of FIG. 24, the employment state on July 11, which is the initial time point of the prediction target time range, is "0", and the employment state on the subsequent dates is "1".
[0209] In the example of FIG. 24, it is assumed that both the holiday non-rolling lag and the employment day non-rolling lag are "1". Therefore, the lag feature amount in FIG. 24 also represents the power demand amount one day before. The lag feature amount in the example of FIG. 24 represents the employment day lag feature amount when the employment state is "1", and represents the holiday lag feature amount when the employment state is "0".
[0210] In the example of FIG. 24, the employment status "1" on July 12, which is a date with a blank value, does not match the employment status "0" of the previous day. From this, it is desirable that the blank values in the example of FIG. 24 be interpolated by an interpolation method different from that of the example of FIG. 23. For example, the blank values in FIG. 24 may be interpolated based on the actual values of the known power demand corresponding to the employment status "1".
[0211] FIG. 25 is another example of the new time series data generated by the preprocessing unit 22A. As described in the reference embodiment, the new time series data may include lag features, rolling features, and additional features other than the employment status. The new time series data in the example of FIG. 25 includes the time equivalent amount and the day of the week as additional features. In the example of FIG. 25, for convenience of explanation, the actual values of the power demand are shown together with the lag features and the rolling features. The actual values of the power demand themselves may be used as features.
[0212] (Supplementary Explanation Regarding Employment Status Data) As described in the reference embodiment, by interpolating the employment status data with the previous value, employment status data indicating the employment status at each time in the facility can be generated. By resetting the employment status data so as to express the actual fluctuations within a day of the employment status of the facility, it becomes possible to consider the employment status of the facility in more detail.
[0213] Therefore, for example, the employment status data may include at least one of information indicating the start time of work (start time information) and information indicating the end time of work (end time information) in the facility. Thereby, it becomes possible to express the fluctuations within a day of the employment status of the facility in consideration of at least one of the start time and the end time of work in the facility.
[0214] Figure 26 shows yet another example of the new time-series data generated by the preprocessing unit 22A. Figure 26 is a figure paired with Figure 25. In Figure 26, a case where the employment status data includes starting time information is illustrated. Assume that the starting time in the example of Figure 26 is 8:00 am.
[0215] The preprocessing unit according to one aspect of the present invention may reset the employment status at each time within the employment status data based on the starting time information after performing previous value interpolation on the employment status data. As an example, when the employment status on a certain day is different from the employment status on the previous day of that day, and a certain time on that day is before the employment time, the logical value representing the employment status at that time may be replaced with the logical value at the final time (23:59) of the previous day (see Figure 26).
[0216] By considering the within-day variation in the employment status of the facility, a special lag corresponding to the variation can be derived. As a result, new feature quantities corresponding to the variation can be derived. In the example of Figure 26, compared with the example of Figure 25, lag feature quantities and rolling feature quantities closer to the actual values of the required power consumption are obtained at each time point from "2023 / 5 / 8 0:00" to "2023 / 5 / 8 7:59".
[0217] As an example, the lag feature quantity in Figure 26 will be described. In the example of Figure 26, different from the example of Figure 25, the employment status at each time point from "2023 / 5 / 8 0:00" to "2023 / 5 / 8 7:59" is equivalent to the employment status at the same time point on the previous day "2023 / 5 / 7". Therefore, in the example of Figure 26, different from the example of Figure 25, by citing the actual values of the required power consumption at each time point from "2023 / 5 / 7 0:00" to "2023 / 5 / 7 7:59", the lag feature quantities at each time point from "2023 / 5 / 8 0:00" to "2023 / 5 / 8 7:59" are obtained.
[0218] For example, the lag feature value of "2023 / 5 / 8 0:00" in FIG. 26 is equal to the actual value of the power demand at "2023 / 5 / 7 0:00". And the lag feature value of "2023 / 5 / 8 0:01" is equal to the actual value of the power demand at "2023 / 5 / 7 0:01". Also, the lag feature value of "2023 / 5 / 8 7:59" is equal to the actual value of the power demand at "2023 / 5 / 7 7:59".
[0219] Summary of Embodiment 1 Each matter described in Embodiment 1 can be expressed as follows.
[0220] The model generation device according to Embodiment 1 is a model generation device that generates a prediction model for predicting the power demand in a facility. The model generation device sets a plurality of lags with respect to the actual value for time-series data indicating the time transition of the actual value of the power demand, thereby deriving the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags. Based on the autocorrelation coefficient and the employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags, and a new feature value is derived by setting the special lag with respect to the actual value. Based on the time-series data with the new feature value added, the prediction model is generated by machine learning.
[0221] In the model generation device according to Embodiment 1, the special lag may include a rolling lag corresponding to the first periodicity of the temporal variation of the power demand. The model generation device may select, as special lag candidates, lags having values equal to or greater than a time length threshold among the plurality of lags and corresponding to the autocorrelation coefficients having values equal to or greater than an autocorrelation threshold. In an array in which the plurality of special lag candidates are sorted in ascending order, a plurality of special lag candidates forming an arithmetic progression may be selected as rolling lag candidates. Based on the employment status data, the rolling lag including the working day rolling lag corresponding to the working day of the facility and the holiday rolling lag corresponding to the holiday of the facility may be derived from the rolling lag candidates.
[0222] In the model generation device according to Embodiment 1, the new feature amount may include a rolling feature amount corresponding to the rolling lag, the rolling feature amount may include a working day rolling feature amount and a holiday rolling feature amount, and the model generation device may derive the working day rolling feature amount by setting the working day rolling lag with respect to the actual value, and may derive the holiday rolling feature amount by setting the holiday rolling lag with respect to the actual value.
[0223] In the model generation device according to Embodiment 1, the special lag may include a non-rolling lag corresponding to the second periodicity of the time variation of the required power amount, the second periodicity may be a short-term periodicity compared to the first periodicity, the model generation device may select the special lag candidate excluding the rolling lag candidate in the array as a non-rolling lag candidate, and based on the employment status data, derive the non-rolling lag including a working day non-rolling lag corresponding to the working day and a holiday non-rolling lag corresponding to the holiday from the non-rolling lag candidate.
[0224] In the model generation device according to Embodiment 1, the new feature amount may include a lag feature amount corresponding to the non-rolling lag, the lag feature amount may include a working day lag feature amount and a holiday lag feature amount, and the model generation device may derive the working day lag feature amount by setting the working day non-rolling lag with respect to the actual value, and may derive the holiday lag feature amount by setting the holiday non-rolling lag with respect to the actual value.
[0225] In the model generation device according to Embodiment 1, the employment status data may further indicate the employment status of the facility at each time.
[0226] In the model generation device according to Embodiment 1, the employment status data may include at least one of information indicating the start time of the facility and information indicating the end time of the facility.
[0227] The prediction device according to Embodiment 1 is a prediction device that derives a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which is generated in advance in a learning phase. In the learning phase, for time series data indicating the temporal change of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags, and a new feature amount is derived by setting the special lag with respect to the actual value. Based on the time series data with the new feature amount added, the prediction model is generated by machine learning. The prediction device derives a special lag in the prediction phase from the special lag in the learning phase based on the employment status data in the prediction phase, and for the time series data in the prediction phase indicating the temporal change of the actual value, by setting the special lag in the prediction phase with respect to the actual value in the prediction phase, a new feature amount in the prediction phase is derived, and based on the time series data in the prediction phase with the new feature amount added in the prediction phase, the predicted value is output to the prediction model.
[0228] The model generation method according to Embodiment 1 is a model generation method for generating a prediction model for predicting the required power consumption in a facility. The model generation method includes a step of deriving the autocorrelation coefficient of the actual value corresponding to each of a plurality of lags by setting a plurality of lags with respect to the actual value for time-series data indicating the temporal change of the actual value of the required power consumption, a step of selecting a special lag from among the plurality of lags based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a step of deriving a new feature amount by setting the special lag with respect to the actual value, and a step of generating the prediction model by machine learning based on the time-series data with the new feature amount added.
[0229] The prediction method according to Embodiment 1 is a prediction method for deriving a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility that has been generated in advance in a learning phase. In the learning phase, for time series data indicating the temporal change of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags, and a new feature amount is derived by setting the special lag with respect to the actual value. The prediction model is generated by machine learning based on the time series data with the new feature amount added. The prediction method includes a step of deriving a special lag in the prediction phase from the special lag in the learning phase based on the employment status data in the prediction phase, a step of deriving a new feature amount in the prediction phase by setting the special lag in the prediction phase with respect to the actual value in the prediction phase for the time series data in the prediction phase indicating the temporal change of the actual value, and a step of causing the prediction model to output the predicted value based on the time series data in the prediction phase with the new feature amount added in the prediction phase.
[0230] 〔Embodiment 2〕 FIG. 27 is a block diagram illustrating the configuration of the main part of the information processing apparatus 1B in Embodiment 2. In Embodiment 2, differences from Embodiment 1 will be described. The information processing apparatus 1B in the example of FIG. 27 includes a control device 9B instead of the control device 9A. The control device 9B includes a model generation device 10B and a prediction device 20B instead of the model generation device 10A and the prediction device 20A. The model generation device 10B includes a preprocessing unit 12B instead of the preprocessing unit 12A. Then, the model generation device 10B includes a learning unit 13B and an evaluation unit 14B instead of the learning unit 13 and the evaluation unit 14. The prediction device 20B includes a preprocessing unit 22B instead of the preprocessing unit 22A. Then, the prediction device 20B includes a prediction calculation unit 23B instead of the prediction calculation unit 23.
[0231] (Learning Phase in Embodiment 2) In Embodiment 2, the minimum value among a plurality of lags is referred to as the "minimum lag". The minimum lag is an amount equivalent to the lag unit amount described in the reference embodiment. Therefore, in Embodiment 2, a case where the minimum lag is 30 minutes is exemplified. The value of the minimum lag of 30 minutes corresponds to "1 / 48 day" when converted to a daily unit (see also FIG. 6 in the reference embodiment).
[0232] As described in the reference embodiment, the lag is set as the product of the lag unit amount and the lag order. Therefore, each of the plurality of lags larger than the minimum lag is equal to an integer multiple of the minimum lag.
[0233] Also in Embodiment 2, it is assumed that the minimum lag is set as a value less than the time length threshold. That is, also in Embodiment 2, the minimum lag is not selected as a special lag. Therefore, the preprocessing unit 12B selects a special lag from among the plurality of lags other than the minimum lag based on the AC and the employment status data DS.
[0234] For example, based on the AC and employment status data DS, the preprocessing unit 12B selects, as special lags, a rolling lag and a non-rolling lag from among a plurality of lags other than the minimum lag. Also in Embodiment 2, the preprocessing unit 12B selects an employment day rolling lag and a holiday rolling lag as the rolling lags, and an employment day non-rolling lag and a holiday non-rolling lag as the non-rolling lags.
[0235] Also in Embodiment 2, the preprocessing unit 12B derives new feature quantities based on the special lags. That is, the preprocessing unit 12B derives new feature quantities by setting the special lags with respect to the actual values of the power demand. For example, the preprocessing unit 12B derives rolling feature quantities based on the rolling lags and derives lag feature quantities based on the non-rolling lags. Also in Embodiment 2, the preprocessing unit 12B derives an employment day rolling feature quantity and a holiday rolling lag as the rolling feature quantities, and an employment day lag feature quantity and a holiday lag feature quantity as the lag feature quantities.
[0236] In this specification, time-series data obtained by adding new feature quantities to time-series data showing the time transition of the actual values of the power demand is referred to as first time-series data. The first time-series data corresponds to the time-series data described in the learning phase of Embodiment 1. The preprocessing unit 12B may generate the first time-series data by adding the new feature quantities derived as described above to the training data.
[0237] In this specification, a prediction model generated by machine learning based on the first time-series data is referred to as a first model. In Embodiment 2, the learning unit 13B generates the first model based on the first time-series data. The first model corresponds to the prediction model described in Embodiment 1. The learning unit 13B may incorporate the special lags derived by the preprocessing unit 12B into the first model.
[0238] Unlike the preprocessing unit 12A, the preprocessing unit 12B derives further new feature quantities based on the minimum lag. Specifically, the preprocessing unit 12B derives further new feature quantities by setting the minimum lag with respect to the actual value of the power demand. In this specification, the further new feature quantity is also referred to as the "immediate previous power demand".
[0239] In Embodiment 2, the period to be predicted with respect to the actual value of the power demand is referred to as the prediction target period. The time step (time interval) of the prediction target period is assumed to be equal to the minimum lag. Also, the starting point of the prediction target period is referred to as the prediction start time, and the ending point of the prediction target period is referred to as the prediction end time.
[0240] The immediate previous power demand represents the actual value of the power demand at the previous time point for a certain time point within the prediction target period (e.g., the actual value of the power demand 30 minutes before a certain time point). As described above, the minimum lag does not correspond to a special lag. Therefore, the immediate previous power demand does not correspond to the feature quantity derived based on the special lag. Thus, the immediate previous power demand is a feature quantity different from both the rolling feature quantity and the lag feature quantity. By introducing the immediate previous power demand as a further new explanatory variable, the actual value of the power demand at the time immediately before the current time can be considered. Therefore, further improvement in the prediction accuracy of the prediction model is expected.
[0241] In this specification, the time series data obtained by adding the immediate previous power demand to the first time series data is referred to as the second time series data. The preprocessing unit 12B may generate the second time series data by adding the immediate previous power demand to the first time series data generated as described above.
[0242] In this specification, a prediction model generated by machine learning based on second time-series data is referred to as a second model. In Embodiment 2, the learning unit 13B generates a second model based on the second time-series data. As described above, unlike the learning unit 13 in Embodiment 1, the learning unit 13B further generates a second model. Thereby, in Embodiment 2, it becomes possible to predict the required power consumption by using the first model and the second model in combination. The learning unit 13B may incorporate the minimum lag into the second model.
[0243] The evaluation unit 14B evaluates the first model and the second model generated by the learning unit 13B, respectively. Prior to the evaluation by the evaluation unit 14B, the preprocessing unit 12B generates preprocessed verification data by performing a series of preprocessing in the same format as the above-described training data on the verification data.
[0244] In the example of Embodiment 2, the preprocessing unit 12B generates preprocessed verification data for the first model and preprocessed verification data for the second model. The preprocessed verification data for the first model includes the above-described new feature amounts (e.g., rolling feature amounts and lag feature amounts). The preprocessed verification data for the second model further includes the immediately preceding required power consumption in addition to the new feature amounts.
[0245] In this specification, a predicted value of the required power consumption output from the first model is referred to as a first predicted value. The evaluation unit 14B may cause the first model to output the first predicted value at each time point in the prediction target period by supplying the preprocessed verification data for the first model to the first model. Also, in this specification, an error between the actual value of the required power consumption and the first predicted value is referred to as a first error. The evaluation unit 14B may derive the first error.
[0246] In the example of Embodiment 2, the error between the actual value and the predicted value is displayed in percentage units. The index value of the prediction model described in the reference embodiment may be used as the error. Therefore, the error in Embodiment 2 may be, for example, MAE or RMSE.
[0247] FIG. 28 is an example of a graph showing the error of the first model (i.e., the first error) at each time point in the prediction target period. In the example of FIG. 28, the length of the prediction target period is set to 36 hours. The horizontal axis of the graph represents the elapsed time from the start time of the prediction. Therefore, the value "0" on the horizontal axis corresponds to the start time of the prediction, and the value "36" corresponds to the end time of the prediction. Each time point described in the following explanation can be read as the elapsed time from the start time of the prediction "0" as long as there is no contradiction in the context.
[0248] Also, in this specification, the predicted value of the required power output from the second model is referred to as the second predicted value. The evaluation unit 14B may cause the second model to output the second predicted value at each time point in the prediction target period by supplying the pre-processed verification data for the second model to the second model. Also, in this specification, the error between the actual value of the required power output and the second predicted value is referred to as the first error. The evaluation unit 14B may derive the second error.
[0249] FIG. 29 is an example of a graph showing the error of the second model (i.e., the second error) at each time point in the prediction target period. FIG. 29 is a paired figure with FIG. 28. Comparing FIG. 28 and FIG. 29, when the elapsed time from the start time of the prediction is not so large, the second error is smaller than the first error. This indicates that the second model is superior to the first model in predicting in a short-term time range. This characteristic of the second model is due to the fact that the second model uses the immediately preceding required power output as an explanatory variable.
[0250] However, in the example of FIG. 29, as the elapsed time from the start time of the prediction increases, the second error tends to increase. This characteristic of the second model is also due to the fact that the second model uses the immediately preceding required power output as an explanatory variable. In the second model, it may be necessary to use the predicted value of the immediately preceding required power output in order to derive the second predicted value at each time point in the prediction target period (see the explanation in the prediction phase described later). From this, as time passes, the error between the predicted value and the actual value of the immediately preceding required power output accumulates, and an increase in the second error may occur.
[0251] On the other hand, in the example of FIG. 28, even when the elapsed time from the prediction start time becomes large, the first error does not increase so much. Unlike the second model, the first model does not use the immediately preceding required power amount as an explanatory variable. For this reason, in the first model, the accumulation of errors described above does not occur with respect to the second model. Therefore, when the elapsed time from the prediction start time is large to a certain extent, the first error becomes smaller than the second error. This indicates that the first model is superior to the second model in predicting a long-term time range.
[0252] As described above, the second model is suitable for predicting a short-term time range, and the first model is suitable for predicting a long-term time range. Therefore, by appropriately using the first model and the second model together, better predictions can be achieved compared to the case of using only one of the models.
[0253] Therefore, the evaluation unit 14B may determine a time point (hereinafter referred to as "switching time point") at which the use of the first model and the use of the second model should be switched based on the first predicted value and the second predicted value. As an example, the evaluation unit 14B may select a switching time point from among a plurality of switching time point candidates based on the first predicted value and the second predicted value.
[0254] The evaluation unit 14B may set at least a part of each time point belonging to the prediction target period as a switching time point candidate. In Embodiment 2, a case where the evaluation unit 14B sets all the time points belonging to the prediction target period as switching time point candidates is exemplified. Therefore, the evaluation unit 14B sets 73 switching time point candidates from 0 h to 36 h (see also FIG. 31 below).
[0255] Next, the evaluation unit 14B causes the second model to output a second predicted value for each time point from the prediction start time to the switching time point candidate. Then, the evaluation unit 14B causes the first model to output a first predicted value for each time point from the time point next to the switching time point candidate to the prediction end time. As an example, consider the case where the switching time point candidate is set to 3.5 h. In this case, the evaluation unit 14B causes the second model to output a second predicted value for 8 time points from 0 h to 3.5 h among the 73 time points belonging to the prediction target period. Then, the evaluation unit 14B causes the first model to output a first predicted value for 65 time points from 4 h to 36 h among the 73 time points.
[0256] In the example of Embodiment 2, the i-th switching time point candidate is referred to as the i-th switching time point candidate. In the example of Embodiment 2, i is an arbitrary integer of 0 or more and (Nc - 1) or less. Nc represents the total number of time points belonging to the prediction target period. In the above example, Nc = 73. In the example of Embodiment 2, the i-th switching time point candidate is defined as the time point after the prediction start time by the product of i and the minimum lag. Therefore, the 0-th switching time point candidate corresponds to the prediction start time, and the (Nc - 1)-th switching time point candidate corresponds to the prediction end time.
[0257] As described above, for each i from 0 or more and (Nc - 1) or less, the evaluation unit 14B causes the second model to output a second predicted value for (i + 1) time points from the prediction start time to the i-th switching time point candidate. Then, the evaluation unit 14B causes the first model to output a first predicted value for (Nc - i - 1) time points from the (i + 1)-th switching time point candidate to the prediction end time.
[0258] The evaluation unit 14B may select a switching time point from among a plurality of switching time point candidates based on (i) the second predicted value at each time point from the prediction start time to the switching time point candidate and (ii) the first predicted value at each time point from the time point next to the switching time point candidate to the prediction end time. That is, the evaluation unit 14B may select a switching time point from among the Nc switching time point candidates based on the second predicted value for the above-mentioned (i + 1) time points and the first predicted value for the above-mentioned (Nc - i - 1) time points.
[0259] Next, for each of the plurality of switching time point candidates, the evaluation unit 14B may calculate the total error between the first predicted value and the second predicted value in the prediction target period based on (i) the actual value of the power demand at each time point from the prediction start time point to the prediction end time point, (ii) the second predicted value at each time point from the prediction start time point to the switching time point candidate, and (iii) the first predicted value at each time point from the time point next to the switching time point candidate to the prediction end time point.
[0260] The total error in Embodiment 2 may be any statistic calculated based on the actual value, the first predicted value, and the second predicted value. The evaluation unit 14B may select the switching time point from among the plurality of switching time point candidates based on the total error.
[0261] As an example, the evaluation unit 14B may calculate the second error at each time point from the prediction start time point to the switching time point candidate based on the actual value of the power demand and the second predicted value at each such time point. Then, the evaluation unit 14B may calculate the cumulative value of the second errors at each time point from the prediction start time point to the switching time point candidate. That is, the evaluation unit 14B may calculate the cumulative value of the second errors for the above-mentioned (i + 1) time points.
[0262] Also, the evaluation unit 14B may calculate the first error at each time point from the time point next to the switching time point candidate to the prediction end time point based on the actual value of the power demand and the first predicted value at each such time point. Then, the evaluation unit 14B may calculate the cumulative value of the first errors at each time point from the time point next to the switching time point candidate to the prediction end time point. That is, the evaluation unit 14B may calculate the cumulative value of the first errors for the above-mentioned (Nc - i - 1) time points.
[0263] As is clear from the above explanations, the total error may be any statistic calculated based on the first error and the second error. As an example, the evaluation unit 14B may calculate the sum of the cumulative value of the first error and the cumulative value of the second error. Next, the evaluation unit 14B may calculate the value obtained by dividing the sum by the above-mentioned Nc as the total error.
[0264] FIG. 30 is an example of a graph showing the first error and the second error at each time point in the prediction target period calculated by the evaluation unit 14B. In FIG. 30, the case where the switching time point candidate is set to 3.5 h is illustrated. The switching time point candidate corresponds to the seventh switching time point candidate. The value on the vertical axis of the graph in the example of FIG. 30 represents the second error in the time from 0 h to 3.5 h, and represents the first error in the time from 4 h to 36 h.
[0265] The example of FIG. 30 shows that by appropriately using the first model and the second model in combination, excellent prediction can be achieved as compared with both the case of using only the first model (FIG. 28) and the case of using only the second model (FIG. 29). Therefore, according to Embodiment 2, it is possible to further improve the prediction accuracy as compared with Embodiment 1.
[0266] FIG. 31 shows an example of the total error corresponding to each of a plurality of switching time point candidates. As is clear from the above descriptions, the total error when the switching time point candidate is set to the minimum value “0 h” (the total error corresponding to the 0th switching time point candidate) corresponds to the average value of the graph plots in FIG. 28. On the other hand, the total error when the switching time point candidate is set to the maximum value “36 h” (the total error corresponding to the 72nd switching time point candidate) corresponds to the average value of the graph plots in FIG. 29.
[0267] As an example, the evaluation unit 14B may select, as the switching time point, the switching time point candidate corresponding to the minimum value of the total error among the plurality of switching time point candidates. In the example of FIG. 31, the minimum value of the total error is obtained at the switching time point candidate “3.5 h”. Therefore, the evaluation unit 14B selects 3.5 h as the switching time point. In the example of FIG. 31, as the switching time point candidate increases from 0 h to 3.5 h, the total error decreases. Next, as the switching time point candidate increases from 4 h to 36 h, the total error increases.
[0268] The evaluation unit 14B may incorporate the prediction start time and the prediction end time in the learning phase into at least one of the first model and the second model. In addition, the evaluation unit 14B may incorporate the switching time determined as described above into at least one of the first model and the second model. Thereby, these times can be conveniently used in the prediction phase described below. As an example, the evaluation unit 14B may incorporate these times into the second model.
[0269] (Prediction Phase in Embodiment 2) The prediction device 20B predicts the required power consumption in the prediction phase by using the first model and the second model generated by the model generation device 10B in the learning phase. The process of the prediction device 20B predicting the required power consumption using the first model is generally equivalent to the example of Embodiment 1. Therefore, in Embodiment 2, the process related to the second model will be mainly described.
[0270] The preprocessing unit 22B of the prediction device 20B may read out the prediction start time in the learning phase and the switching time determined in the learning phase from the second model. Then, the preprocessing unit 22B may calculate the time length from the prediction start time to the switching time in the learning phase as the switching time length. The switching time length in the example of Embodiment 2 is 3.5 h.
[0271] Next, the preprocessing unit 22B may acquire the prediction start time and the prediction end time in the prediction phase from the prediction target period in the prediction phase. Then, the preprocessing unit 12B sets the time point obtained by adding the switching time length to the prediction start time in the prediction phase as the switching time in the prediction phase. In Embodiment 2, the preprocessing unit 12B sets the switching time in the prediction phase as "the time point 3.5 h after the prediction start time in the prediction phase".
[0272] Then, the prediction calculation unit 23B causes one of the first model or the second model to output a predicted value of the power demand for each time point belonging to the prediction target period in the prediction phase. Also in the prediction target period in the prediction phase, it is assumed that the time step is equal to the minimum lag.
[0273] Specifically, the prediction calculation unit 23B causes the second model to output a second predicted value for each time point from the prediction start time point to the switching time point in the prediction phase. Then, the prediction calculation unit 23B causes the first model to output a first predicted value for each time point from the time point next to the switching time point to the prediction end time point.
[0274] More specifically, in the example of Embodiment 2, the preprocessing unit 22B generates input data for the first model and input data for the second model in the prediction phase by performing a series of preprocessing equivalent to the preprocessing described in the learning phase.
[0275] FIG. 32 shows an example of the input data for the first model in the prediction phase. As shown in FIG. 32, the input data for the first model in the prediction phase includes the above-described new feature amounts (e.g., rolling feature amounts and lag feature amounts). FIG. 33 shows an example of the input data for the second model in the prediction phase. As shown in FIG. 33, the input data for the second model in the prediction phase further includes the immediately preceding required power amount in addition to the new feature amounts.
[0276] The prediction calculation unit 23B supplies the input data for the second model to the second model, thereby causing the second model to output a second predicted value for each time point from the prediction start time point to the switching time point in the prediction phase. Then, the prediction calculation unit 23B supplies the input data for the first model to the first model, thereby causing the first model to output a first predicted value for each time point from the time point next to the switching time point to the prediction end time point.
[0277] In the examples of FIGS. 32 to 33, the start time of prediction end is "2021 / 7 / 11 12:30", and the end time of prediction end is "2021 / 7 / 13 0:00". In the example of Embodiment 2, the switching time in the prediction phase is set to "2021 / 7 / 11 16:00".
[0278] Therefore, by supplying the input data for the second model to the second model, the prediction calculation unit 23B causes the second model to output a second predicted value for each time point from "2021 / 7 / 11 12:30" to "2021 / 7 / 11 16:00". Then, by supplying the input data for the first model to the first model, the prediction calculation unit 23B causes the first model to output a first predicted value for each time point from "2021 / 7 / 11 16:30" to "2021 / 7 / 13 0:00".
[0279] In FIG. 33, the immediate previous demand power amount at the start time of prediction end "2021 / 7 / 11 12:30" is the actual value of the demand power amount at the time point with the minimum lag before that time point. That is, the immediate previous demand power amount is the actual value of the demand power amount at the time point "2021 / 7 / 11 12:00".
[0280] In the example of FIG. 33, it is assumed that the actual values of the demand power amounts at time points after the time point "2021 / 7 / 11 12:00" have not yet been stored in the storage unit 90. Therefore, in the example of FIG. 33, the immediate previous demand power amounts at each time point after "2021 / 7 / 11 13:00" are blank values. These blank values may be interpolated by any interpolation method.
[0281] (Supplement regarding Embodiment 2) (1) In the learning phase, the method by which the preprocessing unit 12B determines the switching time based on the total error is not limited to the method exemplified as above. For example, the preprocessing unit 22B may select the switching time from among a plurality of switching time candidates based on the increasing trend of the total error as the counter variable i indicating the number of the switching time candidates increases.
[0282] In this specification, the total error corresponding to the i-th switching time point candidate is denoted as TE(i). And the difference between TE(i) and TE(i - 1) is denoted as Δ. Δ represents the difference in the total error when i is increased by only 1. The preprocessing unit 12B may calculate Δ.
[0283] If the tendency for Δ to increase continues as i increases, it is considered that the possibility of finding a global minimum value of the total error within a larger range of i is not very high. Therefore, when Δ has increased continuously K times as i increases, the preprocessing unit 22B may select the minimum value of the total error obtained within the range of i searched so far as the switching time point. K may be set as any integer greater than or equal to 0 and less than or equal to (Nc - 1).
[0284] By selecting the switching time point based on the increasing trend of the total error (more specifically, based on the increasing trend of Δ), it is not necessarily required to calculate TE(i) for all i. As a result, the time for a series of arithmetic processing required to set the switching time point can be reduced.
[0285] (2) In Embodiment 2, the case where the learning unit 13B generates the first model and the second model was exemplified. However, the learning unit 13B may further generate another prediction model different from the first model and the second model. For example, the learning unit 13B may further generate another prediction model based on lag features, rolling features, and features different from the immediately preceding required power amount.
[0286] As described above, the learning unit 13B may generate three or more prediction models. In this case, in the prediction phase, the prediction device 20B can predict the required power amount by using the three or more prediction models in combination.
[0287] 〔Summary of Embodiment 2〕 Each matter described in Embodiment 2 can be expressed as follows.
[0288] The model generation device according to Embodiment 2 is a model generation device that generates a prediction model for predicting the required power consumption in a facility. The model generation device sets a plurality of lags with respect to the actual value for time-series data indicating the time transition of the actual value of the required power consumption, thereby deriving the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning.
[0289] In the model generation device according to Embodiment 2, the predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. The model generation device may set at least a part of each time point belonging to the prediction target period of the actual value as a plurality of switching time point candidates. Based on (i) the second predicted value at each time point from the prediction start time point, which is the start point of the prediction target period, to the switching time point candidate, and (ii) the first predicted value at each time point from the time point next to the switching time point candidate to the prediction end time point, which is the end point of the prediction target period, a switching time point may be selected from among the plurality of switching time point candidates.
[0290] For each of the plurality of switching time point candidates, the model generation device according to Embodiment 2 may calculate the total error between the first predicted value and the second predicted value in the prediction target period based on (i) the actual value at each time point from the prediction start time point to the prediction end time point, (ii) the second predicted value at each time point from the prediction start time point to the switching time point candidate, and (iii) the first predicted value at each time point from the time point next to the switching time point candidate to the prediction end time point, and may select the switching time point from among the plurality of switching time point candidates based on the total error.
[0291] In the model generation device according to Embodiment 2, the error between the actual value and the first predicted value is referred to as the first error, and the error between the actual value and the second predicted value is referred to as the second error. The model generation device may calculate (i) the cumulative value of the second error at each time point from the prediction start time point to the switching time point candidate and (ii) the cumulative value of the first error at each time point from the time point next to the switching time point candidate to the prediction end time point, and may calculate the value obtained by dividing the sum by the total number of time points belonging to the prediction target period as the total error.
[0292] The model generation device according to Embodiment 2 may select, as the switching time point, the switching time point candidate corresponding to the minimum value of the total error among the plurality of switching time point candidates.
[0293] The prediction device according to Embodiment 2 is a prediction device that derives a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which has been generated in advance in a learning phase. In the learning phase, for time-series data indicating the temporal transition of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and an autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning. The prediction device predicts the required power consumption by using the first model and the second model in the prediction phase.
[0294] In the prediction device according to Embodiment 2, the predicted value of the required power amount output from the first model is referred to as a first predicted value, and the predicted value of the required power amount output from the second model is referred to as a second predicted value. In the learning phase, at least a part of each time point from the prediction start time point to the prediction end time point may be set as a plurality of switching time point candidates. Based on (i) the second predicted value at each time point from the prediction start time point to the switching time point candidate and (ii) the first predicted value at each time point from the time point next to the switching time point candidate to the prediction end time point, a switching time point may be selected from among the plurality of switching time point candidates. The prediction device may calculate the time length from the prediction start time point to the switching time point in the learning phase as a switching time length, and set the time point obtained by adding the switching time length to the prediction start time point in the prediction phase as the switching time point in the prediction phase. For each time point from the prediction start time point in the prediction phase to the switching time point in the prediction phase, the second model may be caused to output the second predicted value. For each time point from the time point next to the switching time point in the prediction phase to the prediction end time point in the prediction phase, the first model may be caused to output the first predicted value.
[0295] The model generation method according to Embodiment 2 is a model generation method for generating a prediction model for predicting the required power consumption in a facility. The model generation method includes: a step of deriving the autocorrelation coefficient of the actual value corresponding to each of a plurality of lags by setting the plurality of lags with respect to the time-series data indicating the time transition of the actual value of the required power consumption; a step of selecting a special lag from among the plurality of lags other than the minimum lag which is the minimum value of the plurality of lags, based on the autocorrelation coefficient and the employment status data indicating the daily employment status in the facility; a step of deriving a new feature amount by setting the special lag with respect to the actual value; a step of generating a first model as the prediction model by machine learning based on the first time-series data obtained by adding the new feature amount to the time-series data; a step of deriving a further new feature amount by setting the minimum lag with respect to the actual value; and a step of further generating a second model different from the first model by the machine learning based on the second time-series data obtained by adding the further new feature amount to the first time-series data.
[0296] The prediction method according to Embodiment 2 is a prediction method for deriving a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which is generated in advance in a learning phase. In the learning phase, for time-series data indicating the temporal transition of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning. The prediction method includes a step of predicting the required power consumption by using the first model and the second model in the prediction phase.
[0297] 〔Embodiment 3〕 FIG. 34 is a block diagram illustrating the configuration of a main part of the information processing apparatus 1C in Embodiment 3. In Embodiment 3, differences from Embodiment 2 will be described. The information processing apparatus 1C in the example of FIG. 34 includes a control device 9C instead of the control device 9B. The control device 9C includes a model generation device 10C and a prediction device 20C instead of the model generation device 10B and the prediction device 20B. The model generation device 10C includes an evaluation unit 14C instead of the evaluation unit 14B. The prediction device 20B includes a prediction calculation unit 23C instead of the prediction calculation unit 23B.
[0298] (Learning Phase in Embodiment 3) In the learning phase in Embodiment 3, unlike Embodiment 2, two different prediction target periods for the actual value of the required power amount are considered. In this specification, each of the two different prediction target periods is referred to as a first prediction target period and a second prediction target period. The start point of the first prediction target period is referred to as the first prediction start time, and the end point of the first prediction target period is referred to as the first prediction end time. Also, the start point of the second prediction target period is referred to as the second prediction start time, and the end point of the second prediction target period is referred to as the second prediction end time.
[0299] The time in this specification refers to a specific point in time belonging to a certain date. Therefore, it should be noted that the time in this specification is a value independent of the date. In this specification, the time of the first prediction start time is referred to as the first time, and the time of the second prediction start time is referred to as the second time. In the example of Embodiment 3, it is assumed that the first time and the second time are different times. In Embodiment 3, a case where the first time and the second time are separated by one hour or more is exemplified. When it is assumed that the interpolation process described in FIG. 36 below is performed, it is assumed that the first time and the second time are selected so that they are separated by two hours or more.
[0300] The evaluation unit 14C may cause the first model and the second model to output the first prediction value and the second prediction value in the first prediction target period, respectively. It should be noted that, as will be clear from the following description, it is not necessary for both the first prediction value and the second prediction value to be output for all of the first prediction target period.
[0301] In Embodiment 3, the evaluation unit 14C may select a first switching time point from among a plurality of time points belonging to the first prediction target period based on the first prediction value and the second prediction value in the first prediction target period. The first switching time point is a switching time point in the first prediction target period. Then, the evaluation unit 14C calculates the time length from the first prediction start time to the first switching time point as the first switching time length. The first switching time length is the switching time length in the first prediction target period.
[0302] Further, the evaluation unit 14C may cause the first model and the second model to output the first predicted value and the second predicted value, respectively, in the second prediction target period. It should be noted that as is clear from the following description, it is not necessary for both the first predicted value and the second predicted value to be output in all of the second prediction target period.
[0303] In Embodiment 3, the evaluation unit 14C may select a second switching time point from among a plurality of time points belonging to the second prediction target period based on the first predicted value and the second predicted value in the second prediction target period. The second switching time point is the switching time point in the second prediction target period. Then, the evaluation unit 14C calculates the time length from the second prediction start time point to the second switching time point as the second switching time length. The second switching time length is the switching time length in the second prediction target period.
[0304] In this specification, the time of the prediction start time point is referred to as the prediction start time. The evaluation unit 14C may generate data indicating the switching time length corresponding to an arbitrary prediction start time based on the first time, the first switching time length, the second time, and the second switching time length. As an example, the evaluation unit 14C may generate an array indicating the switching time length corresponding to an arbitrary prediction start time. An example of the array will be described later.
[0305] The first switching time point and the second switching time point may be determined by the same process as in Embodiment 2. Therefore, the evaluation unit 14C may set at least a part of each time point belonging to the first prediction target period as a plurality of first switching time point candidates in the first prediction target period. The first switching time point candidate is a switching time point candidate in the first prediction target period. Then, the evaluation unit 14C may select the first switching time point from among the plurality of first switching time point candidates based on (i) the second predicted value at each time point from the first prediction start time point to the first switching time point candidate, and (ii) the first predicted value at each time point from the time point next to the first switching time point candidate to the first prediction end time point.
[0306] Further, the evaluation unit 14C may set at least a part of each time point belonging to the second prediction target period as a plurality of second switching time point candidates in the second prediction target period. The second switching time point candidates are switching time point candidates in the second prediction target period. Then, the evaluation unit 14C may select a second switching time point from among the plurality of second switching time point candidates based on (i) the second predicted values at each time point from the second prediction start time point to the second switching time point candidate, and (ii) the first predicted values at each time point from the time point next to the second switching time point candidate to the second prediction end time point.
[0307] In this specification, the total error in the first prediction target period is referred to as the first total error, and the total error in the second prediction target period is referred to as the second total error. The first total error and the second total error may be calculated by the same processing as in Embodiment 2. Therefore, for each of the plurality of first switching time point candidates, the evaluation unit 14C may calculate the first total error based on (i) the actual value of the power demand at each time point from the first prediction start time point to the first prediction end time point, (ii) the second predicted values at each time point from the first prediction start time point to the first switching time point candidate, and (iii) the first predicted values at each time point from the time point next to the first switching time point candidate to the first prediction end time point. Then, the evaluation unit 14C may select a first switching time point from among the plurality of first switching time point candidates based on the first total error.
[0308] Further, for each of the plurality of second switching time point candidates, the evaluation unit 14C may calculate the second total error based on (i) the actual value of the power demand at each time point from the second prediction start time point to the second prediction end time point, (ii) the second predicted values at each time point from the second prediction start time point to the second switching time point candidate, and (iii) the first predicted values at each time point from the time point next to the second switching time point candidate to the second prediction end time point. Then, the evaluation unit 14C may select a second switching time point from among the plurality of second switching time point candidates based on the second total error.
[0309] The evaluation unit 14C may calculate the sum of (i) the cumulative value of the second error at each time point from the start time of the first prediction to the candidate for the first switching time point, and (ii) the cumulative value of the first error at each time point from the time point next to the candidate for the first switching time point to the end time of the first prediction. Next, the evaluation unit 14C may calculate, as the first comprehensive error, a value obtained by dividing the sum by the total number of time points belonging to the first prediction target period. Then, the evaluation unit 14C may select, as the first switching time point, the candidate for the first switching time point corresponding to the minimum value of the first comprehensive error among the plurality of candidates for the first switching time point.
[0310] Further, the evaluation unit 14C may calculate the sum of (i) the cumulative value of the second error at each time point from the start time of the second prediction to the candidate for the second switching time point, and (ii) the cumulative value of the first error at each time point from the time point next to the candidate for the second switching time point to the end time of the second prediction. Next, the evaluation unit 14C may calculate, as the second comprehensive error, a value obtained by dividing the sum by the total number of time points belonging to the second prediction target period. Then, the evaluation unit 14C may select, as the second switching time point, the candidate for the second switching time point corresponding to the minimum value of the second comprehensive error among the plurality of candidates for the second switching time point.
[0311] Subsequently, with reference to FIGS. 35 to 37, the flow of the process in which the evaluation unit 14C generates an array indicating the switching time length corresponding to an arbitrary prediction start time based on the first time, the first switching time length, the second time, and the second switching time length will be described. In the following description, the prediction start time is represented by the letter t. In the following description, it is assumed that the length of the prediction target period is 3 days, that is, 72 hours. Therefore, t in the range of -24 ≦ t < 48 is considered. t is an integer. Therefore, t in the range of 0 ≦ t ≦ 23 represents the prediction start time in hourly units (h units) on a certain day. For example, t = 0 represents 0:00, and t = 23 represents 23:00.
[0312] As shown in FIG. 35, the evaluation unit 14C first generates an array LS_A with 72 elements. Note that the switching time lengths in the examples of FIGS. 35 to 37 are expressed based on a predetermined unit amount with respect to the time length. The unit amount may be set, for example, in consideration of the fluctuation trend of the required power amount of the facility. In Embodiment 3, a case where the unit amount is set to 0.5 h is illustrated. Therefore, the switching time length "5" in FIG. 35 corresponds to a switching time length of 2.5 h, and the switching time length "6" corresponds to a switching time length of 3 h.
[0313] The evaluation unit 14C acquires a time t1 representing the first time. Then, the evaluation unit 14C inputs the first switching time length corresponding to t1 to LS_A[t1]. In the example of FIG. 35, let t1 = 2 and the first switching time length be 3 h. In this case, the evaluation unit 14C inputs 6 to LS_A[2].
[0314] Also, the evaluation unit 14C acquires a time t2 representing the second time. Then, the evaluation unit 14C inputs the second switching time length corresponding to t2 to LS_A[t2]. In the example of FIG. 35, let t2 = 23 and the second switching time length be 2.5 h. In this case, the evaluation unit 14C inputs 5 to LS_A
[23] .
[0315] The periodicity in units of 24 hours may be considered in the correspondence relationship between the prediction start time and the switching time length in Embodiment 3. Therefore, for any t where 0 ≦ t ≦ 23, the evaluation unit 14C may set the element value of LS_A 24 hours before the relevant t as LS_A[t - 24] = LS_A[t]. Also, for any t where 0 ≦ t ≦ 23, the evaluation unit 14C may set the element value of LS_A 24 hours after the relevant t as LS_A[t + 24] = LS_A[t].
[0316] In the example of FIG. 35, LS_A[2] = 6. And when t = 2, t - 24 = -22 and t + 24 = 26. Therefore, LS_A[-22] = LS_A
[26] = 6 is set.
[0317] In the example of FIG. 35, LS_A
[23] =5. And when t = 23, t - 24 = -1 and t + 24 = 47. Therefore, LS_A[-1]=LS_A
[47] =5 is set as such.
[0318] Subsequently, the evaluation unit 14C may generate a new array LS_B by interpolating the blank values of LS_A[t] for 0 ≦ t ≦ 23 using any interpolation method. FIG. 36 shows an example of LS_B. In the example of FIG. 36, the array LS_B is generated by linear interpolation.
[0319] LS_A[0] and LS_A[1] in the example of FIG. 35 are blank values. As an example, the evaluation unit 14C may interpolate these blank values by extrapolation at both ends. Therefore, the evaluation unit 14C may interpolate these blank values based on LS_A[-1] and LS_A[2].
[0320] LS_B[0] and LS_B[1] in the example of FIG. 36 are respectively the values linearly interpolated based on LS_A[-1] and LS_A[2], where LS_A[0] and LS_A[1] are blank values. In the example of FIG. 36, LS_B[0]=5.33 LS_B[1]=5.67 is set as such.
[0321] Also, LS_A[3] to LS_A
[22] in the example of FIG. 35 are blank values. Therefore, the evaluation unit 14C may interpolate these blank values based on LS_A[2] and LS_A
[23] .
[0322] LS_B[3] to LS_B
[22] in the example of FIG. 36 are respectively the values linearly interpolated by non - blank values LS_A[2] and LS_A
[23] for blank values LS_A[3] to LS_A
[22] . In the example of FIG. 36, for the sake of simplification of illustration, the notations of the values of LS_B[3] to LS_B
[22] are omitted.
[0323] The LS_B generated as described above does not have blank values in the range of 0 ≤ t ≤ 23. Therefore, LS_B in FIG. 36 is an example of an array indicating the switching time length corresponding to an arbitrary prediction start time t. LS_B indicates LS_B[t] as the switching time length corresponding to t.
[0324] Depending on the fluctuation trend of the facility's required power amount, the prediction accuracy of the required power amount may depend on the prediction start time. According to Embodiment 3, based on the data indicating the switching time length corresponding to an arbitrary prediction start time, a switching time length considered appropriate for a certain prediction start time can be set. Thus, according to Embodiment 3, the dependence of the prediction accuracy of the required power amount on the prediction start time can be reduced. Therefore, according to Embodiment 3, it is possible to further improve the prediction accuracy compared to Embodiment 2.
[0325] Also, according to Embodiment 3, it is not necessary to generate a set of an individual first model and a second model for each prediction start time. That is, according to Embodiment 3, it is not necessary to generate a plurality of sets of the first model and the second model. According to Embodiment 3, by using a single set of the first model and the second model, high prediction accuracy can be realized. Thus, Embodiment 3 is also beneficial from the viewpoint of preventing an increase in calculation resources related to prediction model generation.
[0326] By the way, for the convenience of operation in the prediction phase, the switching time length may preferably be set as a well-defined value. Therefore, as an example, the evaluation unit 14C may generate a new array LS_C by converting LS_B[t] to an integer type. FIG. 37 shows an example of LS_C. LS_C in FIG. 37 is another example of an array indicating the switching time length corresponding to an arbitrary prediction start time t. LS_C indicates LS_C[t] as the switching time length corresponding to t.
[0327] In the example of FIG. 37, LS_C[t] is derived by truncating the value after the decimal point of LS_B[t]. Therefore, in the example of FIG. 37, LS_C[0] = 5 LS_C[1] = 5 It is set as such. As is clear from the above description, in LS_C, for all t, LS_C[t] is equal to a value that is an integer multiple of the above unit amount.
[0328] The evaluation unit 14C may incorporate data indicating the switching time length corresponding to an arbitrary prediction start time into at least one of the first model and the second model. Thereby, in the prediction phase described below, the data can be easily used. As an example, the evaluation unit 14C may incorporate the array LS_B in FIG. 36 or the array LS_C in FIG. 37 into the second model. In Embodiment 3, a case where the array LS_C is incorporated into the second model by the evaluation unit 14C is exemplified.
[0329] (Prediction Phase in Embodiment 3) The prediction calculation unit 23C reads out from the second model the data indicating the switching time length corresponding to an arbitrary prediction start time generated by the model generation device 10B in the learning phase. Therefore, the prediction calculation unit 23C can predict the required power consumption by using the first model and the second model based on the data.
[0330] As an example, the prediction calculation unit 23C reads out the array LS_C from the second model. Then, the prediction calculation unit 23C can predict the required power consumption by using the first model and the second model based on the array LS_C.
[0331] Specifically, the prediction calculation unit 23C may derive the switching time length corresponding to the time at the prediction start point in the prediction phase based on the above data. As an example, consider the case where the prediction start time in the prediction phase is 0:00. In this case, the prediction calculation unit 23C refers to the array LS_C and obtains LS_C[0] = 5 as the switching time length corresponding to the prediction start time. Therefore, the prediction calculation unit 23C derives the switching time length corresponding to the prediction start time as 2.5 h.
[0332] The prediction calculation unit 23C may set, as the switching time point in the prediction phase, the time point obtained by adding the above-described switching time length to the prediction start time point in the prediction phase. In Embodiment 3, the preprocessing unit 23C sets, as the switching time point in the prediction phase, "the time point 2.5 h after the prediction start time point in the prediction phase". The subsequent processing in the prediction calculation unit 23C is the same as that in Embodiment 2.
[0333] (Supplement regarding Embodiment 3) (1) In Embodiment 3, in the example of FIG. 37, the conversion to an integer type by rounding down the value was illustrated. However, the method of converting to an integer type is not limited to the above example. For example, the conversion to an integer type may be performed by rounding down the value. Alternatively, the conversion to an integer type may be performed by rounding the value.
[0334] This also applies to the process of obtaining the prediction start time t as an integer value described in Embodiment 3. Therefore, t may be derived by rounding down or up the minutes at the prediction start time point. Alternatively, t may be derived by rounding the minutes at the prediction start time point in units of 30 minutes.
[0335] (2) In Embodiment 3, in the example of FIG. 36, the interpolation of the blank values of the array LS_A by bilinear interpolation was illustrated. However, the method of interpolating the blank values is not limited to the above example. For example, the blank values may be interpolated by previous value interpolation or next value interpolation. Also, instead of linear interpolation, non-linear interpolation may be used.
[0336] (3) In the learning phase, three or more different prediction target periods of the actual values may be used. Therefore, the evaluation unit 14C may calculate three or more switching time lengths. In this specification, the i-th prediction target period is referred to as the i-th prediction target period. i may be any integer satisfying 1 ≦ i ≦ Np. Np is the total number of prediction target periods.
[0337] In this specification, the switching time duration corresponding to the i-th prediction target period is referred to as the i-th switching time duration. Also, the time of the i-th prediction start time, which is the start point of the i-th prediction target period, is referred to as the i-th time. It is assumed that the Np times from the first time to the Np-th time are all different from each other. More specifically, each of the Np times corresponds to a different t in the range of 0 ≦ t < 23 in FIG. 35.
[0338] The evaluation unit 14C may calculate Np switching time durations from the first switching time duration to the Np-th switching time duration. In this case, the evaluation unit 14C can generate an array LS_A including Np non-blank values in the range of 0 ≦ t < 23. The above-mentioned FIG. 35 corresponds to the case where Np = 2. The larger the value of Np is set, the smaller the number of blank values in the range of 0 ≦ t < 23 in the array LS_A can be reduced. Therefore, the larger the value of Np is set, the more an array showing the relationship between the prediction start time and the switching time duration closer to the actual situation can be generated.
[0339] As an example, Np may be set to 23. In this case, the evaluation unit 14C can generate an array LS_A having no blank values in the range of 0 ≦ t < 23. Thus, the evaluation unit 14C can also generate an array showing the switching time duration corresponding to an arbitrary prediction start time t without performing interpolation of blank values.
[0340] 〔Example of Realization by Software〕 The functions of the information processing apparatuses 1 to 1C (hereinafter, referred to as "apparatus" for convenience) are programs for causing a computer to function as the apparatus, and can be realized by programs for causing a computer to function as each control block of the apparatus (particularly, each unit included in the model generation apparatuses 10 to 10C and the prediction apparatuses 20 to 20C).
[0341] In this case, as hardware for executing the above program, the above device includes a computer having at least one control device (for example, a processor) and at least one storage device (for example, a memory). By executing the above program with this control device and storage device, each function described in each of the above embodiments is realized.
[0342] The above program may be recorded on one or more computer-readable recording media, rather than temporarily. This recording medium may or may not be included in the above device. In the latter case, the above program may be supplied to the above device via any wired or wireless transmission medium.
[0343] Also, part or all of the functions of the above control blocks can also be realized by a logic circuit. For example, an integrated circuit in which a logic circuit functioning as each of the above control blocks is formed is also included in the scope of the present invention. In addition to this, for example, it is also possible to realize the functions of each of the above control blocks by a quantum computer.
[0344] As is clear from the description of each of the above embodiments, each process in each of the above embodiments can be executed by AI (Artificial Intelligence). The AI may operate in the above control device or may operate in another device (for example, an edge computer or a cloud server, etc.).
[0345] 〔Summary〕 The model generation device according to Aspect 1 of the present invention is a model generation device that generates a prediction model for predicting the required power consumption in a facility. The model generation device sets a plurality of lags with respect to the actual value for time-series data indicating the temporal transition of the actual value of the required power consumption, thereby deriving the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. The model generation device selects a first switching time point from among a plurality of time points belonging to the first prediction target period based on the first predicted value and the second predicted value in the first prediction target period, and calculates the time length from the first prediction start time to the first switching time point as a first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from among a plurality of time points belonging to the second prediction target period, and the time length from the second prediction start time to the second switching time point is calculated as a second switching time length. Data indicating the switching time length corresponding to the time of an arbitrary prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length.
[0346] In the model generation device according to Aspect 2 of the present invention, in the above Aspect 1, at least a part of each time point belonging to the first prediction target period may be set as a plurality of first switching time point candidates in the first prediction target period. Based on (i) the second prediction value at each time point from the first prediction start time point to the first switching time point candidate and (ii) the first prediction value at each time point from the time point next to the first switching time point candidate to the first prediction end time point which is the end point of the first prediction target period, the first switching time point may be selected from among the plurality of first switching time point candidates. At least a part of each time point belonging to the second prediction target period may be set as a plurality of second switching time point candidates in the second prediction target period. Based on (i) the second prediction value at each time point from the second prediction start time point to the second switching time point candidate and (ii) the first prediction value at each time point from the time point next to the second switching time point candidate to the second prediction end time point which is the end point of the second prediction target period, the second switching time point may be selected from among the plurality of second switching time point candidates.
[0347] In the model generation device according to Aspect 3 of the present invention, in the above Aspect 2, for each of the plurality of first switching time point candidates in the first prediction target period, (i) the actual value at each time point from the first prediction start time point to the first prediction end time point, (ii) the second predicted value at each time point from the first prediction start time point to the first switching time point candidate, and (iii) the first predicted value at each time point from the time point next to the first switching time point candidate to the first prediction end time point, based on these, the total error between the first predicted value and the second predicted value in the first prediction target period may be calculated. Based on the total error in the first prediction target period, the first switching time point may be selected from among the plurality of first switching time point candidates in the first prediction target period. For each of the plurality of second switching time point candidates in the second prediction target period, (i) the actual value at each time point from the second prediction start time point to the second prediction end time point, (ii) the second predicted value at each time point from the second prediction start time point to the second switching time point candidate, and (iii) the first predicted value at each time point from the time point next to the second switching time point candidate to the second prediction end time point, based on these, the total error between the first predicted value and the second predicted value in the second prediction target period may be calculated. Based on the total error in the second prediction target period, the second switching time point may be selected from among the plurality of second switching time point candidates in the second prediction target period.
[0348] In the model generation device according to Aspect 4 of the present invention, in the above Aspect 3, the error between the actual value and the first predicted value is referred to as the first error, and the error between the actual value and the second predicted value is referred to as the second error. The model generation device may calculate, as the overall error in the first prediction target period, a value obtained by dividing the sum of (i) the cumulative value of the second error at each time point from the start time point of the first prediction to the candidate for the first switching time point and (ii) the cumulative value of the first error at each time point from the time point next to the candidate for the first switching time point to the end time point of the first prediction by the total number of time points belonging to the first prediction target period. The model generation device may calculate, as the overall error in the second prediction target period, a value obtained by dividing the sum of (i) the cumulative value of the second error at each time point from the start time point of the second prediction to the candidate for the second switching time point and (ii) the cumulative value of the first error at each time point from the time point next to the candidate for the second switching time point to the end time point of the second prediction by the total number of time points belonging to the second prediction target period.
[0349] In the model generation device according to Aspect 5 of the present invention, in the above Aspect 3 or 4, among the plurality of candidates for the first switching time point, a candidate for the first switching time point corresponding to the minimum value of the overall error in the first prediction target period may be selected as the first switching time point. Among the plurality of candidates for the second switching time point, a candidate for the second switching time point corresponding to the minimum value of the overall error in the second prediction target period may be selected as the second switching time point.
[0350] The prediction device according to aspect 6 of the present invention is a prediction device that derives a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which was generated in advance in a learning phase. In the learning phase, for time series data showing the temporal change of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags, excluding the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time series data obtained by adding the new feature amount to the time series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time series data obtained by adding the further new feature amount to the first time series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. Based on the first predicted value and the second predicted value in the first prediction target period, a first switching time point is selected from among a plurality of time points belonging to the first prediction target period. The time length from the first prediction start time to the first switching time point is calculated as a first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from among a plurality of time points belonging to the second prediction target period. The time length from the second prediction start time to the second switching time point is calculated as a second switching time length.Data indicating the switching time length corresponding to the time of any prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length, and the prediction device uses the first model and the second model based on the data in the prediction phase to predict the required power consumption.
[0351] The prediction device according to aspect 7 of the present invention may, in aspect 6, derive a switching time length corresponding to the time of the prediction start time in the prediction phase based on the data, and set the time obtained by adding the switching time length to the prediction start time in the prediction phase as the switching time in the prediction phase. For each time point from the prediction start time in the prediction phase to the switching time in the prediction phase, the second prediction value may be output to the second model, and for each time point from the time point next to the switching time in the prediction phase to the prediction end time in the prediction phase, the first prediction value may be output to the first model.
[0352] A model generation method according to Aspect 8 of the present invention is a model generation method for generating a prediction model for predicting the required power consumption in a facility. The model generation method includes: a step of deriving an autocorrelation coefficient of the actual value corresponding to each of a plurality of lags by setting a plurality of lags with respect to the actual value for time series data indicating the temporal change of the actual value of the required power consumption; a step of selecting a special lag from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags, based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility; a step of deriving a new feature amount by setting the special lag with respect to the actual value; a step of generating a first model as the prediction model by machine learning based on first time series data obtained by adding the new feature amount to the time series data; a step of deriving a further new feature amount by setting the minimum lag with respect to the actual value; a step of further generating a second model different from the first model by the machine learning based on second time series data obtained by adding the further new feature amount to the first time series data. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. The model generation method includes: a step of selecting a first switching time point from among a plurality of time points belonging to the first prediction target period based on the first predicted value and the second predicted value in the first prediction target period; a step of calculating the time length from the first prediction start time to the first switching time point as a first switching time length; a step of selecting a second switching time point from among a plurality of time points belonging to the second prediction target period based on the first predicted value and the second predicted value in the second prediction target period; a step of calculating the time length from the second prediction start time to the second switching time point as a second switching time length; data indicating the switching time length corresponding to the time of an arbitrary prediction start time,A step of generating based on the first time, the first switching time length, the second time, and the second switching time length.
[0353] The prediction method according to aspect 9 of the present invention is a prediction method for deriving a predicted value of the required power consumption in a facility by using, in a prediction phase, a prediction model for predicting the required power consumption in the facility, which is generated in advance in a learning phase. In the learning phase, for time-series data indicating the temporal change of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time-series data obtained by adding the new feature amount to the time-series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time-series data obtained by adding the further new feature amount to the first time-series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value, and the predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, and the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time. The second time is different from the first time. Based on the first predicted value and the second predicted value in the first prediction target period, a first switching point is selected from among a plurality of time points belonging to the first prediction target period. The time length from the first prediction start time to the first switching point is calculated as a first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching point is selected from among a plurality of time points belonging to the second prediction target period. The time length from the second prediction start time to the second switching point is calculated as a second switching time length.Data indicating the switching time length corresponding to the time of any prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length, and the prediction method includes, in the prediction phase, predicting the required power consumption by using the first model and the second model based on the data.
[0354] 〔Supplementary Notes〕 One aspect of the present invention is not limited to the above-described embodiments, and various modifications are possible within the scope shown in the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of one aspect of the present invention.
Explanation of Reference Numerals
[0355] 1C Information processing device 10C Model generation device 20C Prediction device DZ Performance data in the learning phase DZP Performance data in the prediction phase DS Employment status data in the learning phase DSP Employment status data in the prediction phase LS_B Array (example of data indicating the switching time length corresponding to any prediction start time) LS_C Array (another example of data indicating the switching time length corresponding to any prediction start time)
Claims
1. A model generation device that generates a prediction model for predicting the required power consumption in a facility, wherein the model generation device, for time series data indicating the time transition of the actual value of the required power consumption, by setting a plurality of lags with respect to the actual value, derives the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags, selects a special lag from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags, based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, derives a new feature amount by setting the special lag with respect to the actual value, generates a first model as the prediction model by machine learning based on first time series data obtained by adding the new feature amount to the time series data, derives a further new feature amount by setting the minimum lag with respect to the actual value, further generates a second model different from the first model by the machine learning based on second time series data obtained by adding the further new feature amount to the first time series data, the predicted value of the required power consumption output from the first model is referred to as a first predicted value, the predicted value of the required power consumption output from the second model is referred to as a second predicted value, two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period, the time of the first prediction start time, which is the start point of the first prediction target period, is referred to as a first time, the time of the second prediction start time, which is the start point of the second prediction target period, is referred to as a second time, the second time is different from the first time, wherein the model generation device, selects a first switching point from among a plurality of time points belonging to the first prediction target period based on the first predicted value and the second predicted value in the first prediction target period, calculates the time length from the first prediction start time to the first switching point as a first switching time length, selects a second switching point from among a plurality of time points belonging to the second prediction target period based on the first predicted value and the second predicted value in the second prediction target period, calculates the time length from the second prediction start time to the second switching point as a second switching time length, A model generation device that generates data indicating the switching time length corresponding to the time of an arbitrary prediction start time based on the first time, the first switching time length, the second time, and the second switching time length.
2. The model generation device sets at least a part of each time point belonging to the first prediction target period as a plurality of first switching time point candidates in the first prediction target period, selects a first switching time point from among the plurality of first switching time point candidates based on (i) the second prediction values at each time point from the first prediction start time point to the first switching time point candidate and (ii) the first prediction values at each time point from the time point next to the first switching time point candidate to the first prediction end time point which is the end point of the first prediction target period, sets at least a part of each time point belonging to the second prediction target period as a plurality of second switching time point candidates in the second prediction target period, selects a second switching time point from among the plurality of second switching time point candidates based on (i) the second prediction values at each time point from the second prediction start time point to the second switching time point candidate and (ii) the first prediction values at each time point from the time point next to the second switching time point candidate to the second prediction end time point which is the end point of the second prediction target period, according to the model generation device of claim 1.
3. The model generation device for each of the plurality of first switching time point candidates in the first prediction target period, calculates the total error between the first prediction value and the second prediction value in the first prediction target period based on (i) the actual values at each time point from the first prediction start time point to the first prediction end time point, (ii) the second prediction values at each time point from the first prediction start time point to the first switching time point candidate, and (iii) the first prediction values at each time point from the time point next to the first switching time point candidate to the first prediction end time point, selects the first switching time point from among the plurality of first switching time point candidates in the first prediction target period based on the total error in the first prediction target period, for each of the plurality of second switching time point candidates in the second prediction target period, calculates the total error between the first prediction value and the second prediction value in the second prediction target period based on (i) the actual values at each time point from the second prediction start time point to the second prediction end time point, (ii) the second prediction values at each time point from the second prediction start time point to the second switching time point candidate, and (iii) the first prediction values at each time point from the time point next to the second switching time point candidate to the second prediction end time point, The model generation device according to claim 2, wherein the second switching time is selected from a plurality of the second switching time point candidates in the second prediction target period based on the total error in the second prediction target period.
4. An error between the actual value and the first predicted value is referred to as a first error, An error between the actual value and the second predicted value is referred to as a second error, The model generation device includes: (i) A cumulative value of the second error at each time point from the first prediction start time to the first switching time point candidate, and (ii) a cumulative value of the first error at each time point from the time point next to the first switching time point candidate to the first prediction end time, and the sum of these is divided by the total number of time points belonging to the first prediction target period, and the obtained value is calculated as the total error in the first prediction target period. The model generation device according to claim 3, wherein (i) a cumulative value of the second error at each time point from the second prediction start time to the second switching time point candidate, and (ii) a cumulative value of the first error at each time point from the time point next to the second switching time point candidate to the second prediction end time, and the sum of these is divided by the total number of time points belonging to the second prediction target period, and the obtained value is calculated as the total error in the second prediction target period.
5. The model generation device includes: Among a plurality of the first switching time point candidates, a first switching time point candidate corresponding to the minimum value of the total error in the first prediction target period is selected as the first switching time point. The model generation device according to claim 3 or 4, wherein among a plurality of the second switching time point candidates, a second switching time point candidate corresponding to the minimum value of the total error in the second prediction target period is selected as the second switching time point.
6. A prediction device that derives a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which was generated in advance in a learning phase, In the learning phase, For time series data showing the temporal change of the actual value of the required power consumption, a plurality of lags with respect to the actual value are set, and the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment state data indicating the daily employment state in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. A new feature amount is derived by setting the special lag with respect to the actual value. Based on the first time series data with the new feature added to the time series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, further new features are derived. Based on the second time series data with the further new feature added to the first time series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power output from the first model is referred to as the first predicted value. The predicted value of the required power output from the second model is referred to as the second predicted value. Two different prediction target periods of the actual value are respectively referred to as the first prediction target period and the second prediction target period. The time of the first prediction start time which is the start point of the first prediction target period is referred to as the first time. The time of the second prediction start time which is the start point of the second prediction target period is referred to as the second time. The second time is different from the first time. Based on the first predicted value and the second predicted value in the first prediction target period, a first switching time point is selected from a plurality of time points belonging to the first prediction target period. The time length from the first prediction start time to the first switching time point is calculated as the first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from a plurality of time points belonging to the second prediction target period. The time length from the second prediction start time to the second switching time point is calculated as the second switching time length. Data indicating the switching time length corresponding to the time of an arbitrary prediction start time is generated based on the first time, the first switching time length, the second time, and the second switching time length. The prediction device predicts the required power by using the first model and the second model based on the data in the prediction phase.
7. The prediction device derives the switching time length corresponding to the time of the prediction start time in the prediction phase based on the data, sets the time point obtained by adding the switching time length to the prediction start time in the prediction phase as the switching time point in the prediction phase, for each time point from the prediction start time in the prediction phase to the switching time point in the prediction phase, causes the second model to output the second predicted value. The prediction device according to claim 6, wherein the first model is caused to output the first prediction value for each time point from the time point next to the switching time point in the prediction phase to the prediction end time point in the prediction phase.
8. A model generation method for generating a prediction model for predicting the required power consumption in a facility, The model generation method includes: a step of deriving an autocorrelation coefficient of the actual value corresponding to each of a plurality of lags by setting a plurality of lags with respect to the actual value for time-series data indicating the time transition of the actual value of the required power consumption; a step of selecting a special lag from among the plurality of lags other than the minimum lag which is the minimum value of the plurality of lags, based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility; a step of deriving a new feature amount by setting the special lag with respect to the actual value; a step of generating a first model as the prediction model by machine learning based on first time-series data obtained by adding the new feature amount to the time-series data; a step of deriving a further new feature amount by setting the minimum lag with respect to the actual value; a step of further generating a second model different from the first model by the machine learning based on second time-series data obtained by adding the further new feature amount to the first time-series data, The predicted value of the required power consumption output from the first model is referred to as a first predicted value, The predicted value of the required power consumption output from the second model is referred to as a second predicted value, Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period, The time of the first prediction start time which is the start point of the first prediction target period is referred to as a first time, The time of the second prediction start time which is the start point of the second prediction target period is referred to as a second time, The second time is different from the first time, The model generation method includes: a step of selecting a first switching time point from among a plurality of time points belonging to the first prediction target period based on the first predicted value and the second predicted value in the first prediction target period; a step of calculating the time length from the first prediction start time to the first switching time point as a first switching time length; a step of selecting a second switching time point from among a plurality of time points belonging to the second prediction target period based on the first predicted value and the second predicted value in the second prediction target period; A step of calculating, as a second switching time length, the time length from the start time of the second prediction to the second switching time; A model generation method including: a step of generating data indicating a switching time length corresponding to the time of an arbitrary prediction start time based on the first time, the first switching time length, the second time, and the second switching time length.
9. A prediction method for deriving a predicted value of the required power consumption by using, in a prediction phase, a prediction model for predicting the required power consumption in a facility, which is generated in advance in a learning phase, In the learning phase, For time series data showing the time transition of the actual value of the required power consumption, by setting a plurality of lags with respect to the actual value, the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags is derived. Based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a special lag is selected from among the plurality of lags other than the minimum lag, which is the minimum value of the plurality of lags. By setting the special lag with respect to the actual value, a new feature amount is derived. Based on the first time series data obtained by adding the new feature amount to the time series data, a first model is generated as the prediction model by machine learning. By setting the minimum lag with respect to the actual value, a further new feature amount is derived. Based on the second time series data obtained by adding the further new feature amount to the first time series data, a second model different from the first model is further generated by the machine learning. The predicted value of the required power consumption output from the first model is referred to as a first predicted value. The predicted value of the required power consumption output from the second model is referred to as a second predicted value. Two different prediction target periods of the actual value are respectively referred to as a first prediction target period and a second prediction target period. The time of the first prediction start time, which is the start point of the first prediction target period, is referred to as the first time. The time of the second prediction start time, which is the start point of the second prediction target period, is referred to as the second time. The second time is different from the first time. Based on the first predicted value and the second predicted value in the first prediction target period, a first switching time is selected from among a plurality of time points belonging to the first prediction target period. The time length from the first prediction start time to the first switching time is calculated as the first switching time length. Based on the first predicted value and the second predicted value in the second prediction target period, a second switching time point is selected from among a plurality of time points belonging to the second prediction target period. The time length from the second prediction start time point to the second switching time point is calculated as the second switching time length. Data indicating the switching time length corresponding to the time of an arbitrary prediction start time point is generated based on the first time, the first switching time length, the second time, and the second switching time length. The prediction method includes, in the prediction phase, a step of predicting the required power amount by using the first model and the second model based on the data.
Citation Information
Patent Citations
Energy consumption measurement device, energy consumption measurement method and exercise analysis system
JP2012170740A
Job power prediction program, job power prediction method, and job power prediction device
JP2020129314A
Regional energy management system, regional energy management apparatus, facility energy management apparatus, demand prediction method, and demand prediction program
JP2022083834A
System using regenerative heat and control for the same
JP1997089348A