inference

package
v0.0.0-...-d159f61 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataComparisonIteration

type DataComparisonIteration struct {
	Likelihood LikelihoodDistribution
	// contains filtered or unexported fields
}

DataComparisonIteration allows for any data linking log-likelihood to be used as a comparison distribution between data values, a mean vector and covariance matrix.

func (*DataComparisonIteration) Configure

func (d *DataComparisonIteration) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*DataComparisonIteration) Iterate

func (d *DataComparisonIteration) Iterate(
	params *simulator.OtherParams,
	partitionIndex int,
	stateHistories []*simulator.StateHistory,
	timestepsHistory *simulator.CumulativeTimestepsHistory,
) []float64

type DataGenerationIteration

type DataGenerationIteration struct {
	Likelihood LikelihoodDistribution
	// contains filtered or unexported fields
}

DataGenerationIteration allows for any data-linking likelihood to be used as a data generation distribution based on a mean and covariance matrix.

func (*DataGenerationIteration) Configure

func (d *DataGenerationIteration) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*DataGenerationIteration) Iterate

func (d *DataGenerationIteration) Iterate(
	params *simulator.OtherParams,
	partitionIndex int,
	stateHistories []*simulator.StateHistory,
	timestepsHistory *simulator.CumulativeTimestepsHistory,
) []float64

type GammaLikelihoodDistribution

type GammaLikelihoodDistribution struct {
	Src rand.Source
}

GammaLikelihoodDistribution assumes the real data are well described by a gamma distribution, given the input mean and covariance matrix.

func (*GammaLikelihoodDistribution) Configure

func (g *GammaLikelihoodDistribution) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*GammaLikelihoodDistribution) EvaluateLogLike

func (g *GammaLikelihoodDistribution) EvaluateLogLike(
	mean *mat.VecDense,
	covariance mat.Symmetric,
	data []float64,
) float64

func (*GammaLikelihoodDistribution) GenerateNewSamples

func (g *GammaLikelihoodDistribution) GenerateNewSamples(
	mean *mat.VecDense,
	covariance mat.Symmetric,
) []float64

type LikelihoodDistribution

type LikelihoodDistribution interface {
	Configure(partitionIndex int, settings *simulator.Settings)
	EvaluateLogLike(mean *mat.VecDense, covariance mat.Symmetric, data []float64) float64
	GenerateNewSamples(mean *mat.VecDense, covariance mat.Symmetric) []float64
}

LikelihoodDistribution is the interface that must be implemented in order to create a likelihood that connects derived statistics from the probabilistic reweighting to observed actual data values.

type NegativeBinomialLikelihoodDistribution

type NegativeBinomialLikelihoodDistribution struct {
	Src rand.Source
}

NegativeBinomialLikelihoodDistribution assumes the real data are well described by a negative binomial distribution, given the input mean and covariance matrix.

func (*NegativeBinomialLikelihoodDistribution) Configure

func (n *NegativeBinomialLikelihoodDistribution) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*NegativeBinomialLikelihoodDistribution) EvaluateLogLike

func (n *NegativeBinomialLikelihoodDistribution) EvaluateLogLike(
	mean *mat.VecDense,
	covariance mat.Symmetric,
	data []float64,
) float64

func (*NegativeBinomialLikelihoodDistribution) GenerateNewSamples

func (n *NegativeBinomialLikelihoodDistribution) GenerateNewSamples(
	mean *mat.VecDense,
	covariance mat.Symmetric,
) []float64

type NormalLikelihoodDistribution

type NormalLikelihoodDistribution struct {
	Src rand.Source
	// contains filtered or unexported fields
}

NormalLikelihoodDistribution assumes the real data are well described by a normal distribution, given the input mean and covariance matrix.

func (*NormalLikelihoodDistribution) Configure

func (n *NormalLikelihoodDistribution) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*NormalLikelihoodDistribution) EvaluateLogLike

func (n *NormalLikelihoodDistribution) EvaluateLogLike(
	mean *mat.VecDense,
	covariance mat.Symmetric,
	data []float64,
) float64

func (*NormalLikelihoodDistribution) GenerateNewSamples

func (n *NormalLikelihoodDistribution) GenerateNewSamples(
	mean *mat.VecDense,
	covariance mat.Symmetric,
) []float64

type PoissonLikelihoodDistribution

type PoissonLikelihoodDistribution struct {
	Src rand.Source
}

PoissonLikelihoodDistribution assumes the real data are well described by a Poisson distribution, given the input mean and covariance matrix.

func (*PoissonLikelihoodDistribution) Configure

func (p *PoissonLikelihoodDistribution) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*PoissonLikelihoodDistribution) EvaluateLogLike

func (p *PoissonLikelihoodDistribution) EvaluateLogLike(
	mean *mat.VecDense,
	covariance mat.Symmetric,
	data []float64,
) float64

func (*PoissonLikelihoodDistribution) GenerateNewSamples

func (p *PoissonLikelihoodDistribution) GenerateNewSamples(
	mean *mat.VecDense,
	covariance mat.Symmetric,
) []float64

type PosteriorCovarianceIteration

type PosteriorCovarianceIteration struct {
}

PosteriorCovarianceIteration updates an estimate of the covariance matrix of the posterior distribution over params using log-likelihood and param values given in the state history of other partitions, and a mean vector.

func (*PosteriorCovarianceIteration) Configure

func (p *PosteriorCovarianceIteration) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*PosteriorCovarianceIteration) Iterate

func (p *PosteriorCovarianceIteration) Iterate(
	params *simulator.OtherParams,
	partitionIndex int,
	stateHistories []*simulator.StateHistory,
	timestepsHistory *simulator.CumulativeTimestepsHistory,
) []float64

type PosteriorLogNormalisationIteration

type PosteriorLogNormalisationIteration struct {
}

PosteriorLogNormalisationIteration updates the cumulative normalisation of the posterior distribution over params using log-likelihood values given in the state history of other partitions as well as a specified past discounting factor.

func (*PosteriorLogNormalisationIteration) Configure

func (p *PosteriorLogNormalisationIteration) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*PosteriorLogNormalisationIteration) Iterate

func (p *PosteriorLogNormalisationIteration) Iterate(
	params *simulator.OtherParams,
	partitionIndex int,
	stateHistories []*simulator.StateHistory,
	timestepsHistory *simulator.CumulativeTimestepsHistory,
) []float64

type PosteriorMeanIteration

type PosteriorMeanIteration struct {
}

PosteriorMeanIteration updates an estimate of the mean of the posterior distribution over params using log-likelihood and param values given in the state history of other partitions.

func (*PosteriorMeanIteration) Configure

func (p *PosteriorMeanIteration) Configure(
	partitionIndex int,
	settings *simulator.Settings,
)

func (*PosteriorMeanIteration) Iterate

func (p *PosteriorMeanIteration) Iterate(
	params *simulator.OtherParams,
	partitionIndex int,
	stateHistories []*simulator.StateHistory,
	timestepsHistory *simulator.CumulativeTimestepsHistory,
) []float64

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL