Skip to content

v0.3.0

Compare
Choose a tag to compare
@tdewolff tdewolff released this 01 Jun 14:29
· 105 commits to master since this release

Features

  • Support for variational and sparse models
  • Support for multi output (heterogeneous) likelihoods, i.e. different likelihoods for each channel
  • New models: Snelson, OpperArchambeau, Titsias, Hensman
  • New kernels: Constant, White, Exponential, LocallyPeriodic, Cosine, Sinc
  • New likelihoods: StudentT, Exponential, Laplace, Bernoulli, Beta, Gamma, Poisson, Weibull, LogLogistic, LogGaussian, ChiSquared
  • New mean functions: Constant and Linear
  • Allow kernels to be added and multiplied (i.e. K1 + K2 or K1 * K2)
  • Data and DataSet now accept more data types as input, such as pandas series
  • Data, DataSet, and Model plot functionalities return the figure and axes to allow customization
  • Support sampling (prior or posterior) from the model
  • Add the MOHSM kernel: multi-output harmonic spectral mixture kernel (Altamirano 2021)
  • Parameters can be pegged to other parameters, essentially removing them from training
  • Exact model supports training with known data point variances and draw their error bars in plots

Improvements

  • Jitter added to the diagonal before calculating the Cholesky is now relative to the average value of the diagonal, this improves numeric stability for all kernels irrespective of the actual numerical magnitude of the values
  • Kernels now implement K_diag that returns the kernel diagonal for better performance
  • BNSE initialization method has been reimplemented with improved performance and stability
  • Parameter initialization for all models from different initialization methods has been much improved
  • Induction point initialization now support random or grid or density
  • SpectralMixture (in addition to Spectral), MultiOutputSpectralMixture (in addition to MultiOutputSpectral) with higher performance
  • Allow mixing of single-output and multi-output kernels using active
  • All plotting functions have been restyled
  • Model training allows custom error function for calculation at each iteration
  • Support single and cross lengthscales for the SquaredExponential, RationalQuadratic, Periodic, LocallyPeriodic kernels
  • Add AIC and BIC methods to model
  • Add model.plot_correlation()

Changes

  • Remove rescale_x
  • Parameter.trainable => Parameter.train
  • Kernels are by default initialized deterministically and not random, however the models (MOSM, MOHSM, CONV, CSM, SM-LMC, and SM) are still initialized randomly by default
  • Plotting predictions happens from the model no the data: model.plot_prediction() instead of model.predict(); data.plot()