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 and employment status, generating a prediction model through machine learning, addressing the limitations of existing methods in selecting appropriate lags and facility variability.
Patent Information
- Application Number
- JP2023221625
- 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, particularly due to the difficulty in selecting appropriate lags for time-series data and the variability in facility operations based on employment status.
A model generation device that sets multiple lags for time-series data of power consumption, derives autocorrelation coefficients, selects special lags based on these coefficients and employment status, and generates a prediction model through machine learning, incorporating new feature amounts to improve prediction accuracy.
Enhances the prediction accuracy of power consumption by using selected lags and employment status data, allowing for a high-quality prediction model adaptable to various facility types without manual lag setting, thus improving versatility and convenience.
Smart Images

Figure 2025103907000001_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 one aspect of the present invention is a model generation device that generates a prediction model for predicting the required power consumption in a facility, wherein 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, 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 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, and generates the prediction model by machine learning based on the time-series data with the new feature amount added.
[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, 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 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. 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 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 transition 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. Based on the time series data in the prediction phase with the new feature amount in the prediction phase added, the predicted value is output to the prediction model.
[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 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 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 to which the new feature amount is added.
[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 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 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.
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
Mode for Carrying Out the Invention
[0011] 〔Reference Embodiment〕 Prior to the description of the information processing apparatus 1A of Embodiment 1, the information processing apparatus 1 as a reference embodiment will be described. For convenience of explanation, components having the same functions as the components (components) described in the reference embodiment 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 dates and days 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 in a 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 also be referred to as a learning device. The prediction device 20 derives a predicted value of the required power consumption in the above-mentioned facility using the prediction model generated in advance by the model generation device 10.
[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 the employment status of employees in the facility. Examples of facilities 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 for 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, a data structure) indicating the actual value of the required power consumption in a 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 a time point and the required power consumption are associated with each other, it is an example of time-series data indicating 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 a 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 a date and an employment status are associated with each other, 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 previous value interpolation described below is performed is one day. In the example of this specification, it is assumed that the date in the data with a time resolution of one day is expressed in the "year / month / day" format ("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 apparatus 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 will be 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 performance data as training data. DZ0 is a part of DZ. In the examples of this specification, it is assumed that the unit of the required power consumption recorded in the performance data is kWh. DS0 in FIG. 3 is an example of employment status data as training data. DS0 is a part of DS. In the examples 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). In the example of FIG. 3, the employment status value of "1" 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 examples. For example, the type of employment status 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] The preprocessing unit 12 generates preprocessed training data by performing a series of preprocessing on the training data prior to the execution of the machine learning algorithm by the learning unit 13. 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 forward 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 the employment status data after forward value interpolation. Specifically, the preprocessing unit 12 converts DS0 into new data having the same time resolution (e.g., 1 minute) as DZ0 by forward value interpolation. As shown in FIG. 4, as a result of forward value interpolation, in DS1, the employment status belonging to the same date has 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 column of "employment status" 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 in various ways and calculates the AC for each lag. The lag represents the temporal delay amount set for the feature amount as time series data.
[0027] The preprocessing unit 12 may set the 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 fixed 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 exemplified. 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, one lag order corresponds to 30 minutes. Therefore, 48 lag orders correspond to one day (= 30 minutes × 48). And 336 lag orders (= 48 × 7) correspond to 7 days, that is, one week. And 672 lag orders (= 336 × 2) correspond to 14 days, that is, two weeks, and 1008 lag orders (= 336 × 3) correspond to 21 days, that is, three weeks.
[0030] In this specification, the element numbers of the data structure are generically represented by an 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, the minimum value of the element numbers of the data structure shall be 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 the set plurality of 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. From this, as an example, the autocorrelation threshold may be 0.7 to 1. The autocorrelation threshold may be an arbitrarily set value by the user. In this specification, the case where the autocorrelation threshold is 0.7 is exemplified.
[0033] And the fluctuation of the required power amount within the facility is generally considered to have a cycle of approximately one day or so in the short term. Therefore, the time length threshold value may be set to a value considered appropriate for grasping the relatively short-term trend of the required power amount fluctuation. The time length threshold value may also be a value that can be arbitrarily set by the user. In this specification, the case where the time length threshold value is one day is illustrated.
[0034] As is obvious 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 value 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 (refer to 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 value 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 value. Therefore, the preprocessing unit 12 lag
[48] =1 lag
[0336] =7 lag
[0672] =14 lag
[1008] =21 selects as special lags.
[0036] The inventors derived the relationship between the lag and AC in a certain factory using the performance data obtained in the factory. FIG. 7 is a graph showing the relationship between the lag and AC in the factory derived by the inventors. In the graph of FIG. 7, the horizontal axis represents the lag order, and the vertical axis represents AC. The horizontal axis in the graph of FIG. 7 can be read as the lag. The trend of the graph of FIG. 7 generally coincides with the example of FIG. 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 embodiment, 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 embodiment, the preprocessing unit 12 selects, as arithmetic sequence elements, elements after the first element of Plag, i.e., Plag[1:] = [7, 14, 21]. 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, as remaining elements, elements of Plag excluding the arithmetic sequence elements. The remaining elements may be referred to as non-arithmetic sequence elements (elements that do not form an arithmetic sequence). In the example of the reference embodiment, the preprocessing unit 12 selects, as the remaining element, the 0th element of Plag, i.e., Plag[0] = [1].
[0040] The preprocessing unit 12 derives a new feature amount by setting the special lags 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 lags corresponding to the arithmetic sequence elements are 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 lags corresponding to the arithmetic sequence elements as rolling lags, which are special lags for deriving the 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 the rolling feature amount based on the rolling lags.
[0042] Then, the preprocessing unit 12 may select a 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 variation 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, a case where a lag feature amount is derived prior to the derivation of the rolling feature amount is exemplified. However, as is obvious 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 for 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 embodiment, 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 0:00 on March 31, 2021". 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 23:59 on March 30, 2022".
[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, the preprocessing unit 12 obtains, for a certain point in time, the required power amount at the time point only before the rolling lag as a component (rolling feature amount component) of the rolling feature amount corresponding to the time point. In the example of the reference embodiment, since the rolling lags are 7, 14, and 21, the preprocessing unit 12 obtains the "required power amount 7 days ago", the "required power amount 14 days ago", and the "required power amount 21 days ago" 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 7 days ago", the "required power amount 14 days ago", and the "required power amount 21 days ago". 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 the rolling feature amount component and the rolling feature amount to DZ2. In the example of FIG. 9, the "required power amount 7 days ago", the "required power amount 14 days ago", and the "required power amount 21 days ago" belonging to the row of the time point "2021 / 4 / 1 0:00" represent the "required power amount at 2021 / 3 / 25 0:00", the "required power amount at 2021 / 3 / 18 0:00", and the "required power amount at 2021 / 3 / 11 0:00", respectively. And the "average (7, 14, 21 days ago) required power amount" belonging to the row of the time point "2021 / 4 / 1 0:00" represents the average value of the "required power amount 7 days ago", the "required power amount 14 days ago", and the "required power amount 21 days ago" belonging to the row at the same time point.
[0048] After obtaining the rolling feature amount, the rolling feature amount component is considered to be no longer necessary. Therefore, the preprocessing unit 12 may delete the rolling feature amount component from DZ3 after obtaining the rolling feature amount. DZ4 in FIG. 10 shows an example of data generated by deleting the rolling feature amount component from DZ3.
[0049] Next, the preprocessing unit 12 derives a time equivalent amount, which is a feature amount 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 amount to DZ4. As an example, the preprocessing unit 12 may set the time equivalent amount 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 amount to DZ4.
[0050] In the example of FIG. 11, the elapsed time of 1 minute from "0:00" corresponds to a time equivalent amount of 1 / 60 (≈0.01667). In the example of the reference embodiment, the time equivalent amount 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 be derived as the time equivalent amount.
[0051] However, as will be apparent to those skilled in the art, the time 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 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 the day of the week corresponding to the date at the time recorded in DZ5, for example, 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 examples 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 required power consumption and the new feature quantity derived based on the required power consumption can be larger values than, for example, the feature quantities (calendar feature quantities) indicating the day of the week and the employment status. Therefore, the preprocessing unit 12 may perform scaling on each feature quantity included in DZ6. Thereby, the numerical ranges of the respective feature quantities can be made uniform, and it becomes possible to generate a prediction model having higher performance.
[0054] In this specification, the 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 quantity included in DZ6. Then, the preprocessing unit 12 standardizes the feature quantity using the derived μ and σ. In this specification, μ and σ used for standardization before generating 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 quantity of DZ6. In the example of the reference form, 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 required power consumption after a new feature quantity derived based on the required power consumption 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, as an objective variable, a predicted value of the required power at the prediction target time point. Therefore, the type of machine learning algorithm is not particularly limited as long as it can solve a regression task. Examples of machine learning algorithms include a neural network (NN), a support vector machine (SVM), and a decision tree (DT).
[0057] In an example of the reference form, the learning unit 13 generates a prediction model that derives an objective variable from explanatory variables by using, as the true value (correct data) of the objective variable, the required power at any prediction target time point included in DZ6S, and using, as explanatory variables, each feature quantity other than the required power before the prediction target time point.
[0058] After generating the prediction model, the learning unit 13 may incorporate the standardization parameters of each feature quantity 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 in the same format as the above-described training data on the verification data. Therefore, in the example of the reference form, the preprocessed verification data has the same data structure as DZ6S. For this reason, in the preprocessed verification data in the reference form, each feature quantity is standardized using the standardization parameters incorporated in the prediction model.
[0060] The evaluation unit 14 evaluates the prediction model using the pre-processed verification data. Specifically, the evaluation unit 14 inputs the pre-processed 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 consumption shown in the pre-processed verification data.
[0061] The index value may be any value used to evaluate 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 the 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 greater than the threshold is obtained. In this case, the evaluation unit 14 may store the prediction model for which an index value equal to or greater than the threshold is obtained for the first time in the storage unit 90.
[0063] (Example of method for selecting elements of an arithmetic progression) FIG. 14 is a flowchart showing an example of the flow of processing for selecting elements of an arithmetic progression. First, prior to S1, the pre-processing unit 12 obtains 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 process of FIG. 14. In this case, the preprocessing unit 12 determines that Plag does not contain arithmetic progression 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 the flag flg indicating that Plag contains arithmetic progression elements to True (true).
[0066] In S4, the preprocessing unit 12 determines whether i is less than NPlag - 2. If i is less 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] into 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 into 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 into the element number j for pointing to the elements of Plag. Then, the process proceeds to S11.
[0068] S8 to S10 are respectively processes paired with S5 to S7. In S8, the preprocessing unit 12 substitutes 0 into a0. That is, in S8, the preprocessing unit 12 sets a0 to 0. In S9, the preprocessing unit 12 substitutes Plag[i] - a0 into 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 into j. Then, the process 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. In this way, 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), it proceeds to S16. On the other hand, if j is less than NPlag (NO in S15), it returns to S11. Therefore, the processes of S11 to 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, it proceeds to S19. On the other hand, if flg is not False (NO in S16), that is, if flg is True, it 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 progression 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 progression elements. In this case, the preprocessing unit 12 may output ap as the selection result of the arithmetic progression elements.
[0074] In S19, the preprocessing unit 12 determines whether i is equal to or greater than NPlag. If i is equal to or greater than 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 to 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. If flg is False at the end of the process (in other words, if the array ap is an empty array at the end of the process), 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 form, after i = 0 is set 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 Configuration) 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 data acquisition unit during prediction or a second data acquisition unit. The preprocessing unit 22 may also be referred to as a preprocessing unit during prediction 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 performed. 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 the same data structure as DZ. Also, assume that DSP has the same data structure 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 manner as the above-described learning phase on the input data set in the prediction phase. Examples of the processing of the preprocessing unit 22 will be described below.
[0081] First, the preprocessing unit 22 generates the pre-value interpolated employment status data (for convenience, referred to as DSP1) in the prediction phase by performing pre-value interpolation on the employment status in DSP. As a result of the pre-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 lags determined in the learning phase. For example, the preprocessing unit 22 may read out the rolling lags and non-rolling lags determined in the learning phase from the prediction model. The preprocessing unit 22 derives new feature quantities in the prediction phase by setting the special lags determined in the learning phase for the power demand amount in the prediction phase.
[0084] The preprocessing unit 22 may derive a lag feature quantity as a new feature quantity in the prediction phase by setting a non-rolling lag for the power demand amount in the prediction phase. Then, the preprocessing unit 22 may generate new data (referred to as DZP2 for convenience) by adding the lag feature quantity to DZP1. In the example of the reference embodiment, since the non-rolling lag is 1, the preprocessing unit 22 acquires "the power demand amount one day before" as the lag feature quantity in the prediction phase.
[0085] Next, the preprocessing unit 22 may derive a rolling feature quantity as a new feature quantity in the prediction phase by setting a rolling lag for the power demand amount in the prediction phase. First, the preprocessing unit 22 acquires a rolling feature quantity component in the prediction phase according to the rolling lag. In the example of the reference embodiment, since the rolling lags are 7, 14, and 21, the preprocessing unit 22 acquires "the power demand amount seven days before", "the power demand amount fourteen days before", and "the power demand amount twenty-one days before" in the prediction phase as the rolling feature quantity components in the prediction phase. Then, the preprocessing unit 22 adds the rolling feature quantity component to DZP2.
[0086] Next, the preprocessing unit 22 derives the average value of "the power demand amount seven days before", "the power demand amount fourteen days before", and "the power demand amount twenty-one days before" in the prediction phase, and acquires the average value as the rolling feature quantity in the prediction phase. Then, the preprocessing unit 22 further adds the rolling feature quantity 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 quantity component and the rolling feature quantity in the prediction phase to DZP2. After obtaining the rolling feature quantity, the preprocessing unit 22 may generate new data (for convenience, referred to as DZP4) by deleting the rolling feature quantity component from DZP3.
[0088] Next, the preprocessing unit 22 converts the time point recorded in DZP4 into an equivalent time point in the prediction phase. Then, the preprocessing unit 22 generates new data (for convenience, referred to as DZP5) by adding the equivalent time point 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 performing normalization on 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 predicted power demand may be executed every 30 minutes. Also, in the prediction phase, for example, predicted values of the power demand 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 power demand one day ago" may be unknown. In the example of FIG. 15, cells having unknown values (i.e., blank values) are indicated 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 one day ago using a prediction model. For example, the preprocessing unit 22 may input the known values of the power demand one day ago 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 interpolated value of the blank value.
[0093] The prediction calculation unit 23 causes the prediction model to output a predicted value of the power demand based on the time-series data of the power demand after a new feature amount derived based on the power demand 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 to 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 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] Further, the predicted result output unit 24 may convert the predicted value of the required power consumption (unit: kWh) into another unit. As an example, the predicted result output unit 24 may convert the predicted value of the required power consumption into the predicted value of the required power (unit: kW). In this case, the predicted result output unit 24 may generate, as predicted result data, data in which each converted predicted value is associated with each time point.
[0096] (Effect of the information processing apparatus 1) According to the model generation apparatus 10, in the learning phase, a special lag can be selected based on AC (the autocorrelation coefficient of the required power consumption). Next, by setting the special lag for the required power consumption, new feature quantities can be derived. Thus, according to the model generation apparatus 10, the new feature quantities can be derived based on AC from the feature quantities (e.g., the above-described rolling feature quantity and lag feature quantity) expected to represent the periodicity of the fluctuations in the required power consumption. Therefore, it becomes possible to obtain the new feature quantities as explanatory variables expected to be useful for predicting the required power consumption.
[0097] Then, according to the model generation apparatus 10, a prediction model can be generated based on the time-series data (see, for example, DZ4 in FIG. 9 above) in which new feature quantities are added to the required power consumption. For this reason, since a prediction model can be generated using the new feature quantities 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 variation trend of the required power consumption in a facility may differ depending on, for example, the business type of the facility. From this, prior to the generation of the prediction model, it is not always easy for the user to manually set an appropriate lag according to the facility. Further, if the lag set by the user is inappropriate, there is a risk of deterioration in the quality of the prediction model.
[0099] However, according to the model generation device 10 as described above, a special lag that is expected to be a lag suitable for grasping the periodicity of fluctuations in the required power amount can be selected based on the AC. Therefore, a prediction model can be generated without requiring manual setting of the lag by the user. For this reason, while enhancing the convenience for the user, a high-quality prediction model corresponding to the business type 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 detailedly reflects the business type of the facility can be generated. Therefore, it becomes possible to further enhance the prediction accuracy of the prediction model.
[0101] By the way, in Patent Document 1, an idea of using a plurality of NNs properly to improve the prediction accuracy of the heat load is shown. Specifically, in Patent Document 1, it is disclosed that three individual NNs, namely, an NN for weekdays, an NN for Saturdays, and an NN for Sundays, are generated in advance, and each NN is properly used 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 be applicable as working days.
[0103] Therefore, in the proper use of each NN shown in Patent Document 1, it is not possible to flexibly cope with the various business types of the facilities described above. From this, when the proper use of each NN shown in Patent Document 1 is applied to the required power amount prediction, it is not always possible to achieve high prediction accuracy.
[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 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] And according to the prediction device 20, in the prediction phase, a 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 the facility compared to the prior art.
[0106] 〔Modification example in the reference form〕 (1) In the above example in the reference form, 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 form 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 type of facility, there may be cases where there are many lags corresponding to AC values having a value equal to or greater than the autocorrelation threshold near the lag corresponding to the maximum value of AC. In such cases, when the selection method of the above example in the reference form is adopted, many special lags can be selected. In this case, many new explanatory variables (e.g., many rolling feature quantities and lag feature quantities) are derived. As is obvious to those skilled in the art, when the number of explanatory variables is excessive, the quality of the prediction model may deteriorate. Also, an excessive number of explanatory variables causes an increase in the time required for the execution of the machine learning algorithm.
[0109] On the other hand, in such cases, when the selection method in this modified example is adopted, different from the selection method of the above example in the reference form, special lags are selected from among the special lag candidates. Therefore, according to the selection method of this modified example, the number of special lags selected 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 modified example, the number of new explanatory variables derived 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 modified example, a high-quality prediction model can also be generated in the above cases. In addition, the time required for the execution of 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 indicating the meteorological conditions (meteorological feature quantity) 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 predicted power demand 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 may derive the partial auto correlation coefficient of the power demand in DZ1. 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 variously. 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 PAC. In this way, the preprocessing unit 12 may derive new feature quantities (e.g., lag feature quantity and rolling feature quantity) based on PAC.
[0114] In addition, by using both AC and PAC, it is expected that the periodicity of the temporal variation of the power demand 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.
[0115]
[0116] 〔Summary of reference form〕 Each matter described in the reference form 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 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, 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 based on the autocorrelation coefficient, derives a new feature amount by setting the special lag with respect to the actual value, and generates the prediction model by machine learning based on the time-series data with the new feature amount added.
[0118] In the model generation device according to the reference embodiment, 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 embodiment, among the plurality of lags, a lag corresponding to the maximum value of the autocorrelation coefficient in the data series indicating 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 embodiment, 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 embodiment, in an array in which a plurality of the special lags are sorted in ascending order, a plurality of the special lags forming an arithmetic progression may be selected as rolling lags, and a rolling feature amount may be derived as the new feature amount by setting the rolling lags with respect to the actual value.
[0122] The model generation device according to the reference form may select the special lag excluding the rolling lag in the array as a non-rolling lag, and derive a lag feature amount as the new feature amount by setting the non-rolling lag with respect to the actual value.
[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 form 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 was generated in advance in a 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, 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, 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 sets 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, thereby deriving a new feature amount in the prediction phase, and outputs the predicted value to the prediction model based on the time series data in the prediction phase with the new feature amount added in the prediction phase.
[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. For time-series data showing the temporal change 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. 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.
[0126] The prediction method according to the reference embodiment 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 that has been generated in advance in a learning phase. In the learning phase, for the time-series data in the learning phase showing the temporal change 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. By setting the special lag with respect to the actual value in the learning phase, a new feature amount is derived. Based on the time-series data in the learning phase with the new feature amount added in the learning phase, 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, 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.
[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 embodiment 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 embodiment, the case where the model generation device 10 selects a special lag based on the AC was exemplified. The model generation device 10A in Embodiment 1 selects a special lag based on the AC and the 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 time variation of the required power amount described in the reference embodiment is referred to as the "first periodicity". As is clear from the description of the reference embodiment, the rolling lag corresponds to the first periodicity.
[0130] On the other hand, in Embodiment 1, the "relatively short-term periodicity" of the time variation of the required power amount described in the reference embodiment is referred to as the "second periodicity". Therefore, the second periodicity is a short-term periodicity compared to the first periodicity. As is clear from the description of the reference embodiment, the non-rolling lag corresponds to the second periodicity.
[0131] In the reference embodiment, 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 the 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 special lag candidates, lags among a plurality of lags that have values equal to or greater than the time length threshold value and correspond to the autocorrelation coefficients having values equal to or greater than the autocorrelation threshold value. In this way, the preprocessing unit 12A may select, as special lag candidates, elements that were selected as special lags in the reference embodiment.
[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 embodiment. 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 that includes the sorted special lag candidates as elements. In Embodiment 1, for the sake of convenience of explanation, a case where Plag_A = [1, 7, 14] is exemplified.
[0134] The preprocessing unit 12A may select, as rolling lag candidates, elements (arithmetic progression elements) among the elements of Plag_A that form an arithmetic progression. 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 the working-day rolling feature amount by setting the working-day rolling lag with respect to the actual value of the power demand amount. Further, the preprocessing unit 12A may derive the holiday rolling feature amount by setting the holiday rolling lag with respect to the actual value of the power demand amount. 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 remaining elements, the elements in Plag_A excluding the arithmetic progression elements. Then, the preprocessing unit 12A may select, as non-rolling lag candidates, the special lag candidates corresponding to the remaining elements. In this way, the preprocessing unit 12A may select, as non-rolling lag candidates, the special lag candidates excluding the rolling lag candidates in Plag_A. 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. Further, 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 amount. Further, 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 amount. The working-day lag feature amount and the holiday lag feature amount are also examples of new feature amounts in Embodiment 1.
[0142] (Example of process for deriving non - rolling lag for working days and non - rolling lag for holidays) Referring to FIGS. 17 to 19, an example of the process for deriving the non - rolling lag for working days and the non - rolling lag for holidays 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 set individually. As shown in item No. 0 of FIG. 17, in this example, "the 17th", "the 19th", "the 24th", "the 30th", and "the 31st" are holidays, and each of the other days is a working day. 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 the process for deriving the non - rolling lag for working days by focusing on working days. Explaining the process flow in FIG. 17, it is as follows for the following processes 1A to 6A.
[0144] Process 1A: The pre - processing 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 focuses on working days, a logical value 1 is assigned to "working day" and a logical value 0 is assigned to "holiday".
[0145] Process 2A: The pre - processing 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 with a logical value of 0 among the current items. If there is no working day with a logical value of 0, the process proceeds to Process 6A described below. On the other hand, if there is a working day with a logical value of 0, the process proceeds to the following Process 4A.
[0147] Process 4A: If there is a working day with a logical value of 0, the preprocessing unit 12A extracts the working day. In the example of FIG. 17, the preprocessing unit 12A extracts "the 18th, 20th, and 25th" at No. 2. As shown in FIG. 17, the working day with a logical value of 0 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 new items 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 new items by calculating the logical OR of each value in the latest item in which the working day with a logical value of 0 is extracted and each value in the latest shifted item for each day. For example, the preprocessing unit 12A derives Item No. 4 by calculating the logical OR 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 OR 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 OR, the number of working days with a logical value of 0 can be reduced.
[0150] After the completion of process 5A, the process returns to process 3A. According to the above flow, processes 3A to 5A are repeated until there are no working days 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 by referring 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, flexible setting of the non-rolling lag for working days becomes possible.
[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. The flow of the process in FIG. 18 will be described as follows: 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, unlike FIG. 17, it focuses on holidays. Therefore, in the example of FIG. 18, unlike 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 Process 2A described above.
[0157] Process 3B: The preprocessing unit 12A determines whether there is a holiday to which the logical value 0 is assigned among the current items. If there is no holiday to which the logical value 0 is assigned, it proceeds to Process 6B described below. On the other hand, if there is a holiday to which the logical value 0 is assigned, it proceeds to the following Process 4B.
[0158] Process 4B: If there is a holiday to which the logical value 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 the logical value 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 Process 4A described above.
[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 the logical value 0 is assigned is extracted for each day and each value in the latest item after the shift.
[0161] After the completion of Process 5B, return to Process 3B. According to the above flow, Processes 3B to 5B are repeated until there are no holidays with a logical value of 0 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 performed 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 the arrangement of working days, the ability to set a flexible non-rolling lag for holidays is particularly beneficial.
[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 set flexibly for both working days and holidays.
[0166] (Example of process for deriving working day rolling lag and holiday rolling lag) Referring to FIGS. 20 to 22, an example of a process for deriving a working day rolling lag and a holiday rolling lag will be described. FIGS. 20 to 22 are paired with FIGS. 17 to 19, respectively.
[0167] FIG. 20 shows an example of a process for deriving a working day rolling lag by focusing on a working day. To explain the process flow in FIG. 20, it is as follows for 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 Process 1A described above.
[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 item 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, assume that the shift value in the example of FIG. 20 does not exceed the maximum value (e.g., 14) of the working day rolling lag candidate. 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 days with the logical value 0 are extracted and each value in the latest item after the shift. 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 are no working days with the logical value 0.
[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 executed 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 a process for deriving a 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 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 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 Quantities) As is clear from the above descriptions, the preprocessing unit 12A can derive new feature quantities corresponding to the employment status based on special lags (e.g., non-rolling lags and rolling lags) 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 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 amounts derived according to the employment status of the facility added. That is, the learning unit 13 in Embodiment 1 can generate a prediction model that reflects the employment status of the facility. Thus, according to Embodiment 1, it is 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 for each day set in the learning phase into the employment day rolling lag and holiday rolling lag for each day in the prediction phase. As an example, the conversion of these rolling lags may be performed according to the correspondence between the employment status for each day shown in the employment status data DS in the learning phase and 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 relationship, the conversion of these non-rolling lags may be executed.
[0202] Next, the preprocessing unit 22A calculates new feature amounts in the prediction phase based on the special lags derived in the prediction phase. Specifically, the preprocessing unit 22A calculates new feature amounts 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 amount for working days and the rolling feature amount 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 amount for working days and the lag feature amount 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 amounts 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 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 quantities corresponding to the employment state of the facility can be derived. Then, a prediction based on the new feature quantities can be made using the prediction model. Thus, according to Embodiment 1, a prediction corresponding to the employment state of the facility can be made using the prediction model. Therefore, the prediction accuracy can be further improved as compared with the reference embodiment.
[0206] FIG. 23 is an example of new time series data generated by the preprocessing unit 22A. In FIG. 23, the case where the employment state is "1" throughout the entire prediction target time range is illustrated. In the example of FIG. 23, it is assumed that the employment day non-rolling lag is "1". Therefore, the lag feature quantity in the example of FIG. 23 represents the demand power consumption of the previous day. The lag feature quantity in the example of FIG. 23 is the employment day lag feature quantity.
[0207] In the example of FIG. 23, there is no change in the employment state throughout the entire prediction target time range. Therefore, the blank value (NULL) in the example of FIG. 23 may be interpolated by the predicted value obtained from the prediction model.
[0208] FIG. 24 is another example of 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 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 quantity in FIG. 24 also represents the demand power consumption of the previous day. The lag feature quantity in the example of FIG. 24 represents the employment day lag feature quantity when the employment state is "1", and represents the holiday lag feature quantity 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 demands 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 point equivalent 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 of 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 represent the actual fluctuations of the employment status in the facility within one day, 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 represent the fluctuations within one 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 paired figure 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 forward 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 daily variation in the employment status of the facility, a special lag corresponding to the variation can be derived. As a result, a new feature quantity 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 value 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 value of the required power consumption at each time point from "2023 / 5 / 7 0:00" to "2023 / 5 / 7 7:59", the lag feature quantity at each time point from "2023 / 5 / 8 0:00" to "2023 / 5 / 8 7:59" is 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 required power consumption 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 required power consumption 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 required power consumption at "2023 / 5 / 7 7:59".
[0219] [Example of Realization by Software] The functions of information processing apparatuses 1 to 1A (hereinafter, for convenience, referred to as "apparatus") can be realized by a program for causing a computer to function as the apparatus, and by a program for causing a computer to function as each control block of the apparatus (particularly, each part included in model generation apparatuses 10 to 10A and prediction apparatuses 20 to 20A).
[0220] In this case, the above apparatus includes, as hardware for executing the above program, 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 the above embodiments is realized.
[0221] The above program may be recorded on one or more computer-readable recording media, not temporarily. This recording medium may or may not be provided in the above apparatus. In the latter case, the above program may be supplied to the above apparatus via any wired or wireless transmission medium.
[0222] Also, part or all of the functions of each 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.
[0223] 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 other devices (for example, an edge computer or a cloud server, etc.).
[0224] 〔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 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 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 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.
[0225] In the model generation device according to Aspect 2 of the present invention, in the above Aspect 1, the special lag may include a rolling lag corresponding to the first periodicity of the time variation of the required power consumption. 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. Among the plurality of special lag candidates sorted in ascending order, a plurality of special lag candidates forming an arithmetic sequence 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.
[0226] In the model generation device according to Aspect 3 of the present invention, in the above Aspect 2, 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.
[0227] In the model generation device according to Aspect 4 of the present invention, in the above Aspect 2 or 3, the special lag may include a non-rolling lag corresponding to the second periodicity of the time variation of the power demand 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.
[0228] In the model generation device according to Aspect 5 of the present invention, in the above Aspect 4, 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.
[0229] In the model generation device according to Aspect 6 of the present invention, in any one of the above Aspects 1 to 5, the employment status data may further indicate the employment status at each time in the facility.
[0230] In the model generation device according to Aspect 7 of the present invention, in any one of Aspects 1 to 6, the employment status data may include at least one of information indicating the start time at the facility and information indicating the end time at the facility.
[0231] The prediction device according to Aspect 8 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 at 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 at 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 showing the temporal change of the actual value, a new feature amount in the prediction phase is derived by setting the special lag in the prediction phase with respect to the actual value 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.
[0232] A model generation method according to Aspect 9 of the present invention is a model generation method for generating a prediction model for predicting the required power amount in a facility, the model generation method comprising: for time series data indicating the time transition of the actual value of the required power amount, 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; 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; deriving a new feature amount by setting the special lag with respect to the actual value; and generating the prediction model by machine learning based on the time series data to which the new feature amount is added.
[0233] The prediction method according to aspect 10 of the present invention 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 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, 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 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 showing the temporal change of the actual value, and a step of outputting the predicted value to the prediction model based on the time series data in the prediction phase with the new feature amount added in the prediction phase.
[0234] [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 technical means disclosed in different embodiments are also included in the technical scope of one aspect of the present invention. [Description of Reference Numerals]
[0235] 1A Information processing device 10A Model generation device 20A Prediction device DZ Actual data in the learning phase Performance data in the DZP prediction phase Employment status data in the DS learning phase Employment status data in the DSP prediction phase
Claims
1. A model generation device for generating a prediction model for predicting the required power consumption in a facility, wherein the model generation device, for time series data showing the time progression of the actual value of the required power consumption, derives 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 actual value, selects 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, derives a new feature amount by setting the special lag with respect to the actual value, and generates the prediction model by machine learning based on the time series data with the new feature amount added. A model generation device.
2. The special lag includes a rolling lag corresponding to the first periodicity of the time variation of the required power consumption, wherein the model generation device, selects, 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, selects, as rolling lag candidates, a plurality of the special lag candidates forming an arithmetic progression in an array in which the plurality of the special lag candidates are sorted in ascending order, and derives the rolling lag including a working day rolling lag corresponding to a working day of the facility and a holiday rolling lag corresponding to a holiday of the facility from the rolling lag candidates based on the employment status data. The model generation device according to Claim 1.
3. The new feature amount includes a rolling feature amount corresponding to the rolling lag, the rolling feature amount includes a working day rolling feature amount and a holiday rolling feature amount, wherein the model generation device, derives the working day rolling feature amount by setting the working day rolling lag with respect to the actual value, and derives the holiday rolling feature amount by setting the holiday rolling lag with respect to the actual value. The model generation device according to Claim 2.
4. The special lag includes a non-rolling lag corresponding to the second periodicity of the time variation of the required power consumption, the second periodicity is a short-term periodicity compared to the first periodicity, wherein the model generation device, selects the special lag candidates excluding the rolling lag candidates in the array as non-rolling lag candidates, Based on the employment status data, from the non-rolling lag candidates, the non-rolling lag including the employment day non-rolling lag corresponding to the employment day and the holiday non-rolling lag corresponding to the holiday is derived. The model generation device according to claim 2 or 3.
5. The new feature amount includes a lag feature amount corresponding to the non-rolling lag, The lag feature amount includes an employment day lag feature amount and a holiday lag feature amount, The model generation device, By setting the employment day non-rolling lag with respect to the actual value, the employment day lag feature amount is derived, The model generation device according to claim 4, wherein the holiday lag feature amount is derived by setting the holiday non-rolling lag with respect to the actual value.
6. The employment status data further indicates the employment status of the facility at each time. The model generation device according to claim 1.
7. The employment status data includes at least one of information indicating the start time of the facility and information indicating the end time of the facility. The model generation device according to claim 1 or 6.
8. 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 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 the employment status data indicating the daily employment status of the facility, 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, Based on the employment status data in the prediction phase, the special lag in the prediction phase is derived from the special lag in the learning phase, For the time-series data in the prediction phase showing the time progression of the actual values, by setting the special lag in the prediction phase with respect to the actual values in the prediction phase, new feature quantities in the prediction phase are derived, A prediction device that causes the prediction model to output the predicted value based on the time-series data in the prediction phase to which the new feature quantity in the prediction phase is added.
9. 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 actual value for the time-series data showing the time progression 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 quantity by setting the special lag with respect to the actual value; a step of generating the prediction model by machine learning based on the time-series data to which the new feature quantity is added. The model generation method includes these steps.
10. 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 was generated in advance in a learning phase, In the learning phase, for the time-series data showing the time progression of the actual value of the required power consumption, the autocorrelation coefficient of the actual value corresponding to each of the plurality of lags has been derived by setting the plurality of lags with respect to the actual value, a special lag has been selected from among the plurality of lags based on the autocorrelation coefficient and employment status data indicating the daily employment status in the facility, a new feature quantity has been derived by setting the special lag with respect to the actual value, and the prediction model has been generated by machine learning based on the time-series data to which the new feature quantity is 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; For the time-series data in the prediction phase showing the time progression of the actual performance value, by setting the special lag in the prediction phase with respect to the actual performance value in the prediction phase, a step of deriving a new feature amount in the prediction phase; 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. A prediction method including the above steps.
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