/aiiti-02-2021

Primary LanguageJupyter NotebookMIT LicenseMIT

title author
AI in the Industry Tutorials (Anomaly Detection on Sequential Data)
michele.lombardi2@unibo.it

Anomaly Detection on Sequential Data

This is one of a series of tutorials that are part of the "AI in the Industry" course at University of Bologna. Each tutorial tackles a simplified industrial problem and aims at showing how similar problem can be tackled using AI techniques, from Machine Learning to Combinatorial Optimization (and later on their combination).

This tutorial in particular tackles a simple anomaly detection task, with an emphasis on using a rolling window approach to deal with sequence data. The tutorial covers also how to tackle anomaly detection problem by relying on an autoregressor, and how to build basic ensembles via selection and summation.

Accessing the Tutorial

The tutorial is split over multiple (numbered) Jupyter notebooks. The preferred way to access the tutorial is via Binder, which enables running the code on a remote server:

Binder

Alternatively, it is possible to inspect the notebooks in a static form (by just clicking on any *.ipynb file in this directory), or to run the code locally. Doing this will require to:

git clone https://github.com/lompabo/aiiti-02-2021.git
  • Start the container via Docker Compose, from the main directory of the tutorial:
docker-compose up

On linux systems, you may need to start the docker service first.

The first execution of this process will be fairly long, since Docker will need to download a base image for the container (think of a virtual machine disk) and then some boilerplate configuration steps will need to be performed (e.g. installing jupyter in the container). Subsequent runs will be much faster.

The process will end with a message such as this one:

To access the notebook, open this file in a browser:
    file:///home/lompa/.local/share/jupyter/runtime/nbserver-1-open.html
Or copy and paste this URL:
    http://127.0.0.1:39281/?token=0cd92163797c3b3abe67c2b0aea57939867477d6068708a2

Copying one of the two addresses in a file browser file provide access to the Jupyter server running in the spawned container.

Once you are done, pressing CTRL+C on the terminal will close the Docker container.

For more information about how Docker works (such as the difference between images and containers, or how to get rid of all of them once you are done with the tutorial), you can check the Docker documentation.