Deep Graph Stream SVDD: Anomaly Detection in Cyber-Physical Systems
Ehtesamul Azim, Dongjie Wang, Yanjie Fu

TL;DR
This paper introduces a deep graph stream SVDD method that leverages transformers and variational graph auto-encoders to improve anomaly detection in cyber-physical systems by capturing temporal patterns and dynamic sensor connections.
Contribution
It proposes a novel approach combining transformers, graph clustering, and auto-encoders to address limitations in existing anomaly detection methods for cyber-physical systems.
Findings
F1-score improved by 35.87%
AUC increased by 19.32%
Model is 32 times faster than baselines
Abstract
Our work focuses on anomaly detection in cyber-physical systems. Prior literature has three limitations: (1) Failing to capture long-delayed patterns in system anomalies; (2) Ignoring dynamic changes in sensor connections; (3) The curse of high-dimensional data samples. These limit the detection performance and usefulness of existing works. To address them, we propose a new approach called deep graph stream support vector data description (SVDD) for anomaly detection. Specifically, we first use a transformer to preserve both short and long temporal patterns of monitoring data in temporal embeddings. Then we cluster these embeddings according to sensor type and utilize them to estimate the change in connectivity between various sensors to construct a new weighted graph. The temporal embeddings are mapped to the new graph as node attributes to form weighted attributed graph. We input the…
| Data Type | Feature Number | Total Items | Anomaly Number | Normal/Anomaly |
|---|---|---|---|---|
| Normal | 51 | 496800 | 0 | - |
| Anomalous | 51 | 449919 | 53900 | 7:1 |
| Method | Precision (%) | Recall (%) | F1-score (%) | AUC (%) |
|---|---|---|---|---|
| OC-SVM | 34.11 | 68.23 | 45.48 | 75 |
| Isolation-Forest | 35.42 | 81.67 | 49.42 | 80 |
| LOF | 15.81 | 93.88 | 27.06 | 63 |
| KNN | 15.24 | 96.77 | 26.37 | 61 |
| ABOD | 14.2 | 97.93 | 24.81 | 58 |
| GANomaly | 42.12 | 67.87 | 51.98 | 68.64 |
| LODA | 75.25 | 38.13 | 50.61 | 67.1 |
| DGS-SVDD | 94.17 | 82.33 | 87.85 | 87.96 |
| Method | Precision (%) | Recall (%) | F1-score (%) | AUC (%) | ||||
|---|---|---|---|---|---|---|---|---|
|
|
|
||||||
| ✗ | ✗ | ✗ | 4.61 | 12.45 | 6.74 | 18.55 | ||
| ✓ | ✗ | ✗ | 69.98 | 64.75 | 67.26 | 78.14 | ||
| ✗ | ✓ | ✓ | 12.16 | 99.99 | 21.68 | 18.22 | ||
| ✓ | ✗ | ✓ | 87.79 | 76.68 | 81.86 | 82.45 | ||
| ✓ | ✓ | ✓ | 94.17 | 82.33 | 87.75 | 87.96 | ||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAnomaly Detection Techniques and Applications · Network Security and Intrusion Detection · Time Series Analysis and Forecasting
11institutetext: Department of Computer Science
University of Central Florida, Orlando, FL 32826, USA
11email: {azim.ehtesam,wangdongjie}@knights.ucf.edu, [email protected]
Deep Graph Stream SVDD: Anomaly Detection in Cyber-Physical Systems
Ehtesamul Azim
Dongjie Wang
Yanjie Fu
Abstract
Our work focuses on anomaly detection in cyber-physical systems. Prior literature has three limitations: (1) Failing to capture long-delayed patterns in system anomalies; (2) Ignoring dynamic changes in sensor connections; (3) The curse of high-dimensional data samples. These limit the detection performance and usefulness of existing works. To address them, we propose a new approach called deep graph stream support vector data description (SVDD) for anomaly detection. Specifically, we first use a transformer to preserve both short and long temporal patterns of monitoring data in temporal embeddings. Then we cluster these embeddings according to sensor type and utilize them to estimate the change in connectivity between various sensors to construct a new weighted graph. The temporal embeddings are mapped to the new graph as node attributes to form weighted attributed graph. We input the graph into a variational graph auto-encoder model to learn final spatio-temporal representation. Finally, we learn a hypersphere that encompasses normal embeddings and predict the system status by calculating the distances between the hypersphere and data samples. Extensive experiments validate the superiority of our model, which improves F1-score by 35.87%, AUC by 19.32%, while being 32 times faster than the best baseline at training and inference.
1 Introduction
Cyber-physical systems (CPS) have been deployed everywhere and play a significant role in the real world, including smart grids, robotics systems, water treatment networks, etc. Due to their complex dependencies and relationships, these systems are vulnerable to abnormal system events (e.g., cyberattacks, system exceptions), which can cause catastrophic failures and expensive costs. In 2021, hackers infiltrated Florida’s water treatment plants and boosted the sodium hydroxide level in the water supply by 100 times of the normal level [3]. This may endanger the physical health of all Floridians. To maintain stable and safe CPS, considerable research effort has been devoted to effectively detect anomalies in such systems using sensor monitoring data [19, 16].
Prior literature partially resolve this problem- however, there are three issues restricting their practicality and detection performance. Issue 1: long-delayed patterns. The malfunctioning effects of abnormal system events often do not manifest immediately. Kravchik et al. employed LSTM to predict future values based on past values and assessed the system status using prediction errors[5]. But, constrained by the capability of LSTM, it is hard to capture long-delayed patterns, which may lead to suboptimal detection performance. How can we sufficiently capture such long-delayed patterns? Issue 2: dynamic changes in sensor-sensor influence. Besides long-delayed patterns, the malfunctioning effects may propagate to other sensors. Wang et al. captured such propagation patterns in water treatment networks by integrating the sensor-sensor connectivity graph for cyber-attack detection [17]. However, the sensor-sensor influence may shift as the time series changes due to system failures. Ignoring such dynamics may result in failing to identify propagation patterns and cause poor detection performance. How can we consider such dynamic sensor-sensor influence? Issue 3: high-dimensional data samples. Considering the labeled data sparsity issue in CPS, existing works focus on unsupervised or semi-supervised setting [17, 10]. But traditional models like One-Class SVM are too shallow to fit high-dimensional data samples. They have substantial time costs for feature engineering and model learning. *How can we improve the learning efficiency of anomaly detection in high-dimensional scenarios?
To address these, we aim to effectively capture spatial-temporal dynamics in high-dimensional sensor monitoring data. In CPS, sensors can be viewed as nodes, and their physical connections resemble a graph. Considering that the monitoring data of each sensor changes over time and that the monitoring data of various sensors influences one another, we model them using a graph stream structure. Based on that, we propose a new framework called Deep Graph Stream Support Vector Data Description (DGS-SVDD). Specifically, to capture long-delayed patterns, we first develop a temporal embedding module based on transformer [15]. This module is used to extract these patterns from individual sensor monitoring data and embed them in low-dimensional vectors. Then, to comprehend dynamic changes in sensor-sensor connection, we estimate the influence between sensors using the previously learned temporal embedding of sensors. The estimated weight matrix is integrated with the sensor-sensor physically connected graph to produce an enhanced graph. We map the temporal embeddings to each node in the enhanced graph as its attributes to form a new attributed graph. After that, we input this graph into the variational graph auto-encoder (VGAE) [4] to preserve all information as final spatial-temporal embeddings. Moreover, to effectively detect anomalies in high-dimensional data, we adopt deep learning to learn the hypersphere that encompasses normal embeddings. The distances between the hypersphere and data samples are calculated to be criteria to predict the system status at each time segment. Finally, we conduct extensive experiments on a real-world dataset to validate the superiority of our work. In particular, compared to the best baseline model, DGS-SVDD improves F1-score by 35.87% and AUC by 19.32%, while accelerating model training and inference by 32 times.
2 Preliminaries
2.1 Definitions
Definition 1.
Graph Stream. A graph object describes the monitoring values of the Cyber-Physical System at timestamp . It can be defined as = (,,) where is the vertex (i.e., sensor) set with a size of ; is the edge set with a size of , and each edge indicates the physical connectivity between any two sensors; is a list that contains the monitoring value of sensors at the -th timestamp. A graph stream is a collection of graph objects over the temporal dimension. The graph stream with the length of at the -th time segment can be defined as .
Definition 2.
Weighted Attributed Graph. The edge set of each graph object in the graph stream does not change over time, which is a binary edge set that reflects the physical connectivity between sensors. However, the correlations between different sensors may change as system failures happen. To capture such dynamics, we use to denote the weighted attributed graph at the -th time segment. In the graph, is the same as the graph object in the graph stream, which is the vertex (i.e., sensor) set with a size of ; is the weighted edge set, in which each item indicates the weighted influence calculated from the temporal information between two sensors; is the attributes of each vertex, which is also the temporal embedding of each node at the current time segment. Thus, contains the spatial-temporal information of the system.
2.2 Problem Statement
Our goal is to detect anomalies in cyber-physical systems at each time segment. Formally, assuming that the graph stream data at the -th segment is , the corresponding system status is . We aim to find an outlier detection function that learns the mapping relation between and , denoted by . Here, is a binary constant whose value is 1 if the system status is abnormal and 0 otherwise.
3 Methodology
In this section, we give an overview of our framework and then describe each technical part in detail.
3.1 Framework Overview
Figure 1 shows an overview of our framework, named DGS-SVDD. Specifically, we start by feeding the DGS-SVDD model the graph stream data for one time segment. In the model, we first analyze the graph stream data by adopting the transformer-based temporal embedding module to extract temporal dependencies. Then, we use the learnt temporal embedding to estimate the dynamics of sensor-sensor influence and combine it with information about the topological structure of the graph stream data to generate weighted attributed graphs. We then input the graph into the variational graph autoencoder (VGAE)-based spatial embedding module to get the spatial-temporal embeddings. Finally, we estimate the boundary of the embeddings of normal data using deep learning and support vector data description (SVDD), and predict the system status by measuring how far away the embedding sample is from the boundary.
3.2 Embedding temporal patterns of the graph stream data
The temporal patterns of sensors may evolve over time if abnormal system events occur. We create a temporal embedding module that uses a transformer in a predictive manner to capture such patterns for accurate anomaly detection. To illustrate the following calculation process, we use the graph stream data at the -th time segment as an example. We ignore the topological structure of the graph stream data at first during the temporal embedding learning process. Thus, we collect the time series data in to form a temporal matrix , such that , where is the number of sensors and is the length of the time segment.
The temporal embedding module consists of an encoder and a decoder. For the encoder part, we input into it for learning enhanced temporal embedding . Specifically, we first use the multi-head attention mechanism to calculate the attention matrices between and itself for enhancing the temporal patterns among different sensors by information sharing. Considering that the calculation process in each head is the same, we take head1 as an example to illustrate. To obtain the self-attention matrix , we input into head1, which can be formulated as follows,
[TABLE]
where , , and are the weight matrix for “key”, “query” and “value” embeddings; is the scaling factor. Assuming that we have heads, we concatenate the learned attention matrix together in order to capture the temporal patterns of monitoring data from different perspectives. The calculation process can be defined as follows:
[TABLE]
where is the weight matrix and . After that, we input into a fully connected feed-forward network constructed by two linear layers to obtain the enhanced embedding . The calculation process can be defined as follows:
[TABLE]
where and are the weight matrix respectively and their shape information is ; and are the bias item respectively and their shape information is .
For the decoder part, we input the learned embedding into a prediction layer to predict the monitoring value of the future time segment. The prediction process can be defined as follows:
[TABLE]
where is the prediction value of the next time segment; is the weight matrix and is the bias item. During the optimization process, we minimize the difference between the prediction and the real monitoring value . The optimization objective can be defined as follows
[TABLE]
When the model converges, we have preserved temporal patterns of monitoring data in the temporal embedding .
3.3 Generating dynamic weighted attributed graphs
In CPS, different sensors connect with each other, which forms a sensor-sensor graph. As a result, the malfunctioning effects of system abnormal events may propagate over time following the graph structure. But, the sensor-sensor influence is not static and may vary as the monitoring data changes are caused by system anomaly events. To capture such dynamics, we want to build up weighted attributed graphs using sensor-type information and learned temporal embeddings. For simplicity, we take the graph stream data of -th time segment as an example to illustrate the following calculation process.
Specifically, the adjacency matrix of is , which reflects the physical connectivity between different sensors. = 1 when sensor and are directly connected and = 0 otherwise. From section 3.2, we have obtained the temporal embedding , each row of which represents the temporal embedding for each sensor. We assume that the sensors belonging to the same type have similar changing patterns when confronted with system anomaly events. Thus, we want to capture this characteristic by integrating sensor type information into the adjacency matrix. We calculate the sensor type embedding by averaging the temporal embedding of sensors belonging to the type. After that, we construct a type-type similarity matrix by calculating the cosine similarity between each pair of sensor types, being the number of sensor types. Moreover, we construct the similarity matrix by mapping to each element position of . For instance, if sensor 1 belongs to type 2 and sensor 2 belongs to type 3, we update with . We then introduce the dynamic property to the adjacency matrix through element-wise multiplication between and . Each temporal embedding of this time segment is mapped to the weighted graph as the node attributes according to sensor information. The obtained weighted attributed graph contains all spatial-temporal information of CPS for the -th time segment. The topological influence of this graph may change over time.
3.4 Representation learning for weighted attributed graph
To make the outlier detection model easily comprehend the information of , we develop a representation learning module based on variational graph autoencoder (VGAE). For simplicity, we use to illustrate the representation learning process. For , the adjacency matrix is made up by and , and the feature matrix is .
Specifically, this module follows the encoder-decoder paradigm. The encoder includes two Graph Convolutional Network(GCN) layers. The first GCN layer takes and as inputs and outputs a lower dimensional feature matrix . The calculation process can be represented as follows:
[TABLE]
where is the diagonal degree matrix of and is the weight matrix of the first GCN layer. The second GCN layer estimates the distribution of the graph embeddings. Assuming that such embeddings conform to the normal distribution , we need to estimate the mean and variance of the distribution. Thus, the encoding process of the second GCN layer can be formulated as follows:
[TABLE]
where is the weight matrix of the second GCN layer. Then, we use the reparameterization technique to mimic the sample operation to obtain the graph embedding , which can be represented as follows:
[TABLE]
where is the random variable vector, which is sampled from . Here, represents the high-dimensional standard normal distribution.
The decoder part aims to reconstruct the adjacency matrix of the graph using , which can be defined as follows:
[TABLE]
where is the reconstructed adjacency matrix and = cos .
During the optimization process, we aim to minimize two objectives: 1) the divergence between the prior embedding distribution and the estimated embedding distribution ; 2) the difference between the adjacency matrix and the reconstructed adjacency matrix ; Thus, the optimization objective function is as follows:
[TABLE]
where KL refers to the Kullback-Leibler divergence; is the estimated embedding distribution and is the prior embedding distribution. When the model converges, the graph embedding contains spatiotemporal patterns of the monitoring data for the -th time segment.
3.5 One-Class Detection with SVDD
Considering the sparsity issue of labeled anomaly data in CPS, anomaly detection is done in an unsupervised setting. Inspired by deep SVDD [14], we aim to learn a hypersphere that encircles most of the normal data, with data samples located beyond it being anomalous. Due to the complex nonlinear relations among the monitoring data, we use deep neural networks to approximate this hypersphere.
Specifically, through the above procedure, we collecte the spatiotemporal embedding of all time segments, denoted by . We input them into multi-layer neural networks to estimate the non-linear hypersphere. Our goal is to minimize the volume of this data-enclosing hypersphere. The optimization objective can be defined as follows:
[TABLE]
where is the set of weight matrix of each neural network layer; maps to the non-linear hidden representation space; is the predefined hypersphere center; is the weight decay regularizer. The first term of the equation aims to find the most suitable hypersphere that has the closest distance to the center . The second term is to reduce the complexity of , which avoids overfitting. As the model converges, we get the network parameter for a trained model, .
During the testing stage, given the embedding of a test sample , we input it into the well-trained neural networks to get the new representation. Then, we calculate the anomaly score of the sample based on the distance between it and the center of the hypersphere. The process can be formulated as follows:
[TABLE]
After that, we compare the score with our predefined threshold to assess the abnormal status of each time segment in CPS.
4 Experiments
We conduct extensive experiments to validate the efficacy and efficiency of our framework (DGS-SVDD) and the necessity of each technical component.
4.1 Experimental Settings
4.1.1 Data Description
We adopt the SWaT dataset [11], from the Singapore University of Technology and Design in our experiments. This dataset was collected from a water treatment testbed that contains 51 sensors and actuators. The collection process continued for 11 days. The system’s status was normal for the first 7 days and for the final 4 days, it was attacked by a cyber-attack model. The statistical information of the SWaT dataset is shown in Table 1. Our goal is to detect attack anomalies as precisely as feasible. We only use the normal data to train our model. After the training phase, we validate the capability of our model by detecting the status of the testing data that contains both normal and anomalous data.
4.1.2 Evaluation Metrics
We evaluate the model performance in terms of precision, recall, area under the receiver operating characteristic curve (ROC/AUC), and F1-score. We adopt the point-adjust way to calculate these metrics. In particular, abnormal observations typically occur in succession to generate anomaly segments and an anomaly alert can be triggered inside any subset of a real window for anomalies. Therefore, if one of the observations in an actual anomaly segment is detected as abnormal, we would consider the time points of the entire segment to have been accurately detected.
4.1.3 Baseline Models
To make the comparison objective, we input the spatial-temporal embedding vector into baseline models instead of the original data. There are seven baselines in our work: KNN [12]: calculates the anomaly score of each sample according to the anomaly situation of its K nearest neighborhoods. Isolation-Forest[8]: estimates the average path length (anomaly score) from the root node to the terminating node for isolating a data sample using a collection of trees.LODA[13]: collects a list of weak anomaly detectors to produce a stronger one. LODA can process sequential data flow and is robust to missing data. LOF[2]: measures the anomalous status of each sample based on its local density. If the density is low, the sample is abnormal; otherwise, it is normal. ABOD[6]: is an angle-based outlier detector. If a data sample is located in the same direction of more than K data samples, it is an outlier; otherwise it is normal data. OC-SVM[9]: finds a hyperplane to divide normal and abnormal data through kernel functions.. GANomaly[1]: utilizes an encoder-decoder-encoder architecture. It evaluates the anomaly status of each sample by calculating the difference between the output embedding of two encoders.
4.2 Experimental Results
4.2.1 Overall Performance
Table 2 shows experimental results on the SWaT dataset, with the best scores highlighted in bold. As can be seen, DGS-SVDD outperforms other baseline models in the majority of evaluation metrics. Compared with the second-best baseline, DGS-SVDD improves precision by 19%, F1-score by 36% and AUC by 8%. This observation validates that DGS-SVDD is effective to detect anomalies accurately. The underlying driver for the success of our model is that DGS-SVDD can capture long-delayed temporal patterns and dynamic sensor-sensor influences in CPS. Another interesting observation is that the detection performance of distance-based or angle-based outlier detectors is poor. A possible reason is that these geometrical measurements are vulnerable to high-dimensional data samples.
4.2.2 Ablation Study
To study the individual contribution of each component of DGS-SVDD, we perform ablation studies, the findings of which are summarized in Table 3 where bold indicates the best score. We build four variations of the DGS-SVDD model: 1) We feed unprocessed raw data into SVDD; 2) We only capture temporal patterns; 3) We capture the dynamics of sensor-sensor impact and spatial patterns in CPS; 4) We capture spatial-temporal patterns in CPS but discard the dynamics of sensor-sensor influence. We can find that DGS-SVDD outperforms its variants by a significant margin. The observation validates that each technical component of our work is indispensable. Another interesting observation is that removing the temporal embedding module dramatically degrades the detection performance, rendering the temporal embedding module the highest significance. Results from the final experiment show that capturing the dynamics of sensor-sensor influence really boosts model performance.
4.2.3 Robustness Check and Parameter Sensitivity
Figure 2 shows the experimental results for robustness check and parameter sensitivity analysis. To check the model’s robustness, we train DGS-SVDD on different percentages of the training data, starting from 10% to 100%. We can find that DGS-SVDD is stable when confronted with different training data from Figure 2(a). But, compared with other percentages, DGS-SVDD achieves the best performance when we train it on 50% training data. In addition, we vary the dimension of the final spatial-temporal embedding in order to check its impacts. From Figure 2(b) and 2(c), we can find that DGS-SVDD is barely sensitive to the the sliding window length and dimension of the spatiotemporal embeddings. This observation validates that DGS-SVDD is robust to the dimension parameters. A possible reason is that our representation learning module has sufficiently captured spatial-temporal patterns of monitoring data for anomaly detection.
4.2.4 Study of Time Cost
We conduct six folds cross-validation to evaluate the time costs of different models. Figure 3 illustrates the comparison results. We can find that DGS-SVDD can be trained at a time competitive with simple models like OC-SVM or LOF while outperforming them by a huge margin as seen from Table 2. This shows that DGS-SVDD effectively learns the representation of each time segment of the graph stream data. Another important observation is that the testing time of DGS-SVDD is consistent with the simpler baselines. A potential reason is that the network parameter , as discussed in section 3.5, completely characterizes our one-class classifier. This allows fast testing by simply evaluating the network with learnt parameters .
5 Related Work
Anomaly Detection in Cyber-Physical Systems. Numerous existing literature have studied the exploitation of temporal and spatial relationships in data streams from CPS to detect anomalous points [5]. For instance, [5, 7] adopts a convolutional layer as the first layer of a Convolutional Neural Network to obtain correlations of multiple sensors in a sliding time window. Further, the extracted features are fed to subsequent layers to generate output scores. [7] proposed a GAN-based framework to capture the spatial-temporal correlation in multidimensional data. Both generator and discriminator are utilized to detect anomalies by reconstruction and discrimination errors.
Outlier detection with Deep SVDD. After being introduced in [14], deep SVDD and its many variants have been used for deep outlier detection. [18] designed deep structure preservation SVDD by integrating deep feature extraction with the data structure preservation. [20] proposed a Deep SVDD-VAE, where VAE is used to reconstruct the input sequences while a spherical discriminative boundary is learned with the latent representations simultaneously, based on SVDD. Although these models have been successfully applied to detect anomalies in the domain of computer vision, this domain lacks temporal and spatial dependencies prevalent in graph stream data generated from CPS.
6 Conclusion
We propose DGS-SVDD, a structured anomaly detection framework for cyber-physical systems using graph stream data. To this end, we integrate spatiotemporal patterns, modeling dynamic characteristics, deep representation learning, and one-class detection with SVDD. Transformer-based encoder-decoder architecture is used to preserve the temporal dependencies within a time segment. The temporal embedding and the predefined connectivity of the CPS are then used to generate weighted attributed graphs from which the fused spatiotemporal embedding is learned by a spatial embedding module. A deep neural network, integrated with one-class SVDD is then used to group the normal data points in a hypersphere from the learnt representations. Finally, we conduct extensive experiments on the SWaT dataset to illustrate the superiority of our method as it delivers 35.87% and 19.32% improvement in F1-score and AUC respectively. For future work, we wish to integrate a connectivity learning policy into the transformer so that it just does not learn the temporal representation, rather it also models the dynamic influence among sensors. The code can be publicly accessed at https://github.com/ehtesam3154/dgs_svdd.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Akcay, S., Atapour-Abarghouei, A., Breckon, T.P.: Ganomaly: Semi-supervised anomaly detection via adversarial training. In: Asian conference on computer vision. pp. 622–637. Springer (2018)
- 2[2] Breunig, M.M., Kriegel, H.P., Ng, R.T., Sander, J.: Lof: identifying density-based local outliers. In: Proceedings of the 2000 ACM SIGMOD international conference on Management of data. pp. 93–104 (2000)
- 3[3] Jenni Bergal: Florida hack exposes danger to water systems (2021), https://www.pewtrusts.org/en/research-and-analysis/blogs/stateline/2021/03/10/florida-hack-exposes-danger-to-water-systems
- 4[4] Kipf, T.N., Welling, M.: Variational graph auto-encoders. ar Xiv preprint ar Xiv:1611.07308 (2016)
- 5[5] Kravchik, M., Shabtai, A.: Detecting cyber attacks in industrial control systems using convolutional neural networks. In: Proceedings of the 2018 workshop on cyber-physical systems security and privacy. pp. 72–83 (2018)
- 6[6] Kriegel, H.P., Schubert, M., Zimek, A.: Angle-based outlier detection in high-dimensional data. In: Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. pp. 444–452 (2008)
- 7[7] Li, D., Chen, D., Jin, B., Shi, L., Goh, J., Ng, S.K.: Mad-gan: Multivariate anomaly detection for time series data with generative adversarial networks. In: International conference on artificial neural networks. pp. 703–716. Springer (2019)
- 8[8] Liu, F.T., Ting, K.M., Zhou, Z.H.: Isolation forest. In: 2008 eighth ieee international conference on data mining. pp. 413–422. IEEE (2008)
