WO2021111936A1 - 予測システム、情報処理装置および情報処理プログラム - Google Patents

予測システム、情報処理装置および情報処理プログラム Download PDF

Info

Publication number
WO2021111936A1
WO2021111936A1 PCT/JP2020/043755 JP2020043755W WO2021111936A1 WO 2021111936 A1 WO2021111936 A1 WO 2021111936A1 JP 2020043755 W JP2020043755 W JP 2020043755W WO 2021111936 A1 WO2021111936 A1 WO 2021111936A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
prediction model
model
explanatory variables
determining
Prior art date
Application number
PCT/JP2020/043755
Other languages
English (en)
French (fr)
Inventor
幸太 宮本
真輔 川ノ上
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to US17/780,732 priority Critical patent/US20220414555A1/en
Priority to CN202080082409.6A priority patent/CN114787735A/zh
Priority to EP20895579.9A priority patent/EP4071570A4/en
Priority to KR1020227017702A priority patent/KR20220085827A/ko
Publication of WO2021111936A1 publication Critical patent/WO2021111936A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32191Real time statistical process monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32194Quality prediction

Definitions

  • the present invention relates to a prediction system that predicts changes that occur in a controlled object, an information processing device that constitutes the prediction system, and an information processing program for realizing the information processing device.
  • Patent Document 1 discloses a variable forecasting model construction method capable of improving demand forecasting accuracy in any period and season.
  • an appropriate prediction model is constructed for each of a plurality of learning periods of 7 to 70 days by using the training data obtained by adding corrections to the accumulated time series data.
  • the process of selecting the optimum learning period and prediction model with the highest prediction accuracy is adopted.
  • the present invention is to provide a method capable of generating a prediction model more efficiently.
  • a prediction system predicts a performance value consisting of a control calculation unit that executes a control calculation for controlling a controlled object and one or more state values among the state values that the control calculation unit can refer to. It includes a predicted value acquisition unit that acquires a predicted value by inputting to, and a predicted model generation unit that determines a predicted model in advance.
  • the prediction model generation unit is a means for determining one or more state values as explanatory variables based on the importance to the training sample among the plurality of state values associated with the training sample used to generate the prediction model.
  • the means for determining the section to be used for prediction and the conditions of the determined explanatory variables and the determined sections By sequentially differentiating the sections included in the search section and evaluating the prediction accuracy by the determined explanatory variables, the means for determining the section to be used for prediction and the conditions of the determined explanatory variables and the determined sections. Including means for determining model parameters for defining a predictive model by sequentially differentiating the model parameters that define the predictive model and evaluating multiple indicators for the predictive model defined by each model parameter. ..
  • the prediction model generation unit may further include a means for selecting a sample to be used as a learning sample from a plurality of samples by clustering using one or a plurality of features calculated from each sample. According to this configuration, it is possible to prevent samples similar to each other from being selected as a large number of learning samples.
  • the prediction model generation unit may calculate the importance of each state value by applying a decision tree algorithm to the training sample and a plurality of related state values. According to this configuration, by applying the decision tree algorithm, it is possible to easily determine which state value is suitable for the prediction model.
  • the prediction model generation unit may evaluate the performance of the prediction model generated in each pattern in which at least one of the length and the position of the section included in the search section is different. According to this configuration, a suitable section included in the search section can be easily found.
  • the prediction model generation unit may search for the section used for prediction after fixing the model parameters of the prediction model. According to this configuration, once the model parameters of the prediction model are fixed, the amount of processing related to the search can be reduced.
  • the prediction model generation unit may further include a means for providing a first user interface for accepting user operations for changing the section used for prediction. According to this configuration, the user can make fine adjustments of the determined section while checking.
  • the plurality of indicators may include at least one of prediction accuracy, model size, and processing speed.
  • the index includes the elements that are important during operation, so that the optimum prediction model can be generated in consideration of operation.
  • the predictive model generator may further include means of providing a second user interface for displaying a plurality of indicators. According to this configuration, the user can grasp a plurality of determined indicators at a glance.
  • an information processing device connected to a control device inputs into the prediction model a control calculation unit that executes a control calculation for controlling the control target and an actual value consisting of one or more state values among the state values that the control calculation unit can refer to. Includes a predicted value acquisition unit that acquires predicted values.
  • the information processing device as a predictive model generator that predetermines the predictive model, has one or more of the plurality of state values associated with the training sample used to generate the predictive model, based on the importance to the training sample.
  • the means for determining the state value of is used as an explanatory variable and the means for determining the interval used for prediction by sequentially differentiating the sections included in the search section and evaluating the prediction accuracy by the determined explanatory variable.
  • the prediction model is defined by sequentially differentiating the model parameters that define the prediction model under the conditions of the explanatory variables and the determined interval, and evaluating multiple indicators for the prediction model defined by each model parameter. Includes means for determining model parameters for.
  • an information processing program executed by a computer connected to a control device inputs into the prediction model a control calculation unit that executes a control calculation for controlling the control target and an actual value consisting of one or more state values among the state values that the control calculation unit can refer to. Includes a predicted value acquisition unit that acquires predicted values.
  • the information processing program as a process for predetermining the prediction model, tells the computer based on the importance of the training sample among the plurality of state values associated with the training sample used to generate the prediction model.
  • a step of determining a plurality of state values as explanatory variables and a step of determining a section to be used for prediction by sequentially differentiating the sections included in the search section and evaluating the prediction accuracy by the determined explanatory variables.
  • the model parameters that define the prediction model are sequentially different, and the prediction model is evaluated by evaluating multiple indicators for the prediction model defined by each model parameter. Perform steps to determine model parameters to specify.
  • a prediction model can be generated more efficiently.
  • FIG. 5 is a flowchart showing a more detailed processing procedure relating to determination of explanatory variables and intervals (step S4) in the processing procedure of the generation processing shown in FIG. It is a schematic diagram for schematicizing the processing contents of determination of explanatory variables and intervals (step S4) in the processing procedure of the generation processing shown in FIG. It is a figure which shows an example of the user interface provided in the process of determining explanatory variables and intervals in the prediction system which concerns on embodiment. It is a figure which shows an example of the user interface provided in the process of determining explanatory variables and intervals in the prediction system which concerns on embodiment.
  • control system having the prediction function according to the present embodiment will be described.
  • prediction system since the prediction function of the control system will be mainly focused on, the entire control system will also be referred to as a “prediction system”.
  • FIG. 1 is a schematic diagram showing an overall configuration example of the prediction system 1 according to the present embodiment.
  • the prediction system 1 according to the present embodiment includes a control device 100 for controlling a control target and a support device 200 connected to the control device 100 as main components.
  • 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 the field device group 10 via the fieldbus 2 and may be connected to one or more display devices 400 via the fieldbus 4. Further, the control device 100 may be connected to the upper server 300 via the upper network 6.
  • the upper server 300 and the display device 400 are optional configurations, and are not essential configurations of the prediction system 1.
  • the control device 100 has a control logic (hereinafter, also referred to as a "PLC engine”) that executes various operations for controlling equipment and machines.
  • PLC engine a control logic
  • 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.
  • a time-series database (hereinafter, also referred to as "TSDB (Time Series Data Base)" 130 mounted on the control device 100 provides a collection function, and a prediction model 140 mounted on the control device 100 Provides a monitoring function. Details of the TSDB 130 and the prediction model 140 will be described later.
  • TSDB Time Series Data Base
  • the fieldbus 2 and the fieldbus 4 adopt an industrial communication protocol.
  • a communication protocol EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark) and the like are known.
  • the field device group 10 includes a device that collects input data from a controlled object or a manufacturing device or a production line related to control (hereinafter, also collectively referred to as a “field”). As a device for collecting such input data, an input relay, various sensors, and the like are assumed. The field device group 10 further includes a device that gives some action to the field based on a command (hereinafter, also referred to as “output data”) generated by the control device 100. As a device that exerts some action on such a field, an output relay, a contactor, a servo driver and a servo motor, and any other actuator are assumed. These field device groups 10 exchange data including input data and output data with and from the control device 100 via the field bus 2.
  • the field device group 10 includes a remote I / O (Input / Output) device 12, a relay group 14, an image sensor 18, a camera 20, a servo driver 22, and a servo motor 24. Including.
  • the remote I / O device 12 includes a communication unit that communicates via the fieldbus 2 and an input / output unit that collects input data and outputs output data (hereinafter, also referred to as “I / O unit”). And include. 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 the relay group 14.
  • the I / O unit may be directly connected to the fieldbus.
  • FIG. 1 shows an example in which the I / O unit 16 is directly connected to the fieldbus 2.
  • 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 result to the control device 100.
  • the servo driver 22 drives the servo motor 24 according to output data (for example, a position command) from the control device 100.
  • the display device 400 connected to the control device 100 via the fieldbus 4 receives an operation from the user, transmits a command or the like according to the user operation to the control device 100, and the control device 100. Graphically display the calculation results of.
  • 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.
  • the support device 200 is an information processing device (an example of a computer) that supports the preparation necessary for the control device 100 to control the controlled object.
  • the support device 200 is a development environment for a user program executed by the control device 100 (program creation / editing tool, parser, compiler, etc.), parameters of the control device 100 and various devices connected to the control device 100 (program creation / editing tool, parser, compiler, etc.). It provides a setting environment for setting (configuration), a function of transmitting the generated user program to the control device 100, a function of modifying / changing the user program executed on the control device 100 online, and the like.
  • the support device 200 has a function for supporting the generation and optimization of the prediction model 140 mounted on the control device 100. That is, the support device 200 has a prediction model generation unit that determines the prediction model 140 in advance. Details of these functions will be described later.
  • FIG. 2 is a schematic diagram showing an application example of the prediction system 1 according to the present embodiment.
  • FIG. 2 shows an example of a production facility including a press machine 30.
  • the press machine 30 receives the work 31 and arranges the received work 31 on the support base 34 provided on the base 33. Then, the work 31 is compressed by the push plate 35 provided at the tip of the drive shaft 36 driven by the motor 37 to generate the intermediate product 32.
  • the press machine 30 it is assumed that a defect may occur in the intermediate product 32 due to an unexpected factor change. Therefore, it is determined whether or not a defect has occurred in the intermediate product 32 by an inspection by an inspection machine arranged on the downstream side of the press machine 30, a visual inspection by an inspector, or an inspection by sampling. If it is determined that a defect has occurred, the target value and the like will be adjusted each time.
  • the control device 100 determines the state before the defect actually occurs. Control can be corrected. By making use of such a prediction of unnecessary occurrence in advance, it is possible to reduce the man-hours related to the adjustment of the target value and the like each time, and to prevent the intermediate product 32 from being defective.
  • FIG. 3 is a schematic diagram showing an example of control based on the prediction result by the prediction system 1 according to the present embodiment.
  • FIG. 3A shows a planned value (command) of the pushing position of the press machine at a certain point in time and an actual pushing position (actual value) of the press machine 30.
  • the target value indicates the desired thickness of the intermediate product 32 after processing.
  • the pushing position (predicted value) of the press machine 30 in the future is calculated based on the information up to that point (which may include the actual value), and the calculated prediction is performed.
  • the control amount for the press machine 30 may be corrected based on the value.
  • the pushing position of the press machine 30 is predicted, and the control amount is corrected based on the prediction result. , It is not necessary for the worker to adjust the target value each time. As a result, the occurrence of defective products due to unexpected factor fluctuations can be suppressed, and the quality can be stabilized even if there is some variation in the work 31.
  • the data used for prediction (actual value or observed value) and the predicted data may be partly or wholly the same, or may be completely different.
  • the prediction system 1 provides a function for appropriately generating the prediction model 140.
  • the function for properly generating the prediction model 140 may typically be implemented in the support device 200.
  • FIG. 4 is a flowchart showing a processing procedure of the generation processing 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 a program (analysis program 226, OS 228, etc.).
  • the support device 200 acquires the time-series data of the actual values stored in the TSDB 130 (step S1). Subsequently, the support device 200 receives the setting of the prediction target section from the acquired time-series data of the actual value (step S2).
  • the support device 200 selects a learning sample used to generate a prediction model for predicting changes in the prediction target section set in step S2 (step S3).
  • step S3 which of the plurality of types of data is used for learning is selected. More specifically, the support device 200 determines a class by clustering for a statistic (feature amount) of each time series data (waveform sample), and extracts target data from the determined class. The process of step S3 will be described in detail.
  • the support device 200 determines the explanatory variables and the interval (step S4). Then, the support device 200 determines the model parameters to be used (step S5). In step S5, the support device 200 searches for an appropriate prediction algorithm by generating the prediction model 140 according to the explanatory variables and intervals selected in step S4 and evaluating the performance of the generated prediction model 140. To do. The support device 200 determines as a model parameter that uses a prediction algorithm with high performance in prediction accuracy and speed.
  • the support device 200 generates the prediction model 140 based on the determined model parameters and the like (step S6).
  • FIG. 5 is a block diagram showing a hardware configuration example of the control device 100 constituting the prediction system 1 according to the present embodiment.
  • the controller 100 includes a processor 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), a chip set 104, a main storage device 106, a secondary storage device 108, and the like.
  • Upper network controller 110 USB (Universal Serial Bus) controller 112, memory card interface 114, internal bus controller 122, field bus controllers 118, 120, I / O units 124-1, 124-2, ... including.
  • USB Universal Serial Bus
  • the processor 102 realizes the PLC engine 150 (see FIG. 7) and the prediction model 140 by reading various programs stored in the secondary storage device 108, deploying them in the main storage device 106, and executing the programs.
  • the chipset 104 controls data transmission and the like between the processor 102 and each component.
  • the secondary storage device 108 in addition to the system program for realizing the PLC engine 150, a user program executed by using the PLC engine 150 is stored. Further, the secondary storage device 108 also stores a program for realizing the prediction model 140.
  • the upper network controller 110 controls the exchange of data with another device via the upper network 6.
  • the USB controller 112 controls the exchange of data with the support device 200 via the USB connection.
  • the memory card interface 114 is configured so that the memory card 116 can be attached and detached, data can be written to the memory card 116, and various data (user programs, trace data, etc.) can be read from the memory card 116. There is.
  • the internal bus controller 122 is an interface for exchanging data with the I / O units 124-1, 124-2, ... Mounted on the control device 100.
  • the fieldbus controller 118 controls the exchange of data with another device via the fieldbus 2.
  • the fieldbus controller 120 controls the exchange of data with another device via the fieldbus 4.
  • FIG. 5 shows a configuration example in which the necessary functions are provided by the processor 102 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). It may be implemented using (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). Alternatively, the main part of the control device 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs (Operating Systems) having different uses in parallel, and to execute necessary applications on each OS.
  • OSs Operating Systems
  • the support device 200 is realized, for example, by executing a program using hardware (for example, a general-purpose personal computer) that follows a general-purpose architecture.
  • hardware for example, a general-purpose personal computer
  • FIG. 6 is a block diagram showing a hardware configuration example of the support device 200 constituting the prediction system 1 according to the present embodiment.
  • the support device 200 includes a processor 202 such as a CPU and an MPU, an optical drive 204, a main storage device 206, a secondary storage device 208, a USB controller 212, an upper network controller 214, and the like.
  • the input unit 216 and the display unit 218 are included. These components are connected via bus 220.
  • the processor 202 reads various programs stored in the secondary storage device 208, expands them in the main storage device 206, and executes them to realize various processes including a model generation process as described later.
  • the secondary storage device 208 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive).
  • the secondary storage device 208 typically includes a development program 222 for creating a user program executed by the support device 200, debugging the created user program, defining a system configuration, setting various parameters, and the like.
  • the PLC interface program 224 for exchanging data related to the prediction function with the control device 100, the analysis program 226 for realizing the generation of the prediction model 140, and the OS 228 are stored.
  • the secondary storage device 208 may store necessary programs other than the program shown in FIG.
  • the support device 200 has an optical drive 204, and is stored in a recording medium 205 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that temporarily stores a computer-readable program.
  • a recording medium 205 for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • the stored program is read and installed in the secondary storage device 208 or the like.
  • the various programs executed by the support device 200 may be installed via a computer-readable recording medium 205, or may be installed by downloading from an arbitrary server on the network. Further, the function provided by the support device 200 according to the present embodiment may be realized by using a part of the module provided by the OS.
  • the USB controller 212 controls the exchange of data with the control device 100 via the USB connection.
  • the host network controller 214 controls the exchange of data with another device via an arbitrary network.
  • the input unit 216 is composed of a keyboard, a mouse, etc., and accepts user operations.
  • the display unit 218 is composed of a display, various indicators, a printer, and the like, and outputs a processing result from the processor 202 and the like.
  • FIG. 6 shows a configuration example in which the necessary functions are provided by the processor 202 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). Alternatively, it may be implemented using an FPGA or the like).
  • 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.
  • control device 100 includes the TSDB 130 and the prediction model 140 in addition to the PLC engine 150 as the main functional configurations.
  • the PLC engine 150 sequentially interprets the user program 154 and executes the specified control operation.
  • the PLC engine 150 manages the state value collected from the field in the form of the variable 152, and the variable 152 is updated at a predetermined cycle.
  • the PLC engine 150 may be realized by the processor 102 of the control device 100 executing a system program.
  • the "state value” includes an input value collected from a field, a command value output to the field, and a system state value or an internal value managed inside the control device 100.
  • the "state value” is referred to in the form of a “variable”. Therefore, in the following description, the term “variable” is intended to include the “state value” for convenience. Use.
  • the technical scope of the present invention is not limited to the configuration in which the "state value” is referred to in the form of a "variable”.
  • the user program 154 includes a predicted value acquisition code 156, an error evaluation code 158, an additional learning code 160, a TSDB write code 162, and a control calculation code 164.
  • the predicted value acquisition code 156 realizes a predicted value acquisition unit that acquires a predicted value by inputting an actual value consisting of one or a plurality of state values among the state values that can be referred to by the control calculation code 164 into the prediction model 140. .. More specifically, the predicted value acquisition code 156 includes an instruction to acquire a predicted value by acquiring a necessary actual value managed as a variable 152 and inputting it into the prediction model 140.
  • the error evaluation code 158 includes an instruction for evaluating the error between the predicted value acquired by the predicted value acquisition code 156 and the target value.
  • the additional learning code 160 includes an instruction to additionally learn the prediction model 140 as needed according to the error evaluated by the error evaluation code 158.
  • the additional learning code 160 updates the model parameter 142 that defines the prediction model 140.
  • the TSDB write code 162 acquires a predetermined variable among the variables managed as the variable 152 and writes it in the storage area 132 of the TSDB 130.
  • the control calculation code 164 realizes a control calculation unit that executes a control calculation for controlling the control target. More specifically, the control calculation code 164 executes a control calculation for controlling the control target, and a target value used for the control calculation as needed according to the error evaluated by the error evaluation code 158. To correct.
  • 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 needed.
  • the prediction model 140 has a reference trajectory 144 in addition to the model parameter 142 that defines the prediction model 140.
  • the support device 200 has the development program 222 and the analysis program 226 installed.
  • the development program 222 generates the user program 154 according to the user operation and transfers it to the control device 100. Further, the development program 222 also has a function of appropriately modifying the contents of the control calculation code 164.
  • the analysis program 226 corresponds to an information processing program for realizing a prediction model generation unit that determines the prediction model 140 in advance. More specifically, the analysis program 226 supports the generation of the prediction model 140, and includes an explanatory variable / interval determination module 2261, a model generation module 2262, an inference module 2263, and an evaluation module 2264.
  • the explanatory variable / interval determination module 2261 realizes the functions required for the process of determining the explanatory variable and the interval (see step S4 shown in FIG. 4).
  • the model generation module 2262 realizes the functions required for the process of generating the prediction model 140 (see step S6 shown in FIG. 4).
  • the inference module 2263 performs inference (prediction) using the generated prediction model 140, and provides the prediction result to the evaluation module 2264.
  • the evaluation module 2264 evaluates the performance of the target prediction model 140 based on the prediction result from the inference module 2263.
  • the functions provided by the inference module 2263 and the evaluation module 2264 realize a process of determining the model parameters to be used (see step S5 shown in FIG. 4).
  • FIG. 8 is a block diagram showing an outline of the functional modules included in the analysis program 226 shown in FIG. 7.
  • the analysis program 226 of the support device 200 has a user interface 230, an input / output management module 236, a screen display module 238, a graph library 240, and an analysis module 242 as main functional configurations. Includes analysis library 244.
  • the user interface 230 accepts settings from the user and executes comprehensive processing for providing various information to the user.
  • 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.
  • 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 containing the generated data or the like.
  • the screen display module 238 includes a line graph generation function that generates a line graph based on input data and the like, and a parameter adjustment function that changes various parameters in response to a user's operation.
  • the line graph generation function may update the line as the parameters are changed.
  • the line graph generation function and the parameter adjustment function refer to the graph library 240 and execute necessary processing.
  • the analysis module 242 is a module that realizes the main processing of the analysis program 226, and has a waveform sample 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.
  • the analysis library 244 includes a library for each function included in the analysis module 242 to execute a process. More specifically, the analysis library 244 has 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 anomaly detection function. May be good.
  • step S1 Acquisition of time-series data of actual values (step S1) and determination of forecast target section (step S2)>
  • step S1 shown in FIG. 4 the support device 200 acquires the time series data of the actual values stored in the TSDB 130 of the control device 100 according to the user operation. The user sets the prediction target section while looking at the time series data of the actual values displayed on the support device 200.
  • the prediction target section may be appropriately set according to the characteristics of the control target as shown in FIGS. 2 and 3 described above.
  • step S3 Selection of training sample used to generate predictive model (step S3)>
  • the support device 200 selects a learning sample used to generate the prediction model 140.
  • the "sample” means a data string having a predetermined time length used as teacher data of a predicted value to be output from the prediction model 140.
  • the time-series data (raw data) of the prediction target is used as the “sample”, but if the prediction target is a feature amount extracted from the time-series data, the feature amount may be used. ..
  • the term “sample” focuses on a processing unit when processing a plurality of data, and the content of the data contained therein is not particularly limited.
  • the data referred to for calculating or determining an arbitrary predicted value is also referred to as an "explanatory variable”.
  • Arbitrary predicted values are calculated or determined using one or more "explanatory variables”. Therefore, the training sample is somehow associated with data that can be candidates for "explanatory variables”.
  • feature amount is a term including information included in the time series data to be processed, and for example, the maximum value, the minimum value, the intermediate value, the average value, and the average value of the time series data of the target value. It can include standard deviation, variance, etc.
  • feature amount may include the target time series data itself.
  • FIG. 9 is a diagram for explaining a selection example of a learning sample in the prediction system 1 according to the present embodiment.
  • FIG. 9 shows an example of time-series data (sample) having a predetermined time length corresponding to the prediction target section.
  • the more different the change patterns are used for learning the higher the prediction accuracy of the prediction model 140 can be. That is, even if learning is performed using a sample showing a similar change pattern, it does not contribute to the improvement of the prediction accuracy of the prediction model 140.
  • one or more features are calculated from each sample, and one or more features are calculated based on the calculated features.
  • Cluster the sample By such clustering, one or more classes included in the target sample group are extracted. Then, one or a plurality of samples belonging to each extracted class are selected as learning samples.
  • FIG. 10 is a flowchart showing a more detailed processing procedure related to selection of a learning sample (step S3) in the processing procedure of the generation processing shown in FIG.
  • the support device 200 trims the target time-series data to generate a sample (step S31). Trimming of time series data is performed by extracting only the part related to the prediction target section.
  • the support device 200 calculates one or a plurality of features from each sample (step S32), and performs clustering based on the calculated one or a plurality of features (step S33).
  • the support device 200 selects one or a plurality of samples from each of the one or a plurality of classes determined by clustering, and determines the selected sample as a learning sample (step S34).
  • the support device 200 performs clustering using one or a plurality of feature quantities calculated from each sample to select a sample used as a learning sample among a plurality of samples. Execute the selected process.
  • FIG. 11 is a diagram showing an example of clustering related to selection of a learning sample in the processing procedure of the generation process shown in FIG.
  • FIG. 11 shows an example in which two features (mean value and standard deviation) are calculated from each sample, and each sample is plotted in a two-dimensional space having each feature as coordinates.
  • the sample group shown in FIG. 11 includes three clusters (classes 1 to 3) in terms of the features of the mean value and the standard deviation.
  • One or more samples belonging to each extracted class 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.
  • a plurality of samples having different classes from each other are determined as learning samples.
  • the support device 200 may automatically select the sample to be the target of the learning sample, or the user may support the process or confirm the selection result. For example, the user may check the sample selection result and manually reselect it.
  • FIG. 12 is a diagram showing an example of a user interface provided in the process of selecting a learning sample in the prediction system 1 according to the embodiment.
  • FIG. 13 is a diagram showing another example of the user interface provided in the process of selecting a learning sample in the prediction system 1 according to the embodiment. 12 and 13 show an example of displaying the result of sample selection.
  • the user interface screen 250 shown in FIG. 12 can display a composite waveform 252 in which checked samples from the selected sample group 254 are superimposed on the same time axis.
  • the user can easily confirm the appropriateness of sample selection by selecting an arbitrary sample from the sample group 254 and displaying it as a composite waveform 252.
  • the user interface screen 260 shown in FIG. 13 displays the similarity between the selected samples in a matrix format.
  • the user interface screen 260 has display elements arranged in a matrix, and waveforms of each sample are arranged in a diagonal line. Above the diagonal, the similarity 264 (correlation coefficient) between the samples is shown, and below the diagonal, a composite waveform in which two corresponding samples are superimposed on the same time axis. 262 is displayed.
  • the user interface screens shown in FIGS. 12 and 13 may be displayed in the same screen.
  • the corresponding sample of the user interface screen 260 shown in FIG. 13 may be highlighted corresponding to the selected sample. Further, by selecting an arbitrary waveform on the user interface screen 250, the selection target and the selection non-target may be switched alternately.
  • the learning sample used to generate the prediction model is selected.
  • step S4 Determination of explanatory variables and intervals (step S4)>
  • the support device 200 determines the explanatory variables and intervals related to the prediction model 140.
  • step S4 the prediction algorithm adopted for the prediction model 140 is fixed to a default value or the like, and then the prediction model 140 is generated and the performance is evaluated for the combination in which the explanatory variables and the intervals are changed.
  • the support device 200 searches for explanatory variables and intervals used for prediction after fixing the model parameters of the prediction model 140.
  • the preferable search interval is determined based on the set control cycle with reference to the control cycle set in the user program executed by the control device 100. You may.
  • FIG. 14 is a flowchart showing a more detailed processing procedure relating to determination of explanatory variables and intervals (step S4) in the processing procedure of the generation processing shown in FIG.
  • the support device 200 acquires the control cycle with reference to the user program executed by the target control device 100 (step S41).
  • the necessary information may be obtained by accessing the control device 100, and when the support device 200 is not connected to the control device 100, the support device 200 may be supported.
  • the control cycle may be acquired by referring to a project or the like held by the device 200.
  • the support device 200 sets an integral multiple of the acquired control cycle as a search section for searching the section (step S42).
  • the support device 200 selects one or a plurality of explanatory variables from a plurality of variables related to the preselected learning sample (see step S3 above) (step S43). More specifically, the support device 200 applies a decision tree algorithm to the training sample and a plurality of related variables to calculate the importance of each variable. Then, the support device 200 selects a variable having a high importance as an explanatory variable.
  • Any known algorithm can be used as the decision tree algorithm, but for example, a random forest can be used.
  • the support device 200 determines the importance of the learning sample among the plurality of variables (state values) associated with the learning sample used for the generation of the prediction model 140. Based on this, a process of determining one or more variables (state values) as explanatory variables is executed.
  • the support device 200 sets any one candidate section included in the search section (step S44). Candidate sections are generated by different lengths and / or positions of sections included in the search section. Then, the support device 200 generates a prediction model 140 using the training sample with one or a plurality of explanatory variables selected in step S43 and the candidate interval set in step S44 as parameters (step S45). Then, the support device 200 evaluates the performance related to the inference of the generated prediction model 140 (step S46). In step S46, the numerical value indicating the performance is stored in association with the corresponding candidate section.
  • the support device 200 determines whether or not the generation of the prediction model 140 and the performance evaluation for all the candidate sections included in the search section are completed (step S47). If the generation of the prediction model 140 and the performance evaluation for all the candidate sections included in the search section have not been completed (NO in step S47), the support device 200 sets another candidate section included in the search section (NO). Step S48), the process of step S45 or less is repeated.
  • the support device 200 predicts the candidate section showing the highest performance evaluation. It is determined as a section of the model 140 (step S49).
  • the support device 200 sequentially differentizes the sections included in the search section and evaluates the prediction accuracy by the determined explanatory variables to obtain the section used for the prediction. Execute the process to determine. In the process of determining the section used for this prediction, the support device 200 evaluates the performance of the prediction model generated in each pattern in which at least one of the length and the position of the section included in the search section is different. become.
  • FIG. 15 is a schematic diagram for schematicizing the processing contents of the determination of explanatory variables and sections (step S4) in the processing procedure of the generation processing shown in FIG.
  • the explanatory variables are determined by applying the decision tree algorithm to the plurality of variables 1, 2, ..., N.
  • a training sample is used to apply the decision tree algorithm.
  • the search section is determined based on the user program, and one or more candidate sections are set from the determined search section. Then, a prediction model 140 is generated for each candidate section, and the performance of the generated prediction model 140 is evaluated.
  • the support device 200 determines the explanatory variables based on the importance calculated by the decision tree algorithm, and uses the determined explanatory variables to perform a grid search for the section within the search section.
  • the explanatory variables and intervals are determined by (round-robin search).
  • step S43 In the processing procedure of the generation process shown in FIG. 14 described above, one or a plurality of explanatory variables were determined first in step S43, but some candidates were also set for the explanatory variables, and each candidate (each candidate) was set. May include one or more explanatory variables) to perform the process of step S44 and below.
  • 16 to 19 are diagrams showing an example of a user interface provided in the process of determining explanatory variables and intervals in the prediction system 1 according to the embodiment.
  • the user interface screen 270 includes a waveform display area 276 that displays actual and predicted values.
  • waveforms (time series data) of actual values and predicted values are displayed.
  • the actual value is the waveform (time series data) of any of the samples included in the learning sample.
  • the predicted value is a waveform (time series data) output by the generated prediction model 140.
  • the position and time width of the section 272 that defines the range of explanatory variables to be input to the prediction model 140 can be arbitrarily set with respect to the predetermined prediction point 271.
  • the user can arbitrarily change the section width 273 of the section 272 and the time difference 274 from the predicted point by operating the mouse or the like to move the position of the section 272.
  • the waveform of the predicted value (time series data) is calculated according to the section 272 arbitrarily set by the user, and the waveform of the calculated predicted value (time series data) is displayed in the waveform display area 276.
  • the user interface screen 270 includes the explanatory variable list 277, and the checked variable among one or a plurality of variables is used as the explanatory variable.
  • the user interface screen 270 includes a prediction error 275 indicating a deviation between the actual value and the predicted value.
  • the support device 200 may calculate the predicted value by using the prediction model 140 generated by the process shown in FIG. 14 as it is.
  • the support device 200 responds to the user operating the user interface screen 270 to appropriately change the explanatory variables and / or the interval, and the process after step S43 in FIG. 15 or the process after step S44. May be re-executed. That is, the prediction model 140 may be regenerated.
  • the user can determine while searching for explanatory variables and / or intervals to be set in the prediction model 140.
  • the support device 200 provides a user interface screen 270 (see FIGS. 16 to 19) for accepting user operations for changing the section used for prediction.
  • the explanatory variables and intervals used to generate the prediction model are determined.
  • step S5 Determination of model parameters (step S5)>
  • the support device 200 determines the model parameters used for the prediction model 140.
  • step S4 the prediction algorithm and the like used in the prediction model 140 were fixed to default values and the like, and the explanatory variables and intervals were determined.
  • step S5 the model parameters of the prediction model 140 are determined on the premise of the determined explanatory variables and intervals, while considering operational indicators such as prediction accuracy, model size, and processing speed.
  • prediction accuracy, model size, and processing speed will be described as examples of a plurality of indicators, but the present invention is not necessarily limited to these factors. However, it is preferable that the plurality of indexes include at least one of prediction accuracy, model size, and processing speed.
  • FIG. 20 is a flowchart showing a more detailed processing procedure related to the determination of the model parameter (step S5) shown in FIG.
  • the support device 200 determines the search range of the model parameters (step S51).
  • the search range of model parameters determines the search range (upper and lower limits) of each parameter in addition to the type of parameter to be searched.
  • the support device 200 selects a data set of arbitrary model parameters included in the search range determined in step S51 as a target (step S52). Then, the support device 200 generates a prediction model 140 based on the selected model parameter data set (step S53), and evaluates the performance (prediction accuracy, model size, processing speed, etc.) of the generated prediction model 140. (Step S54).
  • the support device 200 determines whether or not there is a data set of another model parameter included in the search range determined in step S51 (step S55). If a data set of another model parameter included in the search range determined in step S51 exists (YES in step S55), the support device 200 will use the support device 200 for another model parameter included in the search range determined in step S51. A data set is selected (step S56), and the processing of step S53 and subsequent steps is repeated.
  • step S57 the most appropriate model parameter data set is searched (step S57), and the searched model parameters and the corresponding performance evaluation results are displayed (step S58).
  • the support device 200 determines the model parameters for generating the prediction model 140 according to the instruction from the user (step S59).
  • the support device 200 sequentially changes the model parameters that define the prediction model 140 under the conditions of the determined explanatory variables and the determined intervals, and each model.
  • a process of determining the model parameters for defining the prediction model 140 is executed.
  • FIG. 21 is a diagram showing an example of a user interface provided in the process of determining model parameters in the prediction system 1 according to the embodiment.
  • the calculated prediction accuracy 281, the model size 282, and the processing speed 283 are additionally displayed as compared with the user interface screen 270 shown in FIGS. 16 to 19. ..
  • the support device 200 provides a user interface screen 270 (see FIG. 21) that displays a plurality of indicators. The user can also adjust the explanatory variables and intervals while checking these indicators.
  • the search for the optimum model parameters in step S57 of FIG. 20 may be realized by setting priorities for indexes such as prediction accuracy, model size, and processing speed.
  • the priority of the index is set in the order of prediction accuracy, model size, and processing speed.
  • the minimum conditions may be set for each index.
  • -Priority 1 index Prediction accuracy condition
  • Condition Prediction accuracy ⁇ 80% ⁇
  • Priority 2 index model size
  • condition model size ⁇ 50MB
  • Priority 3 index Processing speed
  • Condition Processing speed ⁇ 0.1 msec
  • any priority may be set for any index, and the same priority may be set for a plurality of indexes. Further, the optimum data set may be determined by integrating the results of evaluation of each index without setting the priority.
  • the grid search (brute force search) provides a comprehensively good index (typically, the accuracy is high, the model size is small, and the processing speed is high). Model parameters can be determined.
  • the user confirms the performance of the prediction model based on the determined model parameters on the user interface screen, and fine-tunes the model parameters, explanatory variables, intervals, etc. as necessary to obtain an appropriate prediction model 140. Can be generated.
  • the prediction model 140 can be determined by a comprehensive evaluation including a plurality of indicators such as prediction accuracy, model size, and processing speed.
  • the prediction system 1 that predicts the time change has been described, but it can also be applied to an abnormality detection system that detects an abnormality that occurs in a controlled object or the like.
  • FIG. 22 is a schematic diagram showing an outline configuration of the abnormality detection system 1A according to the modified example of the present embodiment.
  • the anomaly detection system 1A selects a training sample from the raw data 40 acquired from the controlled object (sample selection 42), and the anomaly detection model 44 is generated based on the selected learning sample. Will be done. Then, the abnormality detection operation 46 is executed using the generated abnormality detection model 44.
  • the subject of the anomaly detection model 44 is to detect that the controlled object shows a state different from the normal state, and using the raw data (time series data) collected from the controlled object, the anomaly detection model 44 is used. An anomaly detection model 44 that matches the collected raw data is generated. By inputting raw data different from the normal data into the abnormality detection model 44 and outputting a value indicating that the state is different from the normal state, it is possible to detect that some abnormality has occurred in the controlled object. ..
  • FIG. 23 is a diagram for explaining a processing example of sample selection shown in FIG. 22.
  • the raw data 401 and the raw data 404 have similar distributions.
  • the raw data 402 and the raw data 405 have similar distributions.
  • the detection performance of the abnormality detection model 44 can be improved by extracting samples having different change patterns from each other in the same manner as in step S3 described above.
  • a control calculation unit (164) that executes a control calculation to control a control target, and A prediction value acquisition unit (156) that acquires a prediction value by inputting an actual value consisting of one or more state values among the state values that can be referred to by the control calculation unit into the prediction model.
  • a prediction model generation unit (200) for determining the prediction model in advance is provided.
  • the prediction model generation unit A means (2661) for determining one or more state values as explanatory variables based on the importance to the training sample among the plurality of state values associated with the training sample used to generate the prediction model. Means (2661) for determining the section to be used for prediction by sequentially differentiating the sections included in the search section and evaluating the prediction accuracy by the determined explanatory variables.
  • a prediction system that includes means (2262) for determining model parameters for defining the prediction model.
  • the prediction model generation unit further includes a means (2661) for selecting a sample to be used as the learning sample from a plurality of samples by clustering using one or a plurality of feature quantities calculated from each sample.
  • the prediction system according to 1.
  • the prediction model generation unit evaluates the performance of the prediction model generated in each pattern in which at least one of the length and the position of the section included in the search section is different. Prediction system described in.
  • FIG. 9 An information processing device (200) connected to a control device (100), wherein the control calculation unit refers to a control calculation unit (164) that executes a control calculation for controlling a control target, and the control calculation unit. It is equipped with a predicted value acquisition unit (156) that acquires a predicted value by inputting an actual value consisting of one or more possible state values into the prediction model.
  • the information processing device serves as a prediction model generation unit that determines the prediction model in advance.
  • An information processing apparatus including means (2262) for determining model parameters for defining the prediction model.
  • FIG. 10 There is an information processing program (226) executed by a computer (200) connected to a control device (100), and the control device includes a control calculation unit (164) that executes a control calculation for controlling a control target.
  • the information processing program is used in the computer as a process for determining the prediction model in advance.
  • the model parameters that define the prediction model are sequentially different, and a plurality of indexes are evaluated for the prediction model defined by each model parameter.
  • An information processing program that executes steps (S5; S51 to S59) for determining model parameters for defining the prediction model.
  • 1 Prediction system 1A anomaly detection system, 2, 4 field bus, 6 upper network, 10 field device group, 12 remote I / O device, 14 relay group, 16, 124 I / O unit, 18 image sensor, 20 camera, 22 servo driver, 24 servo motor, 30 press machine, 31 work, 32 intermediate product, 33 base, 34 support base, 35 push plate, 36 drive shaft, 37 motor, 40, 401, 402, 403, 404, 405 raw data , 42 sample selection, 44 abnormality detection model, 46 operation, 100 control device, 102, 202 processor, 104 chipset, 106, 206 main storage device, 108, 208 secondary storage device, 110, 214 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, 140 prediction model, 142 model parameters, 144 reference orbit, 150 PLC engine, 154 User program, 156 predicted value acquisition code, 158 error evaluation code, 160 additional learning code, 162

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Marketing (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

予測システムの予測モデル生成部は、予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段と、探索区間に含まれる区間を順次異ならせて、決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段と、決定された説明変数および決定された区間の条件下で、予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、予測モデルを規定するためのモデルパラメータを決定する手段とを含む。

Description

予測システム、情報処理装置および情報処理プログラム
 本発明は、制御対象に生じる変化を予測する予測システム、予測システムを構成する情報処理装置、および情報処理装置を実現するための情報処理プログラムに関する。
 様々な生産現場において、何らかの理由によって、本来とは異なる変化や通常とは異なる変化が生じることがある。このような変化の発生を事前に予測して、何らかの対処をとることができると、生産設備の性能維持や製品の品質確保などに有益である。
 このような事前の予測に関して、例えば、特開2009-237832号公報(特許文献1)は、あらゆる期間・季節で需要予測精度の向上が可能な可変的予測モデル構築方法を開示する。特許文献1に開示される可変的予測モデル構築方法は、蓄積した時系列データに補正を加えた学習データを用いて、7~70日の複数の学習期間毎に適切な予測モデルを構築し、各学習期間のモデル化精度評価を行うことで、予測精度が最も高い最適な学習期間、予測モデルを選択する処理を採用する。
特開2009-237832号公報
 しかしながら、上述の特許文献1に開示される可変的予測モデル構築方法においては、複数の学習期間毎に適切な予測モデルを構築した上で、各学習期間のモデル化精度を評価する必要があり、最適な学習期間、予測モデルを選択するために要する工数が大きいという課題がある。
 本発明は、予測モデルをより効率的に生成できる手法を提供することである。
 本発明の一例に従う予測システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部と、予測モデルを予め決定する予測モデル生成部とを含む。予測モデル生成部は、予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段と、探索区間に含まれる区間を順次異ならせて、決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段と、決定された説明変数および決定された区間の条件下で、予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、予測モデルを規定するためのモデルパラメータを決定する手段とを含む。
 この構成によれば、複数の指標を評価した予測モデルを容易に生成できる。
 予測モデル生成部は、各サンプルから算出される1または複数の特徴量を用いたクラスタリングにより、複数のサンプルのうち学習用サンプルとして用いられるサンプルを選択する手段をさらに含んでいてもよい。この構成によれば、互いに類似したサンプルが多数学習用サンプルとして選択されることを防止できる。
 予測モデル生成部は、学習用サンプルおよび関連する複数の状態値に決定木アルゴリズムを適用することで、各状態値の重要度を算出するようにしてもよい。この構成によれば、決定木アルゴリズムを適用することで、いずれの状態値が予測モデルに好適なのかを容易に判断できる。
 予測モデル生成部は、探索区間に含まれる区間の長さおよび位置の少なくとも一方を異ならせた各パターンにおいて生成される予測モデルの性能をそれぞれ評価するようにしてもよい。この構成によれば、探索区間に含まれる好適な区間を容易に見つけることができる。
 予測モデル生成部は、予測モデルのモデルパラメータを固定した上で、予測に用いる区間を探索するようにしてもよい。この構成によれば、一旦予測モデルのモデルパラメータを固定することで、探索に係る処理量を低減できる。
 予測モデル生成部は、予測に用いる区間を変更するための、ユーザ操作を受け付ける第1のユーザインターフェイスを提供する手段をさらに含んでいてもよい。この構成によれば、ユーザは、確認しながら決定された区間の微調整などが可能になる。
 複数の指標は、予測精度、モデルサイズ、処理速度のうち少なくとも1つを含むようにしてもよい。この構成によれば、運用時に重要視される要素が指標に含まれることで、運用を考慮して最適な予測モデルを生成できる。
 予測モデル生成部は、複数の指標を表示する第2のユーザインターフェイスを提供する手段をさらに含むようにしてもよい。この構成によれば、ユーザは、決定された複数の指標を一見して把握できる。
 本発明の別の一例に従えば、制御装置に接続される情報処理装置が提供される。制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを含む。情報処理装置は、予測モデルを予め決定する予測モデル生成部として、予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段と、探索区間に含まれる区間を順次異ならせて、決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段と、決定された説明変数および決定された区間の条件下で、予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、予測モデルを規定するためのモデルパラメータを決定する手段とを含む。
 本発明のさらに別の一例に従えば、制御装置に接続されるコンピュータで実行される情報処理プログラムが提供される。制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを含む。情報処理プログラムは、予測モデルを予め決定するための処理として、コンピュータに、予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定するステップと、探索区間に含まれる区間を順次異ならせて、決定された説明変数による予測精度を評価することで、予測に用いる区間を決定するステップと、決定された説明変数および決定された区間の条件下で、予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、予測モデルを規定するためのモデルパラメータを決定するステップとを実行させる。
 本発明によれば、予測モデルをより効率的に生成できる。
本実施の形態に係る予測システムの全体構成例を示す模式図である。 本実施の形態に係る予測システムの応用例を示す模式図である。 本実施の形態に係る予測システムによる予測結果に基づく制御の一例を示す模式図である。 本実施の形態に係る予測システムを用いた予測モデルの生成処理の処理手順を示すフローチャートである。 本実施の形態に係る予測システムを構成する制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る予測システムを構成するサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る予測システムを構成する制御装置およびサポート装置のソフトウェア構成例を示すブロック図である。 図7に示す解析プログラムに含まれる機能モジュールの概要を示すブロック図である。 本実施の形態に係る予測システムにおける学習用サンプルの選択例を説明するための図である。 図4に示される生成処理の処理手順における学習用サンプルの選択(ステップS3)に係るより詳細な処理手順を示すフローチャートである。 図4に示される生成処理の処理手順における学習用サンプルの選択に係るクラスタリングの一例を示す図である。 実施の形態に係る予測システムにおける学習用サンプルを選択する処理において提供されるユーザインターフェイスの一例を示す図である。 実施の形態に係る予測システムにおける学習用サンプルを選択する処理において提供されるユーザインターフェイスの別の一例を示す図である。 図4に示される生成処理の処理手順における説明変数および区間の決定(ステップS4)に係るより詳細な処理手順を示すフローチャートである。 図4に示される生成処理の処理手順における説明変数および区間の決定(ステップS4)の処理内容を概略するための模式図である。 実施の形態に係る予測システムにおける説明変数および区間を決定する処理において提供されるユーザインターフェイスの一例を示す図である。 実施の形態に係る予測システムにおける説明変数および区間を決定する処理において提供されるユーザインターフェイスの一例を示す図である。 実施の形態に係る予測システムにおける説明変数および区間を決定する処理において提供されるユーザインターフェイスの一例を示す図である。 実施の形態に係る予測システムにおける説明変数および区間を決定する処理において提供されるユーザインターフェイスの一例を示す図である。 図4に示されるモデルパラメータの決定(ステップS5)に係るより詳細な処理手順を示すフローチャートである。 実施の形態に係る予測システム1におけるモデルパラメータを決定する処理において提供されるユーザインターフェイスの一例を示す図である。 本実施の形態の変形例に係る異常検知システムの概要構成を示す模式図である。 図22に示されるサンプル選択の処理例を説明するための図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。
 本実施の形態に係る予測機能を有する制御システムの主要な局面について説明する。以下の説明においては、主として、制御システムが有している予測機能に注目して説明するので、制御システム全体を「予測システム」とも称する。
 図1は、本実施の形態に係る予測システム1の全体構成例を示す模式図である。図1を参照して、本実施の形態に係る予測システム1は、主たる構成要素として、制御対象を制御する制御装置100と、制御装置100に接続されるサポート装置200とを含む。
 制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続されるとともに、フィールドバス4を介して1または複数の表示装置400と接続されてもよい。さらに、制御装置100は、上位ネットワーク6を介して上位サーバ300に接続されてもよい。なお、上位サーバ300および表示装置400はオプショナルな構成であり、予測システム1の必須の構成ではない。
 制御装置100は、設備や機械を制御するための各種演算を実行する制御ロジック(以下、「PLCエンジン」とも称す。)を有している。PLCエンジンに加えて、制御装置100は、フィールド装置群10にて計測され、制御装置100へ転送されるデータ(以下、「入力データ」とも称す。)を収集する収集機能を有している。さらに、制御装置100は、収集した入力データに基づいて将来の時間変化を予測する予測機能も有している。
 具体的には、制御装置100に実装される時系列データベース(以下、「TSDB(Time Series Data Base)」とも記す。)130が収集機能を提供し、制御装置100に実装される予測モデル140が監視機能を提供する。TSDB130および予測モデル140の詳細については後述する。
 フィールドバス2およびフィールドバス4は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
 フィールド装置群10は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群10は、さらに、制御装置100にて生成される指令(以下、「出力データ」とも称す。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群10は、フィールドバス2を介して、制御装置100との間で、入力データおよび出力データを含むデータを遣り取りする。
 図1に示す構成例においては、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ20と、サーボドライバ22およびサーボモータ24とを含む。
 リモートI/O装置12は、フィールドバス2を介して通信を行う通信部と、入力データの収集および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。このようなI/Oユニットを介して、制御装置100とフィールドとの間で入力データおよび出力データが遣り取りされる。図1には、リレー群14を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
 I/Oユニットは、フィールドバスに直接接続されるようにしてもよい。図1には、フィールドバス2にI/Oユニット16が直接接続されている例を示す。
 画像センサ18は、カメラ20によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。
 サーボドライバ22は、制御装置100からの出力データ(例えば、位置指令など)に従って、サーボモータ24を駆動する。
 上述のように、フィールドバス2を介して、制御装置100とフィールド装置群10との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ~数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「I/Oリフレッシュ処理」と称することもある。
 また、フィールドバス4を介して制御装置100と接続される表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での演算結果などをグラフィカルに表示する。
 上位サーバ300は、制御装置100と上位ネットワーク6を介して接続され、制御装置100との間で必要なデータを遣り取りする。上位ネットワーク6には、イーサネット(登録商標)などの汎用プロトコルが実装されてもよい。
 サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する情報処理装置(コンピュータの一例)である。具体的には、サポート装置200は、制御装置100で実行されるユーザプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
 さらに、本実施の形態に係るサポート装置200は、制御装置100に実装される予測モデル140の生成および最適化を支援するための機能を有している。すなわち、サポート装置200は、予測モデル140を予め決定する予測モデル生成部を有している。これらの機能の詳細については後述する。
 次に、予測システム1に含まれる制御装置100の応用例について説明する。
 図2は、本実施の形態に係る予測システム1の応用例を示す模式図である。図2には、プレス機30を含む生産設備の例を示す。
 図2を参照して、プレス機30は、ワーク31を受け入れ、ベース33に設けられた支持台34上に受け入れたワーク31を配置する。そして、モータ37で駆動される駆動軸36の先端に設けられた押し込み板35でワーク31を圧縮して、中間製品32を生成する。
 プレス機30においては、予期しない要因変動により中間製品32に不良が発生し得るとする。そのため、プレス機30の下流側に配置された検査機による検査、あるいは、検査員による目視検査または抜き取りによる検査によって、中間製品32に不良が発生しているか否かを判断する。もし、不良が発生していると判断されると、目標値などを都度調整することになる。
 このように、通常の製造工程においては、中間製品32の良品率を維持および向上させるためには、目標値を都度調整する必要があるが、様々な観点から事前設計したとしても、すべての要因変動に対応することが難しい。
 これに対して、本実施の形態に係る予測モデル140を用いて、中間製品32の状態(すなわち、加工後の品質)を予測することで、不良が実際に発生する前に、制御装置100による制御を補正できる。このような事前の不要発生の予測を利用できることで、目標値などの都度調整に係る工数を削減するとともに、中間製品32に不良が発生することを防止できる。
 図3は、本実施の形態に係る予測システム1による予測結果に基づく制御の一例を示す模式図である。
 図3(A)には、ある時点におけるプレス機の押し込み位置の計画値(指令)と、実際のプレス機30の押し込み位置(実績値)とを示す。目標値は、加工後の中間製品32のあるべき厚みを示す。
 図3(B)を参照して、ある時点において、それまでの情報(実績値を含み得る)に基づいて、この先のプレス機30の押し込み位置(予測値)を算出し、その算出された予測値に基づいて、プレス機30に対する制御量を補正するようにしてもよい。
 図2および図3に示すプレス機30においては、プレス機30の押し込み位置を予測し、その予測結果に基づいて制御量を補正することで、例えば、ワーク31の硬さのばらつきなどに応じて、作業者が目標値を都度調整するようなことは必要ない。その結果、予期しない要因変動による不良品の発生を抑制でき、ワーク31に何らかのばらつきがあっても、品質を安定化できる。
 予測に用いるデータ(実績値または観測値)と予測されるデータとは、一部または全部が同一であってもよいし、全く異なるものであってもよい。
 本実施の形態に係る予測システム1は、予測モデル140を適切に生成するための機能を提供する。予測モデル140を適切に生成するための機能は、典型的には、サポート装置200に実装されてもよい。
 <B.予測モデルの生成および運用の概要>
 次に、本実施の形態に係る予測システム1を用いた予測モデル140の生成および運用の概要について説明する。
 図4は、本実施の形態に係る予測システム1を用いた予測モデル140の生成処理の処理手順を示すフローチャートである。図4に示す各ステップは、典型的には、サポート装置200のプロセッサ202がプログラム(解析プログラム226およびOS228など)を実行することで実現される。
 図4を参照して、サポート装置200は、TSDB130に格納されている実績値の時系列データを取得する(ステップS1)。続いて、サポート装置200は、取得した実績値の時系列データから予測対象区間の設定を受け付ける(ステップS2)。
 サポート装置200は、ステップS2において設定された予測対象区間の変化を予測するための予測モデルの生成に用いられる学習用サンプルを選択する(ステップS3)。ステップS3においては、複数種類のデータのうち、いずれのデータが学習に用いられるのかが選択される。より具体的には、サポート装置200は、各時系列データ(波形サンプル)の統計量(特徴量)に対するクラスタリングによってクラスを決定し、決定されたクラスから対象のデータを抽出する。ステップS3の処理については詳述する。
 続いて、サポート装置200は、説明変数および区間を決定する(ステップS4)。そして、サポート装置200は、使用するモデルパラメータを決定する(ステップS5)。ステップS5においては、サポート装置200は、ステップS4において選択された説明変数および区間に従って、予測モデル140を生成するとともに、生成された予測モデル140の性能を評価することで、適切な予測アルゴリズムを探索する。サポート装置200は、予測精度および予測速度の性能が高い予測アルゴリズムを使用するモデルパラメータとして決定する。
 最終的に、サポート装置200は、決定されたモデルパラメータなどに基づいて、予測モデル140を生成する(ステップS6)。
 以上のような処理手順によって生成された予測モデル140を制御装置100に設定することで、図2および図3に示すような運用が可能となる。
 <C.ハードウェア構成例>
 次に、本実施の形態に係る予測システム1を構成する主要な装置のハードウェア構成例について説明する。
 (c1:制御装置100のハードウェア構成例)
 図5は、本実施の形態に係る予測システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図5を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120と、I/Oユニット124-1,124-2,…とを含む。
 プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、PLCエンジン150(図7参照)および予測モデル140を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
 二次記憶装置108には、PLCエンジン150を実現するためのシステムプログラムに加えて、PLCエンジン150を利用して実行されるユーザプログラムが格納される。さらに、二次記憶装置108には、予測モデル140を実現するためのプログラムも格納される。
 上位ネットワークコントローラ110は、上位ネットワーク6を介した別の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
 メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
 内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータを遣り取りするインターフェイスである。
 フィールドバスコントローラ118は、フィールドバス2を介した別の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、フィールドバス4を介した別の装置との間のデータの遣り取りを制御する。
 図5には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (c2:サポート装置200のハードウェア構成例)
 本実施の形態に係るサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
 図6は、本実施の形態に係る予測システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。図6を参照して、サポート装置200は、CPUやMPUなどのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、上位ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
 プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するようなモデル生成処理を含む各種処理を実現する。
 二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置208には、典型的には、サポート装置200において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム222と、制御装置100との間で予測機能に関するデータを遣り取りするためのPLCインターフェイスプログラム224と、予測モデル140の生成などを実現するための解析プログラム226と、OS228とが格納される。二次記憶装置208には、図6に示すプログラム以外の必要なプログラムが格納されてもよい。
 サポート装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置208などにインストールされる。
 サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。上位ネットワークコントローラ214は、任意のネットワークを介した別の装置との間のデータの遣り取りを制御する。
 入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
 図6には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 <D.ソフトウェア構成例/機能構成例>
 次に、本実施の形態に係る予測システム1を構成する制御装置100およびサポート装置200のソフトウェア構成例および機能構成例について説明する。
 図7は、本実施の形態に係る予測システム1を構成する制御装置100およびサポート装置200のソフトウェア構成例を示すブロック図である。
 図7を参照して、制御装置100は、主要な機能構成として、PLCエンジン150に加えて、TSDB130および予測モデル140を含む。
 PLCエンジン150は、ユーザプログラム154を逐次解釈して、指定された制御演算を実行する。PLCエンジン150は、フィールドから収集される状態値を変数152の形で管理しており、変数152は予め定められた周期で更新される。PLCエンジン150は、制御装置100のプロセッサ102がシステムプログラムを実行することで実現されてもよい。
 本明細書において、「状態値」は、フィールドから収集される入力値、フィールドへ出力される指令値、および、制御装置100の内部で管理されるシステム状態値や内部値を含む。本実施の形態に係る制御装置100においては、「状態値」を「変数」の形で参照するので、以下の説明においては、便宜上、「変数」との用語を「状態値」を含む趣旨で用いる。なお、本発明の技術的範囲は、「状態値」を「変数」の形で参照する構成に限定されることはない。
 ユーザプログラム154は、予測値取得コード156と、誤差評価コード158と、追加学習コード160と、TSDB書き込みコード162と、制御演算コード164とを含む。
 予測値取得コード156は、制御演算コード164が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデル140に入力することで予測値を取得する予測値取得部を実現する。より具体的には、予測値取得コード156は、変数152として管理される必要な実績値を取得して、予測モデル140に入力することで、予測値を取得する命令を含む。
 誤差評価コード158は、予測値取得コード156により取得された予測値と目標値との誤差を評価する命令を含む。
 追加学習コード160は、誤差評価コード158により評価された誤差に応じて、必要に応じて、予測モデル140を追加学習する命令を含む。追加学習コード160は、予測モデル140を規定するモデルパラメータ142を更新することになる。
 TSDB書き込みコード162は、変数152として管理される変数のうち、予め定められた変数を取得して、TSDB130の記憶領域132に書き込む。
 制御演算コード164は、制御対象を制御するための制御演算を実行する制御演算部を実現する。より具体的には、制御演算コード164は、制御対象を制御するための制御演算を実行するとともに、誤差評価コード158により評価された誤差に応じて、必要に応じて、制御演算に用いる目標値を補正する。
 TSDB130は、記憶領域132に書き込まれたデータを必要に応じて、サポート装置200などへエクスポートするエクスポートモジュール134を有している。
 予測モデル140は、予測モデル140を規定するモデルパラメータ142に加えて、参照軌道144を有している。
 一方、サポート装置200は、開発プログラム222および解析プログラム226がインストールされている。
 開発プログラム222は、ユーザ操作に従って、ユーザプログラム154を生成し、制御装置100へ転送する。また、開発プログラム222は、制御演算コード164の内容を適宜修正する機能も有している。
 解析プログラム226は、予測モデル140を予め決定する予測モデル生成部を実現するための情報処理プログラムに相当する。より具体的には、解析プログラム226は、予測モデル140の生成を支援するものであり、説明変数・区間決定モジュール2261と、モデル生成モジュール2262と、推論モジュール2263と、評価モジュール2264とを含む。
 説明変数・区間決定モジュール2261は、説明変数および区間を決定する(図4に示すステップS4参照)処理に必要な機能を実現する。
 モデル生成モジュール2262は、予測モデル140を生成する(図4に示すステップS6参照)処理に必要な機能を実現する。
 推論モジュール2263は、生成された予測モデル140を用いて推論(予測)を行うとともに、その予測結果を評価モジュール2264へ提供する。評価モジュール2264は、推論モジュール2263からの予測結果に基づいて、対象の予測モデル140の性能を評価する。推論モジュール2263および評価モジュール2264の提供する機能によって、使用するモデルパラメータを決定する処理(図4に示すステップS5参照)が実現される。
 図8は、図7に示す解析プログラム226に含まれる機能モジュールの概要を示すブロック図である。図8を参照して、サポート装置200の解析プログラム226は、主要な機能構成として、ユーザインターフェイス230と、入出力管理モジュール236と、画面表示モジュール238と、グラフライブラリ240と、解析モジュール242と、解析ライブラリ244とを含む。
 ユーザインターフェイス230は、ユーザからの設定を受け付けるとともに、ユーザに対して各種情報を提供するための統括的な処理を実行する。具体的な実装形態として、ユーザインターフェイス230は、スクリプトエンジン232を有しており、必要な処理を記述したスクリプトを含む設定ファイル234を読み込んで、設定された処理を実行する。
 入出力管理モジュール236は、指定されたファイルなどからデータを読み込むファイル入力機能と、データストリームを受信するストリーム入力機能と、生成したデータなどを含むファイルを出力するファイル出力機能とを含む。
 画面表示モジュール238は、入力されたデータなどに基づいて折れ線グラフを生成する折れ線グラフ生成機能と、ユーザの操作を受けて各種パラメータを変更するパラメータ調整機能とを含む。パラメータの変更に伴って、折れ線グラフ生成機能は折れ線を更新することもある。折れ線グラフ生成機能およびパラメータ調整機能は、グラフライブラリ240を参照して必要な処理を実行する。
 解析モジュール242は、解析プログラム226の主要な処理を実現するモジュールであり、波形サンプル機能と、説明変数・区間選択機能と、パラメータ選択機能と、モデル生成機能とを有している。解析モジュール242に含まれる各機能は、解析ライブラリ244を参照することで実現される。
 解析ライブラリ244は、解析モジュール242に含まれる各機能が処理を実行するためのライブラリを含む。より具体的には、解析ライブラリ244は、統計量機能、決定木機能、時系列回帰機能、グリッドサーチ機能、クラスタリング機能、推論速度評価機能、精度評価機能、および、異常検知機能を有していてもよい。
 以下、図4に示す予測モデル140を生成するための主要な処理について説明する。
 <E.実績値の時系列データの取得(ステップS1)および予測対象区間の決定(ステップS2)>
 図4に示すステップS1において、サポート装置200は、ユーザ操作に従って、制御装置100のTSDB130に格納されている実績値の時系列データを取得する。ユーザは、サポート装置200に表示される実績値の時系列データを見ながら、予測対象区間を設定する。
 予測対象区間は、上述の図2および図3に示すような制御対象の特性などに応じて、適宜設定されてもよい。
 <F.予測モデルの生成に用いられる学習用サンプルの選択(ステップS3)>
 図4に示すステップS3において、サポート装置200は、予測モデル140の生成に用いられる学習用サンプルを選択する。
 本明細書において、「サンプル」は、予測モデル140から出力されるべき予測値の教師データとして用いられる所定時間長さのデータ列を意味する。「サンプル」は、基本的には、予測対象の時系列データ(生データ)が用いられるが、予測対象が時系列データから抽出される特徴量である場合には、特徴量を用いてもよい。「サンプル」という用語は、複数のデータを処理する際の処理単位に注目したものであり、それに含まれるデータの内容などについては、特に限定するようなものではない。
 本明細書において、任意の予測値を算出または決定するために参照されるデータを「説明変数」とも称す。1または複数の「説明変数」を用いて、任意の予測値が算出または決定される。そのため、学習用サンプルは、「説明変数」の候補となり得るデータと何らかの方法で関連付けられることになる。
 本明細書において、「特徴量」は、処理対象の時系列データに含まれる情報を包含する用語であり、例えば、対象の時系列データについての、最大値、最小値、中間値、平均値、標準偏差、分散などを含み得る。なお、「特徴量」は、対象の時系列データそのものも含み得る。
 図9は、本実施の形態に係る予測システム1における学習用サンプルの選択例を説明するための図である。図9には、予測対象区間に対応して、所定時間長さの時系列データ(サンプル)の一例を示す。
 これらのサンプルのうち、変化パターンの異なるものを学習に用いるほど、予測モデル140の予測精度を高めることができる。すなわち、同じような変化パターンを示すサンプルを用いて学習しても、予測モデル140の予測精度の向上には貢献しない。
 変化パターンが互いに異なるサンプルとして、図9に示す例では、太枠で囲まれた4つのサンプルが学習用サンプルとして選択されている。
 変化パターンが互いに異なるサンプルを選択する方法の一例として、各サンプルから1または複数の特徴量(例えば、平均値や標準偏差など)を算出し、算出された1または複数の特徴量に基づいて、サンプルをクラスタリングする。このようなクラスタリングによって、対象のサンプル群に含まれる1または複数のクラスを抽出する。そして、抽出された各クラスに属する1または複数のサンプルをそれぞれ学習用サンプルとして選択する。
 図10は、図4に示される生成処理の処理手順における学習用サンプルの選択(ステップS3)に係るより詳細な処理手順を示すフローチャートである。
 図10を参照して、サポート装置200は、対象の時系列データをトリミングしてサンプルを生成する(ステップS31)。時系列データのトリミングは、予測対象区間に関連した部分のみを抽出することで行われる。
 続いて、サポート装置200は、各サンプルから1または複数の特徴量を算出し(ステップS32)、算出した1または複数の特徴量に基づいてクラスタリングを行う(ステップS33)。
 サポート装置200は、クラスタリングによって決定された1または複数のクラスの各々から1または複数のサンプルを選択し、選択されたサンプルを学習用サンプルとして決定する(ステップS34)。
 このように、サポート装置200は、予測モデル140の生成に係る機能として、各サンプルから算出される1または複数の特徴量を用いたクラスタリングにより、複数のサンプルのうち学習用サンプルとして用いられるサンプルを選択する処理を実行する。
 図11は、図4に示される生成処理の処理手順における学習用サンプルの選択に係るクラスタリングの一例を示す図である。図11には、各サンプルから2つの特徴量(平均値および標準偏差)を算出し、各特徴量を座標とする2次元空間に各サンプルをプロットした例を示す。
 図11に示すサンプル群は、平均値および標準偏差の特徴量についてみれば、3つのクラスタ(クラス1~3)が含まれていることが分かる。抽出された各クラスに属する1または複数のサンプルがそれぞれ選択される。すなわち、クラス1に属する1または複数のサンプルが抽出され、クラス2に属する1または複数のサンプルが抽出され、クラス3に属する1または複数のサンプルが抽出される。これによって、互いにクラスの異なる複数のサンプルが学習用サンプルとして決定される。
 学習用サンプルの対象となるサンプルの選択は、サポート装置200が自動的に行ってもよいし、ユーザが処理を支援あるいは選択結果を確認するようにしてもよい。例えば、サンプル選択結果をユーザが確認し、手動で選択し直しができるようにしてもよい。
 図12は、実施の形態に係る予測システム1における学習用サンプルを選択する処理において提供されるユーザインターフェイスの一例を示す図である。図13は、実施の形態に係る予測システム1における学習用サンプルを選択する処理において提供されるユーザインターフェイスの別の一例を示す図である。図12および図13には、サンプル選択の結果表示の一例を示す。
 図12に示すユーザインターフェイス画面250は、選択されたサンプル群254のうちチェックされたサンプルを同一時間軸上に重ね合わせて表示した合成波形252が表示できるようになっている。ユーザは、サンプル群254から任意のサンプルを選択して、合成波形252として表示することで、サンプルの選択適否を容易に確認できる。
 図13に示すユーザインターフェイス画面260は、選択されたサンプル間の類似度を行列形式で表示する。ユーザインターフェイス画面260は行列状に配置された表示要素を有しており、1つの対角線状に各サンプルの波形が配置されている。当該対角線より上側には、サンプル間の類似度264(相関係数)が示されており、当該対角線より下側には、対応する2のサンプルを同一時間軸上に重ね合わせて表示した合成波形262が表示されている。
 図12および図13に示すユーザインターフェイス画面を同一画面内に表示するようにしてもよい。この場合には、ユーザがユーザインターフェイス画面250において任意のサンプルを選択すると、当該選択されたサンプルに対応して、図13に示すユーザインターフェイス画面260の対応するサンプルが強調表示されてもよい。さらに、ユーザインターフェイス画面250において任意の波形を選択することで、選択対象および選択非対象が交互に切り替えられるようにしてもよい。
 以上のような処理によって、予測モデルの生成に用いられる学習用サンプルが選択される。
 <G.説明変数および区間の決定(ステップS4)>
 図4に示すステップS4において、サポート装置200は、予測モデル140に係る説明変数および区間を決定する。
 ステップS4においては、予測モデル140に採用する予測アルゴリズムについては、デフォルト値などに固定した上で、説明変数および区間をそれぞれ変化させた組み合わせについて、予測モデル140を生成するとともに、性能を評価することで、使用する説明変数および区間を決定する。すなわち、サポート装置200は、予測モデル140のモデルパラメータを固定した上で、予測に用いる説明変数および区間を探索する。
 使用する説明変数および区間を決定する際の探索区間については、制御装置100で実行されるユーザプログラムに設定されている制御周期を参照し、設定されている制御周期に基づいて好ましい探索区間を決定してもよい。
 図14は、図4に示される生成処理の処理手順における説明変数および区間の決定(ステップS4)に係るより詳細な処理手順を示すフローチャートである。図14を参照して、サポート装置200は、対象の制御装置100で実行されているユーザプログラムを参照して制御周期を取得する(ステップS41)。サポート装置200が制御装置100に接続されている場合には、制御装置100にアクセスして必要な情報を取得すればよいし、サポート装置200が制御装置100に接続されていない場合には、サポート装置200が保持しているプロジェクトなどを参照して、制御周期を取得するようにしてもよい。
 サポート装置200は、取得した制御周期の整数倍を、区間を探索するための探索区間として設定する(ステップS42)。
 サポート装置200は、予め選択された学習用サンプル(上述のステップS3参照)に関連する複数の変数から1または複数の説明変数を選択する(ステップS43)。より具体的には、サポート装置200は、学習用サンプルおよび関連する複数の変数に決定木アルゴリズムを適用して、各変数の重要度(importance)を算出する。そして、サポート装置200は、重要度が高い変数を説明変数として選択する。
 なお、決定木アルゴリズムとしては公知の任意のアルゴリズムを採用できるが、例えば、ランダムフォレストなどを用いることができる。
 このように、サポート装置200は、予測モデル140の生成に係る機能として、予測モデル140の生成に用いられる学習用サンプルに関連付けられる複数の変数(状態値)のうち、学習用サンプルに対する重要度に基づいて、1または複数の変数(状態値)を説明変数として決定する処理を実行する。
 サポート装置200は、探索区間に含まれるいずれか1つの候補区間を設定する(ステップS44)。候補区間は、探索区間に含まれる区間の長さおよび/または位置を異ならせることで生成される。そして、サポート装置200は、ステップS43において選択した1または複数の説明変数、および、ステップS44において設定した候補区間をパラメータとして、学習用サンプルを用いて予測モデル140を生成する(ステップS45)。そして、サポート装置200は、生成した予測モデル140の推論に係る性能を評価する(ステップS46)。ステップS46においては、性能を示す数値が対応する候補区間と関連付けて格納される。
 そして、サポート装置200は、探索区間に含まれるすべての候補区間についての予測モデル140の生成および性能評価が完了したか否かを判断する(ステップS47)。探索区間に含まれるすべての候補区間についての予測モデル140の生成および性能評価が完了していなければ(ステップS47においてNO)、サポート装置200は、探索区間に含まれる別の候補区間を設定し(ステップS48)、ステップS45以下の処理を繰り返す。
 一方、探索区間に含まれるすべての候補区間についての予測モデル140の生成および性能評価が完了していれば(ステップS47においてYES)、サポート装置200は、最も高い性能評価を示した候補区間を予測モデル140の区間として決定する(ステップS49)。
 このように、サポート装置200は、予測モデル140の生成に係る機能として、探索区間に含まれる区間を順次異ならせて、決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する処理を実行する。この予測に用いる区間を決定する処理においては、サポート装置200は、探索区間に含まれる区間の長さおよび位置の少なくとも一方を異ならせた各パターンにおいて生成される予測モデルの性能をそれぞれ評価することになる。
 図15は、図4に示される生成処理の処理手順における説明変数および区間の決定(ステップS4)の処理内容を概略するための模式図である。図15を参照して、複数の変数1,2,・・・,nに対して決定木アルゴリズムを適用することで、説明変数が決定される。決定木アルゴリズムの適用には、学習用サンプルが用いられる。
 また、ユーザプログラムに基づいて探索区間が決定され、決定された探索区間から1または複数の候補区間が設定される。そして、候補区間毎に予測モデル140が生成され、生成された予測モデル140の性能が評価される。
 最終的に、性能の高い予測モデル140に対応する説明変数および区間が決定される。
 このように、図4に示すステップS4において、サポート装置200は、決定木アルゴリズムによって算出される重要度に基づいて説明変数を決定し、決定した説明変数を用いて探索区間内で区間をグリッドサーチ(総当たり探索)することで、説明変数および区間を決定する。
 なお、上述の図14に示す生成処理の処理手順においては、ステップS43において、1または複数の説明変数を先に決定したが、説明変数についてもいくつかの候補を設定し、各候補(各候補が1または複数の説明変数を含む)についてステップS44以下の処理を実行するようにしてもよい。
 図16~図19は、実施の形態に係る予測システム1における説明変数および区間を決定する処理において提供されるユーザインターフェイスの一例を示す図である。
 図16~図19を参照して、ユーザインターフェイス画面270は、実績値および予測値を表示する波形表示領域276を含む。
 波形表示領域276には、実績値および予測値の波形(時系列データ)が表示される。実績値は、学習用サンプルに含まれるいずれかのサンプルの波形(時系列データ)である。予測値は、生成した予測モデル140により出力される波形(時系列データ)である。
 予め定められた予測点271に対して、予測モデル140に入力する説明変数の範囲を定める区間272の位置および時間幅が任意に設定できる。ユーザは、マウスなどを操作して、区間272の位置を移動させることで、区間272の区間幅273および予測点との時間差274を任意に変更できる。
 ユーザが任意に設定した区間272に応じて、予測値の波形(時系列データ)が算出され、その算出された予測値の波形(時系列データ)が波形表示領域276に表示される。
 ユーザインターフェイス画面270は、説明変数リスト277を含み、1または複数の変数のうちチェックされた変数が説明変数として用いられる。
 図16~図19に示されるユーザインターフェイス画面270において、図18に示されるユーザインターフェイス画面270の設定が最も高い精度の予測値を算出していることが分かる。
 ユーザインターフェイス画面270は、実績値と予測値とのずれを示す予測誤差275を含む。
 ユーザがユーザインターフェイス画面270を操作することに応じて、サポート装置200は、図14に示される処理によって生成される予測モデル140をそのまま利用して、予測値を算出してもよい。あるいは、サポート装置200は、ユーザがユーザインターフェイス画面270を操作して、説明変数および/または区間を適宜変更することに応答して、図15のステップS43以降の処理、または、ステップS44以降の処理を再実行するようにしてもよい。すなわち、予測モデル140を再生成してもよい。
 図16~図19に示されるユーザインターフェイス画面270に応じて、予測モデル140を再生成することで、ユーザは、予測モデル140に設定すべき説明変数および/または区間を探索しながら、決定できる。
 このように、サポート装置200は、予測に用いる区間を変更するための、ユーザ操作を受け付けるユーザインターフェイス画面270(図16~図19参照)を提供する。
 以上のような処理によって、予測モデルの生成に用いられる説明変数および区間が決定される。
 <H.モデルパラメータの決定(ステップS5)>
 図4に示すステップS5において、サポート装置200は、予測モデル140に使用するモデルパラメータを決定する。
 上述のステップS4においては、予測モデル140に採用する予測アルゴリズムなどについてはデフォルト値などに固定して、説明変数および区間を決定した。ステップS5においては、決定された説明変数および区間を前提として、予測精度、モデルサイズ、処理速度などの運用上の指標を考慮しつつ、予測モデル140のモデルパラメータを決定する。
 以下の説明においては、予測精度、モデルサイズ、処理速度を複数の指標の一例として説明するが、必ずしもこれらの要素に限定されることはない。但し、複数の指標としては、予測精度、モデルサイズ、処理速度のうち少なくとも1つを含んでいることが好ましい。
 図20は、図4に示されるモデルパラメータの決定(ステップS5)に係るより詳細な処理手順を示すフローチャートである。図20を参照して、サポート装置200は、モデルパラメータの探索範囲を決定する(ステップS51)。モデルパラメータの探索範囲は、探索対象のパラメータの種類に加えて、各パラメータの探索範囲(上下限)を決定する。
 続いて、サポート装置200は、ステップS51において決定した探索範囲に含まれる任意のモデルパラメータのデータセットを対象として選択する(ステップS52)。そして、サポート装置200は、選択したモデルパラメータのデータセットに基づいて、予測モデル140を生成し(ステップS53)、生成した予測モデル140の性能(予測精度、モデルサイズ、処理速度など)を評価する(ステップS54)。
 サポート装置200は、ステップS51において決定した探索範囲に含まれる別のモデルパラメータのデータセットが存在するか否かを判断する(ステップS55)。ステップS51において決定した探索範囲に含まれる別のモデルパラメータのデータセットが存在していれば(ステップS55においてYES)、サポート装置200は、ステップS51において決定した探索範囲に含まれる別のモデルパラメータのデータセットを選択し(ステップS56)、ステップS53以下の処理を繰り返す。
 これに対して、ステップS51において決定した探索範囲に含まれる別のモデルパラメータのデータセットが存在していなければ(ステップS55においてNO)、サポート装置200は、データセット毎の性能評価の結果に基づいて、最も適切なモデルパラメータのデータセットを探索し(ステップS57)、探索したモデルパラメータおよび対応する性能評価の結果を表示する(ステップS58)。
 最終的に、サポート装置200は、ユーザからの指示に従って、予測モデル140を生成するためのモデルパラメータを決定する(ステップS59)。
 このように、サポート装置200は、予測モデル140の生成に係る機能として、決定された説明変数および決定された区間の条件下で、予測モデル140を規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデル140について複数の指標を評価することで、予測モデル140を規定するためのモデルパラメータを決定する処理を実行する。
 図21は、実施の形態に係る予測システム1におけるモデルパラメータを決定する処理において提供されるユーザインターフェイスの一例を示す図である。図21に示すユーザインターフェイス画面270においては、図16~図19に示されるユーザインターフェイス画面270に比較して、算出された、予測精度281、モデルサイズ282および処理速度283が追加で表示されている。
 このように、サポート装置200は、複数の指標を表示するユーザインターフェイス画面270(図21参照)を提供する。ユーザは、これらの指標を確認しつつ、説明変数および区間を調整することもできる。
 なお、図20のステップS57における最適なモデルパラメータの探索は、予測精度、モデルサイズ、処理速度などの指標に対して優先度を設定することで実現してもよい。
 例えば、予測精度、モデルサイズ、処理速度の順で指標の優先度を設定したとする。併せて、各指標について最低限の条件を設定してもよい。
 例えば、以下のような設定を行ってもよい。
  ・優先度1指標:予測精度条件;条件:予測精度≧80%
  ・優先度2指標:モデルサイズ;条件:モデルサイズ≦50MB
  ・優先度3指標:処理速度;条件:処理速度≦0.1msec
 このような各指標が設定されると、サポート装置200は、優先度1指標について良好なモデルパラメータの集合を抽出した上で、優先度2指標および優先度3指標の両方が良好なデータセットを探索する。
 なお、いずれの指標に対してどのような優先度を設定してもよいし、複数の指標に対して同じ優先度を設定してもよい。さらに、優先度を設定せずに、各指標について評価を行った結果を総合して、最適なデータセットを決定してもよい。
 このように、モデルパラメータの決定(ステップS5)においては、グリッドサーチ(総当たり探索)により、総合的に指標のよい(典型的には、精度が高く、モデルサイズが小さく、処理速度の高い)モデルパラメータを決定できる。
 さらに、ユーザは、ユーザインターフェイス画面上で、決定されたモデルパラメータによる予測モデルの性能を確認しつつ、必要に応じてモデルパラメータ、説明変数および区間などを微調整することで、適切な予測モデル140を生成できる。
 このようなユーザインターフェイス画面が提供されることで、予測精度、モデルサイズ、処理速度などの複数の指標を含む総合評価で、予測モデル140を決定できる。
 <I.変形例>
 上述の説明においては、時間変化を予測する予測システム1について説明したが、制御対象などに生じる異常を検知する異常検知システムにも適用可能である。
 図22は、本実施の形態の変形例に係る異常検知システム1Aの概要構成を示す模式図である。図22を参照して、異常検知システム1Aは、制御対象から取得された生データ40から学習用サンプルを選択し(サンプル選択42)、選択された学習用サンプルに基づいて異常検知モデル44が生成される。そして、生成された異常検知モデル44を用いて、異常検知の運用46が実行される。
 異常検知モデル44は、制御対象が通常の状態とは異なる状態を示していることを検知することを主題とするものであり、制御対象から収集される生データ(時系列データ)を用いて、収集された生データに適合する異常検知モデル44が生成される。異常検知モデル44に通常とは異なる生データが入力されることで、通常とは異なる状態であることを示す値が出力されることで、制御対象に何らかの異常が発生していることを検知できる。
 このような異常検知モデル44に用いられる学習用サンプルについては、上述のステップS3と同様に、変化パターンが互いに異なる生データを採用することが好ましい。
 図23は、図22に示されるサンプル選択の処理例を説明するための図である。図23を参照して、例えば、5つの生データ401~405が収集された場合において、生データ401と生データ404とは、類似した分布を有している。同様に、生データ402と生データ405とは、類似した分布を有している。
 このような互いに似ている分布を有する生データについては、1つの生データのみを学習用サンプルとして使用することが好ましい。その結果、図23に示す例では、生データ401および生データ404のいずれか一方と、生データ402および生データ405のいずれか一方と、生データ403との3種類の生データを学習用サンプルとして選択してもよい。
 このように、異常検知モデル44に用いられる学習用サンプルについても、上述のステップS3と同様に、変化パターンが互いに異なるサンプルを抽出することで、異常検知モデル44の検知性能を高めることができる。
 <J.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
 [構成1]
 制御対象を制御するための制御演算を実行する制御演算部(164)と、
 前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部(156)と、
 前記予測モデルを予め決定する予測モデル生成部(200)とを備え、
 前記予測モデル生成部は、
  前記予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、前記学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段(2261)と、
  探索区間に含まれる区間を順次異ならせて、前記決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段(2261)と、
  前記決定された説明変数および前記決定された区間の条件下で、前記予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、前記予測モデルを規定するためのモデルパラメータを決定する手段(2262)とを含む、予測システム。
 [構成2]
 前記予測モデル生成部は、各サンプルから算出される1または複数の特徴量を用いたクラスタリングにより、複数のサンプルのうち前記学習用サンプルとして用いられるサンプルを選択する手段(2261)をさらに含む、構成1に記載の予測システム。
 [構成3]
 前記予測モデル生成部は、前記学習用サンプルおよび関連する複数の状態値に決定木アルゴリズムを適用することで、各状態値の重要度を算出する、構成1または2に記載の予測システム。
 [構成4]
 前記予測モデル生成部は、前記探索区間に含まれる区間の長さおよび位置の少なくとも一方を異ならせた各パターンにおいて生成される予測モデルの性能をそれぞれ評価する、構成1~3のいずれか1項に記載の予測システム。
 [構成5]
 前記予測モデル生成部は、前記予測モデルのモデルパラメータを固定した上で、前記予測に用いる区間を探索する、構成4に記載の予測システム。
 [構成6]
 前記予測モデル生成部は、前記予測に用いる区間を変更するための、ユーザ操作を受け付ける第1のユーザインターフェイス(270)を提供する手段をさらに含む、構成4または5に記載の予測システム。
 [構成7]
 前記複数の指標は、予測精度、モデルサイズ、処理速度のうち少なくとも1つを含む、構成1~6のいずれか1項に記載の予測システム。
 [構成8]
 前記予測モデル生成部は、前記複数の指標を表示する第2のユーザインターフェイス(270)を提供する手段をさらに含む、構成7に記載の予測システム。
 [構成9]
 制御装置(100)に接続される情報処理装置(200)であって、前記制御装置は、制御対象を制御するための制御演算を実行する制御演算部(164)と、前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部(156)とを備え、
 前記情報処理装置は、前記予測モデルを予め決定する予測モデル生成部として、
  前記予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、前記学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段(2261)と、
  探索区間に含まれる区間を順次異ならせて、前記決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段(2261)と、
  前記決定された説明変数および前記決定された区間の条件下で、前記予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、前記予測モデルを規定するためのモデルパラメータを決定する手段(2262)とを備える、情報処理装置。
 [構成10]
 制御装置(100)に接続されるコンピュータ(200)で実行される情報処理プログラム(226)あって、前記制御装置は、制御対象を制御するための制御演算を実行する制御演算部(164)と、前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部(156)とを備え、
 前記情報処理プログラムは、前記予測モデルを予め決定するための処理として、前記コンピュータに、
  前記予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、前記学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定するステップ(S43)と、
  探索区間に含まれる区間を順次異ならせて、前記決定された説明変数による予測精度を評価することで、予測に用いる区間を決定するステップ(S44)と、
  前記決定された説明変数および前記決定された区間の条件下で、前記予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、前記予測モデルを規定するためのモデルパラメータを決定するステップ(S5;S51~S59)とを実行させる、情報処理プログラム。
 <K.利点>
 本実施の形態に係る予測システムにおいては、最終的に、複数の指標に基づいて予測モデルを決定できるので、実際の運用に好適な予測モデルを容易に生成できる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 予測システム、1A 異常検知システム、2,4 フィールドバス、6 上位ネットワーク、10 フィールド装置群、12 リモートI/O装置、14 リレー群、16,124 I/Oユニット、18 画像センサ、20 カメラ、22 サーボドライバ、24 サーボモータ、30 プレス機、31 ワーク、32 中間製品、33 ベース、34 支持台、35 押し込み板、36 駆動軸、37 モータ、40,401,402,403,404,405 生データ、42 サンプル選択、44 異常検知モデル、46 運用、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,214 上位ネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、132 記憶領域、134 エクスポートモジュール、140 予測モデル、142 モデルパラメータ、144 参照軌道、150 PLCエンジン、154 ユーザプログラム、156 予測値取得コード、158 誤差評価コード、160 追加学習コード、162 書き込みコード、164 制御演算コード、200 サポート装置、204 光学ドライブ、205 記録媒体、216 入力部、218 表示部、220 バス、222 開発プログラム、224 インターフェイスプログラム、226 解析プログラム、230 ユーザインターフェイス、232 スクリプトエンジン、234 設定ファイル、236 入出力管理モジュール、238 画面表示モジュール、240 グラフライブラリ、242 解析モジュール、244 解析ライブラリ、250,260,270 ユーザインターフェイス画面、252,262 合成波形、254 サンプル群、264 類似度、271 予測点、272 区間、273 区間幅、274 時間差、275 予測誤差、276 波形表示領域、277 説明変数リスト、281 予測精度、282 モデルサイズ、283 処理速度、300 上位サーバ、400 表示装置、2261 区間決定モジュール、2262 モデル生成モジュール、2263 推論モジュール、2264 評価モジュール。

Claims (10)

  1.  制御対象を制御するための制御演算を実行する制御演算部と、
     前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部と、
     前記予測モデルを予め決定する予測モデル生成部とを備え、
     前記予測モデル生成部は、
      前記予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、前記学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段と、
      探索区間に含まれる区間を順次異ならせて、前記決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段と、
      前記決定された説明変数および前記決定された区間の条件下で、前記予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、前記予測モデルを規定するためのモデルパラメータを決定する手段とを含む、予測システム。
  2.  前記予測モデル生成部は、各サンプルから算出される1または複数の特徴量を用いたクラスタリングにより、複数のサンプルのうち前記学習用サンプルとして用いられるサンプルを選択する手段をさらに含む、請求項1に記載の予測システム。
  3.  前記予測モデル生成部は、前記学習用サンプルおよび関連する複数の状態値に決定木アルゴリズムを適用することで、各状態値の重要度を算出する、請求項1または2に記載の予測システム。
  4.  前記予測モデル生成部は、前記探索区間に含まれる区間の長さおよび位置の少なくとも一方を異ならせた各パターンにおいて生成される予測モデルの性能をそれぞれ評価する、請求項1~3のいずれか1項に記載の予測システム。
  5.  前記予測モデル生成部は、前記予測モデルのモデルパラメータを固定した上で、前記予測に用いる区間を探索する、請求項4に記載の予測システム。
  6.  前記予測モデル生成部は、前記予測に用いる区間を変更するための、ユーザ操作を受け付ける第1のユーザインターフェイスを提供する手段をさらに含む、請求項4または5に記載の予測システム。
  7.  前記複数の指標は、予測精度、モデルサイズ、処理速度のうち少なくとも1つを含む、請求項1~6のいずれか1項に記載の予測システム。
  8.  前記予測モデル生成部は、前記複数の指標を表示する第2のユーザインターフェイスを提供する手段をさらに含む、請求項7に記載の予測システム。
  9.  制御装置に接続される情報処理装置であって、前記制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを備え、
     前記情報処理装置は、前記予測モデルを予め決定する予測モデル生成部として、
      前記予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、前記学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定する手段と、
      探索区間に含まれる区間を順次異ならせて、前記決定された説明変数による予測精度を評価することで、予測に用いる区間を決定する手段と、
      前記決定された説明変数および前記決定された区間の条件下で、前記予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、前記予測モデルを規定するためのモデルパラメータを決定する手段とを備える、情報処理装置。
  10.  制御装置に接続されるコンピュータで実行される情報処理プログラムであって、前記制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを備え、
     前記情報処理プログラムは、前記予測モデルを予め決定するための処理として、前記コンピュータに、
      前記予測モデルの生成に用いられる学習用サンプルに関連付けられる複数の状態値のうち、前記学習用サンプルに対する重要度に基づいて、1または複数の状態値を説明変数として決定するステップと、
      探索区間に含まれる区間を順次異ならせて、前記決定された説明変数による予測精度を評価することで、予測に用いる区間を決定するステップと、
      前記決定された説明変数および前記決定された区間の条件下で、前記予測モデルを規定するモデルパラメータを順次異ならせて、各モデルパラメータにより規定される予測モデルについて複数の指標を評価することで、前記予測モデルを規定するためのモデルパラメータを決定するステップとを実行させる、情報処理プログラム。
PCT/JP2020/043755 2019-12-05 2020-11-25 予測システム、情報処理装置および情報処理プログラム WO2021111936A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/780,732 US20220414555A1 (en) 2019-12-05 2020-11-25 Prediction system, information processing apparatus, and information processing program
CN202080082409.6A CN114787735A (zh) 2019-12-05 2020-11-25 预测系统、信息处理装置以及信息处理程序
EP20895579.9A EP4071570A4 (en) 2019-12-05 2020-11-25 PREDICTION SYSTEM, INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING PROGRAM
KR1020227017702A KR20220085827A (ko) 2019-12-05 2020-11-25 예측 시스템, 정보 처리 장치 및 기록 매체

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019220426A JP7413742B2 (ja) 2019-12-05 2019-12-05 予測システム、情報処理装置および情報処理プログラム
JP2019-220426 2019-12-05

Publications (1)

Publication Number Publication Date
WO2021111936A1 true WO2021111936A1 (ja) 2021-06-10

Family

ID=76220280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/043755 WO2021111936A1 (ja) 2019-12-05 2020-11-25 予測システム、情報処理装置および情報処理プログラム

Country Status (6)

Country Link
US (1) US20220414555A1 (ja)
EP (1) EP4071570A4 (ja)
JP (1) JP7413742B2 (ja)
KR (1) KR20220085827A (ja)
CN (1) CN114787735A (ja)
WO (1) WO2021111936A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022119321A (ja) * 2021-02-04 2022-08-17 東京エレクトロン株式会社 情報処理装置、プログラム及びプロセス条件探索方法
CN113822580B (zh) * 2021-09-24 2024-06-28 深圳市出新知识产权管理有限公司 一种设备工况评估方法以及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002062927A (ja) * 2000-08-22 2002-02-28 Hitachi Ltd 排水処理プロセスシミュレータ
JP2009237832A (ja) 2008-03-26 2009-10-15 Tokyo Gas Co Ltd 可変的予測モデル構築方法、及び、可変的予測モデル構築システム
JP2012074007A (ja) * 2010-08-31 2012-04-12 Fuji Electric Co Ltd プラントの運転条件最適化システム、プラントの運転条件最適化方法、プラントの運転条件最適化プログラム
JP2012128800A (ja) * 2010-12-17 2012-07-05 Nippon Steel Engineering Co Ltd プロセスの状態予測方法及びそれを用いたプロセス制御装置
WO2016088362A1 (ja) * 2014-12-05 2016-06-09 日本電気株式会社 システム分析装置、システム分析方法および記憶媒体
JP2018180759A (ja) * 2017-04-07 2018-11-15 株式会社日立製作所 システム分析装置、及びシステム分析方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496927B2 (en) * 2014-05-23 2019-12-03 DataRobot, Inc. Systems for time-series predictive data analytics, and related methods and apparatus
US20160071017A1 (en) * 2014-10-15 2016-03-10 Brighterion, Inc. Method of operating artificial intelligence machines to improve predictive model training and performance
GB2543281A (en) * 2015-10-13 2017-04-19 British Gas Trading Ltd System for energy consumption prediction
US10417528B2 (en) * 2018-02-18 2019-09-17 Sas Institute Inc. Analytic system for machine learning prediction model selection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002062927A (ja) * 2000-08-22 2002-02-28 Hitachi Ltd 排水処理プロセスシミュレータ
JP2009237832A (ja) 2008-03-26 2009-10-15 Tokyo Gas Co Ltd 可変的予測モデル構築方法、及び、可変的予測モデル構築システム
JP2012074007A (ja) * 2010-08-31 2012-04-12 Fuji Electric Co Ltd プラントの運転条件最適化システム、プラントの運転条件最適化方法、プラントの運転条件最適化プログラム
JP2012128800A (ja) * 2010-12-17 2012-07-05 Nippon Steel Engineering Co Ltd プロセスの状態予測方法及びそれを用いたプロセス制御装置
WO2016088362A1 (ja) * 2014-12-05 2016-06-09 日本電気株式会社 システム分析装置、システム分析方法および記憶媒体
JP2018180759A (ja) * 2017-04-07 2018-11-15 株式会社日立製作所 システム分析装置、及びシステム分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4071570A4

Also Published As

Publication number Publication date
CN114787735A (zh) 2022-07-22
KR20220085827A (ko) 2022-06-22
JP2021089653A (ja) 2021-06-10
JP7413742B2 (ja) 2024-01-16
EP4071570A4 (en) 2023-12-06
EP4071570A1 (en) 2022-10-12
US20220414555A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
JP6903976B2 (ja) 制御システム
CN101536002B (zh) 用于工艺监控的系统和方法
EP3540532B1 (en) Control system and control method
WO2022030041A1 (ja) 予測システム、情報処理装置および情報処理プログラム
CN108693822A (zh) 控制装置、存储介质、控制系统及控制方法
WO2021111936A1 (ja) 予測システム、情報処理装置および情報処理プログラム
CN117829318A (zh) 一种基于大模型算法的数字孪生系统
WO2022176375A1 (ja) 予測システム、情報処理装置および情報処理プログラム
WO2022270056A1 (ja) 予測システム、情報処理装置および情報処理プログラム
JP2023006304A (ja) 制御システム、モデル生成方法およびモデル生成プログラム
WO2022162957A1 (ja) 情報処理装置、制御システムおよびレポート出力方法
JP2023151886A (ja) 情報処理装置および情報処理プログラム
WO2023053511A1 (ja) 制御システム、情報処理方法および情報処理装置
WO2022181007A1 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP2023151755A (ja) 情報処理装置および情報処理プログラム
JP7567586B2 (ja) 情報処理装置、パラメータ算出方法及びパラメータ算出プログラム
JP2024060240A (ja) 情報処理装置、情報処理方法およびプログラム
JP2023151888A (ja) 予測システム、制御装置および制御プログラム
JP2023002962A (ja) 情報処理装置、モデル生成プログラムおよびモデル生成方法
CN118363502A (zh) 一种电弧增材制造数字孪生可视化方法
JP2024118777A (ja) 情報処理装置、情報処理方法および情報処理プログラム
CN116894544A (zh) 数据收集装置、记录介质以及方法
Corlu et al. A FRAMEWORK FOR VALIDATING DATA-DRIVEN DISCRETE-EVENT SIMULATION MODELS OF CYBER-PHYSICAL PRODUCTION SYSTEMS

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20895579

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20227017702

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020895579

Country of ref document: EP

Effective date: 20220705