Skip to content
/ MTV Public

A Full-stack Platform for Multiple Time-series Visualization (MTV) and Anomaly Analysis.

License

Notifications You must be signed in to change notification settings

sintel-dev/MTV

Repository files navigation

“DAI-Lab” An open source project from Data to AI Lab at MIT.

Coverage Status Github All Releases Docker Pulls

MTV

MTV is a visual analytics system built for anomaly analysis of multiple time-series data.

License

The MIT License

Prerequisites

Make sure you have installed all of the following prerequisites on your development machine:

  • Sintel - MTV is the visual interface that requires running sintel as the backend. Please install Sintel first if you want to try the full feature of MTV.
  • Node.js (>= 10.0.0) - Download & Install Node.js and the npm package manager. Make sure to install gulp-cli globally after the installation of Node.js.

Get Started

Install

Download the repository

$ git clone https://github.com/sintel-dev/MTV mtv

Once you've downloaded the MTV repository and installed all the prerequisites, you're just a few steps away from running your application. To install the project, create a virtualenv and execute

$ npm install

To avoid version conflicts and dependency issues, we have locked the versions of all packages and their dependencies in package-lock.json. The execution of the npm install command will, by default, install all packages using exactly the same versions specified in the package-lock.json.

Running Your Application

1. Run Sintel as the backend

Please make sure Sintel runs on the port 3000. If not, you can change the config in the file src/model/utils/constants.tsx to ensure that MTV is able to connect to Sintel correctly.

2. Build MTV

$ npm run build

3. Launch it

$ npm run serve

Your application should run on port 4200 with the production environment by default. Just go to http:https://localhost:4200 in your browser (Chrome recommended).

Development

If you want to make changes on the interface and customize it to your own application scenario, you can run the following command:

$ npm start

Everytime you make changes on the source code, the interface will be automatically refreshed.

Citation

@article{10.1145/3512950,
  author = {Liu, Dongyu and Alnegheimish, Sarah and Zytek, Alexandra and Veeramachaneni, Kalyan},
  title = {MTV: Visual Analytics for Detecting, Investigating, and Annotating Anomalies in Multivariate Time Series},
  year = {2022},
  issue_date = {April 2022},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  volume = {6},
  number = {CSCW1},
  url = {https://doi.org/10.1145/3512950},
  doi = {10.1145/3512950},
  journal = {Proc. ACM Hum.-Comput. Interact.},
  month = {apr},
  articleno = {103},
  numpages = {30},
  keywords = {anomaly detection, human-AI collaboration, collaborative analysis, visual analytics, time series, annotation}
}