Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Detect outliers of sequence in stream.

Project description

StreamOutlierDetector

Detect outliers of sequence in stream.
In this project we have some assumption:

  • This project works online that means has no idea about the future data
  • This project forget older data (more than size of sample array)
  • If more than half of sample array be in outlier then this project assume the majority is not outlier and calculate outlier detection for the sample again

Usage

install

pip install pyood
pip install --upgrade pyood # if you want update package

How use it

from pyood import OutlierDetector

outlier_detector = OutlierDetector(bound_factor_standard_deviation=3, window_size=20, size_initial_ignore=10)

is_outlier = outlier_detector.push(your_value)

if you want, you can use it with callback function

from pyood import OutlierDetector

def result(is_outlier):
    print(is_outlier)

outlier_detector = OutlierDetector(bound_factor_standard_deviation=3, window_size=20, size_initial_ignore=10)

is_outlier = outlier_detector.push(value=your_value, callback=result)

Help

bound_factor_standard_deviation is the factor that multiple with standard deviation. |value - mean| > bound_factor_standard_deviation * satandard deviation is the outlier.
window_size is the size of array is effective for finding outlier.
first_learning_number is the number of first value we ignore and learn from them.

Warning ⚠
if the outlier be in the first first_learning_number we return it is not outlier and more dangerous we learn it and ruined the mean and variance for a while

Result

I test this class and show the functionality of it on a chart.
❌ are the outliers we detect.
🔵 are the normal values.
- are the bound of outlier detection.

Without bound With bounds

Project details


Release history Release notifications

This version

0.2.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyood, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size pyood-0.2.1-py3-none-any.whl (16.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page