Finding Ghosts in Your Data: Anomaly Detection Techniques with Examples in Python

  • 5h 25m
  • Kevin Feasel
  • Apress
  • 2022

Discover key information buried in the noise of data by learning a variety of anomaly detection techniques and using the Python programming language to build a robust service for anomaly detection against a variety of data types. The book starts with an overview of what anomalies and outliers are and uses the Gestalt school of psychology to explain just why it is that humans are naturally great at detecting anomalies. From there, you will move into technical definitions of anomalies, moving beyond "I know it when I see it" to defining things in a way that computers can understand.

The core of the book involves building a robust, deployable anomaly detection service in Python. You will start with a simple anomaly detection service, which will expand over the course of the book to include a variety of valuable anomaly detection techniques, covering descriptive statistics, clustering, and time series scenarios. Finally, you will compare your anomaly detection service head-to-head with a publicly available cloud offering and see how they perform.

The anomaly detection techniques and examples in this book combine psychology, statistics, mathematics, and Python programming in a way that is easily accessible to software developers. They give you an understanding of what anomalies are and why you are naturally a gifted anomaly detector. Then, they help you to translate your human techniques into algorithms that can be used to program computers to automate the process. You’ll develop your own anomaly detection service, extend it using a variety of techniques such as including clustering techniques for multivariate analysis and time series techniques for observing data over time, and compare your service head-on against a commercial service.

What You Will Learn

  • Understand the intuition behind anomalie
  • Convert your intuition into technical descriptions of anomalous dat
  • Detect anomalies using statistical tools, such as distributions, variance and standard deviation, robust statistics, and interquartile range
  • Apply state-of-the-art anomaly detection techniques in the realms of clustering and time series analysis
  • Work with common Python packages for outlier detection and time series analysis, such as scikit-learn, PyOD, and tslearn
  • Develop a project from the ground up which finds anomalies in data, starting with simple arrays of numeric data and expanding to include multivariate inputs and even time series data

Who This Book Is For

For software developers with at least some familiarity with the Python programming language, and who would like to understand the science and some of the statistics behind anomaly detection techniques. Readers are not required to have any formal knowledge of statistics as the book introduces relevant concepts along the way.

About the Author

Kevin Feasel is a Microsoft Data Platform MVP and CTO at Faregame Inc, where he specializes in data analytics with T-SQL and R, forcing Spark clusters to do his bidding, fighting with Kafka, and pulling rabbits out of hats on demand. He is the lead contributor to Curated SQL, president of the Triangle Area SQL Server Users Group, and author of PolyBase Revealed. A resident of Durham, North Carolina, he can be found cycling the trails along the triangle whenever the weather is nice enough.

In this Book

  • Introduction
  • The Importance of Anomalies and Anomaly Detection
  • Humans Are Pattern Matchers
  • Formalizing Anomaly Detection
  • Laying Out the Framework
  • Building a Test Suite
  • Implementing the First Methods
  • Extending the Ensemble
  • Visualize the Results
  • Clustering and Anomalies
  • Connectivity-Based Outlier Factor (COF)
  • Local Correlation Integral (LOCI)
  • Copula-Based Outlier Detection (COPOD)
  • Time and Anomalies
  • Change Point Detection
  • An Introduction to Multi-series Anomaly Detection
  • Standard Deviation of Differences (DIFFSTD)
  • Symbolic Aggregate Approximation (SAX)
  • Configuring Azure Cognitive Services Anomaly Detector
  • Performing a Bake-Off
  • Appendix—Bibliography