FindAnomalies
FindAnomalies[{example1,example2,…}]
gives a list of the examplei that are considered anomalous with respect to the other examples.
FindAnomalies[examples,prop]
gives the specified property related to the anomaly computation.
FindAnomalies[examples,{prop1,prop2,…}]
gives the properties propi.
FindAnomalies[fun,data]
finds anomalies in data using the given AnomalyDetectorFunction[…] or LearnedDistribution[…].
FindAnomalies[fun,data,props]
gives properties related to the anomaly computation.
Details and Options
- FindAnomalies can be used on many types of data, including numerical, nominal and images.
- Each examplei can be a single data element, a list of data elements or an association of data elements. Examples can also be given as a Dataset object.
- FindAnomalies attempts to model the distribution of non-anomalous data in order to detect anomalies (i.e. "out-of-distribution" examples). Examples are considered anomalous when their RarerProbability is below the value specified for AcceptanceThreshold.
- In FindAnomalies[AnomalyDetectorFunction[…],data], if data comes from the same distribution as the training examples for the detector, AcceptanceThreshold corresponds to the anomaly detection false-positive rate.
- In FindAnomalies[…,props], possible properties include:
-
"Anomalies" examples that are considered anomalous "AnomalyCount" number of examples that are considered anomalous "AnomalyBooleanList" Boolean values indicating whether examples are anomalous "AnomalyPositions" list of anomaly positions "AnomalyRarerProbabilities" rarer probabilities of anomalous examples "NonAnomalies" examples that are considered nonanomalous "RarerProbabilities" probability to generate a sample with lower PDF than data - The following options can be given:
-
AcceptanceThreshold 0.001 RarerProbability threshold to consider an example anomalous FeatureExtractor Identity how to extract features from which to learn FeatureNames Automatic feature names to assign for input data FeatureTypes Automatic feature types to assume for input data Method Automatic which modeling algorithm to use PerformanceGoal Automatic aspects of performance to optimize RandomSeeding 1234 what seeding of pseudorandom generators should be done internally TimeGoal Automatic how long to spend training the detector TrainingProgressReporting Automatic how to report progress during training ValidationSet Automatic the set of data on which to evaluate the model during training - Possible settings for PerformanceGoal include:
-
"Quality" maximize the modeling quality of the detector "Speed" maximize speed for detecting anomalies Automatic automatic tradeoff among speeds, quality and memory {goal1,goal2,…} automatically combine goal1, goal2, etc. - Possible settings for Method are as given in LearnDistribution[…].
- The following settings for TrainingProgressReporting can be used:
-
"Panel" show a dynamically updating graphical panel "Print" periodically report information using Print "ProgressIndicator" show a simple ProgressIndicator "SimplePanel" dynamically updating panel without learning curves None do not report any information - FindAnomalies[…,FeatureExtractor"Minimal"] indicates that the internal preprocessing should be as simple as possible.
Examples
open allclose allBasic Examples (3)
Scope (3)
Train a distribution on colors:
Use the trained distribution to find anomalies:
Train an AnomalyDetectorFunction on a two-dimensional array of pseudorandom real numbers:
Use the trained AnomalyDetectorFunction to find anomalies in new examples:
Use the detector function to find anomalies, their corresponding positions and non-anomalous cases:
Obtain a random sample of training and test datasets of images:
Add anomalous examples to corrupt the datasets:
Train a distribution on images:
Use the trained distribution to find anomalous examples in the test set:
Options (5)
AcceptanceThreshold (1)
Create and visualize random 3D vectors with anomalies:
Find anomalous examples and visualize them:
Change the anomaly detection false-positive rate by specifying the AcceptanceThreshold:
Method (1)
PerformanceGoal (1)
Find 1 percentile of the most uncommon examples in the dataset by specifying the PerformanceGoal:
Find the most uncommon examples in the dataset with the default PerformanceGoal:
TimeGoal (1)
Applications (4)
Find around 0.1 percentile of the most uncommon examples in the dataset:
Add anomalous examples to the test set:
Train an anomaly detector on the training set:
Find anomalous examples in the test set:
Obtain a dataset related to features of moons of Jupiter:
Find anomalous examples in the dataset:
Find anomalous examples with a higher RarerProbability threshold value:
Obtain time-value pairs of a given time series:
Partition the time-value pairs to a list of consecutive windows:
Text
Wolfram Research (2019), FindAnomalies, Wolfram Language function, https://reference.wolfram.com/language/ref/FindAnomalies.html (updated 2020).
CMS
Wolfram Language. 2019. "FindAnomalies." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/FindAnomalies.html.
APA
Wolfram Language. (2019). FindAnomalies. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FindAnomalies.html