| Type: | Package | 
| Title: | Sparse Gaussian Markov Random Field Mixtures for Anomaly Detection | 
| Version: | 0.3.0 | 
| Description: | An implementation of sparse Gaussian Markov random field mixtures presented by Ide et al. (2016) <doi:10.1109/ICDM.2016.0119>. It provides a novel anomaly detection method for multivariate noisy sensor data. It can automatically handle multiple operational modes. And it can also compute variable-wise anomaly scores. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 6.0.1 | 
| Imports: | ggplot2, glasso, mvtnorm, stats, tidyr, utils, zoo | 
| Suggests: | dplyr, ModelMetrics, testthat, covr, knitr, rmarkdown | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2018-04-16 09:00:00 UTC; kmakiyam | 
| Author: | Koji Makiyama [cre, aut] | 
| Maintainer: | Koji Makiyama <hoxo.smile@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2018-04-16 09:27:39 UTC | 
Compute anomaly scores
Description
Compute anomaly scores
Usage
compute_anomaly_score(obj, x, window_size = 1L, ...)
Arguments
| obj | object | 
| x | data.frame to compute anomaly scores | 
| window_size | integer. | 
| ... | additional arguments | 
Value
matrix of anomaly scores
Examples
library(sGMRFmix)
set.seed(314)
train_data <- generate_train_data()
fit <- sGMRFmix(train_data, K = 7, rho = 10)
test_data <- generate_test_data()
compute_anomaly_score(fit, test_data)
Generate test data
Description
Generate test data
Usage
generate_test_data()
Generate test labels
Description
Generate test labels
Usage
generate_test_labels()
Generate train data
Description
Generate train data
Usage
generate_train_data()
Plot multivariate data
Description
Plot multivariate data
Usage
plot_multivariate_data(df, label = NULL, order_by = index(df),
  guide_title = NULL, fix_scale = FALSE, point_size = 1L)
Arguments
| df | data.frame of multivariate data | 
| label | data.frame of label for each variables. Or vector of label for each observation. | 
| order_by | vector. An x-axis of plots. | 
| guide_title | character. | 
| fix_scale | logical. | 
| point_size | integer. Point size. | 
Value
ggplot2 object
Examples
library(sGMRFmix)
test_data <- generate_test_data()
test_label <- generate_test_labels()
plot_multivariate_data(test_data)
plot_multivariate_data(test_data, test_label)
Sparse Gaussian Markov Random Field Mixtures
Description
Sparse Gaussian Markov Random Field Mixtures
Usage
sGMRFmix(x, K, rho, kmeans = FALSE, m0 = rep(0, M), lambda0 = 1,
  alpha = NULL, pi_threshold = 1/K/100, max_iter = 500, tol = 0.1,
  verbose = TRUE)
Arguments
| x | data.frame. A training data. | 
| K | integer. Number of mixture components. Set a large enough number because the algorithm identifies major dependency patterns from the data via the sparse mixture model. | 
| rho | double. Constant that multiplies the penalty term. An optimal value should be determined together with the threshold on the anomaly score, so the performance of anomaly detection is maximized. | 
| kmeans | logical. If TRUE, initialize parameters with k-means method. You should set TRUE for non-time series data. Default FALSE. | 
| m0 | a numeric vector. Location parameter of Gauss-Laplace prior. Keep default if no prior information is available. Default 0. | 
| lambda0 | double. Coefficient for scale parameter of Gauss-Laplace prior. Keep default if no prior information is available. Default 1. | 
| alpha | double. Concentration parameter of Dirichlet prior. Keep default if no prior information is available. Default 1. | 
| pi_threshold | double. Threshold to decide a number of states. If pi < pi_threshold, the states are rejected in the sense of sparse estimation. | 
| max_iter | integer. Maximum number of iterations. | 
| tol | double. The tolerance to declare convergence. | 
| verbose | logical. | 
Value
sGMRFmix object
Examples
library(sGMRFmix)
set.seed(314)
train_data <- generate_train_data()
fit <- sGMRFmix(train_data, K = 7, rho = 10)
fit