# IoT-Based Small Scale Anomaly Detection Using [PERSON]'s Q Test for e-Health Data
###### Abstract  
Anomaly detection in the smart application domain can significantly improve the quality of data processing, especially when the size of a dataset is too small. Internet of Things (IoT) enables the development of numerous applications where sensor-data-aware anomalies can affect the decision making of the underlying system. In this paper, we propose a scheme: IoTDixon, which works on the [PERSON]'s Q test to identify point anomalies from a simulated normally distributed dataset. The proposed technique involves Q statistics, Kolmogorov-Smirnov test, and partitioning of a given dataset into a specific data packet. The proposed techniques use Q-test to detect point anomalies. We find that value 76.37 is statistically significant where \(P=0.012<\alpha=0.05\), thus rejecting the null hypothesis for a test data packet. In other data packets, no such significance is observed; thus, no outlier is statistically detected. The proposed approach of IoTDixon can help to improve small-scale point anomaly detection for a small-size dataset as shown in the conducted experiments. IoT; anomaly detection; [PERSON]'s Q test; small-size data packets; Kolmogorov-Smirnov test updates  
1  
IoT has brought enormous opportunities to allow the developments of a multitude of smart applications, namely health monitoring, smart city, smart transportation, and smart industry. Sensors are used in IoT-based ecosystems to generate data streams in regular intervals to provide real-time monitoring support to the owner of the given IoT system [1]. Such sensors may sometimes become faulty or generate erroneous data which must be detected at an early stage; otherwise, it can create serious troubles for decision making in the following stage of the applications[2, 3]. The problem becomes very difficult when the size of the dataset is too small. This can happen due to an abrupt change of one of the data point values compared to the rest [4, 5, 6]. Thus, the detection of outliers in a small-size dataset is a trivial task. This situation may be exaggerated when applied for an IoT-based system which is resource constrained in nature. Performing high-end data analytics in a resource-limited IoT device is not always feasible. With existing deep learning and machine learning algorithms, one can find outliers from a dataset [7, 8, 9]. However, due to lack of hardware resources such as processor and memory, an IoT device may face severe difficulty [10]. Further, depicting a point anomaly from a very small-size dataset makes the whole process questionable [11, 12]. In this paper, we propose the IoTDixon scheme to detect point anomalies from very small-size dataset for the IoT-based environment. The IoTDixon uses both [PERSON]'s Q test and Kolmogorov-Smirnov test statistics to help find the anomaly. We consider a small-size dataset with 42 samples, which is assumed to be normally distributed. Such a dataset is further subdivided into six equal data packets, each with seven samples. We then perform the normality test of these data packets. Once this test is satisfied, the data packets are fed to [PERSON]'s method for finding a point anomaly. Finally, we obtain an equal number of anomalies as of the data packets which are further investigated against the \(P\) values. If the \(P\) value is less than a given confidence level \(\alpha\), we infer it as statistically significant and declare the point as an outlier. The key contributions of this work can be presented as follows:  
* To propose IoT Dixon scheme to detect point anomalies from small-size dataset;
* To integrate [PERSON]'s Q test as a key statistic for detection of outlier points from small-size data packets;
* To integrate Kolmogorov-Smirnov test statistic as the normality checker. _Novelty of the work:_ Our work is the first ever study that uses [PERSON]'s Q test and Kolmogorov-Smirnov test together to find small-size anomalies in IoT-based simulated scenarios. The study provides a scheme to divide a small dataset into further smaller data packets of constant size.