JuliaCon 2020 (times are in UTC)

Bayesian curve reconstruction from noisy streams in Julia

Parametric curve reconstruction from partial noisy data is useful for
monitoring repetitive industrial process state space trajectories. We
iteratively estimate the parameters of a Bayesian model by recursive least
squares fitting using LsqFit.jl, integrate them in time updating online robust
statistics via OnlineStats.jl, showing a representation built on Makie.jl and
tested on simulated 3D trajectories and on real data from battery testing
experiments.


Industrial processes are typically well controlled. State space trajectory
cycles are repetitive, except for expected / controlled variations due to
controlled factors. Minor variations typically appear as noise.

When faults occur, trajectories drift, diverging from the observed/expected
ones.

As a consequence, near-real time parametric N-dimensional curve reconstruction
from very high frequency data streams depicting temporally limited sections of
sparsely sampled, low resolution and high noise trajectories of e.g. machining
heads and laser beams can be valuable in industrial settings for applications
ranging from security monitoring and quality assurance to control.

Whenever trajectories are sampled densely, we can use model inversion (by e.g.
recursive least squares) and online updates to accumulate knowledge on
processes during many process instances (e.g. cycles) at many time series
points in terms of robust statistics of the estimated model parameters.

We can then detect and isolate fault conditions early, in a predictive
maintenance scheme operating at the micro-level (how much time till failure?)
and intra-cycle (is the current process instance currently diverging?) rather
than per process instance (how many cycles till failure?).

In this contribution, we present methods for rapid reconstruction from partial
noisy data of curves from parametric families. The inversion operates in
streaming mode, in the sense that it works by maintaining and updating a
snapshot of the acquired data representation and that is only allowed a limited
number of accesses to the data stream which is not Random Access. The inherent
uncertainty is treated by considering a Bayesian inversion framework. Specific
attention is devoted to the exploitation of the conditional independence
structure of the problem for the derivation of a concurrent problem definition
that lends itself to its integration in a high performance visualization
component built on Makie.jl. The produced implementation is generic with
respect to the family of curves supported.