Skip to main content

Semi-synthetic time-varrying traffic generator based on averaged time series

Project description

Traffic Weaver

Semi-synthetic time-varrying traffic generator based on averaged time series.

PyPI version test coverage badge Deploy Sphinx documentation to Pages pages-build-deployment

Acknowledgments and citation

Please cite this paper when you use this simulator in your publications/lectures/presentations:

Piotr Lechowicz, Aleksandra Knapińska, Adam Włodarczyk, Krzysztof Walkowiak, "Traffic Weaver: semi-synthetic time-varying traffic generator based on averaged time series," SoftwareX, Volume 28, 101946, 2024.

Table of content

Introduction

Traffic Weaver is a Python package developed to generate a semi-synthetic signal (time series) with finer granularity, based on averaged time series, in a manner that, upon averaging, closely matches the original signal provided. The key components utilized to recreate the signal encompass:

  • oversampling
  • recreating from average with a given strategy,
  • stretching to match the integral of the original time series,
  • interpolating,
  • smoothing,
  • repeating,
  • applying trend,
  • adding noise.

The primary motivation behind Traffic Weaver is to furnish semi-synthetic time-varying traffic in telecommunication networks, facilitating the development and validation of traffic prediction models, as well as aiding in the deployment of network optimization algorithms tailored for time-varying traffic.

The purpose of Traffic Weaver is to generate new time-varying data based on an already available sample of data, i.e., to create semi-synthetic data when the size of real data is either insufficient or the time points at which the data were measured are too rare.

In consequence, it can generate larger and diverse datasets with similar traffic patterns based on the original traffic.

Below figure shows a general usage example. shows a general usage example. Based on the provided original averaged time series (a), the signal is n-times oversampled and recreated from average values with a predefined strategy (b). Next, it is stretched to match the integral of the input time series function (c). Further, it is smoothed with a spline function (d). In order to create weekly semi-synthetic data, the signal is repeated seven times (e), applying a long-term trend consisting of sinusoidal and linear functions (f). Finally, the noise is introduced to the signal, starting from small values and increasing over time (g). To validate the correctness of the applied processing, (h) presents the averaged two periods of the created signal, showing that they closely match the original signal (except the applied trend).

Signal processing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

traffic_weaver-1.5.4.tar.gz (79.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

traffic_weaver-1.5.4-py3-none-any.whl (75.2 kB view details)

Uploaded Python 3

File details

Details for the file traffic_weaver-1.5.4.tar.gz.

File metadata

  • Download URL: traffic_weaver-1.5.4.tar.gz
  • Upload date:
  • Size: 79.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for traffic_weaver-1.5.4.tar.gz
Algorithm Hash digest
SHA256 9f5f021c9391a858aef7fac3887c821bce0d6142c524f20c03d66c89770e98dc
MD5 1834773702b31aacf293b4ccac397f54
BLAKE2b-256 9791dca238c5f3342ee6c4a113246593e6c6635ef48b4407c4fb3dde38bd7484

See more details on using hashes here.

File details

Details for the file traffic_weaver-1.5.4-py3-none-any.whl.

File metadata

  • Download URL: traffic_weaver-1.5.4-py3-none-any.whl
  • Upload date:
  • Size: 75.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for traffic_weaver-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a78fb20f2407914c016182b33f73728478761b9b55bc14f7d44dabd1bf11753b
MD5 197b82adb2e17908ba998c69721dd367
BLAKE2b-256 2bbe62064023131bd9b28bbe251179a3dd9c3706ce2a86afca871f76eb9ef903

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page