Time-RCD / README.md
oliverlevn's picture
update readme file
3af30c8 verified
# Towards Foundation Models for Zero-Shot Time Series Anomaly Detection: Leveraging Synthetic Data and Relative Context Discrepancy
This repository contains the implementation of Time-RCD for time series anomaly detection, integrated with the TSB-AD (Time Series Benchmark for Anomaly Detection) datasets.
## Project Structure
```
.
β”œβ”€β”€ checkpoints/ # Pre-trained model checkpoints
β”œβ”€β”€ datasets/ # TSB-AD datasets (univariate and multivariate)
β”œβ”€β”€ evaluation/ # Evaluation metrics and visualization tools
β”œβ”€β”€ models/ # Model implementations
β”‚ └── time_rcd/ # Time-RCD model components
β”œβ”€β”€ utils/ # Utility functions
β”œβ”€β”€ testing.py # Main entry point
β”œβ”€β”€ model_wrapper.py # Model wrapper for different algorithms
└── README.md # This file
```
## Prerequisites
- Python 3.10
- conda (recommended for environment management)
- Git
## Installation
### 1. Create and Activate Conda Environment
```bash
conda create -n Time-RCD python=3.10
conda activate Time-RCD
```
### 2. Download the Repository
```bash
wget https://anonymous.4open.science/api/repo/TimeRCD-5BE1/zip -O Time-RCD.zip
unzip Time-RCD.zip -d Time-RCD
```
or dowload from the link: https://anonymous.4open.science/r/TimeRCD-5BE1 and unzip
### 3. Download TSB-AD Datasets
Create the datasets directory and download the TSB-AD-U (univariate) and TSB-AD-M (multivariate) datasets:
```bash
mkdir -p "datasets" \
&& wget -O "datasets/TSB-AD-U.zip" "https://www.thedatum.org/datasets/TSB-AD-U.zip" \
&& wget -O "datasets/TSB-AD-M.zip" "https://www.thedatum.org/datasets/TSB-AD-M.zip" \
&& cd datasets \
&& unzip TSB-AD-U.zip && rm TSB-AD-U.zip \
&& unzip TSB-AD-M.zip && rm TSB-AD-M.zip \
&& cd ..
```
### 4. Install Python Dependencies
#### Option A: Fast Install (using uv)
```bash
pip install uv
uv pip install jaxtyping einops pandas numpy scikit-learn transformers torch torchvision statsmodels matplotlib seaborn -U "huggingface_hub[cli]"
```
#### Option B: Normal Install
```bash
pip install jaxtyping einops pandas numpy scikit-learn transformers torch torchvision statsmodels matplotlib seaborn -U "huggingface_hub[cli]"
```
### 5. Download Pre-trained Checkpoints
Download the pre-trained model checkpoints from Hugging Face:
```bash
huggingface-cli download thu-sail-lab/Time-RCD checkpoints.zip --local-dir ./
unzip checkpoints.zip
```
### Single Variable Time Series
To run anomaly detection on univariate time series:
```bash
python testing.py
```
### Multi-Variable Time Series
To run anomaly detection on multivariate time series:
```bash
python testing.py --mode multi
```
<!--
### 6. Download Training Datasets
Download Training Datasets (Optional -for retraining models)
```bash
mkdir training_data
huggingface-cli download thu-sail-lab/Time-RCD training_data.zip --local-dir ./
unzip training_data.zip
```
-->