Prediction model construction device, prediction model construction method, and program
The prediction model construction device improves accuracy by using phase-specific machine learning models trained with weighted data, addressing the challenge of classifying complex time-series data into multiple phases.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-24
- Publication Date
- 2026-03-03
AI Technical Summary
Existing time-series data prediction models struggle with insufficient accuracy when dealing with complex data sets like foreign exchange and marketing data, as these data sets are difficult to clearly classify into multiple phases, making it challenging to train and use machine learning models effectively.
A prediction model construction device and method that includes a phase learning unit to predict phase values, a phase prediction unit to calculate phase history, and a phase-specific machine learning unit to train models with weighted data based on phase history, enabling improved prediction accuracy.
Enhances prediction accuracy by constructing phase-specific machine learning models that adapt to the current phase, even when clear phase classification is difficult, using weighted learning data to improve model performance.
Smart Images

Figure 0007822878000001 
Figure 0007822878000002 
Figure 0007822878000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a predictive model construction device, a predictive model construction method, and a program. [Background technology]
[0002] In recent years, systems that support human decision-making by predicting future values from time-series data have been attracting attention. These decision-making support systems use machine learning to capture the dependencies between past values of explanatory variables and the current target variable, making it possible to make accurate predictions based on those dependencies.
[0003] Furthermore, many time-series data contain hidden aspects that are not directly observed but have a significant impact on the predicted values, such as the degree of market overheating and investor sentiment in foreign exchange data, consumer sentiment and booms in marketing data, or the wear and tear state and operating mode of equipment in sensor data from manufacturing equipment. Experts in each field grasp these aspects empirically and make predictions using multiple logics depending on the aspect. Replacing the empirical recognition process of experts in the above-mentioned decision support systems is important for resolving issues such as the shortage of experts.
[0004] A well-known model that mimics the recognition process of such experts is the regime switching model, which uses statistical methods to recognize the current situation and automatically make predictions appropriate for that situation.The hidden Markov autoregression model, a typical example of a regime switching model, uses a Markov process to build a statistical model that predicts the situation, which is a discrete hidden state, and then uses that statistical model to switch between time series generation models, such as the VAR (Vector Autoregression) model, that are used to calculate predicted values from time series data, depending on the current situation.
[0005] Non-Patent Document 1 discloses an anomaly detection system using a regime switching model and an example of its application to air traffic control operations. [Prior art documents] [Non-patent literature]
[0006] [Non-Patent Document 1] Melnyk, I.; Banerjee, A.; Matthews, B.; Oza, N. “Semi-Markov Switching Vector Autoregressive Model-BasedAnomaly Detection in Aviation Systems.” In Proceedings of the 22nd ACM SIGKDD International Conferenceon Knowledge Discovery and Data Mining-KDD '16, pp. 1065-1074, (2016) Summary of the Invention [Problem to be solved by the invention]
[0007] Non-Patent Document 1 describes that the time series generation model that can be switched depending on the situation is a VAR model, and that multiple situations clearly exist in the sensor data of aircraft used in air traffic control operations. However, if a simple VAR model is used as the time series generation model, there is a risk that sufficient prediction accuracy will not be achieved for complex time series data such as exchange rates and marketing data.
[0008] In response to this, it is believed that using a machine learning model as a time series generation model will enable improved prediction accuracy. However, in this case, the problem arises of how to train a machine learning model suitable for each phase during training. There is also the problem of how to use a machine learning model depending on the phase during prediction. To address these problems, it is conceivable to classify time series data into phases, and during training, train a machine learning model using the time series data classified into that phase, and during prediction, use a machine learning model trained with the time series data classified into the current phase.
[0009] However, time-series data such as foreign exchange and marketing data is difficult to clearly classify into multiple phases, which makes it difficult to learn using time-series data for each phase or to switch to a machine learning model that corresponds to the current phase.
[0010] An object of the present disclosure is to provide a prediction model construction device, a prediction model construction method, and a program that can improve prediction accuracy even when it is difficult to clearly classify time series data into multiple aspects. [Means for solving the problem]
[0011] A prediction model construction device according to one aspect of the present disclosure includes: a phase learning unit that learns learning data, which is time-series data for learning, and constructs a phase prediction model that predicts, on a time-by-time basis, a phase value that is a probability corresponding to a plurality of phases that represent behavior in the time-series data; a phase prediction unit that inputs the learning data to the phase prediction model and calculates a phase history that indicates, for each phase, the phase value at each time point in the learning data; and a phase-specific machine learning unit that machine-learns weighted learning data, for each of the phases, by assigning weights based on the phase history to the data of the learning data at each time point, and constructs a phase-specific machine learning model that predicts the value of a dependent variable of the time-series data. [Effects of the Invention]
[0012] According to the present invention, it is possible to improve prediction accuracy even when it is difficult to clearly classify time-series data into multiple phases. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a diagram illustrating a computer system according to an embodiment of the present disclosure. [Figure 2] FIG. 10 is a sequence diagram illustrating an example of a learning process. [Figure 3] FIG. 10 is a sequence diagram illustrating an example of a prediction process. [Figure 4] 10 is a flowchart for explaining the situation-specific model learning process in more detail. [Figure 5] 10 is a flowchart for explaining the situation feature calculation process in more detail. [Figure 6] 10 is a flowchart illustrating the ensemble prediction process in more detail. [Figure 7] FIG. 4 is a diagram showing an example of each piece of history information. [Figure 8] FIG. 10 is a diagram illustrating an example of a phase feature amount. [Figure 9] FIG. 10 is a diagram illustrating an example of an interface for setting a weighting function. [Figure 10] FIG. 10 is a diagram illustrating an example of an interface for displaying prediction results. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[0015] 1 is a diagram showing a computer system 10 according to an embodiment of the present disclosure. The computer system 10 includes an execution server 11 and a user terminal 12.
[0016] The execution server 11 is a prediction model construction device that learns time-series data including explanatory variables and a response variable and constructs a prediction model that predicts the value of the response variable. The user terminal 12 is a terminal device operated by a user of the computer system 10. The user terminal 12 is configured, for example, as a general-purpose computer system including a CPU (Central Processing Unit) and memory. In FIG. 1, the execution server 11 and the user terminal 12 are connected to each other in a state where they can communicate via the network 13, but they may also be configured as a single device. Furthermore, the execution server 11 and the user terminal 12 may be configured with mutually accessible areas appropriately set depending on their intended use.
[0017] The execution server 11 includes a network interface (I / F) 111 , a CPU 112 , a memory 113 , and a storage device 114 .
[0018] The network I / F 111 is communicably connected to the user terminal 12 via the network 13 and transmits and receives various information to and from the user terminal 12 .
[0019] The CPU 112 is a processing unit that performs various processes by reading a program (computer program) recorded in the memory 113 and executing the read program. The CPU 112 mainly executes a learning process that learns learning data, which is time-series data for learning, and constructs a phase-specific machine learning model, which is a machine learning model that predicts the value of a dependent variable of the time-series data for each of a plurality of phases that represent behavior (states) in the time-series data, and a prediction process that predicts the value of a dependent variable of the time-series data based on prediction data, which is time-series data for prediction, using the phase-specific machine learning model. The type of time-series data is not particularly limited, but may be, for example, data related to exchange rates or stock prices.
[0020] The memory 113 stores programs that define the operation of the CPU 112, and various information used and generated by these programs. In this embodiment, the memory 113 stores a position learning program 1131, a position prediction program 1132, a position-specific model learning program 1133, a position feature calculation program 1134, an ensemble prediction program 1135, and an information visualization program 1136 as programs that define the operation of the CPU 112.
[0021] The position learning program 1131 is a program for realizing a position learning unit that learns learning data and constructs a position prediction model 1141 that predicts, on a time-by-time basis, multiple positions in the time series data and position values that are the probabilities corresponding to those positions (e.g., the probability that the position applies).
[0022] The phase prediction program 1132 is a program for realizing a phase prediction unit that inputs (applies) learning data to a phase prediction model 1141 and calculates a phase history 1142 that indicates the phase value of the learning data at each time for each phase. Furthermore, the phase prediction program 1132 inputs prediction data to the phase prediction model 1141 and calculates predicted phase information that predicts the phase value at the prediction target time for each phase. The phase value is a value that indicates the likelihood of falling into a phase, and in this embodiment, is normalized so that when added up across all phases at each time, it becomes 1. Furthermore, the prediction target time is, for example, the current time (present point in time).
[0023] The phase-specific model learning program 1133 is a program for realizing a phase-specific machine learning unit that constructs a phase-specific machine learning model 1143 corresponding to each phase based on learning data and a phase history 1142. Specifically, the phase-specific model learning program 1133 performs machine learning on weighted learning data in which weights based on the phase history 1142 are assigned to data of the learning data at each time point for each phase, to construct the phase-specific machine learning model 1143. In this case, the phase-specific model learning program 1133 uses a weight calculation function 1144 for calculating weight values to generate a weight history 1145 indicating the weight values at each time point, and a hardened weight history 1146 in which the weight values of the weight history 1145 are hardened (one-hot-processed). The weight calculation function 1144, the weight history 1145, and the hardened weight history 1146 will be described in more detail below.
[0024] The phase feature calculation program 1134 is a program for realizing a feature calculation unit that calculates a phase feature 1147, which is a feature indicating the feature of each phase in the training data, based on the training sequence data and the hardened weight history 1146. Note that since the hardened weight history 1146 is generated based on the weight history 1145 as will be described later, the phase feature 1147 is calculated based on the weight history 1145.
[0025] The ensemble prediction program 1135 is a program for realizing an ensemble prediction unit that calculates an ensemble prediction value that predicts the value of the explanatory variable at the time to be predicted, based on model prediction values, which are multiple output values obtained by inputting prediction data into a phase-specific machine learning model 1143 for each phase, and predicted phase information calculated by the phase prediction program 1132.
[0026] The information visualization program 1136 is a program for realizing a visualization unit that visualizes the situation history 1142 , the weight history 1145 , the hardened weight history 1146 , the situation feature quantity 1147 , and the like, and displays them on the user terminal 12 .
[0027] The storage device 114 stores various information generated and used by the CPU 112. In this embodiment, the storage device 114 stores the above-mentioned situation prediction model 1141, situation history 1142, situation-specific machine learning model 1143, weight calculation function 1144, weight history 1145, hardened weight history 1146, and situation feature 1147. The storage device 114 may also store other information such as learning data and prediction data. The storage device 114 may also be provided with a storage medium 115 connectable to the storage device 114 and configured from a non-volatile memory or the like. The storage medium 115 can transmit and receive programs and data to and from the storage device 114. The storage medium 115 can store and distribute machine learning models.
[0028] 2 is a sequence diagram illustrating an example of the learning process. Note that, although the process will be described below with a "program" as the operating entity, the program is executed by CPU 112 to perform various processes using at least one of network I / F 111, memory 113, and storage device 114. Therefore, the operating entity of the process may be CPU 112 (or execution server 11 having CPU 112) or a functional unit (such as a position learning unit) realized by CPU 112 executing the program.
[0029] In the learning process, first, the user terminal 12 transmits position learning data and position learning setting information specified by the user to the execution server 11 (step S101). The position learning data is learning data for constructing a position prediction model. The position learning setting information is information indicating settings related to learning of the position prediction model, and includes, for example, the total number of positions and the type of statistical model to which the time-series data in each position conforms. The statistical model is, for example, a VAR model or a GARCH (Generalized Autoregressive Conditional Heteroscedasticity) model.
[0030] Next, the position learning program 1131 of the execution server 11 learns the position learning data using the position learning setting information and constructs a position prediction model 1141 (step S102). The position learning program 1131 stores the position prediction model 1141 in the storage device 114 (step S103). In this embodiment, the algorithm used by the position learning program 1131 to construct the position prediction model 1141 is a hidden Markov autoregressive model, and the position learning setting information is used in the hidden Markov autoregressive model. Note that this algorithm is not limited to a hidden Markov autoregressive model as long as it can learn the position prediction model 1141.
[0031] Next, the user terminal 12 transmits the machine learning data specified by the user to the execution server 11 (step S104). The machine learning data is learning data for constructing a situation-specific machine learning model. The machine learning data may be the same data as the situation learning data, or may be data different from the situation learning data. For example, the situation learning data may be data with a smaller number of explanatory variables than the machine learning data.
[0032] The situation prediction program 1132 inputs the machine learning data into the situation prediction model 1141 and calculates a situation history 1142 indicating the situation value of the machine learning data at each time for each situation (step S105). The situation prediction program 1132 stores the situation history 1142 in the storage device 114 (step S106).
[0033] Next, the user terminal 12 transmits the weight setting information and learning setting information specified by the user to the execution server 11 (step S107). The weight setting information is information that specifies the weight calculation function 1144, and includes, for example, the function form and parameters of the weight calculation function 1144. Furthermore, the weight calculation function 1144 may further include a hardened threshold value that is a threshold value for calculating a hardened weight value.
[0034] The phase-specific model learning program 1133 generates a weight history 1145 from the phase history 1142 by applying a weight calculation function 1144 corresponding to the weight setting information to each phase value of the phase history 1142, and further generates a hardened weight history 1146 based on the weight history 1145 (step S108).
[0035] The phase-specific model learning program 1133 displays the weight history 1145 and the hardened weight history 1146 on the user terminal 12 (step S109). The user checks the displayed weight history 1145 and hardened weight history 1146, determines whether the weight setting information is appropriate, and inputs the determination result into the user terminal 12. Note that the phase-specific model learning program 1133 may display either the weight history 1145 or the hardened weight history 1146, or may further display the phase history 1142.
[0036] If it is determined that the weight setting information is not valid, the weight calculation function 1144 is designated again by the user, and the process of step S107 is executed again.
[0037] On the other hand, if the weight setting information is determined to be appropriate, the phase-specific model learning program 1133 stores the weight calculation function 1144, weight history 1145, and hardened weight history 1146 in the storage device 114 (step S110).
[0038] Then, the situation-specific model learning program 1133 performs machine learning on the weighted learning data in which the machine-learning data is assigned the weight values indicated in the weight history 1145, and constructs the situation-specific machine-learning model 1143 (step S111). The situation-specific model learning program 1133 stores the situation-specific machine-learning model 1143 in the storage device 114 (step S112). The processing (steps S107 to S112) performed by the situation-specific model learning program 1133 will be described in more detail with reference to FIG. 4.
[0039] Thereafter, the phase feature calculation program 1134 acquires the hardened weight history 1146 from the storage device 114 (step S113). The phase feature calculation program 1134 generates a phase feature amount 1147 based on the hardened weight history 1146 and the machine learning data (step S114). Then, the phase feature calculation program 1134 stores the phase feature amount 1147 in the storage device 114 (step S115) and ends the learning process. The processes (steps S113 to S115) performed by the phase feature calculation program 1134 will be described in more detail with reference to FIG. 5.
[0040] FIG. 3 is a sequence diagram illustrating an example of the prediction process.
[0041] In the prediction process, first, the user terminal 12 transmits the calculation data specified by the user to the execution server 11 (step S201).
[0042] Next, the position prediction program 1132 of the execution server 11 acquires the position prediction model 1141 from the storage device 114 (step S202). The position prediction program 1132 inputs prediction data into the position prediction model 1141 and calculates predicted position information that predicts the position value at the prediction target time for each position (step S203). The position prediction program 1132 adds the predicted position information to the position history 1142 stored in the storage device 114 (step S204). Note that in this embodiment, the prediction target time is assumed to be in the future than the latest time of the learning data and does not overlap with the time of the learning data included in the position history 1142.
[0043] Thereafter, the ensemble prediction program 1135 acquires the weight calculation function 1144 from the storage device 114 (step S205). The ensemble prediction program 1135 calculates the weight value and the hardened weight value of each phase at the prediction target time based on the weight calculation function 1144 and the phase history 1142 (step S206). The ensemble prediction program 1135 adds the weight value and the hardened weight value to the weight history 1145 and the hardened weight history 1146 stored in the storage device 114 (step S207).
[0044] Next, the ensemble prediction program 1135 acquires a plurality of phase-specific machine learning models 1143 corresponding to each phase from the storage device 114 (step S208). The ensemble prediction program 1135 inputs prediction data to each of the phase-specific machine learning models 1143, and calculates a model prediction value, which is an output value corresponding to each phase of each of the phase-specific machine learning models 1143 (step S209).
[0045] The ensemble prediction program 1135 calculates an ensemble prediction value that predicts the value of the objective variable at the time of prediction based on each model prediction value and the weighting value calculated in step S206 (step S210), and displays the ensemble prediction value on the user terminal 12 (step S211). The processing performed by the ensemble prediction program 1135 (steps S205 to S210) will be described in more detail with reference to FIG. 6.
[0046] Next, the information visualization program 1136 acquires the situation history 1142, the weight history 1145, the hardened weight history 1146, and the situation feature 1147 from the storage device 114 (step S212). The information visualization program 1136 displays the acquired information on the user terminal 12 using a GUI (Graphical User Interface) (step S213), and ends the prediction process. Note that it is sufficient for the information visualization program 1136 to display at least one of the situation history 1142, the weight history 1145, the hardened weight history 1146, and the situation feature 1147.
[0047] The prediction process may be periodically repeated. For example, when the prediction data changes from moment to moment, such as time-series data on stock prices, the prediction process may be repeated at predetermined time intervals using the latest prediction data, with the current time set as the prediction target time.
[0048] FIG. 4 is a flowchart for explaining in more detail the situation-specific model learning process, which is the process (steps S107 to S112) of the situation-specific model learning program 1133 in the learning process described with reference to FIG.
[0049] In the situation-specific model learning process, first, the situation-specific model learning program 1133 acquires the situation history 1142 from the storage device 114 or the situation prediction program 1132 (step S301). The situation-specific model learning program 1133 accepts weight setting information and learning setting information from the user terminal 12 (step S302).
[0050] The phase-specific model learning program 1133 generates a weight history 1145 from the phase history 1142 by applying a weight calculation function 1144 corresponding to the weight setting information to each phase value of the phase history 1142, and further generates a hardened weight history 1146 based on the weight history 1145 (step S303).
[0051] The position history 1142 indicates position values corresponding to all positions at all times in the machine learning data. The position values indicate the accuracy (likelihood) of the position. The weight history 1145 indicates weight values corresponding to all positions at all times in the machine learning data. In this embodiment, the weight value of each position at each time is calculated based on the position values for a predetermined period including the time. For example, the weight value of each position at each time is calculated using an exponentially smoothed moving average of the position values of each position. In this case, the weight value indicates the likelihood of the position being reached, taking into account data (position values) from before the time. Furthermore, when an exponentially smoothed moving average is used, the weight setting information includes the predetermined period (the width of the moving average window that is the window for calculating the exponentially smoothed moving average) and a decay parameter related to exponential smoothing. Note that the method of calculating the weight value is not limited to the above example, and the weight value may be set to the same value as the position value.
[0052] The hardened weight history 1146 indicates hardened weight values corresponding to all phases at all times in the machine learning data. The hardened weight value is a value indicating a selected phase selected from all phases at each time in the machine learning data based on the weight value of each phase at that time. Specifically, at each time in the machine learning data, the hardened weight value is "1" corresponding to the selected phase and "0" corresponding to the other phases. In other words, the hardened weight value is a value that definitively expresses the phase (selected phase) to which the time-series data corresponds at each time. The phase-specific model learning program 1133 generates the hardened weight history 1146 by, for example, setting the hardened weight value corresponding to the phase with the largest weight value among the weight values of the phases at that time to "1" and the hardened weight values of the other phases to "0" for each time. In this case, when the weight value of a specific phase is equal to or greater than the hardening threshold, the phase-specific model learning program 1133 may set the hardening weight value of the specific phase to "1" instead of the hardening weight value corresponding to the phase with the largest weight value, and may set the hardening weight values of the other phases to "0".
[0053] After generating the weight history 1145 and the hardened weight history 1146, the phase-specific model learning program 1133 transmits an output I / F (see FIG. 9), which is a GUI showing the weight history 1145 and the hardened weight history 1146, to the user terminal 12 for display (step S304).
[0054] Thereafter, the user checks the weight history 1145 and the hardened weight history 1146 to determine whether the weight setting information is appropriate, and inputs the determination result to the user terminal 12. The situation-specific model learning program 1133 checks the determination result and determines whether the weight setting information is determined to be appropriate (step S305).
[0055] If the weight setting information is not valid (step S305: No), the process returns to step S302, where the weight setting information is readjusted. On the other hand, if the weight setting information is valid (step S305: Yes), the situation-specific model learning program 1133 stores the weight calculation function 1144 according to the weight setting information, and the finally generated weight history 1145 and hardened weight history 1146 in the storage device 114 (step S306).
[0056] The phase-specific model learning program 1133 performs machine learning based on the weight history 1145 and the machine learning data, thereby constructing a plurality of phase-specific machine learning models 1143 corresponding to the respective phases (step S307).
[0057] Specifically, the phase-specific model learning program 1133 constructs a phase-specific machine learning model 1143 using the same machine learning data for all phases. However, the phase-specific model learning program 1133 constructs multiple phase-specific machine learning models 1143 corresponding to each phase by machine learning weighted learning data in which, for each phase, weights based on the weight history 1145 are assigned to the data of the machine learning data at each time. For example, the phase-specific model learning program 1133 assigns, for each phase, a weight corresponding to the phase at that time in the weight history 1145 to the data of the machine learning data at that time. The assigned weight is reflected, for example, in the weight value of the loss function for the data at that time. This makes it possible to perform machine learning that places emphasis on data at a time with a large weight value for that phase, i.e., data at a time that is highly likely to correspond to the phase.
[0058] The machine learning algorithm for machine learning the weighted learning data is not particularly limited, but may be, for example, a supervised machine learning sub-algorithm such as a neural network or an ensemble regression tree. The type of machine learning algorithm and the hyperparameters used in the machine learning algorithm are specified in the learning setting information in step S302.
[0059] Then, the situation-specific model learning program 1133 stores the constructed situation-specific machine learning models 1143 in the storage device 114 (step S308), and ends the process.
[0060] FIG. 5 is a flowchart for explaining in more detail the situation feature calculation process, which is the process (steps S112 to S115) of the situation feature calculation program 1134 in the learning process described with reference to FIG.
[0061] In the phase feature calculation process, first, the phase feature calculation program 1134 acquires the hardened weight history 1146 from the storage device 114 (step S401).
[0062] Next, the phase feature calculation program 1134 calculates a phase feature amount 1147 based on the hardened weight history 1146 and the machine learning data (step S402). The phase feature amount 1147 is information indicating the characteristics of each phase, and is information that is considered useful for a user to predict time-series data and grasp the phase. The phase feature amount 1147 includes the average duration of each phase, a probability value of transition from each phase to another phase, etc. (see FIG. 8).
[0063] Then, the aspect feature calculation program 1134 stores the aspect feature amount 1147 in the storage device 114 (step S403), and ends the process.
[0064] FIG. 6 is a flowchart for explaining in more detail the ensemble prediction process, which is the process (steps S205 to S210) of the ensemble prediction program 1135 in the prediction process described with reference to FIG.
[0065] In the ensemble prediction process, first, the ensemble prediction program 1135 acquires the position history 1142 from the position prediction program 1132, and acquires the weight calculation function 1144 from the storage device 114 (step S501).
[0066] Next, the ensemble prediction program 1135 calculates the weight value and the hardened weight value of each phase at the prediction target time based on the weight calculation function 1144 and the phase history 1142 (step S502). The ensemble prediction program 1135 adds the calculated weight value (predicted weight value) and the hardened weight value (predicted hardened weight value) to the weight history 1145 and the hardened weight history 1146 stored in the storage device 114, respectively (step S503).
[0067] The ensemble prediction program 1135 acquires the phase-specific machine learning models 1143 from the storage device 114 (step S504). The ensemble prediction program 1135 inputs prediction data to each of the phase-specific machine learning models 1143, and acquires the output values of the phase-specific machine learning models 1143 corresponding to each phase as model prediction values corresponding to each phase (step S505).
[0068] The ensemble prediction program 1135 calculates an ensemble prediction value that predicts the value of the objective variable at the time of prediction based on the prediction weight value of each phase and the model prediction value of each phase, displays the ensemble prediction value on the user terminal 12 (step S506), and then terminates the process. The ensemble prediction value is, for example, a weighted average of the model prediction values using the prediction weight value.
[0069] 7 is a diagram showing an example of the phase history 1142, the weight history 1145, and the hardened weight history 1146. In the following, there are three phases, phases 1 to 3, but it is sufficient that there are two or more phases.
[0070] The phase history 1142 includes a timestamp 711 indicating each time of the time series data, a phase value 712 of phase 1, a phase value 713 of phase 2, and a phase value 714 of phase 3. The phase values 712 to 714 are positive values between 0 and 1 that sum to 1 at each time.
[0071] The weight history 1145 includes a timestamp 721 indicating each time of the time series data, a weight value 722 for phase 1, a weight value 723 for phase 2, and a weight value 724 for phase 3. The weight values 722 to 724 are positive values between 0 and 1 that sum to 1 at each time.
[0072] The hardened weight history 1146 includes a timestamp 731 indicating each time of the time series data, a hardened weight value 732 for phase 1, a hardened weight value 733 for phase 2, and a hardened weight value 734 for phase 3. At each time, one of the hardened weight values 732 to 734 is "1" and the others are "0".
[0073] 8 is a diagram showing an example of the phase feature 1147. The phase feature 1147 shown in FIG.
[0074] The average duration 81 indicates, for each phase, the average time during which the hardened weight value of that phase continues to be "1" within the time range of the learning data. The average duration 81 allows the user to get an idea of how long the current phase will last, for example.
[0075] The average occurrence rate 82 indicates, for each position, the frequency with which the hardened weight value of that position is "1" within the time range of the learning data. The average occurrence rate 82 allows the user to understand, for example, whether the current position is a common position or a rare position.
[0076] The transition probability 83 is the probability that when a transition occurs in which an assertive phase with a hardened weight value of "1" transitions to another assertive phase, the transition destination assertive phase will be what phase. In this embodiment, the transition probability 83 is stored in a 3x3 matrix format, and the sum of the transition probabilities in each column is 100%. The transition probability 83 makes it possible to know what phase the current assertive phase is likely to transition to next.
[0077] FIG. 9 is a diagram showing an example of a GUI for setting a weight calculation function.
[0078] The input I / F 91 shown in FIG. 9 is a GUI that is displayed on the user terminal 12 when the weighting function setting information is input (steps S107 and S302), and includes a display field 911, input fields 912 to 914, and a button 915.
[0079] 9, the display field 911 displays the phase history 1142, and in the example of FIG. 9, the phase values of each phase in the phase history 1142 are displayed as a graph against time. The input fields 912 to 914 are fields for inputting weighting function setting information. In this embodiment, the weight calculation function 1144 is an exponentially smoothed moving average of the phase values included in the phase history 1142, the input field 912 is used to input the size (width) of the moving average window of the exponentially smoothed moving average, and the input field 913 is used to input the coefficient (decay parameter) of the exponentially smoothed moving average. The input field 914 is used to input a hardened threshold value for calculating a hardened weight value.
[0080] Button 915 is a button for issuing an instruction to calculate weight values and hardened weight values. When button 915 is pressed, the user terminal 12 transmits the values entered in input fields 912 to 914 to the execution server 11 as weight function setting information.
[0081] The output I / F 92 shown in FIG. 9 is a GUI for displaying the weight history 1145 and hardened weight history 1146 calculated by the execution server 11 in step S109, and includes display fields 921 and 922 and a button 923.
[0082] Display field 921 is a field that displays weight history 1145. In the example of FIG. 9, the weight values for each phase of weight history 1145 are displayed as a graph against time. Display field 921 is a field that displays hardened weight history 1146. In the example of FIG. 9, the hardened weight values for each phase of hardened weight history 1146 are displayed as a graph against time. Button 923 is a button used to input that the weight setting information is appropriate. When button 923 is pressed, user terminal 12 notifies execution server 11 that the weight setting information is appropriate, and execution server 11 proceeds to the next process upon receiving this notification. If the weight setting information is not appropriate, the user can adjust weight history 1145 and hardened weight history 1146 until they are satisfied by changing the value of at least one of input fields 912 to 914 of input I / F 91 and pressing button 915.
[0083] 10 is a diagram showing an example of a GUI displayed in step S213 by the information visualization program 1136. The output I / F 1000, which is the GUI shown in FIG.
[0084] A display field 1001 displays the phase values of each phase in a phase history 1142 for the most recent predetermined period as a graph against time. A display field 1002 displays the weight values of each phase in a weight history 1145 for the most recent predetermined period as a graph against time. A display field 1003 displays the hardened weights of each phase in a hardened weight history 1146 for the most recent predetermined period as a graph against time. In the example of FIG. 10, the prediction process is performed repeatedly, and the phase history 1142, weight history 1145, and hardened weight history 1146 indicate the phase values, weights, and hardened weights calculated in the prediction process.
[0085] Display field 1004 displays the current phase. Display fields 1005 to 1007 are fields that display the phase feature 1147, an example of which is shown in FIG. 8, or information based on the phase feature 1147. Specifically, display field 1005 displays the average duration of the current phase. Display field 1006 displays the predicted occurrence time of the next phase transition. Display field 1007 displays the predicted value of the transition destination phase, which is the assertive phase to which the next phase transition will occur. The predicted occurrence time is, for example, the time obtained by subtracting the duration of the current assertive phase from the average duration. Furthermore, the predicted value of the transition destination phase is the phase with the highest transition probability in the current assertive phase.
[0086] By checking the output I / F 1000, the user can grasp the current and most recent state of the time series data, as well as its characteristics.
[0087] As described above, according to this embodiment, the position learning program 1131 learns learning data and constructs a position prediction model 1141 that predicts, on a time-by-time basis, a position value that is the probability corresponding to each of multiple positions in the time-series data. The position prediction program 1132 inputs learning data to the position prediction model 1141 and calculates a position history 1142 that indicates, for each position, the position value of the learning data at each time. The position-specific model learning program 1133 constructs a position-specific machine learning model 1143 by machine learning weighted learning data in which weights based on the position history 1142 are assigned to the learning data for each position.
[0088] Therefore, by machine learning weighted training data to which weights based on the phase values indicating the likelihood of a phase at each time point in the training data are assigned for each phase, it is possible to construct a phase-specific machine learning model 1143 corresponding to each phase. This makes it possible to improve prediction accuracy even when it is difficult to clearly classify time-series data into multiple phases.
[0089] In this embodiment, the weight value at each time point is calculated based on the phase values for a predetermined period including that time point, which makes it possible to calculate a weight value that takes into account phase values from the past and future of that time point, thereby further improving prediction accuracy.
[0090] Furthermore, in this embodiment, at the time of learning, at least one of the weight history 1145 and the hardened weight history 1146 is displayed. This makes it possible to determine whether the weight calculation function 1144 for calculating the weight is appropriate.
[0091] Furthermore, in this embodiment, the ensemble prediction program 1135 calculates an ensemble prediction value that predicts the value of the objective variable at the time of prediction, based on multiple model prediction values and prediction phase information obtained by inputting prediction data into each phase-specific machine learning model 1143. This makes it possible to calculate an accurate ensemble prediction value based on the model prediction values for each phase.
[0092] Furthermore, in this embodiment, the ensemble predicted value is calculated as a weighted average of model predicted values using weights according to the situation, so that the ensemble predicted value can be calculated more appropriately.
[0093] Furthermore, in this embodiment, feature quantities indicating the characteristics of each situation are displayed at the time of prediction, which makes it possible to assist the user in understanding the situation.
[0094] Furthermore, in this embodiment, at least one of the situation history 1142, the weight history 1145, and the hardened weight history 1146 is displayed during prediction, which can assist the user in understanding the situation.
[0095] The above-described embodiments of the present disclosure are merely illustrative examples of the present disclosure, and are not intended to limit the scope of the present disclosure to these embodiments alone. Those skilled in the art may implement the present disclosure in various other forms without departing from the scope of the present disclosure. [Explanation of symbols]
[0096] 10: Computer system 11: Execution server 12: User terminal 111: Network I / F 112: CPU 113: Memory 114: Storage device 115: Storage medium 1131: Position learning program 1132: Position prediction program 1133: Position-specific model learning program 1134: Position feature calculation program 1135: Ensemble prediction program 1136: Information visualization program
Claims
1. a phase learning unit that learns learning data that is time-series data for learning and constructs a phase prediction model that predicts, on a time-unit basis, a phase value that is a probability corresponding to each of a plurality of phases that represent behavior in the time-series data; a situation prediction unit that inputs the learning data into the situation prediction model and calculates a situation history that indicates, for each situation, the situation value at each time of the learning data; and a phase-specific machine learning unit that performs machine learning on weighted learning data in which, for each of the phases, weights based on the phase history are assigned to data at each time point in the learning data, and constructs a phase-specific machine learning model that predicts the value of a dependent variable in the time-series data.
2. The prediction model construction device according to claim 1 , wherein the phase-specific machine learning unit calculates the weight value at each time point based on the phase value for a predetermined period including the time point.
3. 2. The predictive model construction device according to claim 1, wherein the phase-specific machine learning unit displays, for each time point of the training data, at least one of a weight history indicating the weight value for each of the phases, and a hardened weight history indicating, for each time point of the training data, one of the phases selected based on the weight value at that time.
4. the situation prediction unit inputs prediction data, which is time-series data for prediction, into the situation prediction model, and calculates predicted situation information by predicting the situation value at a prediction target time for each of the situations; 2. The prediction model construction device according to claim 1, further comprising an ensemble prediction unit that calculates and displays an ensemble prediction value that predicts the value of the dependent variable at the target time of prediction, based on a plurality of output values obtained by inputting the prediction data into each of the phase-specific machine learning models and the prediction phase information.
5. 5. The prediction model construction device according to claim 4, wherein the ensemble prediction unit calculates a prediction weight value corresponding to each phase based on the predicted phase information, and calculates a weighted average of the output values using the prediction weight value as the ensemble prediction value.
6. a feature calculation unit that calculates a feature amount indicating a feature of each phase based on a weight history that indicates the weight value for each phase at each time of the learning data; The predictive model construction device according to claim 4 , further comprising: a visualization unit that displays the feature quantities calculated by the feature calculation unit.
7. the predicted phase information and the ensemble predicted value are repeatedly calculated while shifting the prediction target time, 6. The prediction model construction device according to claim 5, further comprising a visualization unit that displays at least one of a prediction phase history indicating the prediction phase information for each prediction target time, a prediction weight history indicating the prediction weight value for each phase for each prediction target time, and a prediction hardened weight history indicating, for each prediction target time, any one of the phases selected based on the prediction weight value at the prediction target time.
8. A prediction model construction method by a prediction model construction device, comprising: constructing a phase prediction model that learns learning data that is time-series data for learning and predicts, on a time-unit basis, a phase value that is a probability corresponding to each of a plurality of phases that represent behavior in the time-series data; inputting the learning data into the situation prediction model to calculate a situation history indicating the situation value at each time of the learning data for each situation; A prediction model construction method comprising: conducting machine learning on weighted training data in which, for each of the phases, weights based on the phase history are assigned to the data of the training data at each time; and constructing a phase-specific machine learning model that predicts the value of a dependent variable of the time-series data.
9. To the computer A function of constructing a phase prediction model that learns learning data, which is time-series data for learning, and predicts, on a time-unit basis, phase values that are the probabilities corresponding to a plurality of phases that represent behavior in the time-series data; a function of inputting the learning data into the situation prediction model and calculating a situation history indicating the situation value at each time of the learning data for each situation; and a program for realizing the function of performing machine learning on weighted learning data, in which weights based on the history of the phases are assigned to the data of the learning data at each time point for each of the phases, to construct a phase-specific machine learning model that predicts the value of the objective variable of the time-series data.
Citation Information
Patent Citations
Device, method and program for agent learning
JP2007052589A
Customer state estimation system, customer state estimation method, and customer state estimation program
JP2010073189A
A computer implemented method of deriving performance from a local model
WO2015150747A1