Prediction system, information processing device, and information processing program
The prediction system efficiently generates and updates predictive models by comparing performance and incorporating outlier detection, addressing inefficiencies in existing methods to achieve higher accuracy.
Patent Information
- Application Number
- JP2020131677
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-08-03
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2040-08-03
AI Technical Summary
Existing predictive model construction methods require significant man-hours to select the optimal learning period and model, and the accuracy of differential learning methods cannot be easily grasped, leading to inefficiencies in generating accurate predictive models.
A prediction system that includes a control calculation section, a prediction unit, and a predictive model generation unit capable of generating and comparing first and second predictive models based on learning datasets, with conditions for updating models and incorporating outlier detection to ensure accuracy.
The system allows for more efficient generation and validation of predictive models with higher accuracy by easily identifying when previous models may not perform adequately and updating them with new data, ensuring improved prediction performance.
Smart Images

Figure 0007596660000001 
Figure 0007596660000002 
Figure 0007596660000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a prediction system for predicting time changes occurring in a controlled object, an information processing device constituting the prediction system, and an information processing program for realizing the information processing device. [Background technology]
[0002] In various production sites, for some reason, changes that are different from normal or normal may occur. If such changes could be predicted in advance and some kind of countermeasure could be taken, it would be beneficial for maintaining the performance of production equipment and ensuring the quality of products.
[0003] Regarding such advance prediction, for example, Japanese Patent Application Laid-Open No. 2009-237832 (Patent Document 1) discloses a variable prediction model construction method capable of improving the accuracy of demand prediction in any period or season. The variable prediction model construction method disclosed in Patent Document 1 employs a process of constructing an appropriate prediction model for each of multiple learning periods of 7 to 70 days using learning data obtained by correcting accumulated time series data, and selecting the optimal learning period and prediction model with the highest prediction accuracy by evaluating the modeling accuracy of each learning period.
[0004] However, when the prediction target changes or when the prediction model has a hidden defect, it is necessary to reconfigure the prediction model. Regarding such reconfiguration or re-learning of a prediction model, Japanese Patent Application Laid-Open No. 2016-126596 (Patent Document 2) discloses a configuration for variably setting a window size and a sampling rate within a limited range of a learning time according to an input rate in differential learning that can continue learning by reusing the previous result without starting learning from scratch every time data is generated. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2009-237832 A [Patent Document 2] JP 2016-126596 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, in the variable prediction model construction method disclosed in the above-mentioned Patent Document 1, it is necessary to construct an appropriate prediction model for each of multiple learning periods and then evaluate the modeling accuracy of each learning period, which poses the problem of the large amount of labor required to select the optimal learning period and prediction model.
[0007] Furthermore, in the differential learning method disclosed in the above-mentioned Patent Document 2, it is not possible to grasp at a glance the accuracy of the model after learning.
[0008] The present invention provides a method for more efficiently generating a more accurate prediction model. [Means for solving the problem]
[0009] A prediction system according to an embodiment of the present invention includes a control calculation unit that executes control calculations for controlling a controlled object, a prediction unit that calculates a predicted value by inputting one or more state values among state values that the control calculation unit can refer to into a prediction model, and a prediction model generation unit that generates a prediction model in advance. The prediction model generation unit includes a means for generating a first prediction model based on a first learning dataset including time series data of the prediction object and time series data of the corresponding one or more state values, a means for generating a second prediction model based on a second learning dataset that is generated by adding the actual value of the one or more state values to the first learning dataset when the actual value of the one or more state values satisfies a predetermined condition, and a means for presenting the performance of the first prediction model and the performance of the second prediction model.
[0010] According to this configuration, when the actual value of one or more state values satisfies a predetermined condition, the prediction system generates a new prediction model based on a learning dataset including the actual value of the one or more state values, and presents the performance of the original prediction model and the performance of the new prediction model. This allows the user to easily know the state in which a new prediction model should be generated, and to check the performance of the newly generated prediction model.
[0011] The prediction system may further include a data reflection unit that enables the second prediction model in the prediction unit according to a user operation. With this configuration, the user can enable the newly generated prediction model after checking the performance of the presented prediction model.
[0012] The predetermined condition may include being an outlier in the time-series data of one or more state values included in the first learning dataset. With this configuration, it is possible to easily know when a previously generated prediction model may not be able to perform sufficiently.
[0013] The prediction model generating unit may further include means for generating an outlier detection model for detecting outliers in addition to the first prediction model based on the first learning dataset. With this configuration, the outlier detection model can be used to easily detect outliers.
[0014] The outlier detection model may reflect a distribution range of the time-series data of one or more state values included in the first training data set. With this configuration, an appropriate outlier detection model can be generated according to the distribution range included in the first training data set.
[0015] The data reflection unit may update the original outlier detection model with the outlier detection model generated together with the second prediction model. With this configuration, when the second prediction model is enabled, the outlier detection model corresponding to the second prediction model can also be enabled.
[0016] The prediction model generating unit may further include a means for presenting the time series data of the predicted values output from the first prediction model in association with the time series data of the corresponding actual values, and for presenting the time series data of the predicted values output from the second prediction model in association with the time series data of the corresponding actual values. With this configuration, the user can appropriately determine whether to activate the newly generated second prediction model by comparing not only the performance of the first prediction model and the second prediction model, but also the time series data of the predicted values and the actual values.
[0017] The prediction model generating unit may further include a means for generating a second training data set by adding the actual values of one or more state values to the first training data set and then resampling the data. With this configuration, the data size and dimensions of the newly generated second prediction model can be maintained the same as those of the first prediction model.
[0018] An information processing device according to another example of the present invention is connected to a control device. The control device includes a control calculation unit that executes control calculation for controlling a control target, and a prediction unit that calculates a predicted value by inputting one or more state values among state values that the control calculation unit can refer to into a prediction model. The information processing device includes a prediction model generation unit that generates a prediction model in advance. The prediction model generation unit includes a means for generating a first prediction model based on a first learning dataset including time series data of the prediction target and time series data of the corresponding one or more state values, a means for generating a second prediction model based on a second learning dataset generated by adding the actual value of the one or more state values to the first learning dataset when the actual value of the one or more state values satisfies a predetermined condition, and a means for presenting the performance of the first prediction model and the performance of the second prediction model.
[0019] According to yet another example of the present invention, there is provided an information processing program executed by a computer connected to a control device. The control device includes a control calculation unit that executes a control calculation for controlling a control target, and a prediction unit that calculates a predicted value by inputting one or more state values among state values that the control calculation unit can refer to into a prediction model. The information processing program causes the computer to execute, as a process for generating a prediction model in advance, a step of generating a first prediction model based on a first learning dataset including time series data of the prediction target and time series data of the corresponding one or more state values, a step of generating a second prediction model based on a second learning dataset generated by adding the actual value of the one or more state values to the first learning dataset when the actual value of the one or more state values satisfies a predetermined condition, and a step of presenting the performance of the first prediction model and the performance of the second prediction model. Effect of the Invention
[0020] According to the present invention, a more accurate prediction model can be generated more efficiently. [Brief description of the drawings]
[0021] [Figure 1] 1 is a schematic diagram illustrating an example of the overall configuration of a prediction system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a schematic diagram for explaining a prediction model used in the prediction system according to the present embodiment. [Diagram 3] 11 is a flowchart showing a processing procedure for generating a prediction model using the prediction system according to the present embodiment. [Figure 4] 13 is a flowchart showing a processing procedure for updating a prediction model using the prediction system according to the present embodiment. [Diagram 5] 2 is a block diagram showing an example of a hardware configuration of a control device constituting the prediction system according to the present embodiment. FIG. [Figure 6] 2 is a block diagram showing an example of a hardware configuration of a support device constituting the prediction system according to the present embodiment. FIG. [Figure 7] 2 is a block diagram showing an example of the software configuration of a control device and a support device constituting the prediction system according to the present embodiment. FIG. [Figure 8] FIG. 8 is a block diagram showing an overview of functional modules included in the model generation / update program shown in FIG. 7. [Figure 9] FIG. 11 is a diagram for explaining an example of sample selection in the prediction system according to the present embodiment. [Figure 10] FIG. 13 is a diagram for explaining clustering related to sample selection in the prediction system according to the present embodiment. [Figure 11] FIG. 13 is a diagram for explaining the determination of explanatory variables and explanatory variable intervals in the prediction system according to the present embodiment. [Figure 12] 10 is a flowchart showing a more detailed process procedure for determining explanatory variables and explanatory variable intervals (step S4) in the prediction system according to the present embodiment. [Figure 13] FIG. 13 is a diagram showing an example of a user interface screen related to the determination of explanatory variables and explanatory variable intervals in the prediction system according to the present embodiment. [Figure 14] 13 is a flowchart showing a more detailed process procedure relating to determination of model parameters (step S5) and generation of a prediction model (step S6) in the prediction system according to the present embodiment. [Figure 15] FIG. 11 is a diagram for explaining the process of generating an outlier detection model (step S7) in the prediction system according to the present embodiment. [Figure 16] FIG. 11 is a diagram for explaining a prediction model update process using the prediction system according to the present embodiment. [Figure 17] FIG. 2 is a diagram showing an example of a user interface screen related to updating of a prediction model using the prediction system 1 according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals, and their descriptions will not be repeated.
[0023] <A. Application Example> First, an example of a scenario to which the present invention is applied will be described.
[0024] The main aspects of the control system having a prediction function according to the present embodiment will be described. In the following description, mainly, attention will be paid to the prediction function of the control system, so the entire control system will also be referred to as a "prediction system".
[0025] FIG. 1 is a schematic diagram showing an overall configuration example of a prediction system 1 according to the present embodiment. Referring to FIG. 1, the prediction system 1 according to the present embodiment includes, as main components, a control device 100 that controls a control target and a support device 200 connected to the control device 100.
[0026] The control device 100 may be embodied as a kind of computer such as a PLC (programmable controller). The control device 100 may be connected to a field device group 10 via a field bus 2 and may also be connected to one or more display devices 400 via a field bus 4. Further, the control device 100 may be connected to a host server 300 via a host network 6. Note that the host server 300 and the display device 400 are optional configurations and are not essential configurations of the prediction system 1.
[0027] The control device 100 has a control logic (hereinafter also referred to as a "PLC engine") that executes various calculations for controlling facilities and machines. In addition to the PLC engine, the control device 100 has a collection function for collecting data (hereinafter also referred to as "input data") measured by the field device group 10 and transferred to the control device 100. Further, the control device 100 also has a prediction function for predicting future time changes based on the collected input data.
[0028] Specifically, a time series database (hereinafter also referred to as "TSDB (Time Series Data Base)") 130 implemented in the control device 100 provides a collection function, and a prediction model 140 implemented in the control device 100 provides a prediction function. The TSDB 130 and the prediction model 140 will be described in detail later.
[0029] It is preferable that an industrial communication protocol is adopted for the field bus 2 and the field bus 4. Known examples of such communication protocols include EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark).
[0030] The field devices 10 include devices that collect input data from controlled objects or manufacturing devices and production lines related to the control (hereinafter collectively referred to as "fields"). Assumed devices for collecting such input data include input relays and various sensors. The field devices 10 further include devices that perform some kind of action on the field based on commands (hereinafter also referred to as "output data") generated by the control device 100. Assumed devices for performing some kind of action on such fields include output relays, contactors, servo drivers and servo motors, and any other actuators. These field devices 10 exchange data including input data and output data with the control device 100 via the field bus 2.
[0031] In the exemplary configuration shown in FIG. 1, the field device group 10 includes a remote I / O (Input / Output) device 12, a relay group 14, an image sensor 18 and a camera 20, a servo driver 22 and a servo motor 24.
[0032] The remote I / O device 12 includes a communication unit that communicates via the field bus 2, and an input / output unit (hereinafter also referred to as an "I / O unit") for collecting input data and outputting output data. Input data and output data are exchanged between the control device 100 and the field via such an I / O unit. Fig. 1 shows an example in which digital signals are exchanged as input data and output data via a relay group 14.
[0033] The I / O unit may be directly connected to the field bus 2. FIG.
[0034] The image sensor 18 performs image measurement processing such as pattern matching on the image data captured by the camera 20, and transmits the processing results to the control device 100.
[0035] The servo driver 22 drives the servo motor 24 in accordance with output data (eg, a position command) from the control device 100.
[0036] As described above, data is exchanged between the control device 100 and the field device group 10 via the field bus 2, and the exchanged data is updated at very short intervals of the order of several hundred μsec to several tens of msec. Such an update process of the exchanged data is sometimes called an "I / O refresh process."
[0037] In addition, the display device 400, which is connected to the control device 100 via the field bus 4, receives operations from a user, transmits commands to the control device 100 in response to the user operations, and graphically displays the calculation results, etc., of the control device 100.
[0038] The upper server 300 is connected to the control device 100 via the upper network 6, and exchanges necessary data with the control device 100. A general-purpose protocol such as Ethernet (registered trademark) may be implemented in the upper network 6.
[0039] The support device 200 is an information processing device (an example of a computer) that supports the preparations necessary for the control device 100 to control a control target. Specifically, the support device 200 provides a development environment (program creation and editing tools, parser, compiler, etc.) for user programs executed on the control device 100, a setting environment for setting parameters (configurations) of the control device 100 and various devices connected to the control device 100, a function of transmitting the generated user program to the control device 100, a function of online correcting / modifying a user program executed on the control device 100, and the like.
[0040] Furthermore, the support device 200 according to the present embodiment has a function for supporting the generation and update of the prediction model 140 implemented in the control device 100. Details of these functions will be described later.
[0041] <B. Outline of Generation, Operation, and Update of Prediction Model> Next, an outline of the generation and operation of the prediction model 140 using the prediction system 1 according to the present embodiment will be described.
[0042] FIG. 2 is a schematic diagram for explaining the prediction model 140 used in the prediction system 1 according to the present embodiment. Referring to FIG. 2(A), the prediction model 140 according to the present embodiment predicts a future state that occurs in the control target. Hereinafter, the future state (one or a plurality of values) to be predicted is also referred to as the "objective variable".
[0043] As shown in FIG. 2(B), the prediction model 140 receives the input of one or a plurality of explanatory variables x1, x2, x3, ···, x n and calculates (predicts) the objective variable y.
[0044] In this specification, data referenced to calculate or determine any predicted value is also referred to as "explanatory variables." Any predicted value is calculated or determined using one or more explanatory variables. Thus, "explanatory variables" encompass any value determined to be correlated with the objective variable to be predicted.
[0045] The prediction model 140 receives input of time changes in one or more explanatory variables in an explanatory variable interval (i.e., time series data of one or more explanatory variables) and outputs time changes in a dependent variable over a prediction target interval (i.e., time series data of the dependent variable).
[0046] The explanatory variable interval is set to a position a predetermined time before the prediction target interval. The explanatory variable interval and the prediction target interval may overlap. In addition, the explanatory variable interval or the prediction target interval may be long enough to include only one shot of the explanatory variable or the objective variable.
[0047] The predictive model 140 may be implemented as a type of regression model, or as a model including a neural network.
[0048] In the prediction system 1 according to the present embodiment, it is possible to generate, operate, and update a prediction model 140 as shown in Fig. 2. The processing procedure will be outlined below.
[0049] 3 is a flowchart showing a process procedure for generating a prediction model 140 using the prediction system 1 according to the present embodiment. Each step shown in FIG. 3 is typically realized by the processor 202 of the support device 200 executing a program (such as the model generation / update program 226 and the OS 228).
[0050] 3, the support device 200 acquires time-series data stored in the TSDB 130 (step S1). Then, the support device 200 accepts settings of a prediction target (objective variable) and a prediction target interval from the acquired time-series data (step S2).
[0051] The support device 200 selects samples to be used for generating a prediction model for predicting a time change of a prediction target in a prediction target interval set in step S2 (step S3). In step S3, which data is to be used for learning among a plurality of types of data is selected.
[0052] Next, the support device 200 determines explanatory variables and explanatory variable intervals (step S4). Then, the support device 200 determines model parameters to be used (step S5). In step S5, the support device 200 generates a prediction model 140 according to the explanatory variables and explanatory variable intervals selected in step S4, and searches for an appropriate prediction algorithm by evaluating the performance of the generated prediction model 140. The support device 200 determines model parameters that use a prediction algorithm with high prediction accuracy and prediction speed.
[0053] Finally, the support device 200 generates the prediction model 140 based on the determined model parameters, etc. (step S6). In addition, the support device 200 generates an outlier detection model 144 for detecting outliers appearing in the explanatory variables based on the learning dataset used to generate the prediction model 140 (step S7).
[0054] The prediction model 140 generated by the above-described processing procedure is set in the control device 100, thereby enabling operation of the prediction model 140. The outlier detection model 144 may be transferred to the control device 100, or may be implemented in the support device 200.
[0055] Next, an overview of updating the prediction model 140 using the prediction system 1 according to the present embodiment will be described.
[0056] FIG. 4 is a flowchart showing the processing procedure of the update process of the prediction model 140 using the prediction system 1 according to the present embodiment. Each step shown in FIG. 4 is typically realized by the processor 202 of the support device 200 executing programs (such as the model generation / update program 226 and the OS 228). However, some of the processing may be executed by the control device 100.
[0057] Referring to FIG. 4, the support device 200 acquires the time-series data of the explanatory variables stored in the TSDB 130 (step S8). Subsequently, the support device 200 inputs the acquired time-series data of the explanatory variables into the outlier detection model 144 to determine whether there are outliers in the explanatory variables (step S9).
[0058] If there are outliers in the explanatory variables (YES in step S9), the support device 200 adds the detected outliers of the explanatory variables to the learning dataset used for generating the prediction model 140 (step S10), and generates a new prediction model 140 and a new outlier detection model 144 (step S11).
[0059] Then, the support device 200 presents the comparison result of the prediction accuracy between the original prediction model 140 and the new prediction model 140 to the user (step S12).
[0060] The support device 200 validates the new prediction model 140 in response to an instruction from the user (step S13). That is, the support device 200 transfers the new prediction model 140 to the control device 100.
[0061] An operation of sequentially updating the prediction model 140 generated by the above processing procedure becomes possible.
[0062] <C. Hardware Configuration Example> Next, a hardware configuration example of the main devices constituting the prediction system 1 according to the present embodiment will be described.
[0063] (c1: Example of hardware configuration of control device 100) Fig. 5 is a block diagram showing an example of a hardware configuration of a control device 100 constituting the prediction system 1 according to the present embodiment. Referring to Fig. 5, the control device 100 includes a processor 102 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chipset 104, a main memory device 106, a secondary memory device 108, a host network controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, an internal bus controller 122, field bus controllers 118 and 120, and I / O units 124-1, 124-2, ....
[0064] The processor 102 reads out various programs stored in the secondary storage device 108, deploys them in the main storage device 106, and executes them to implement the PLC engine 150 (see FIG. 5) and the prediction model 140. The chipset 104 controls data transmission between the processor 102 and each component.
[0065] In addition to a system program for implementing the PLC engine 150, the secondary storage device 108 stores a user program executed using the PLC engine 150. Furthermore, the secondary storage device 108 also stores a program for implementing the prediction model 140.
[0066] The upper network controller 110 controls data exchange with other devices via the upper network 6. The USB controller 112 controls data exchange with the support device 200 via a USB connection.
[0067] The memory card interface 114 is configured so that a memory card 116 can be attached and detached, and is capable of writing data to the memory card 116 and reading various data (user programs, trace data, etc.) from the memory card 116.
[0068] The internal bus controller 122 is an interface for transmitting and receiving data between the I / O units 124-1, 124-2, . . . mounted on the control device 100.
[0069] A fieldbus controller 118 controls the exchange of data with other devices via fieldbus 2. Similarly, a fieldbus controller 120 controls the exchange of data with other devices via fieldbus 4.
[0070] FIG. 5 shows an example of a configuration in which the processor 102 executes a program to provide necessary functions, but some or all of these provided functions may be implemented using a dedicated hardware circuit (e.g., an Application Specific Integrated Circuit (ASIC) or a Field-Programmable Gate Array (FPGA)). Alternatively, the main part of the control device 100 may be realized using hardware that conforms to a general-purpose architecture (e.g., an industrial PC based on a general-purpose PC). In this case, virtualization technology may be used to run multiple operating systems (OSs) with different uses in parallel, and necessary applications may be executed on each OS.
[0071] (c2: Example of hardware configuration of support device 200) The support device 200 according to the present embodiment is realized, for example, by executing a program using hardware (for example, a general-purpose personal computer) that complies with a general-purpose architecture.
[0072] Fig. 6 is a block diagram showing an example of a hardware configuration of a support device 200 constituting the prediction system 1 according to the present embodiment. With reference to Fig. 6, the support device 200 includes a processor 202 such as a CPU or an MPU, an optical drive 204, a main storage device 206, a secondary storage device 208, a USB controller 212, a local network controller 214, an input unit 216, and a display unit 218. These components are connected via a bus 220.
[0073] The processor 202 reads out various programs stored in the secondary storage device 208, deploys them in the main storage device 206, and executes them to realize various processes including a model generation process, which will be described later.
[0074] The secondary storage device 208 is composed of, for example, a hard disk drive (HDD) or a flash solid state drive (SSD). The secondary storage device 208 typically stores a development program 222 for creating a user program to be executed in the support device 200, debugging the created user program, defining a system configuration, setting various parameters, etc., a user interface program 224 for presenting data to a user and accepting instructions from the user, a model generation and update program 226 for realizing the generation of the prediction model 140, etc., and an OS 228. The secondary storage device 208 may store necessary programs other than the programs shown in FIG. 6.
[0075] The support device 200 has an optical drive 204, and a computer-readable program stored in a recording medium 205 (e.g., an optical recording medium such as a DVD (Digital Versatile Disc)) is read from the recording medium 205 in which the program is non-transiently stored, and the program is installed in a secondary storage device 208 or the like.
[0076] The various programs executed by the support device 200 may be installed via a computer-readable recording medium 205, or may be installed in a form of being downloaded from an arbitrary server on a network. Further, the functions provided by the support device 200 according to the present embodiment may be realized by using a part of the modules provided by the OS.
[0077] The USB controller 212 controls the exchange of data with the control device 100 via a USB connection. The local network controller 214 controls the exchange of data with another device via an arbitrary network.
[0078] The input unit 216 is composed of a keyboard, a mouse, etc., and receives user operations. The display unit 218 is composed of a display, various indicators, a printer, etc., and outputs the processing result from the processor 202, etc.
[0079] FIG. 6 shows a configuration example in which functions necessary for the processor 202 to execute a program are provided. However, some or all of these provided functions may be implemented using a dedicated hardware circuit (for example, an ASIC or an FPGA, etc.).
[0080] <D. Software Configuration Example / Functional Configuration Example> Next, a software configuration example and a functional configuration example of the control device 100 and the support device 200 constituting the prediction system 1 according to the present embodiment will be described.
[0081] FIG. 7 is a block diagram showing a software configuration example of the control device 100 and the support device 200 constituting the prediction system 1 according to the present embodiment.
[0082] Referring to FIG. 7, the control device 100 includes, as main functional configurations, in addition to the PLC engine 150, a TSDB 130 and a predictor 141.
[0083] The PLC engine 150 sequentially interprets the user program 154 and executes control calculations for controlling the controlled object. The PLC engine 150 manages state values collected from the field in the form of variables 152, and the variables 152 are updated at predetermined intervals. The PLC engine 150 may be realized by the processor 102 of the control device 100 executing a system program.
[0084] In this specification, "state value" includes input values collected from the field, command values output to the field, and system state values and internal values managed within the control device 100. In the control device 100 according to this embodiment, the "state value" is referred to in the form of a "variable," and therefore, for convenience, in the following description, the term "variable" is used to include "state value." Note that the technical scope of the present invention is not limited to a configuration in which the "state value" is referred to in the form of a "variable."
[0085] The user program 154 includes a predicted value acquisition code 156 , a control code 158 , and a TSDB writing code 160 .
[0086] The predicted value acquisition code 156 includes an instruction to acquire actual values (time series data) of one or more explanatory variables set for each prediction model 140 from state values managed as variables 152, and input the values to the predictor 141 to acquire the time change (time series data of the target variable) of the prediction target (objective variable).
[0087] The control code 158 realizes a control calculation unit that executes a control calculation for controlling the controlled object. More specifically, the control code 158 executes a control calculation for controlling the controlled object based on the time change of the predicted object acquired by the predicted value acquisition code 156.
[0088] The TSDB write code 160 obtains predetermined variables from among the variables managed as the variables 152, and writes them into the storage area 132 of the TSDB .
[0089] The TSDB 130 has an export module 134 that exports the data written in the storage area 132 to the support device 200 or the like as necessary.
[0090] The predictor 141 calculates a predicted value by inputting one or more state values (explanatory variables) among state values (variables 152) that can be referenced by a user program 154 executed by the PLC engine 150 to a prediction model 140. More specifically, the predictor 141 includes a prediction model 140 defined by model parameters, and a model management module 142 that updates the prediction model 140.
[0091] On the other hand, the support device 200 has a development program 222, a user interface program 224, and a model generation and update program 226 installed therein.
[0092] The development program 222 generates the user program 154 in accordance with user operations, and transfers it to the control device 100. The development program 222 also has a function of appropriately correcting the contents of the control code 158.
[0093] The user interface program 224 presents the user with information necessary for updating the prediction model 140, and updates the prediction model 140 in response to instructions from the user.
[0094] The model generation and update program 226 corresponds to an information processing program for generating and updating the prediction model 140. The model generation and update program 226 realizes a model generation unit that generates in advance the prediction model 140 to be implemented in the control device 100. More specifically, the model generation and update program 226 includes an explanatory variable and interval determination module 2262, a model generation module 2264, an outlier detection module 2266, an accuracy evaluation module 2268, and a data management module 2270.
[0095] The explanatory variable / interval determination module 2262 realizes functions necessary for the process of determining explanatory variables and explanatory variable intervals. The model generation module 2264 realizes functions necessary for the process of generating and updating the prediction model 140. The outlier detection module 2266 realizes functions necessary for the process of detecting outliers that appear in the explanatory variables. The accuracy evaluation module 2268 evaluates the performance of the generated prediction model 140.
[0096] Fig. 8 is a block diagram showing an outline of functional modules included in the model generation and update program 226 shown in Fig. 7. Referring to Fig. 8, the model generation and update program 226 of the support device 200 includes, as main functional components, a user interface 230, an input / output management module 236, a screen display module 238, a graph library 240, an analysis module 242, and an analysis library 244.
[0097] The user interface 230 receives settings from the user and executes overall processing for providing various information to the user. As a specific implementation form, the user interface 230 has a script engine 232, reads a setting file 234 including a script describing necessary processing, and executes the set processing.
[0098] The input / output management module 236 includes a file input function for reading data from a specified file or the like, a stream input function for receiving a data stream, and a file output function for outputting a file including generated data or the like.
[0099] The screen display module 238 includes a line graph generating function that generates a line graph based on input data, etc., and a parameter adjusting function that changes various parameters in response to a user operation. The line graph generating function may update the line in response to a change in a parameter. The line graph generating function and the parameter adjusting function refer to the graph library 240 to perform the necessary processing.
[0100] The analysis module 242 is a module that realizes the main processing of the model generation / updating program 226, and has a waveform sampling function, an explanatory variable / interval selection function, a parameter selection function, and a model generation function. Each function included in the analysis module 242 is realized by referring to the analysis library 244.
[0101] The analysis library 244 includes a library for each function included in the analysis module 242 to execute processing. More specifically, the analysis library 244 may have a statistic function, a decision tree function, a time series regression function, a grid search function, a clustering function, an inference speed evaluation function, an accuracy evaluation function, and an outlier detection function.
[0102] <E. Model Generation Processing> Next, the generation process of the prediction model 140 shown in FIG. 3 will be described in detail.
[0103] First, some terms will be explained.
[0104] In this specification, "sample" means a data series (time series data) of a predetermined time length used as teacher data for the predicted value to be output from the prediction model 140. Basically, as a sample, time series data (raw data) of the actual value of the prediction target (objective variable) is used, but when the prediction target is a feature amount extracted from time series data, the feature amount may be used. The term "sample" focuses on the processing unit when processing a plurality of data, and there is no particular limitation on the content of the data included therein.
[0105] In this specification, "learning data set" means a set of teacher data used for generating the prediction model 140. The "learning data set" includes a set consisting of time series data of the objective variable and time series data of one or more corresponding explanatory variables.
[0106] In this specification, the term "feature amount" is a term that includes information contained in any time-series data, and may include, for example, the maximum value, minimum value, median value, average value, standard deviation, variance, etc., of the time-series data of the target variable. Note that the "feature amount" may also include the time-series data of the target variable itself.
[0107] As used herein, “model parameters” is a term that encompasses parameters used to generate predictive model 140, including, for example, the predictive algorithm used in predictive model 140 and parameters related to the predictive algorithm.
[0108] (e1: Acquisition of time series data (step S1), and acceptance of settings for the prediction target and prediction interval (step S2)) In step S1 shown in FIG. 3, the support device 200 acquires time-series data stored in the TSDB 130 of the control device 100 in accordance with a user operation.
[0109] In step S2 shown in FIG. 3, the user sets a prediction target interval while viewing the time-series data of a variable (objective variable) to be predicted displayed on the support device 200.
[0110] (e2: Selection of samples to be used to generate a predictive model (step S3)) Any method can be used to select samples, which are time-series data used to generate the prediction model 140. For example, the following methods can be used to select samples.
[0111] Fig. 9 is a diagram for explaining an example of sample selection in the prediction system 1 according to the present embodiment. Fig. 9 shows an example of time-series data (samples) of a predetermined length of time corresponding to the prediction target interval.
[0112] In general, the more samples with different change patterns are used for learning, the higher the prediction accuracy of the prediction model 140 can be. Conversely, learning using samples showing similar change patterns does not contribute to improving the prediction accuracy of the prediction model 140. As an example of a method for selecting samples with different change patterns, clustering as described below may be used.
[0113] In the example shown in FIG. 9, four samples surrounded by thick frames are selected as samples having different change patterns.
[0114] As an example of a method for selecting samples with different change patterns, one or more feature amounts (e.g., average value, standard deviation, etc.) are calculated from each sample, and the samples are clustered based on the calculated feature amount or amounts. By such clustering, one or more classes contained in the target sample group are extracted. Then, one or more samples belonging to each of the extracted classes may be selected as samples.
[0115] 9 is generated by trimming the time series data acquired from the TSDB 130 to a predetermined length. The time series data is trimmed by extracting only a portion related to a preset prediction target interval.
[0116] The support device 200 calculates one or more feature amounts from each sample, performs clustering based on the calculated one or more feature amounts, and selects one or more samples from each of the one or more classes determined by the clustering.
[0117] In this way, the support device 200, as a function related to the generation of the prediction model 140, selects a sample to be used as a sample from among a plurality of samples by clustering using one or more feature amounts calculated from each sample.
[0118] Fig. 10 is a diagram for explaining clustering related to sample selection in the prediction system 1 according to the present embodiment. Fig. 10 shows an example in which two feature amounts (average value and standard deviation) are calculated from each sample, and each sample is plotted in a two-dimensional space with each feature amount as the coordinate.
[0119] It can be seen that the sample group shown in FIG. 10 contains three clusters (classes 1 to 3) in terms of the feature amounts of the mean and standard deviation. One or more samples belonging to each of the extracted classes are selected. That is, one or more samples belonging to class 1 are extracted, one or more samples belonging to class 2 are extracted, and one or more samples belonging to class 3 are extracted. In this way, multiple samples of different classes are determined as samples.
[0120] The selection of samples to be sampled may be performed automatically by the support device 200, or the user may assist in the process or confirm the selection result. For example, the user may confirm the sample selection result and manually reselect.
[0121] (e3: Determination of explanatory variables and explanatory variable intervals (step S4)) FIG. 11 is a diagram for explaining the determination of explanatory variables and explanatory variable intervals in the prediction system 1 according to the present embodiment.
[0122] 11, a plurality of variables 1, 2, . . . , n are applied to a decision tree algorithm to determine candidates for explanatory variables suitable for estimating a sample. Also, candidates for explanatory variable intervals are set according to a user program 154.
[0123] A prediction model 140 is generated for each candidate explanatory variable interval, and the performance of the generated prediction model 140 is evaluated.
[0124] Finally, explanatory variables and explanatory variable intervals corresponding to a high-performing prediction model 140 are determined.
[0125] In the process of determining the explanatory variables and explanatory variable intervals, the predictive algorithm adopted in the predictive model 140 is fixed to a default value or the like, and then the predictive model 140 is generated for combinations in which the explanatory variables and explanatory variable intervals are respectively changed, and the performance is evaluated to determine the explanatory variables and explanatory variable intervals to be used. That is, the support device 200 fixes the model parameters of the predictive model 140, and then searches for the explanatory variables and explanatory variable intervals to be used for prediction.
[0126] Candidates for the explanatory variable interval when determining the explanatory variables and the explanatory variable interval may be determined according to a control period set in the user program 154 executed by the control device 100.
[0127] Fig. 12 is a flowchart showing a more detailed process procedure for determining explanatory variables and explanatory variable intervals (step S4) in the prediction system 1 according to this embodiment. Referring to Fig. 12, the support device 200 acquires a control period by referring to the user program 154 executed in the target control device 100 (step S41). When the support device 200 is connected to the control device 100, it is sufficient to access the control device 100 and acquire necessary information, and when the support device 200 is not connected to the control device 100, it may acquire the control period by referring to a project held by the support device 200.
[0128] The support device 200 selects an integer multiple of the acquired control period as a candidate explanatory variable interval for searching for an explanatory variable interval (step S42).
[0129] The support device 200 selects one or more explanatory variables from a set of variables related to a preselected sample (step S43). More specifically, the support device 200 applies a decision tree algorithm to the sample and the set of variables related to the sample to calculate the importance of each variable included in the set of variables. Then, the support device 200 selects one or more variables with high importance as explanatory variables.
[0130] As the decision tree algorithm, any known algorithm can be used, for example, a random forest.
[0131] In this way, as a function related to the generation of the prediction model 140, the support device 200 executes a process of determining one or more variables (state values) as explanatory variables from among multiple variables (state values) associated with a sample used in the generation of the prediction model 140 based on the importance of the sample.
[0132] The support device 200 selects one of the candidates for the explanatory variable interval (step S44). The candidates for the explanatory variable interval include an interval that is set to an arbitrary length and intention in a predetermined search interval.
[0133] The support device 200 generates a prediction model 140 using the samples with the one or more explanatory variables selected in step S43 and the candidate explanatory variable interval selected in step S44 as model parameters (step S45). Then, the support device 200 evaluates the inference performance of the generated prediction model 140 (step S46). In step S46, a numerical value indicating the performance is stored in association with the corresponding candidate explanatory variable interval.
[0134] Then, the support device 200 judges whether or not the generation of the prediction model 140 for all the candidates of the explanatory variable interval and the performance evaluation of the generated prediction model 140 are completed (step S47). If the generation of the prediction model 140 for all the candidates of the explanatory variable interval and the performance evaluation of the generated prediction model 140 are not completed (NO in step S47), the support device 200 selects another candidate of the explanatory variable interval (step S48) and repeats the processing from step S45 onward.
[0135] On the other hand, if the generation of the prediction model 140 for all the candidate explanatory variable intervals and the performance evaluation of the generated prediction model 140 have been completed (YES in step S47), the support device 200 determines the candidate explanatory variable interval showing the highest performance evaluation as the explanatory variable interval of the prediction model 140 (step S49).
[0136] In this way, as a function related to the generation of the prediction model 140, the support device 200 executes a process of determining the explanatory variable interval to be used for prediction by sequentially varying the intervals included in the search interval and evaluating the prediction accuracy based on the determined explanatory variables.
[0137] In the processing procedure shown in FIG. 12 above, one or more explanatory variables are determined first in step S43, but it is also possible to set several candidates for the explanatory variables and execute the processing from step S44 onwards for each candidate (each candidate including one or more explanatory variables).
[0138] FIG. 13 is a diagram showing an example of a user interface screen related to the determination of explanatory variables and explanatory variable intervals in the prediction system 1 according to the present embodiment.
[0139] Referring to FIG. 13, a user interface screen 270 includes a waveform display area 276 that displays actual and predicted values.
[0140] The waveform display area 276 displays the waveforms (time series data) of the actual value and the predicted value. The actual value is the waveform (time series data) of any sample. The predicted value is the waveform (time series data) output by the generated prediction model 140.
[0141] The position and time width of explanatory variable interval 272 that determines the range of explanatory variables to be input to the prediction model 140 can be set arbitrarily with respect to a predetermined prediction point 271. The user can arbitrarily change interval width 273 of explanatory variable interval 272 and time difference 274 from the prediction point by moving the position of explanatory variable interval 272 using a mouse or the like.
[0142] A waveform (time series data) of a predicted value is calculated according to explanatory variable interval 272 arbitrarily set by the user, and the calculated waveform (time series data) of the predicted value is displayed in waveform display area 276 .
[0143] The user interface screen 270 includes an explanatory variable list 277, and one or more checked variables are used as explanatory variables. The user interface screen 270 includes a prediction error 275 that indicates the deviation between the actual value and the predicted value.
[0144] In response to the user operating the user interface screen 270, the support device 200 may calculate a predicted value by directly using the prediction model 140 generated by the process shown in Fig. 14. Alternatively, in response to the user operating the user interface screen 270 to appropriately change the explanatory variables and / or explanatory variable intervals, the support device 200 may re-execute the process from step S43 onwards or the process from step S44 onwards in Fig. 12. That is, the prediction model 140 may be re-generated.
[0145] By regenerating the prediction model 140 in accordance with the user interface screen 270 shown in FIG. 13, the user can determine while searching for explanatory variables and / or explanatory variable intervals to be set in the prediction model 140.
[0146] Through the above-described processing, the explanatory variables and explanatory variable intervals used to generate the prediction model are determined.
[0147] (e4: Determination of model parameters (step S5) and generation of prediction model (step S6)) In determining the model parameters, the model parameters of the prediction model 140 are determined based on the explanatory variables and explanatory variable intervals previously determined, while taking into consideration operational indicators such as prediction accuracy, model size, and processing speed.
[0148] In the following description, the prediction accuracy, model size, and processing speed are described as examples of the multiple indexes, but the multiple indexes are not necessarily limited to these elements. However, it is preferable that the multiple indexes include at least one of the prediction accuracy, model size, and processing speed.
[0149] Fig. 14 is a flowchart showing a more detailed process procedure related to the determination of model parameters (step S5) and the generation of a prediction model (step S6) in the prediction system 1 according to the present embodiment. With reference to Fig. 15, the support device 200 determines a search range of the model parameters (step S51). The search range of the model parameters determines the type of parameters to be searched as well as the search range (upper and lower limits) of each parameter.
[0150] Next, the support device 200 selects as a target a set of any model parameters included in the search range determined in step S51 (step S52).Then, the support device 200 generates a prediction model 140 based on the selected set of model parameters (step S53), and evaluates the performance (prediction accuracy, model size, processing speed, etc.) of the generated prediction model 140 (step S54).
[0151] The support device 200 judges whether or not there is another set of model parameters included in the search range determined in step S51 (step S55). If there is another set of model parameters included in the search range determined in step S51 (YES in step S55), the support device 200 selects another set of model parameters included in the search range determined in step S51 (step S56) and repeats the processes from step S53 onward.
[0152] On the other hand, if there is no other set of model parameters included in the search range determined in step S51 (NO in step S55), the support device 200 searches for the most appropriate set of model parameters based on the results of the performance evaluation for each set of model parameters (step S57), and displays the searched model parameters and the corresponding performance evaluation results (step S58).
[0153] Finally, the support device 200 determines model parameters for generating the prediction model 140 according to instructions from the user (step S59).
[0154] In this way, as a function related to generating the prediction model 140, the support device 200 executes a process of determining a set of model parameters for defining the prediction model 140 by sequentially varying the model parameters that define the prediction model 140 under the conditions of the determined explanatory variables and explanatory variable intervals, and evaluating multiple indicators for the prediction model 140 defined by each set of model parameters.
[0155] The search for optimal model parameters in step S57 in Fig. 14 may be realized by setting priorities for indexes such as prediction accuracy, model size, and processing speed. At this time, any priority may be set for each index, and the same priority may be set for multiple indexes. Furthermore, without setting priorities, the results of evaluation of each index may be combined to determine an optimal set of model parameters.
[0156] In this way, in determining the model parameters (step S5), a set of model parameters with good overall indices (typically high accuracy, small model size, and high processing speed) can be determined by grid search (brute force search).
[0157] Furthermore, the user can check the performance of the predictive model based on the determined set of model parameters, while fine-tuning the model parameters, explanatory variables, explanatory variable intervals, etc., as necessary.
[0158] (e5: Generation of outlier detection model (step S7)) An outlier detection model 144 is generated based on the training data set used to generate the predictive model 140.
[0159] 15 is a diagram for explaining the process of generating the outlier detection model 144 (step S7) in the prediction system 1 according to the present embodiment. With reference to FIG. 15, the normal distribution range can be determined from the variance of the time-series data for each explanatory variable included in the learning dataset used to generate the prediction model 140.
[0160] In other words, since the prediction model 140 generated using an arbitrary training dataset depends on the time series data of one or more explanatory variables included in the training dataset, if an outlier (abnormal value) that exceeds the variation range of one or more explanatory variables included in the training dataset is input, there is a high possibility that the prediction model 140 will not be able to correctly calculate a predicted value.
[0161] Therefore, the support device 200 generates an outlier detection model 144 for detecting outliers based on time-series data of one or more explanatory variables included in the learning data set used to generate the prediction model 140.
[0162] 15 shows a normal distribution range for each explanatory variable for convenience of explanation, but in reality, a multidimensional normal distribution range may be defined in a hyperspace having one or more explanatory variables input to the prediction model 140 as dimensions. That is, the outlier detection model 144 may be, for example, a collection of one-dimensional normal distribution ranges defined for each explanatory variable, or may be normal distribution ranges set in a hyperspace having one or more explanatory variables as dimensions.
[0163] The outlier detection model 144 may be configured to output whether (i.e., "0" or "1") the time-series data of one or more input explanatory variables exists within the normal distribution range, or may be configured to output the probability that the time-series data of one or more input explanatory variables exists within the normal distribution range (i.e., a value between 0 and 1).
[0164] In this way, the outlier detection model 144 reflects the distribution range of the time-series data of one or more state values (explanatory variables) included in the learning dataset.
[0165] Note that the outlier detection model 144 may employ any algorithm as long as it can detect outliers appearing in one or more explanatory variables.
[0166] As described above, based on the learning dataset, the support device 200 generates, in addition to the prediction model 140, an outlier detection model 144 for detecting outliers.
[0167] (e6: small parenthesis) Through the above-described processing procedure, the support device 200 generates a prediction model 140 based on a learning dataset including time-series data of a prediction target (objective variable) and time-series data of corresponding one or more state values (explanatory variables). The generated prediction model 140 is transferred from the support device 200 to the control device 100. The control device 100 sequentially calculates prediction values by inputting the actual values of one or more explanatory variables obtained sequentially into the prediction model 140, and executes control calculations based on the calculated prediction values.
[0168] <F. Model Update Process> Next, the update process of the prediction model 140 shown in FIG. 4 will be described in detail.
[0169] FIG. 16 is a diagram for explaining the update process of the prediction model 140 using the prediction system 1 according to the present embodiment. While referring to FIG. 16, the update process of the prediction model 140 will be described in detail.
[0170] (f1: Acquire time series data of explanatory variables (step S8), and detect outliers that appear in the explanatory variables (step S9)) In step S8 shown in FIG. 4, the support device 200 acquires performance values of one or more explanatory variables input to the prediction model 140 from the control device 100 in accordance with a preset procedure or a user operation.
[0171] The support device 200 may adopt a form of data transfer in a stream when acquiring the performance values of one or more explanatory variables from the control device 100. Alternatively, when acquiring the performance values (time-series data) of one or more explanatory variables stored in the TSDB 130 of the control device 100, the support device 200 may adopt a form of data transfer in a file.
[0172] Data transfer between the control device 100 and the support device 200 is performed via a USB controller 212 (see FIG. 6, etc.).
[0173] In the following description, the support device 200 acquires, in units of time-series data having a length corresponding to an explanatory variable interval, actual values of one or more explanatory variables input to the prediction model 140. The unit of actual values of one or more explanatory variables acquired by the support device 200 is also referred to as an "explanatory variable frame 138" below.
[0174] That is, the explanatory variable frame 138 includes actual values (time series data) of one or more objective variables across explanatory variable intervals.
[0175] The support device 200 judges whether or not the actual values of one or more state values (explanatory variables) satisfy a predetermined condition. The predetermined condition includes an event that reduces the reliability of the prediction accuracy (performance) of the previously generated prediction model 140.
[0176] An example of the predetermined condition includes being an outlier in the time-series data of one or more state values (explanatory variables) included in the learning data set used to generate the prediction model 140.
[0177] More specifically, the support device 200 inputs the explanatory variable frame 138 acquired from the control device 100 to the outlier detection model 144 and determines whether the input explanatory variable frame 138 is an outlier.
[0178] When the outlier detection model 144 outputs a value ("0" or "1") indicating whether or not an outlier exists, the output result can be used as is. When the outlier detection model 144 outputs the probability (a value between 0 and 1) of being in the normal distribution range, whether or not an outlier exists may be determined based on the magnitude relationship with a predetermined threshold value.
[0179] If the input explanatory variable frame 138 is determined to be an outlier, a process for updating the prediction model 140 is executed as described below.
[0180] (f2: Addition to the learning dataset (step S10), and generation of a new prediction model and outlier detection model (step S11)) The support device 200 adds the explanatory variable frame 138 determined to be an outlier to the training data set 148A used to generate the prediction model 140. Then, the support device 200 regenerates the prediction model 140 using the training data set 148B to which the explanatory variable frame 138 has been added.
[0181] In order to maintain the number of dimensions of the regenerated prediction model 140 (updated prediction model 140), the training data set 148A to which the explanatory variable frame 138 has been added may be resampled to maintain the data size of the training data set 148B. That is, the support device 200 generates a new training data set 148B by adding actual values of one or more state values (explanatory variables) to the training data set 148A and then resampling.
[0182] Any method may be used for resampling the training data set 148A. Instead of resampling, explanatory variable frames that are similar to each other and are included in the training data set 148A may be removed.
[0183] As shown in FIG. 16, the support device 200 has an original prediction model 140A (prediction model (old)) and a newly generated prediction model 140B (prediction model (new)).
[0184] When newly generating the prediction model 140B, the support device 200 also generates the outlier detection model 144 based on the learning dataset 148B to which the explanatory variable frame 138 has been added. The newly generated outlier detection model 144 is managed in association with the newly generated prediction model 140B.
[0185] The generation process (update process) of the prediction model 140 and the outlier detection model 144 is similar to the generation process described above.
[0186] The training dataset 148 (before and after the addition), the prediction model 140 (before and after the update), and the outlier detection model 144 (before and after the update) are managed by the data management module 2270 of the support device 200.
[0187] Through the above-described processing procedure, when the actual values of one or more state values (explanatory variables) satisfy a predetermined condition (in the above example, they are determined to be outliers), the support device 200 generates a new prediction model 140B based on the updated learning dataset 148B generated by adding the actual values of the one or more state values to the learning dataset 148A.
[0188] (f3: Presentation of prediction accuracy of the original prediction model and the new prediction model (step S12)) The support device 200 compares the performance between the original prediction model 140A and the newly generated prediction model 140B (accuracy evaluation module 2268). Then, the support device 200 presents the original prediction model 140A and the newly generated prediction model 140B together with the performance comparison result to the user. In this way, the support device 200 presents the performance of the prediction model 140A and the performance of the prediction model 140B.
[0189] The user refers to the presented information and determines whether or not to adopt the newly generated prediction model 140B.
[0190] FIG. 17 is a diagram showing an example of a user interface screen related to updating of a prediction model using the prediction system 1 according to the present embodiment.
[0191] Referring to FIG. 17, user interface screen 280 includes a waveform display area 281 that displays actual values and predicted values for the original predictive model 140A, and a waveform display area 282 that displays actual values and predicted values for the newly generated predictive model 140B.
[0192] The waveform display area 281 displays the waveforms (time series data) of the actual values (samples) used to generate the prediction model 140A and the waveforms (time series data) of the predicted values calculated by the prediction model 140A.
[0193] An interval width 283 of the explanatory variable interval and a time difference 284 from the prediction point for the prediction model 140A are displayed in association with the waveform display area 281. Furthermore, a prediction error 285 indicating the deviation between the actual value and the predicted value for the prediction model 140A is displayed in association with the waveform display area 281.
[0194] Similarly, the waveform display area 282 displays the waveform (time series data) of the actual values (samples) used to generate the prediction model 140B and the waveform (time series data) of the predicted values calculated by the prediction model 140B.
[0195] An interval width 286 of the explanatory variable interval and a time difference 287 from the prediction point for the prediction model 140B are displayed in association with the waveform display area 282. Furthermore, a prediction error 288 indicating the deviation between the actual value and the predicted value for the prediction model 140B is displayed in association with the waveform display area 282.
[0196] In this way, the support device 200 presents time series data of predicted values output from the prediction model 140A in association with time series data of corresponding actual values (waveform display area 281), and also presents time series data of predicted values output from the prediction model 140B in association with time series data of corresponding actual values (waveform display area 282).
[0197] The user can confirm the improvement in performance of the newly generated prediction model 140B by comparing the prediction error 285 of the prediction model 140A with the prediction error 288 of the prediction model 140B on the user interface screen 280. When the user confirms the improvement in performance, he or she presses the update button 289. Then, a process of validating the newly generated prediction model 140B is executed.
[0198] (f4: Activation of new prediction model (step S13)) When the update button 289 of the user interface screen 280 shown in FIG. 17 is pressed, the support device 200 transfers the newly generated prediction model 140B to the control device 100. When transferring the prediction model 140B (model parameters 146) to the control device 100, the support device 200 may adopt data transfer in the form of a file.
[0199] The prediction model 140B (model parameters 146) transferred from the support device 200 is temporarily stored in the model management module 142 of the control device 100. The model management module 142 of the control device 100 updates the prediction model 140 of the control device 100 with the prediction model 140B (model parameters 146) from the support device 200 at a predetermined timing or under certain conditions.
[0200] Also, the data management module 2270 of the support device 200 stores the newly generated prediction model 140B and the prediction model 140, and stores the learning data set 148B used for the generation of the prediction model 140B and the prediction model 140.
[0201] In this way, the support device 200 includes a data management module 2270 (data reflection unit) that activates the newly generated prediction model 140B in the predictor 141 of the control device 100 according to a user operation. The data management module 2270 (data reflection unit) of the support device 200 updates the original outlier detection model 144 with the outlier detection model 144 generated together with the prediction model 140B.
[0202] Through the above processing, the update and activation of the prediction model 140 are completed.
[0203] <G. Modification Example> (g1: Notification of Outlier Generation) In the above-described embodiment, as a typical example, a process of updating the prediction model 140 when an outlier is detected in an explanatory variable has been described. However, a function of notifying a user or the like of an outlier being detected in an explanatory variable may also be implemented.
[0204] For example, the support device 200 acquires time-series data of explanatory variables stored in the TSDB 130 of the control device 100 and judges whether an outlier appears in the explanatory variables. Then, when it is judged that an outlier appears in the explanatory variables, the support device 200 may display that fact on a user interface screen, or may send an email to a predetermined email address.
[0205] Furthermore, by implementing the outlier detection model 144 in the control device 100, the control device 100 can detect the appearance of an outlier in the explanatory variable. For example, when the control device 100 detects the appearance of an outlier in the explanatory variable, the control may be changed in a user program executed by the control device 100 so as not to use the predicted value output from the prediction model 140. Alternatively, when the control device 100 detects the appearance of an outlier in the explanatory variable, it may output an alarm or transmit an abnormality message.
[0206] By implementing the outlier detection model 144 in the control device 100, it is possible to determine in almost real time whether an outlier has appeared in the explanatory variables.
[0207] (g2: Update start condition) In the above-described embodiment, an example was described in which a process for updating the prediction model 140 is started when an outlier is detected in an explanatory variable, but the conditions for starting the update of the prediction model 140 can be set arbitrarily.
[0208] For example, an update of the prediction model 140 may be started when the frequency (number of times / time) at which an outlier appears in an explanatory variable exceeds a predetermined threshold value, or when outliers are detected repeatedly in an explanatory variable.
[0209] Furthermore, in addition to the appearance of outliers in the explanatory variables, an update start condition may be adopted that adds conditions such as the elapsed time since the prediction model 140 was updated immediately before.
[0210] Thus, as the start condition for the process of updating the prediction model 140, any condition can be adopted.
[0211] (g3: Implementation example) In the above-described embodiment, typically, an implementation example has been described in which the support device 200 determines whether or not outliers have appeared in the explanatory variables and, if necessary, executes a process of updating the prediction model 140. However, a part of the functions of the support device 200 may be implemented in the control device 100. Also, a part of the functions of the support device 200 may be implemented in a cloud environment or the like.
[0212] Thus, the prediction system 1 according to the present embodiment can be implemented in any form according to required performance, available resources, and the like.
[0213] <H. Supplementary Note> The present embodiment as described above includes the following technical ideas.
[0214] [Configuration 1] A control operation unit (100; 158) that executes a control operation for controlling a control target, A prediction unit (141) that calculates a predicted value by inputting one or more state values among the state values (152) that can be referred to by the control operation unit into a prediction model (140, 140A, 140B), A prediction model generation unit (200; 226) that generates the prediction model in advance, The prediction model generation unit Means for generating a first prediction model (140A) based on a first learning data set (148A) including time series data of a prediction target and time series data of the corresponding one or more state values, a means for generating a second prediction model (140B) based on a second learning dataset (148B) generated by adding the actual value of the one or more state values to the first learning dataset when the actual value of the one or more state values satisfies a predetermined condition; and means (200; 280) for presenting the performance of the first predictive model and the performance of the second predictive model.
[0215] [Configuration 2] The prediction system according to configuration 1, further comprising a data reflection unit (200; 2270) that enables the second prediction model in the prediction unit according to a user operation.
[0216] [Configuration 3] 3. The prediction system according to claim 2, wherein the predetermined condition includes that the one or more state values included in the first learning dataset are outliers in time series data.
[0217] [Configuration 4] The prediction system of configuration 2 or 3, wherein the prediction model generation unit further includes means for generating, in addition to the first prediction model, an outlier detection model (144) for detecting outliers based on the first training dataset.
[0218] [Configuration 5] 5. The prediction system of claim 4, wherein the outlier detection model reflects a distribution range of time series data of the one or more state values included in the first learning dataset.
[0219] [Configuration 6] The prediction system according to configuration 4 or 5, wherein the data reflection unit updates the original outlier detection model with an outlier detection model generated together with the second prediction model.
[0220] [Configuration 7] The prediction system according to any one of configurations 1 to 6, wherein the prediction model generation unit further includes means (281, 282) for presenting time series data of predicted values output from the first prediction model in association with time series data of corresponding actual values, and for presenting time series data of predicted values output from the second prediction model in association with time series data of corresponding actual values.
[0221] [Configuration 8] The prediction system according to any one of configurations 1 to 7, wherein the prediction model generation unit further includes means for generating the second training data set by adding actual values of the one or more state values to the first training data set and then resampling.
[0222] [Configuration 9] An information processing device (200) connected to a control device (100), the control device including a control calculation unit (100; 158) that executes control calculations for controlling a control target, and a prediction unit (141) that calculates a predicted value by inputting one or more state values (152) among state values that the control calculation unit can refer to into a prediction model (140, 140A, 140B); The information processing device includes a prediction model generation unit (200; 226) that generates the prediction model in advance, The prediction model generation unit, A means for generating a first prediction model (140A) based on a first learning data set (148A) including time series data of a prediction target and corresponding time series data of the one or more state values; a means for generating a second prediction model (140B) based on a second learning dataset (148B) generated by adding the actual value of the one or more state values to the first learning dataset when the actual value of the one or more state values satisfies a predetermined condition; and means (200; 280) for presenting the performance of the first prediction model and the performance of the second prediction model.
[0223] [Configuration 10] An information processing program (226) executed by a computer (200) connected to a control device (100), wherein the control device includes a control calculation unit (100; 158) that executes a control calculation for controlling a control target, and a prediction unit (141) that calculates a predicted value by inputting one or more state values among the state values (152) that can be referred to by the control calculation unit into a prediction model (140, 140A, 140B). As a process for generating the prediction model in advance, the information processing program causes the computer to generate a first prediction model (140A) based on a first learning dataset (148A) including time series data of a prediction target and time series data of the corresponding one or more state values (step S1 to S6); generate a second prediction model (140B) based on a second learning dataset (148B) generated by adding the actual values of the one or more state values to the first learning dataset when the actual values of the one or more state values satisfy a predetermined condition (step S8 to S11); and execute a step (200; 280; S12) of presenting the performance of the first prediction model and the performance of the second prediction model. An information processing program
[0224] <I. Advantages> In the prediction system according to the present embodiment, it is possible to easily know the case where the previously generated prediction model may not sufficiently exhibit its performance based on the actual values of the observed explanatory variables. And when there is a possibility that the prediction system according to the present embodiment may not sufficiently exhibit its performance, a new prediction model is generated using a learning dataset including the actual values of the observed explanatory variables.
[0225] In addition, since the prediction system according to the present embodiment presents the performance of the previously generated prediction model and the newly generated prediction model, the user can easily determine whether to validate the newly generated prediction model.
[0226] This allows for more accurate predictive models to be generated and deployed more efficiently.
[0227] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the scope and meaning equivalent to the claims. [Explanation of symbols]
[0228] 1 Prediction system, 2, 4 Field bus, 6 Upper network, 10 Field devices, 12 Remote I / O devices, 14 Relays, 16, 124 I / O unit, 18 Image sensor, 20 Camera, 22 Servo driver, 24 Servo motor, 100 Control device, 102, 202 Processor, 104 Chip set, 106, 206 Main memory, 108, 208 Secondary memory, 110 Upper network controller, 112, 212 USB controller, 114 Memory card interface, 116 Memory card, 118, 120 Field bus controller, 122 Internal bus controller, 132 Storage area, 134 Export module, 138 Explanatory variable frame, 140, 140A, 140B Prediction model, 141 Predictor, 142 Model management module, 144 Outlier detection model, 146 Model parameters, 148, 148A, 148B Learning data set, 150 PLC engine, 152 Variables, 154 User program, 156 Prediction value acquisition code, 158 Control code, 160 TSDB writing code, 200 Support device, 204 Optical drive, 205 Recording medium, 214 Local network controller, 216 Input section, 218 Display section, 220 Bus, 222 Development program, 224 User interface program, 226 Update program, 230 User interface, 232 Script engine, 234 Configuration file, 236 Input / output management module, 238 Screen display module, 240 Graph library, 242 Analysis module, 244 Analysis library, 270, 280 User interface screen, 271 Prediction point, 272 Explanatory variable interval, 273, 283, 286 Interval width, 274, 284, 287 time difference, 275,285,288 prediction error, 276,281,282 waveform display area, 277 explanatory variable list, 289 update button, 300 upper server, 400 display device, 2262 interval determination module, 2264 model generation module, 2266 value detection module, 2268 accuracy evaluation module, 2270 data management module.
Claims
1. 1. A prediction system, comprising: a control calculation unit that executes a control calculation for controlling a control target; a prediction unit that calculates a prediction value by inputting one or more state values among state values that the control calculation unit can refer to into a prediction model; a prediction model generation unit that generates the prediction model in advance, The prediction model generation unit, A means for generating a first prediction model based on a first learning dataset including time series data of a prediction target and corresponding time series data of the one or more state values; a means for generating a second prediction model based on a second learning data set generated by adding the actual value of the one or more state values to the first learning data set when the actual value of the one or more state values satisfies a predetermined condition; means for presenting the performance of the first predictive model and the performance of the second predictive model; a means for presenting time series data of predicted values output from the first prediction model in association with time series data of corresponding actual values, and for presenting time series data of predicted values output from the second prediction model in association with time series data of corresponding actual values, The prediction system further includes a data reflection unit that enables the second prediction model in the prediction unit in accordance with a user operation.
2. The prediction system according to claim 1 , wherein the predetermined condition includes being an outlier in time series data of the one or more state values included in the first learning dataset.
3. 3. The prediction system according to claim 1, wherein the prediction model generation unit further includes means for generating, in addition to the first prediction model, an outlier detection model for detecting outliers, based on the first learning dataset.
4. The prediction system according to claim 3 , wherein the outlier detection model reflects a distribution range of time series data of the one or more state values included in the first learning dataset.
5. The prediction system according to claim 3 , wherein the data reflection unit updates an original outlier detection model with an outlier detection model generated together with the second prediction model.
6. The prediction system according to any one of claims 1 to 5, wherein the prediction model generation unit further includes means for generating the second training data set by adding actual values of the one or more state values to the first training data set and then resampling the data.
7. An information processing device connected to a control device, the control device comprising: a control calculation unit that executes a control calculation for controlling a control target; and a prediction unit that calculates a prediction value by inputting one or more state values that the control calculation unit can refer to into a prediction model; The information processing device includes a prediction model generation unit that generates the prediction model in advance, The prediction model generation unit, A means for generating a first prediction model based on a first learning dataset including time series data of a prediction target and corresponding time series data of the one or more state values; a means for generating a second prediction model based on a second learning data set generated by adding the actual value of the one or more state values to the first learning data set when the actual value of the one or more state values satisfies a predetermined condition; means for presenting the performance of the first predictive model and the performance of the second predictive model; a means for presenting time series data of predicted values output from the first prediction model in association with time series data of corresponding actual values, and for presenting time series data of predicted values output from the second prediction model in association with time series data of corresponding actual values, The information processing device further includes a data reflection unit that transfers the second prediction model to the control device in order to enable the second prediction model in the prediction unit in accordance with a user operation.
8. An information processing program executed by a computer connected to a control device, the control device including: a control calculation unit that executes a control calculation for controlling a control target; and a prediction unit that calculates a prediction value by inputting one or more state values that the control calculation unit can refer to into a prediction model; The information processing program causes the computer to perform a process for generating the prediction model in advance. generating a first prediction model based on a first learning dataset including time series data of a prediction target and corresponding time series data of the one or more state values; generating a second prediction model based on a second learning data set generated by adding the actual value of the one or more state values to the first learning data set when the actual value of the one or more state values satisfies a predetermined condition; presenting a performance of the first predictive model and a performance of the second predictive model; presenting time series data of predicted values output from the first prediction model in association with time series data of corresponding actual values, and presenting time series data of predicted values output from the second prediction model in association with time series data of corresponding actual values; and a step of transferring the second prediction model to the control device in order to enable the second prediction model in the prediction unit in accordance with a user operation.
Citation Information
Patent Citations
Estimating method and device for time series data
JP1999212947A
Plant simulation method using enhanced learning method
JP2004178492A
Variable prediction model construction method and variable prediction model construction system
JP2009237832A
Data processing apparatus, data processing method, and computer program
JP2009288934A
Difference learning management program, difference learning management device, and difference learning management method
JP2016126596A
