Anomaly detection package.
Project description
This library is Python projects for anomaly detection. This contains these techniques.
Kullback-Leibler desity estimation
Singular spectrum analysis
Graphical lasso
CUMSUM anomaly detection
Hoteling T2
Directional data anomaly detection
REQUIREMENTS
numpy
pandas
scikit-learn
scipy
INSTALLATION
pip install pyanom
USAGE
Kullback-Leibler desity estimation
import numpy as np
from pyanom.density_ratio_estimation import KLDensityRatioEstimator
X_normal = np.loadtxt("./data/normal_data.csv", delimiter=",")
X_error = np.loadtxt("./data/error_data.csv", delimiter=",")
model = KLDensityRatioEstimator(
band_width=h, lr=0.001, max_iter=100000)
model.fit(X_normal, X_error)
anomaly_score = model.score(X_normal, X_error)
Singular spectrum analysis
import numpy as np
from pyanom.subspace_methods import SSA
y_error = np.loadtxt("./data/timeseries_error2.csv", delimiter=",")
model = SSA(window_size=50, trajectory_n=25, trajectory_pattern=3, test_n=25, test_pattern=2, lag=25)
model.fit(y_error)
anomaly_score = model.score()
Graphical lasso
import numpy as np
from pyanom.structure_learning import GraphicalLasso
X_normal = np.loadtxt("./data/normal_data.csv", delimiter=",")
X_error = np.loadtxt("./data/error_data.csv", delimiter=",")
model = GraphicalLasso(rho=0.1)
model.fit(X_normal)
anomaly_score = model.score(X_error)
Direct learning sparse changes
from pyanom.structure_learning import DirectLearningSparseChanges
model = DirectLearningSparseChanges(
lambda1=0.1, lambda2=0.3, max_iter=10000)
model.fit(X_normal, X_error)
pmatrix_diff = model.get_sparse_changes()
CUSUM anomaly detection
import numpy as np
from pyanom.outlier_detection import CAD
y_normal = np.loadtxt(
"./data/timeseries_normal.csv", delimiter=",").reshape(-1, 1)
y_error = np.loadtxt(
"./data/timeseries_error.csv", delimiter=",").reshape(-1, 1)
model = CAD(threshold=1.0)
model.fit(y_normal)
anomaly_score = model.score(y_error)
Hoteling T2
import numpy as np
from pyanom.outlier_detection import HotelingT2
X_normal = np.loadtxt("./data/normal_data.csv", delimiter=",")
X_error = np.loadtxt("./data/error_data.csv", delimiter=",")
model = HotelingT2()
model.fit(X_normal)
anomaly_score = model.score(X_error)
Directional data anomaly DirectionalDataAnomalyDetection
import numpy as np
from pyanom.outlier_detection import AD3
X_normal = np.loadtxt(
"./data/normal_direction_data.csv", delimiter=",")
X_error = np.loadtxt("./data/error_direction_data.csv", delimiter=",")
model = AD3()
model.fit(X_normal, normalize=True)
anomaly_score = model.score(X_error)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyanom-0.0.2b1.tar.gz
(10.4 kB
view details)
Built Distribution
pyanom-0.0.2b1-py3-none-any.whl
(12.4 kB
view details)
File details
Details for the file pyanom-0.0.2b1.tar.gz
.
File metadata
- Download URL: pyanom-0.0.2b1.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4c476040f1a72f83742933bd49db2c833ac58f88f48e76f3db97729bdf2546c |
|
MD5 | c2fdfbabc02375ccdc71a38fcf845fb1 |
|
BLAKE2b-256 | a5f8e422d15cb2812b94125523472dc40a9aa00564722bcebe8b7ac4042c9c02 |
File details
Details for the file pyanom-0.0.2b1-py3-none-any.whl
.
File metadata
- Download URL: pyanom-0.0.2b1-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dc0801fe0528e4c4d306e33692a96eea9ff070a44fc2ffc6ec00200004c8298 |
|
MD5 | 56ca344a84335cb60dd0e0027aefbdd8 |
|
BLAKE2b-256 | fffb7f145a626a433d66d97784b7a07e0e24678346810ede26852549a34ba5e8 |