Many applications based on Internet of Things (IoT) technology have recently founded in industry monitoring area. Thousands of sensors with different types work together in an industry monitoring system. Sensors at different locations can generate streaming data, which can be analyzed in the data center. In this paper, we propose a framework for online sensor fault detection. We motivate our technique in the context of the problem of the data value fault detection and event detection. We use the Statistics Sliding Windows (SSW) to contain the recent sensor data and regress each window by Gaussian distribution. The regression result can be used to detect the data value fault. Devices on a production line may work in different workloads and the associate sensors will have different status. We divide the sensors into several status groups according to different part of production flow chat. In this way, the status of a sensor is associated with others in the same group. We fit the values in the Status Transform Window (STW) to get the slope and generate a group trend vector. By comparing the current trend vector with history ones, we can detect a rational or irrational event. In order to determine parameters for each status group we build a self-learning worker thread in our framework which can edit the corresponding parameter according to the user feedback. Group-based fault detection (GbFD) algorithm is proposed in this paper. We test the framework with a simulation dataset extracted from real data of an oil field. Test result shows that GbFD detects 95% sensor fault successfully.
Internet of Things (IoT) has been paid more and more attention by the government, academe, and industry all over the world because of its great prospect [
Fault detection is an important process for industry monitoring IoT, but it is a difficult and complex task because there are many factors that influence data and could cause faults. And faults are application and sensor type dependent [
From the data-centric view, we focus on the
In this paper, we propose a self-learning sensor fault detection framework for industry monitoring IoT. The data model design is described in Section
Many researchers pay their attention to building a smart monitoring system. Bressan et al. [
For modeling sensor network data, Guestrin et al. [
A similar approach for sensor fault detection in streaming data is described by Yamanishi et al. [
Ding et al. [
This section focuses on the sensor data model design. We model sensors from the view of value for
For detection the
Estimation of the data distribution in the Statistics Sliding Windows (SSW) for one time instance.
There is a buffer named
In the industry monitoring IoT, the status of a production line may be uncertain. With the different manufacturing techniques and different workloads, some devices in the production line may be shut down. In this case, the whole production line is still working, but values of sensors monitoring the shutdown devices will run out of range (
Figure Sensors on the opposite side of a valve are not in the same group. A valve is a typical controller in the industrial IoT. All the devices on the backward position can be shut down by the proper valve. The sensors on the different side may be in different status. If there are too many sensors which are controlled by one slave, they should be divided into different groups. In our approach, we will not put more than 10 sensors into one status group because the probable status space will expand acutely with the increasing sensor numbers. In this case, sensors can be grouped by their relative position with the most complex device, because the complex device may lead to status change most possibly. The production line is normally divided into many units according to the geographical position. We can ignore the relationship between sensors in different sections.
Typical flowchat of a gas processing plant.
For the 11 sensors shown in Figure
For a status group
Status transformation process for two time instances.
In this section we propose the architecture for sensor fault detection in industry monitoring at first. Then, how to realize our algorithm is discussed.
The self-learning sensor fault detection architecture is shown in Figure Application DB: all the parameters are stored in the Application DB, including the threshold Detection Thread: it is a background service and contains the main detecting process. Since our approach is an online detection, a series of detection thread will be created and maintained by the working thread pool and a related status queue. When new data is coming, the working thread dispatcher a wakes up a pending thread to handle it. Self-Learning Thread: the self-learning thread uses the OS timer as a driver. The user feedback about the detection result will be rechecked by this thread to revise the trend vectors.
A self-learning sensor fault detection framework.
Dividing the sensors into status group is the key idea in our approach. For group-based sensor fault detection, we propose the (group-based fault detection) GbFD algorithm.
The GbFD Algorithm
(1) let (2) let global list to keep all of the (3) let distribution characteristics for each sensor; (4) let vector merging threshold for group of (5) procedure (6) init (7) init Application DB; (8) create (9) start (10) do (11) (12) (13) (14) (15) return; (16) procedure (17) if ( (18) return; (19) if ( (20) return; (21) (22) (23) procedure (24) get (25) if ( (26) mark (27) return; (28) procedure (29) get (30) if ( (31) mark (32) return; (33) procedure (34) use (35) if ( (36) return; (37) procedure (38) use the last (39) for each rational trend (40) if ( (41) (42) mark the max unstable sensor (43) return; (44) procudure (45) while (true) do: (46) load the user feedback; (47) for each miss alart (48) if missed Outlier then (49) if missed irrational status change then (50) (51) for each false alart (52) if false Outlier then (53) if false irrational status change then (54) (55) sleep( (56) return; (57) procedure (58) if (59) (60) (61) for each two (62) if ( (63) (64) return;
In the
The time complexity of the GbFD algorithm is dominated by
We built an application to evaluate our framework. This application was implemented in JAVA, about 2400 lines code and used Oracle as the Application DB.
We use real data from an oil field in China. This oil field has 20 oil/gas treatment plants and all of the production equipments are monitored by sensors which can be mainly classified as temperature sensor, pressure sensor, and liquid level sensor. The sampling rate of the production IoT is 60 seconds. We obtained the sample data of 10,000 sensors between January 1st 8 PM to October 31th 8 AM, 2012. Since the production lines are relatively stable, we filtered the original data by two steps. Firstly, some production units that never make a mistake were eliminated. Secondly, for a plant, we discard some data in its stable period.
Table
Simulation data description.
Feature | Value |
---|---|
Sampling rate | 60 s |
Sensor count | 5800 |
Total samples | 751.68 million |
Status groups | 1340 |
|
437 |
|
163 |
RT missed | 961 |
IRT missed | 35 |
We split the simulation data into four datasets according to the time sequence. Each time we use optional three data sets to train the GbFD algorithm and the remainder is used as the testing data.
We use three pairs SSW size and STW size, which are (30, 15), (60, 20), and (90, 25), to run the four-folder cross-validation test. The result is shown in Figure
Four-folder cross-validation for precision
We present a self-learning sensor fault detection framework in this paper. We propose a model which can represent the sensor value, sensor relationship, and sensor status transformation. GbFD algorithm is proposed to detect the sensor fault. And we use real data from an oil field for validation. Experimental results show that our system can detect 95% of data fault in the simulation data which contains 751.68 million samples from 5800 sensors.
We will continue validate our approach on other dataset to find out the proper statistical sliding window size and status transform windows size in different application contexts. Our goal is to build a sensor health management system for industry IoT that includes not only sensor fault detection, but also sensor lifecycle prediction and sensor inspection management.
The authors would like to thank Jun Ma for helping them to dispose the simulation data. This research is supported by the National Natural Science Funds of China (61202238), the State Key Laboratory of Software Development Environment Funds (SKLSDE-2011ZX-08), and the Fundamental Research Funds for the Central Universities (2012RC0209).