nsgp: Gaussian process regression and statistical testing

Description Details


This package implements the non-stationary gaussian processes for one- and two-sample cases, and statistical likelihood ratio tests for distinguishing when two time-series are significantly different. The package offers two main functions: gpr1sample and gpr2sample.


The function gpr1sample learns a gaussian process model that uses either stationary or non-stationary gaussian kernel, which assumes a perturbation at (time) point 0. The non-stationarity is controlled by a time-dependent lengthscale in the gaussian kernel. The time-dependency l - (l - l_{min})e^{-ct} follows exponential decay, such that it starts at value l.min and grows logarithmically to l by curvature parameter c.

In gpr2sample we compare control and case time-series by building GP models for both of them individually, while also building a third null model for joint data (assume that data come from the same process). The null model and the case/control models are then compared with likelihood ratios for significant different along time. The package includes standard marginal log likelihood (MLL) ratio, and three novel ones: expected marginal log likelihood (EMLL) measures the ratio between the models while discarding data; posterior concentration (PC) ratio measures the difference of variance between null and individual models; and noisy posterior concentration (NPC) ratio also compares observational noises.

Search within the nsgp package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.