Estimation device, estimation method, and estimation program
The estimation device addresses the robustness issue of non-stationary data models by using nearby data for learning and alerting on deviations, ensuring model suitability and accuracy for practical applications.
Patent Information
- Application Number
- JP2021198822
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2025-12-01
- Estimated Expiration
- 2041-12-07
AI Technical Summary
Models trained using non-stationary data such as time-series data generated in plants or urban spaces lack robustness and are not suitable for practical application.
An estimation device that includes a memory unit for storing training data, an extraction unit for selecting nearby data based on a threshold distance, a generation unit for learning using this data to generate a model, and an estimation unit for outputting estimated values while alerting on deviations or range violations.
Enables confirmation of a trained model's suitability for practical application by using nearby data for learning, alerting on deviations, and improving model accuracy through additional training data.
Smart Images

Figure 0007777970000001 
Figure 0007777970000002 
Figure 0007777970000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an estimation device, an estimation method, and an estimation program. [Background technology]
[0002] In recent years, there has been a growing expectation for technology that can learn and utilize the characteristics of time-series data generated by sensors and other sources in various locations in urban spaces, including plants. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-185194 Summary of the Invention [Problem to be solved by the invention]
[0004] However, models trained using non-stationary data such as time-series data generated in plants or urban spaces lack robustness and may not be appropriate for practical application.
[0005] The present invention has been made in consideration of the above, and aims to confirm whether a trained model trained using non-stationary data such as time-series data generated in plants or urban spaces is appropriate for actual application. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems and achieve the object, the estimation device of the present invention includes a memory unit that stores training data that is a combination of input values and actual measured values; an extraction unit that extracts nearby data from the training data, where the distance between the input value and a request point that is a desired input value to be input into a model that outputs an estimated value is equal to or less than a predetermined threshold; a generation unit that generates the model by learning using the extracted nearby data; and an estimation unit that outputs an estimated value for the input value using the generated model, wherein the estimation unit outputs an alert when the estimated value to be output is outside a predetermined range or when the input value deviates from the range of distribution of input values of the nearby data. [Effects of the Invention]
[0007] According to the present invention, it is possible to confirm whether a trained model trained using non-stationary data such as time-series data generated in plants or urban spaces is appropriate for actual application. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a schematic diagram illustrating a schematic configuration of an estimation device. [Figure 2] FIG. 2 is a diagram for explaining the processing of the extraction unit. [Figure 3] FIG. 3 is a diagram for explaining the processing of the estimation unit. [Figure 4] FIG. 4 is a diagram for explaining the processing of the estimation unit. [Figure 5] FIG. 5 is a diagram for explaining the processing of the estimation unit. [Figure 6] FIG. 6 is a diagram for explaining the processing of the estimation unit. [Figure 7] FIG. 7 is a flowchart illustrating an example of the estimation process procedure. [Figure 8] FIG. 8 is a diagram illustrating a computer that executes an estimation program. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to this embodiment. In addition, in the description of the drawings, the same parts are designated by the same reference numerals.
[0010] [Configuration of the estimation device] Fig. 1 is a schematic diagram illustrating the general configuration of an estimation device. As illustrated in Fig. 1, an estimation device 10 is realized by a general-purpose computer such as a personal computer, and includes an input unit 11, an output unit 12, a communication control unit 13, a storage unit 14, and a control unit 15.
[0011] The input unit 11 is realized using input devices such as a keyboard and a mouse, and inputs various instruction information such as a command to start processing to the control unit 15 in response to input operations by an operator. The output unit 12 is realized by a display device such as a liquid crystal display, a printing device such as a printer, or the like.
[0012] The communication control unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between an external device via a network and the control unit 15. For example, the communication control unit 13 controls communication between the control unit 15 and a sensor that outputs time-series data to be processed in the estimation process described later, a management device that manages the time-series data, or the like.
[0013] The storage unit 14 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 14 stores in advance a processing program for operating the estimation device 10, data used during execution of the processing program, and the like, or temporarily stores the data each time processing is performed. The storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.
[0014] In this embodiment, the storage unit 14 stores, for example, training data 14a used in an estimation process described below and a model 14b generated in the estimation process. The training data 14a is a combination of input values and actual measured values. For example, the storage unit 14 stores a large amount of past combinations of input values and actual measured values as the training data 14a.
[0015] The control unit 15 is realized using a CPU (Central Processing Unit) or the like, and executes a processing program stored in a memory. As a result, the control unit 15 functions as an acquisition unit 15a, an extraction unit 15b, a generation unit 15c, and an estimation unit 15d, as exemplified in FIG. 1. Note that each or some of these functional units may be implemented in different hardware. For example, the generation unit 15c and the estimation unit 15d may be implemented in different devices. The control unit 15 may also include other functional units.
[0016] The acquiring unit 15a acquires non-stationary data such as time-series data. For example, the acquiring unit 15a acquires non-stationary time-series data such as sensor values to be subjected to estimation processing, which will be described later, via the input unit 11 or the communication control unit 13 from a management device or the like that manages the sensors or the sensor values.
[0017] The extraction unit 15b extracts, from the training data 14a, data in the vicinity where the distance between the input value and the request point, which is a desired input value to be input to a model that outputs an estimated value, is equal to or less than a predetermined threshold.
[0018] Here, FIG. 2 is a diagram for explaining the processing of the extraction unit. FIG. 2 illustrates a scatter plot of training data 14a. Furthermore, model 14b is realized by an algorithm f(x) that represents the relationship between explanatory variable x and target variable y, and outputs an estimated value y when an input value x is input. In order to locally estimate algorithm f at a desired request point through learning, extraction unit 15b extracts data from training data 14a that is near the request point. Specifically, as shown by a triangle in FIG. 2, extraction unit 15b extracts data from training data 14a that corresponds to x and whose distance from the request point is equal to or less than a predetermined threshold as nearby data.
[0019] In the estimation device 10, a generating unit 15c (described later) performs learning using the extracted nearby data as training data to generate a model 14b that locally represents the algorithm f at the request point.
[0020] In this case, if the amount of nearby data used to generate the model 14b is small, the accuracy of learning will not improve. Therefore, the extraction unit 15b outputs an alert when the number of extracted nearby data is less than a predetermined number. For example, the extraction unit 15b displays a message to the user on the output unit 12 or on a user terminal or the like via the communication control unit 13, indicating that "the accuracy of the generated model may be low." This allows the user to detect when the reliability of the generated model 14b is not high.
[0021] Furthermore, when outputting an alert, the extraction unit 15b further stores the actual measurement value at the request point as training data 14a in the storage unit 14. That is, for an unknown request point with little data in the vicinity, the extraction unit 15b adds a combination of the request point and the actual measurement value to the training data 14a. This enables the estimation device 10 to improve the accuracy of the model 14b to be generated subsequently.
[0022] Returning to the explanation of Fig. 1, the generation unit 15c generates the model 14b by learning using the extracted nearby data. That is, as described above, the generation unit 15c generates the model 14b that locally represents the algorithm f at the request point by learning using the data nearby the desired request point as training data.
[0023] The estimation unit 15d outputs an estimated value for the input value using the generated model 14b. That is, the estimation unit 15d receives the non-stationary data acquired by the acquisition unit 15a as input, and applies the trained model 14b to output an estimated value.
[0024] The estimation unit 15d outputs an alert when the output estimated value is outside a predetermined range or when the input value deviates from the distribution range of the input values of nearby data. Furthermore, when outputting an alert, the estimation unit 15d further switches the model 14b to another model or re-learns the model 14b.
[0025] 3 to 6 are diagrams for explaining the processing of the estimation unit. Specifically, the estimation unit 15d outputs an alert when an estimated value to be output is outside a predetermined range. For example, the estimation device 10 sets the range of the estimated value to be "above a and below b." Then, when the output value for the input value of the applied trained model 14b is expected to deviate from the set range, the estimation unit 15d presents a message to the user indicating this.
[0026] For example, as shown in Fig. 3, when the input value is time-series data and the estimated value after one hour that is output corresponding to the input value is outside the set range, the estimation unit 15d displays a message such as "The estimated value after one hour will fall outside the guaranteed range." Fig. 3 illustrates a case where the input value is a sensor value in a plant and the estimated value after one hour, indicated by a circle, falls outside the range of values in the "guaranteed range" in the figure.
[0027] In this case, the user can switch from automatic operation to manual operation, or resume automatic operation when the estimated value output by the model 14b returns to the guaranteed range. In the "Past Manual Operation History" section of Figure 3, the operation has deviated from the guaranteed range and been switched to manual operation. The estimation unit 15d may switch to another trained model 14b so that the estimated value to be output falls within the set range.
[0028] Alternatively, the estimation unit 15d outputs an alert when an input value deviates from the distribution range of input values of nearby data. For example, as shown in FIG. 4, when the input value is time-series data and deviates from the distribution range of training data used to train the model 14b, a message indicating the unknown nature of the data is presented to the user. Here, an example of an input value deviating from the distribution range of the training data is when the input value is an outlier whose deviation (deviation degree) from the distribution of the training data is equal to or greater than a predetermined threshold. In this case, the estimation unit 15d presents the user with a message, for example, stating, "The current input value is not used in training the model being applied."
[0029] Alternatively, the deviation of the input value from the distribution of the training data may be determined as follows: for example, if it is α% or more, it is large (×); if it is β% or more but less than α%, it is medium (△); and if it is less than β%, it is small (◯). Figure 4 illustrates that for features A and C, the deviation of the current input value from the "guaranteed range (training data distribution)" is large (×). Also, for features B and D, it illustrates that the deviation from the "guaranteed range (training data distribution)" is medium (△).
[0030] In this case, too, the user can switch from automatic operation to manual operation, or resume automatic operation once the input value returns to the guaranteed range. In the "explanatory variables during past manual operation" section of FIG. 4, the input value deviates from the guaranteed range and the operation is switched to manual operation. The estimation unit 15d may re-train the model 14b using this unknown input value outside the guaranteed range. This allows the unknown input value to be treated as a known input value.
[0031] The estimation unit 15d determines whether the input value to be input deviates from the range of the distribution of input values of nearby data, based on a change in the distribution of input values as well as a change in the causal relationship between multiple explanatory variables of the model or a change in the objective variable depending on the selection of different explanatory variables.
[0032] For example, as shown in FIG. 5, the estimation unit 15d determines whether the input value deviates from the guaranteed range by taking into consideration the change in the distribution of the input values shown in FIG. 5(a), as well as the causal relationships between the explanatory variables shown in FIG. 5(b) and the change in the objective variable according to the selection of the explanatory variables shown in FIG. 5(c).
[0033] Figure 5(a) shows an example of how input values are input at each time while sliding the sliding window along the time axis, thereby detecting changes in the distribution of the input values and determining the degree of deviation from the distribution of the training data (learning data), i.e., the unknown nature of the input values.
[0034] FIG. 5(b) also illustrates how the degree of deviation of the input value from the distribution of the training data, i.e., the unknownness of the input value, can be determined based on the change in the causal relationship between the explanatory variables of model 14b as the sliding window is shifted.
[0035] Furthermore, Figure 5(c) illustrates an example in which a change in the target variable when the selection of explanatory variables in model 14b is changed causes a change in the important features, and the extent to which the input value deviates from the distribution of the training data, i.e., the unknownness of the input value, is determined.
[0036] If the calculated deviation (deviation) of the input value from the distribution of the training data is greater than a predetermined threshold, the estimation unit 15d determines that the input value is unknown. The threshold for determining whether the input value is unknown may be the same as the threshold used by the extraction unit 15b when extracting data near the request point. In other words, the estimation device 10 may continue to apply the same model 14b when the deviation is equal to or less than the predetermined threshold.
[0037] Furthermore, when relearning, the estimation unit 15d may perform online learning, which uses a small amount of the latest training data, or alternatively, batch learning, which uses a predetermined number of training data going back from the most recent time. As shown in FIG. 6, conventional online learning updates parameters using only new data, which reduces processing time and allows for rapid response to changes in input values and other conditions. However, updating hyperparameters is difficult and susceptible to outliers and noise. Hyperparameters include, for example, rounding width, time span, prediction destination, number of steps, number of DNN layers, number of nodes, activation function, and other information specific to the machine learning model.
[0038] In contrast, as shown in Figure 6, "batch learning" allows hyperparameters to be updated in accordance with the current situation each time learning is performed. In addition, past information can be forgotten, reducing memory requirements and suppressing the effects of outliers and noise.
[0039] [Estimation processing procedure] Next, an example of estimation processing by the estimation device 10 according to this embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart illustrating an example of the estimation processing procedure. The flowchart in Fig. 7 starts, for example, when an input is made to instruct the start of the estimation processing.
[0040] First, the extracting unit 15b extracts, from the training data 14a, nearby data whose distance between an input value and a desired request point to be input to the model is equal to or less than a predetermined threshold (step S1).
[0041] Next, the generation unit 15c generates the model 14b by learning using the extracted nearby data (step S2). That is, the generation unit 15c learns the data nearby the request point as training data, thereby generating the model 14b that locally represents the algorithm at the request point.
[0042] Then, the estimation unit 15d outputs an estimated value for the input value using the generated model 14b (step S3). That is, the estimation unit 15d receives the non-stationary data acquired by the acquisition unit 15a as input and applies the trained model 14b to output an estimated value.
[0043] Furthermore, the estimation unit 15d outputs an alert when the estimated value to be output is outside a predetermined range, or when the input value to be input deviates from the distribution range of the input values of nearby data (step S4). Furthermore, when outputting an alert, the estimation unit 15d switches the model 14b to another model or re-learns the model 14b. This completes the series of estimation processes.
[0044] [effect] As described above, in the estimation device 10 of the above embodiment, the storage unit 14 stores training data 14a, which is a combination of input values and actual measured values. The extraction unit 15b extracts nearby data from the training data 14a, where the distance between the input value and a request point, which is a desired input value to be input to the model 14b that outputs an estimated value, is equal to or less than a predetermined threshold. The generation unit 15c generates the model 14b by learning using the extracted nearby data. The estimation unit 15d outputs an estimated value for the input value using the generated model 14b. The estimation unit 15d outputs an alert when the estimated value to be output is outside a predetermined range or when the input value deviates from the distribution range of the input values of the nearby data.
[0045] In this way, data near the desired request point is used as training data to learn, and a model 14b that locally represents the algorithm at the request point is generated. Then, if the non-stationary input data deviates from a predetermined range or if the estimated value for the input value deviates from a predetermined range, the user is notified. This makes it possible to confirm whether a trained model trained using non-stationary data, such as time-series data generated in a plant or urban space, is appropriate for actual application.
[0046] Furthermore, the extractor 15b outputs an alert when the number of extracted neighboring data is less than a predetermined number, thereby enabling the user to detect when the reliability of the generated model 14b is not high.
[0047] Furthermore, when the extraction unit 15b outputs an alert, it also stores the actual measurement values at the requested points as training data 14a in the storage unit 14. This enables the estimation device 10 to add training data and improve the accuracy of the model 14b that will be generated subsequently.
[0048] When outputting an alert, the estimation unit 15d further switches the model 14b to another model or re-learns the model 14b, thereby enabling the estimation device 10 to apply an appropriate model 14b depending on the situation.
[0049] Furthermore, the estimation unit 15d determines whether the input value deviates from the range of the distribution of input values of nearby data based on not only the change in the distribution of the input values but also the change in the causal relationship between the multiple explanatory variables of the model 14b or the change in the objective variable according to the selection of different explanatory variables, thereby enabling highly accurate determination of the unknownness of the input value.
[0050] [System configuration, etc.] The components of each device shown in the figure are conceptual functional units and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of each device can be functionally or physically distributed and integrated in any unit depending on various loads and usage conditions. Furthermore, all or any part of the processing functions performed by each device can be realized by a CPU or GPU and a program analyzed and executed by the CPU or GPU, or can be realized as hardware using wired logic.
[0051] Furthermore, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using a known method.In addition, the information including the processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified.
[0052] [program] It is also possible to create a program in which the processing performed by the estimation device described in the above embodiment is written in a language executable by a computer. For example, it is also possible to create a program in which the processing performed by the estimation device 10 according to the embodiment is written in a language executable by a computer. In this case, the same effects as those of the above embodiment can be obtained by having a computer execute the program. Furthermore, such a program may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read and executed by a computer to realize processing similar to that of the above embodiment.
[0053] 8 is a diagram showing an example of a computer that executes an estimation program. The computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
[0054] The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1031. The disk drive interface 1040 is connected to a disk drive 1041. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052. The video adapter 1060 is connected to, for example, a display 1061.
[0055] Here, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each piece of information described in the above embodiment is stored in the hard disk drive 1031 or memory 1010, for example.
[0056] The estimation program is stored in the hard disk drive 1031 as, for example, a program module 1093 in which instructions to be executed by the computer 1000 are written. Specifically, the hard disk drive 1031 stores the program module 1093 in which each process executed by the estimation device 10 described in the above embodiment is written.
[0057] Furthermore, data used for information processing by the estimation program is stored as program data 1094, for example, in the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as necessary, and executes each of the above-described procedures.
[0058] The program module 1093 and program data 1094 related to the estimation program are not limited to being stored in the hard disk drive 1031, and may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1041. Alternatively, the program module 1093 and program data 1094 related to the estimation program may be stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070.
[0059] Although the present invention has been described above as an embodiment, the present invention is not limited to the description and drawings that form part of the disclosure of the present invention. In other words, other embodiments, examples, and operational techniques that can be made by those skilled in the art based on the present invention are all included in the scope of the present invention. [Explanation of symbols]
[0060] 10 Estimation device 11 Input section 12 Output section 13 Communication control section 14 Storage section 14a Training data 14b model 15 Control Unit 15a Acquisition part 15b Extraction part 15c Generator 15d Estimation part
Claims
1. a storage unit that stores training data that is a combination of input values and actual measured values; an extraction unit that extracts, from the training data, nearby data whose distance between an input value and a request point, which is a desired input value to be input to a model that outputs an estimated value, is equal to or less than a predetermined threshold; a generation unit that generates the model by learning using the extracted neighboring data; an estimation unit that outputs an estimated value for an input value using the generated model; and The estimation device is characterized in that the estimation unit outputs an alert when an input value deviates from a distribution range of input values of the nearby data.
2. The estimation device according to claim 1 , wherein the extraction unit outputs an alert when the number of extracted neighboring data is less than a predetermined number.
3. 3. The estimation device according to claim 2, wherein, when the extraction unit outputs an alert, the extraction unit further stores the actual measurement values at the request points as training data in the storage unit.
4. The estimation device according to claim 1 , wherein the estimation unit, when outputting an alert, further switches the model to another model or re-learns the model.
5. 2. The estimation device according to claim 1, wherein the estimation unit determines whether the distribution of the input values to be input deviates from the range of the distribution of the input values of the nearby data, based on not only a change in the distribution of the input values but also a change in the causal relationship between the multiple explanatory variables of the model or a change in the objective variable in response to a selection of different explanatory variables.
6. An estimation method executed by an estimation device, the estimation device has a storage unit that stores training data that is a combination of input values and actual measurement values, an extraction step of extracting, from the training data, nearby data in which the distance between an input value and a request point, which is a desired input value to be input to a model that outputs an estimated value, is equal to or less than a predetermined threshold; a generation step of generating the model by learning using the extracted neighboring data; an estimation step of outputting an estimate for an input value using the generated model; Including, The estimation method is characterized in that the estimation step outputs an alert when an input value deviates from a distribution range of input values of the nearby data.
7. Refer to a storage unit that stores training data that is a combination of input values and actual measured values, an extraction step of extracting, from the training data, nearby data in which the distance between the input value and a request point, which is a desired input value to be input to a model that outputs an estimated value, is equal to or less than a predetermined threshold; a generation step of generating the model by learning using the extracted neighborhood data; an estimation step of outputting an estimate for an input value using the generated model; on the computer, The estimation program is characterized in that the estimation step outputs an alert when an input value deviates from a distribution range of input values of the nearby data.
Citation Information
Patent Citations
Method and system for predicting operation result
JP2007140965A
Method for selecting neighborhood of training point for local learning
JP2011118883A
Information processing device, information processing method, and program
JP2016133895A
Learning assistance device
JP2019159957A
Causal relationship learning device, causal relationship estimation device, causal relationship learning method, causal relationship estimation method and program
JP2019185194A