All Projects → gpstuff-dev → Gpstuff

gpstuff-dev / Gpstuff

Licence: gpl-3.0
GPstuff - Gaussian process models for Bayesian analysis

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Gpstuff

Bayesian Neural Networks
Pytorch implementations of Bayes By Backprop, MC Dropout, SGLD, the Local Reparametrization Trick, KF-Laplace, SG-HMC and more
Stars: ✭ 900 (+749.06%)
Mutual labels:  mcmc, classification, bayesian-inference, variational-inference, regression
Probabilistic Models
Collection of probabilistic models and inference algorithms
Stars: ✭ 217 (+104.72%)
Mutual labels:  mcmc, bayesian-inference, bayesian, variational-inference
MultiBUGS
Multi-core BUGS for fast Bayesian inference of large hierarchical models
Stars: ✭ 28 (-73.58%)
Mutual labels:  bayesian, bayesian-inference, mcmc
LogDensityProblems.jl
A common framework for implementing and using log densities for inference.
Stars: ✭ 26 (-75.47%)
Mutual labels:  bayesian, bayesian-inference, mcmc
cmdstanr
CmdStanR: the R interface to CmdStan
Stars: ✭ 82 (-22.64%)
Mutual labels:  bayesian, mcmc, variational-inference
Shinystan
shinystan R package and ShinyStan GUI
Stars: ✭ 172 (+62.26%)
Mutual labels:  mcmc, bayesian-inference, bayesian
approxposterior
A Python package for approximate Bayesian inference and optimization using Gaussian processes
Stars: ✭ 36 (-66.04%)
Mutual labels:  bayesian-inference, gaussian-processes, bayesian-optimization
BAS
BAS R package https://merliseclyde.github.io/BAS/
Stars: ✭ 36 (-66.04%)
Mutual labels:  regression, bayesian, mcmc
Bcpd
Bayesian Coherent Point Drift (BCPD/BCPD++); Source Code Available
Stars: ✭ 116 (+9.43%)
Mutual labels:  bayesian-inference, gaussian-processes, variational-inference
Bda r demos
Bayesian Data Analysis demos for R
Stars: ✭ 409 (+285.85%)
Mutual labels:  mcmc, bayesian-inference, bayesian
Bayadera
High-performance Bayesian Data Analysis on the GPU in Clojure
Stars: ✭ 342 (+222.64%)
Mutual labels:  mcmc, bayesian-inference, bayesian
Pymc3
Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara
Stars: ✭ 6,214 (+5762.26%)
Mutual labels:  mcmc, bayesian-inference, variational-inference
Exoplanet
Fast & scalable MCMC for all your exoplanet needs!
Stars: ✭ 122 (+15.09%)
Mutual labels:  mcmc, bayesian-inference, gaussian-processes
Dynaml
Scala Library/REPL for Machine Learning Research
Stars: ✭ 195 (+83.96%)
Mutual labels:  classification, gaussian-processes, regression
Vbmc
Variational Bayesian Monte Carlo (VBMC) algorithm for posterior and model inference in MATLAB
Stars: ✭ 123 (+16.04%)
Mutual labels:  bayesian-inference, gaussian-processes, variational-inference
DynamicHMCExamples.jl
Examples for Bayesian inference using DynamicHMC.jl and related packages.
Stars: ✭ 33 (-68.87%)
Mutual labels:  bayesian, bayesian-inference, mcmc
Cornell Moe
A Python library for the state-of-the-art Bayesian optimization algorithms, with the core implemented in C++.
Stars: ✭ 198 (+86.79%)
Mutual labels:  bayesian, gaussian-processes, bayesian-optimization
BayesHMM
Full Bayesian Inference for Hidden Markov Models
Stars: ✭ 35 (-66.98%)
Mutual labels:  bayesian, bayesian-inference, mcmc
Bda py demos
Bayesian Data Analysis demos for Python
Stars: ✭ 781 (+636.79%)
Mutual labels:  mcmc, bayesian-inference, bayesian
Pyro
Deep universal probabilistic programming with Python and PyTorch
Stars: ✭ 7,224 (+6715.09%)
Mutual labels:  bayesian-inference, bayesian, variational-inference

GPstuff: Gaussian process models for Bayesian analysis

Maintainers: Jarno Vanhatalo [email protected] and Aki Vehtari [email protected]

REFERENCE

If you use GPstuff (or otherwise refer to it), use the following reference: Jarno Vanhatalo, Jaakko Riihimäki, Jouni Hartikainen, Pasi Jylänki, Ville Tolvanen, and Aki Vehtari (2013). GPstuff: Bayesian Modeling with Gaussian Processes. Journal of Machine Learning Research, 14(Apr):1175-1179. (Available at http://jmlr.csail.mit.edu/papers/v14/vanhatalo13a.html)

HOME PAGE

Additional information and illustrations of the features can be found at http://research.cs.aalto.fi/pml/software/gpstuff/ and http://arxiv.org/abs/1206.5754

INTRODUCTION

The GPstuff toolbox is a versatile collection of Gaussian process models and computational tools required for inference. The tools include, among others, various inference methods, sparse approximations and model assessment methods.

The GPstuff toolbox works (at least) with Matlab versions r2009b (7.9) or newer (older versions down to 7.7 should work also, but the code is not tested with them). Most of the functionality works also with Octave (3.6.4 or newer, see release notes for details). GPstuff can also be called from R with RcppOctave package. Most of the code is written in m-files but some of the most computationally critical parts have been coded in C.

The code for GPstuff can be found in subfolders. The SuiteSparse folder contains an exact copy of the SuiteSparse v3.4 toolbox by Tim Davis: http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/SuiteSparse/ The SuiteSparse is needed when using compactly supported covariance functions.

INSTALLING THE TOOLBOX

If Matlab or Octave is started in the directory of GPstuff, startup.m script will add GPstuff subdirectories to the path. Alternatively, see startup.m for paths to add.

Some of the functions in GPstuff are implemented using C in order to make the computations faster. In order to use these functions you need to compile them first. There are two ways to do that:

  1. Basic installation without compactly supported covariance functions

    • Install the GPstuff package by running matlab_install in thisfolder

    • With this option you are able to use all the other functions except for gpcf_ppcs*

  2. Installation with compactly supported covariance functions

    • Compactly supported (CS) covariance functions are functions that produce sparse covariance matrices (matrices with zero elements). To use these functions (gpcf_ppcs*) you need the sparse GP functionalities in GPstuff which are build over SuiteSparse toolbox. To take full advantage of the CS covariance functions install GPstuff by running matlab_install('SuiteSparseOn') in the present directory.

    • The function matlab_install compiles the mex-files and prints on the screen, which directories should be added to Matlab paths.

CONTENTS

The GPstuff packge contains the following subdirectories: diag dist gp mc misc optim tests* SuiteSparse* (* not in Octave)

Each folder contains Contents.m, which summarizes the functions in the folder.

The 'gp' folder contains the main functionalities and demonstration programs. Other folders contain additional help functions.

TESTING THE INSTALLATION

Installation can be tested by running command runtestset('fast'), which runs a collection of demos and compares the computed results to pre-saved results. Running this takes about one hour and it requires Matlab version 2013b or greater for the unit test framework. Alternatively, the xunit' package can be used instead. The xunit package can be downloaded from http://www.mathworks.com/matlabcentral/fileexchange/22846-matlab-xunit-test-framework

USER GUIDE (VERY SHORT)

It easiest to learn to use the package by running the demos. It is advisable to open the demo files in text editor and run them line by line. The demos are documented so that user can follow what happens on each line.

The basic structure of the program is as follows. The program consist of separate blocks, which are:

  • Gaussian process model structure (GP): This is a structure that contains all the model information (see GP_SET) and information structures (GPCF_*) and likelihood structures (LIK_*).

  • Covariance function structure (GPCF): This is a structure that contains all of the covariance function information (see e.g. GPCF_SEXP). The structure contains the hyperparameter values, pointers to nested functions that are related to the covariance function (e.g. function to evaluate covariance matrix) and hyperprior structure.

  • Likelihood structure: This is a structure that contains all of the likelihood function information (see e.g. lik_probit). The structure contains the likelihood parameter values and pointers to nested functions that are related to the likelihood function (e.g. log likelihood and its derivatives).

  • Inference utilities: Inference utilities consist of functions that are needed to make the posterior inference and predictions. These include, among others,

    • GP_OPTIM - Find MAP estimate for hyperparameters
    • GP_MC - Markov chain Monte Carlo sampling
    • GP_IA - Hyperparameter integration approximations
    • GP_PRED - Predictions with Gaussian Process

See more in User guide

LICENSE

This software is distributed under the GNU General Public Licence (version 3 or later); please refer to the file Licence.txt, included with the software, for details.

JMLR DISCLAIMER

THIS SOURCE CODE IS SUPPLIED \AS IS" WITHOUT WARRANTY OF ANY KIND, AND ITS AUTHOR AND THE JOURNAL OF MACHINE LEARNING RESEARCH (JMLR) AND JMLR'S PUBLISHERS AND DISTRIBUTORS, DISCLAIM ANY AND ALL WARRANTIES, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND ANYWARRANTIES OR NON INFRINGEMENT. THE USER ASSUMES ALL LIABILITY AND RESPONSIBILITY FOR USE OF THIS SOURCE CODE, AND NEITHER THE AUTHOR NOR JMLR, NOR JMLR'S PUBLISHERS AND DISTRIBUTORS, WILL BE LIABLE FOR DAMAGES OF ANY KIND RESULTING FROM ITS USE. Without limiting the generality of the foregoing, neither the author, nor JMLR, nor JMLR's publishers and distributors, warrant that the Source Code will be error-free, will operate without interruption, or will meet the needs of the user.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].