Skip to content

Predict the future of your network using the best time series ML model that fit with your traffic.

License

Notifications You must be signed in to change notification settings

MuriloChianfa/network-traffic-time-series-forecasting

Repository files navigation

Network Traffic Time Series Forecasting

Predict the future of your network using the best time series ML model that fit with your traffic.

  • You can try with your own data builded from raw netflow.
  • Fork this project to your Github account.
  • This software is created under MIT License

Facebook Prophet network traffic forecasting

Prophet-forecasting

SARIMAX network traffic forecasting

SARIMAX-forecasting

ML model fitting

SARIMAX


Written paper

Important

The following work and its results are the result of a project presented at the end of the subject of the pattern recognition class of the Master's in Science course Computing at the State University of Londrina (UEL) and does not have the objective of being published as a scientific article.

preview

You can read the written paper here, please notice to the above advice.

Install instructions

We've some methods to get up and running the application:

Using pure Python

Dependencies

  • Python v3.11.10.

1° - Clone the project

git clone git@github.com:MuriloChianfa/network-traffic-time-series-forecasting.git
cd network-traffic-time-series-forecasting

2° - Install dependencies into a new virtual environment

virtualenv -p python3.11 venv
. ./venv/bin/activate
pip install -r requirements.txt

3° - Running the application

streamlit run forecasting/main.py

4° - Access the application

http://localhost:8501

Using Docker Compose

Dependencies

  • Docker v24.0 or higher.
  • Docker Compose v2.13 or higher.
  • Your may need nvidia-container-toolkit.

1° - Clone the project

git clone git@github.com:MuriloChianfa/network-traffic-time-series-forecasting.git
cd network-traffic-time-series-forecasting

2° - Running project

docker compose -f docker-compose.yml up -d

3° - Access the application

http://localhost

Building your own dataset

1° - Preparing go modules

cd preprocess
go mod init network-traffic-time-series-forecasting
go mod tidy
go env -w GO111MODULE=on
go get github.com/phaag/go-nfdump@d2ff6042cb5186ede4064cbd50253ab97a78a89e

2° - Running traffic extractor

go run extract-traffic.go