package gibbs
 Alphabetic
 Public
 All
Type Members

abstract
class
BlockSampler
extends AnyRef
Class for handling sampling on a block

trait
Cached
extends SimpleBlockSampler
Caches factors according to assignments of values in the Markov blanket, which avoids recomputing the same factors repeatedly Takes advantage of the fact in Gibbs sampling, nearby samples tend to be highly correlated

trait
ChainApplyBlockingGibbs
extends BaseUnweightedSampler with Gibbs[Double]
The default trait for creating blocks.
The default trait for creating blocks. Works on Chain, Apply, Atomic, and Constant elements. Note that our choice of blocking scheme fails when the results of a Chain have disjoint ranges. We are forced to do this to prevent exponentially slow time performance on models with Chains. A more detailed explanation is available in the FactorProduct trait in BlockSampler.scala.

trait
DoubleWeight
extends SimpleBlockSampler
Specialized sampling for continuous (i.e.
Specialized sampling for continuous (i.e. of type Double) elements in Chains. This differs from the default sampler in that it can override the zero probability states in ConditionalSelector factors. The idea here is that we allow a technically inconsistent state according to the factors when the value of the Chain and result element are close. This is needed for compound continuous elements because sampling will always produce disjoint ranges for each result element of the Chain, which creates determinism issues with the way we currently block variables. This solution has not been fully tested for accuracy of results.

trait
FactorProduct
extends SimpleBlockSampler
A VElike procedure that works well on large but highly sparse blocks.
A VElike procedure that works well on large but highly sparse blocks. For each adjacent factor, this groups the rows of the factor into subfactors according to possible Markov blanket assignments. Each of these subfactors is accumulated into a factor over factors, which essentially maps the Markov blanket of the original factor to a conditional distribution over the block. This does not store any new information, but rather takes the information in each factor and stores it in an easier to use format. This trait is the reason why we currently choose not to place a Chain's parent and the Chain itself in the same block, since we cannot efficiently compute the product of the subfactors of the adjacent ConditionalSelector factors. In other cases we can make use of a priority queue to compute the product in an efficient order. For ConditionalSelectors there is no way to keep the intermediate factors sparse, and computing this product takes exponential time.

trait
GaussianWeight
extends SimpleBlockSampler with DoubleWeight
Assigns weights to continuous variables based on a Gaussian PDF with a static variance
 trait Gibbs [T] extends BaseUnweightedSampler with FactoredAlgorithm[T]
 abstract class ProbQueryGibbs extends BaseUnweightedSampler with ProbabilisticGibbs with UnweightedSampler
 trait ProbabilisticGibbs extends BaseUnweightedSampler with Gibbs[Double]
 class SimpleBlockSampler extends BlockSampler
 class StateNotFoundException extends RuntimeException