LinearMixingModels
Documentation for LinearMixingModels.
LinearMixingModels.ILMM
LinearMixingModels.IndependentMOGP
LinearMixingModels.OILMM
LinearMixingModels.Orthogonal
AbstractGPs.posterior
Base.rand
Base.rand
LinearMixingModels.finite_gps
LinearMixingModels.get_latent_gp
LinearMixingModels.independent_mogp
LinearMixingModels.project
LinearMixingModels.project
LinearMixingModels.regulariser
LinearMixingModels.regulariser
LinearMixingModels.ILMM
— TypeILMM(fs, H)
An Instantaneous Linear Mixing Model (ILMM) – a distribution over vector- valued functions. Let p
be the number of observed outputs, and m
the number of latent processes, then H
, also known as the mixing matrix, is a p x m
matrix whose column space spans the output space. The latent processes are represented a Gaussian process f
.
Arguments:
- fs: a length-
m
vector of Gaussian process objects from AbstractGPs.jl. - H: a
p x m
matrix representing a fixed basis of our p-dim target: h1,...,hm
LinearMixingModels.IndependentMOGP
— TypeIndependentMOGP(fs)
A multi-output GP with independent outputs where output i
is modelled by the single-output GP fs[i].
Arguments:
- fs: a vector of
p
single-output GPs wherep
is the dimension of the output.
LinearMixingModels.OILMM
— TypeOILMM(fs, H)
An Orthogonal Instantaneous Linear Mixing Model (OILMM) – a distribution over vector- valued functions. Let p
be the number of observed outputs, and m
the number of latent processes, then H
, also known as the mixing matrix, is a p x m
orthogonal matrix whose column space spans the output space. The latent processes are represented an Independent_MOGP
as the latent processes remain decoupled.
Arguments:
- f: a length-
m
vector of Gaussian process objects as an IndependentMOGP. - H: a
p x m
orthogonal matrix representing a fixed basis of our p-dim target: h1,...,hm
LinearMixingModels.Orthogonal
— TypeOrthogonal(U, S; validate_fields)
An AbstractMatrix H
that takes the form H = U * sqrt(S)
with U
a matrix with orthonormal columns and S
a diagonal matrix with positive entries.
Arguments:
- U: a
p x m
matrix with mutually orthonormal columns. - S: an
m x m
Diagonal
matrix with positive entries.
AbstractGPs.posterior
— MethodPosterior implementation for isotopic inputs, given diagonal Σy (OILMM). See AbstractGPs.jl API docs.
Base.rand
— Methodrand(rng::AbstractRNG, fx::FiniteGP{<:ILMM})
Sample from the ILMM, including the observation noise. Follows generative structure of model 2 from [1]. Follows the AbstractGPs.jl API. [1] - Bruinsma et al 2020.
Base.rand
— Methodrand(rng::AbstractRNG, fx::FiniteGP{<:OILMM})
Sample from the OILMM, including the observation noise. Follows generative structure of model 2 from [1]. Follows the AbstractGPs.jl API. See also rand_latent
. [1] - Bruinsma et al 2020.
LinearMixingModels.finite_gps
— Methodfinite_gps(fx)
Returns a list of of the finite GPs for all latent processes, given a finite IndependentMOGP and isotopic inputs.
LinearMixingModels.get_latent_gp
— Methodget_latent_gp(f::ILMM)
Returns the underlying latent space AbstractGP belonging to f
.
julia> f = ILMM(independent_mogp([GP(SEKernel())]), rand(2,2));
julia> latent_f = get_latent_gp(f);
julia> latent_f isa IndependentMOGP
true
julia> latent_f.fs == [GP(SEKernel())]
true
LinearMixingModels.independent_mogp
— Methodindependent_mogp(fs)
Returns an IndependentMOGP given a list of single output GPs fs
.
julia> ind_mogp1 = independent_mogp([GP(KernelFunctions.SEKernel())]);
julia> ind_mogp2 = IndependentMOGP([GP(KernelFunctions.SEKernel())]);
julia> typeof(ind_mogp1) == typeof(ind_mogp2)
true
julia> ind_mogp1.fs == ind_mogp2.fs
true
LinearMixingModels.project
— Methodproject(H, σ²)
Computes the projection T
and ΣT
given the mixing matrix and noise.
LinearMixingModels.project
— Methodproject(H, σ²)
Computes the projection T
and ΣT
given the mixing matrix and noise.
LinearMixingModels.regulariser
— Methodregulariser(fx, y)
Computes the regularisation term of the logpdf. See e.g. appendix A.4 of [1] - Bruinsma et al 2020.
LinearMixingModels.regulariser
— Methodregulariser(fx, y)
Computes the regularisation term of the logpdf. See e.g. appendix A.4 of [1] - Bruinsma et al 2020.