altar.bayesian.COV
Module Contents
Classes
- class altar.bayesian.COV.COV(name, locator, **kwds)
Bases:
altar.componentAnnealing schedule based on attaining a particular value for the coefficient of variation (COV) of the data likelihood; after Ching[2007].
The goal is to compute a proposed update δβ_m to the temperature β_m such that the vector of weights w_m given by
w_m := π(D|θ_m)^{δβ_m}
has a particular target value for
COV(w_m) := <w_m> / sqrt{<(w_m-<w_m>)^2>}
- target
- doc = the target value for COV
- solver
- doc = the δβ solver
- check_positive_definiteness
- doc = whether to check the positive definiteness of Σ matrix and condition it accordingly
- min_eigenvalue_ratio
- doc = the desired minimal eigenvalue of Σ matrix, as a ratio to the max eigenvalue
- beta_resampling_start
- doc = the beta threshold to start the resampling procedure
- w
- cov = 0.0
- uniform
- rng
- initialize(self, application)
Initialize me and my parts given an {application} context
- update(self, step)
Push {step} forward along the annealing schedule
- updateTemperature(self, step)
Generate the next temperature increment
- computeCovariance(self, step)
Compute the parameter covariance Σ of the sample in {step}
Σ = c_m^2 sum_{i in samples} ilde{w}_{i} θ_i θ_i^T} - bar{θ} bar{θ}^Τ
where
bar{θ} = sum_{i in samples} ilde{w}_{i} θ_{i}
The covariance Σ gets used to build a proposal pdf for the posterior
- rank(self, step)
Rebuild the sample and its statistics sorted by the likelihood of the parameter values
- resampling(self, step)
Rebuild the sample and its statistics sorted by the likelihood of the parameter values
- conditionCovariance(self, Σ)
Make sure the covariance matrix Σ is symmetric and positive definite
- computeSampleMultiplicities(self, step)
Prepare a frequency vector for the new samples given the scaled data log-likelihood in {w} for this cooling step
- buildHistogramRanges(self, w)
Build histogram bins based on the scaled data log-likelihood