Introduction to Flow Forecast
Flow Forecast (FF) is an open-source framework designed for time series forecasting, classification, and anomaly detection using deep learning techniques. It provides powerful tools, including state-of-the-art models such as transformers, attention models, GRUs, and ODEs, along with advanced interpretability metrics. The framework is notable for integrating seamlessly with cloud services, offering model serving capabilities, and being the first to support transformer-based time series models. It is managed primarily by Task-TS from CoronaWhy, and contributions are welcome from the open-source community. Historically, the repository has been a resource for open-source codes and benchmarks in flash flood and river flow forecasting.
For those interested in tutorials and practical examples, a dedicated repository is available: Tutorials Repository.
Getting Started with Flow Forecast
To begin using Flow Forecast, users can easily install it via pip:
pip install flood-forecast
Comprehensive guidance on training models is provided in the Wiki, and further documentation can be found in the Confluence Documentation.
Supported Models
Flow Forecast supports a wide variety of models, each tailored for specific forecasting tasks, including:
- Vanilla LSTM: Ideal for multivariate time series tasks with transfer learning capabilities.
- Transformer Models: From basic to more complex configurations like full transformer models, including variations with linear decoders.
- Attention Models: Including multi-head attention blocks, enhancing model interpretability and forecasting accuracy.
- Specialized Models: Such as DA-RNN, Transformer XL, Informer, and models like DeepAR and DSANet for comprehensive time series analysis.
- Linear Models: Simplified linear models are available for rapid prototyping and feature exploration.
- Recent Additions: Emerging models from recent research, such as DLinear, NLinear, Crossformer, Anomaly Transformer, TSMixer, and Inverted Transformer.
Forthcoming Models
Flow Forecast continues to evolve with new models in development. Details on upcoming releases can be accessed via the project board.
Integrations
The framework supports integration with major cloud services like Google Cloud Platform and tools like Weights and Biases, enabling simplified deployment and performance tracking.
Contributing to Flow Forecast
Community contributions keep the project thriving. Detailed instructions for contributing can be found on the contributions page and the project board.
Key Applications and Data Sources
Stream Flow Forecasting
This task involves predicting the future flow or height of a stream using factors like current flow, temperature, and precipitation, with future versions potentially incorporating additional data such as snow pack and soil moisture.
Flood Severity Forecasting
Focuses on estimating the impact of floods using data on flood forecasts, population data, and geographical features, considering factors like injuries and property or crop damage.
For those utilizing the Flow Forecast data or codebase, appropriate citation of the work, including the original authors of model papers, is encouraged.
@misc{godfried2020flowdb,
title={FlowDB a large scale precipitation, river, and flash flood dataset},
author={Isaac Godfried and Kriti Mahajan and Maggie Wang and Kevin Li and Pranjalya Tiwari},
year={2020},
eprint={2012.11154},
archivePrefix={arXiv},
primaryClass={cs.AI}
}
Flow Forecast stands as a robust, evolving tool for deep learning experts and newcomers alike, facilitating advanced time series analysis and exploration.