Giter Site home page Giter Site logo

ozancicek / artan Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 2.0 566 KB

Online latent state estimation with Spark

License: Apache License 2.0

Scala 70.94% Python 28.54% Shell 0.52%
spark spark-structured-streaming sparkml kalman-filter python scala streaming pyspark finite-mixture

artan's Introduction

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.