Skip to main content

Online latent state estimation with Apache Spark.

Project description

Artan

Build Status codecov Maven Central PyPI Documentation Status

Model-parallel online latent state estimation with Apache Spark.

Overview

This library provides supports for model-parallel latent state estimation with Apache Spark, with a focus on online learning compatible with structured streaming. Mainly developed for time series estimation of latent variables of many small scale systems, this library could fit to your use case if you're looking for:

  • Model-parallelism. Model-parallelism is the main mode of parallelism, such as training multiple similar time series models from online measurements/multiple sensors, or same models with different priors/hyperparameters etc,..
  • Online learning. Model parameters are updated sequentially with measurements with a single pass. The state used by the algorithms are bounded with #models and model parameters.
  • Latent state estimation. Focusing on methods for hidden state estimation, implemented methods include solutions for filtering (Kalman filters, EKF, UKF, Multiple-Model Adaptive filters, etc..) problems, smoothing (RTS) problems, finite mixture models (Multivariate Gaussian, Poisson, Bernoulli, etc,..).

Artan requires Scala 2.12, Spark 3.0+ and Python 3,6+

Download

This project has been published to the Maven Central Repository. When submitting jobs on your cluster, you can use spark-submit with --packages parameter to download all required dependencies including python packages.

spark-submit --packages='com.github.ozancicek:artan_2.12:0.5.1'

For SBT:

libraryDependencies += "com.github.ozancicek" %% "artan" % "0.5.1"

For python:

pip install artan

Note that pip will only install the python dependencies. To submit pyspark jobs, --packages='com.github.ozancicek:artan_2.12:0.5.1' argument should be specified in order to download necessary jars.

Docs and Examples

Visit docs to get started and see examples for all sample scripts.

Structured streaming examples

  • Local linear trend filtering with Linear Kalman Filter (python, scala)
  • Recursive least squares (python, scala)
  • Nonlinear estimation with Extended Kalman Filter (scala)
  • Nonlinear estimation with Unscented Kalman Filter (scala)
  • Multiple-Model Adaptive estimation (scala)
  • Online Gaussian Mixture Model (python, scala)

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

artan-0.5.1.tar.gz (14.3 kB view details)

Uploaded Source

File details

Details for the file artan-0.5.1.tar.gz.

File metadata

  • Download URL: artan-0.5.1.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.2

File hashes

Hashes for artan-0.5.1.tar.gz
Algorithm Hash digest
SHA256 01e11eaac4728fdd28630e3bcab0223f25bc759bcacb78c8d378f8ad570da260
MD5 7dffcd5a266c4dda57b6afddb9f36924
BLAKE2b-256 7bc3152719da84374f79a4269e4b6f97b16333b9fc74c0cf5a36f8e449964de6

See more details on using hashes here.

Supported by

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