tsBNgen: A Python Library to Generate Time Series Data from an Arbitrary Dynamic Bayesian Network Structure

Image for post
Image for post
Photo by Behzad Ghaffarian on Unsplash

Synthetic data is widely used in various domains. This is because many modern algorithms require lots of data for efficient training, and data collection and labeling usually are a time-consuming process and are prone to errors. Furthermore, some real-world data, due to its nature, is confidential and cannot be shared.

Some methods, such as generative adversarial network¹, are proposed to generate time series data. However, GAN is hard to train and might not be stable; besides, it requires a large volume of data for efficient training.

This article will introduce the tsBNgen, a python library, to generate synthetic time series…


All You Need about Random Processes and Their Properties

Image for post
Image for post
Photo by Matteo Catanese on Unsplash

This is a two-part article. In part 2 (This part), I will go over random processes ( stochastic processes), their properties, and their response to the linear time-invariant (LTI) channel. In part 1, I discussed probabilities, random variables, and their properties. If you have not read the first part yet, please read it here first:

The first part is fundamental to understand this part since random processes are the general extension of random variables and random vectors.
Random variables and random processes play important roles in the real-world. …


Image for post
Image for post
Photo by Klara Avsenik on Unsplash

This is a two-part article. In part 1 (This part), I will go over random variables, random vectors, and their properties. In part 2, I will discuss random processes and their properties.

Random variables and random processes play important roles in the real-world. They are used extensively in various fields such as machine learning, signal processing, digital communication, statistics, etc.

The following is the outline of this article:

Outline

  • Review of Probability. (Part 1)
  • Random Variable. (Part 1)
  • Properties of Random Variable. (Part 1)
  • Important Theorems in Probability. (Part 1)
  • Random Vector. (Part 1)
  • Random Process. (Part 2)
  • Properties of Random…


Decide What Programming Language Is Better for Your Application

Image for post
Image for post
Photo by Thomas Kelley on Unsplash

There are many different programming languages for various applications, such as data science, machine learning, signal processing, numerical optimization, and web development. Therefore, it is essential to know how to decide which programming language is more suitable for your application.

In this article, I will discuss the advantages and disadvantages of using Python, R, and Matlab. I will explain when and for what applications these programming languages are more suitable. I organize the outline based on popular research and work done extensively in the real-world.

Following is the outline of this article:

  • Generic Programming Tasks
  • Machine Learning
  • Graphical and Probabilistic…


Getting Started

Bayesian vs Frequentistcs Parameter Estimation

Image for post
Image for post
Photo by Jose Llamas on Unsplash

Parameter estimation plays a vital role in machine learning, statistics, communication system, radar, and many other domains. For example, in a digital communication system, you sometimes need to estimate the parameters of the fading channel, the variance of AWGN (additive white Gaussian noise) noise, IQ (in-phase, quadrature) imbalance parameters, frequency offset, etc. In machine learning and statistics, you constantly need to estimate and learn the parameters of the probability distributions. For example, in Bayesian and causal networks, this corresponds to estimating the CPT (conditional probability table) for discrete nodes and the mean and the variance for the continuous nodes. …

MANIE TADAYON

PhD student in ECE department at UCLA, doing research in machine learning, probabilistic graphical models and causal inference.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store