gaussianSynLike {BSL} | R Documentation |
Estimate the Gaussian synthetic (log) likelihood
Description
This function estimates the Gaussian synthetic log-likelihood
(see Wood 2010 and Price et al. 2018). Several extensions are
provided in this function: shrinkage
enables shrinkage estimation of
the covariance matrix and is helpful to bring down the number of model
simulations (see An et al. (2019) for an example of BSL
with glasso (Friedman et al. 2008) shrinkage estimation);
GRC
uses Gaussian rank correlation (Boudt et al. 2012) to
find a more robust correlation matrix; whitening
(Kessy et al. 2018) could further reduce the number of model
simulations upon Warton's shrinkage (Warton 2008) by
decorrelating the summary statistics.
Usage
gaussianSynLike(
ssy,
ssx,
shrinkage = NULL,
penalty = NULL,
standardise = FALSE,
GRC = FALSE,
whitening = NULL,
ssyTilde = NULL,
log = TRUE,
verbose = FALSE
)
Arguments
ssy |
The observed summary statisic. |
ssx |
A matrix of the simulated summary statistics. The number of rows is the same as the number of simulations per iteration. |
shrinkage |
A string argument indicating which shrinkage method to
be used. The default is |
penalty |
The penalty value to be used for the specified shrinkage method. Must be between zero and one if the shrinkage method is “Warton”. |
standardise |
A logical argument that determines whether to standardise
the summary statistics before applying the graphical lasso. This is only
valid if method is “BSL”, shrinkage is “glasso” and penalty is not
|
GRC |
A logical argument indicating whether the Gaussian rank
correlation matrix (Boudt et al. 2012) should be used to estimate
the covariance matrix in “BSL” method. The default is |
whitening |
This argument determines whether Whitening transformation
should be used in “BSL” method with Warton's shrinkage. Whitening
transformation helps decorrelate the summary statistics, thus encouraging
sparsity of the synthetic likelihood covariance matrix. This might allow
heavier shrinkage to be applied without losing much accuracy, hence
allowing the number of simulations to be reduced. By default, |
ssyTilde |
The whitened observed summary statisic. If this is not
|
log |
A logical argument indicating if the log of likelihood is
given as the result. The default is |
verbose |
A logical argument indicating whether an error message
should be printed if the function fails to compute a likelihood. The
default is |
Value
The estimated synthetic (log) likelihood value.
References
An Z, South LF, Nott DJ, Drovandi CC (2019).
“Accelerating Bayesian Synthetic Likelihood With the Graphical Lasso.”
Journal of Computational and Graphical Statistics, 28(2), 471–475.
doi: 10.1080/10618600.2018.1537928.
Boudt K, Cornelissen J, Croux C (2012).
“The Gaussian Rank Correlation Estimator: Robustness Properties.”
Statistics and Computing, 22(2), 471–483.
doi: 10.1007/s11222-011-9237-0.
Friedman J, Hastie T, Tibshirani R (2008).
“Sparse Inverse Covariance Estimation with the Graphical Lasso.”
Biostatistics, 9(3), 432–441.
Kessy A, Lewin A, Strimmer K (2018).
“Optimal Whitening and Decorrelation.”
The American Statistician, 72(4), 309–314.
doi: 10.1080/00031305.2016.1277159.
Price LF, Drovandi CC, Lee A, Nott DJ (2018).
“Bayesian Synthetic Likelihood.”
Journal of Computational and Graphical Statistics, 27, 1–11.
doi: 10.1080/10618600.2017.1302882.
Warton DI (2008).
“Penalized Normal Likelihood and Ridge Regularization of Correlation and Covariance Matrices.”
Journal of the American Statistical Association, 103(481), 340–349.
doi: 10.1198/016214508000000021.
Wood SN (2010).
“Statistical Inference for Noisy Nonlinear Ecological Dynamic Systems.”
Nature, 466, 1102–1107.
doi: 10.1038/nature09319.
See Also
Other available synthetic likelihood estimators:
gaussianSynLikeGhuryeOlkin
for the unbiased synthetic
likelihood estimator, semiparaKernelEstimate
for the
semi-parametric likelihood estimator, synLikeMisspec
for the
Gaussian synthetic likelihood estimator for model misspecification.
Examples
data(ma2)
ssy <- ma2_sum(ma2$data)
m <- newModel(fnSim = ma2_sim, fnSum = ma2_sum, simArgs = ma2$sim_args,
theta0 = ma2$start)
ssx <- simulation(m, n = 300, theta = c(0.6, 0.2), seed = 10)$ssx
# the standard Gaussian synthetic likelihood (the likelihood estimator used in BSL)
gaussianSynLike(ssy, ssx)
# the Gaussian synthetic likelihood with glasso shrinkage estimation
# (the likelihood estimator used in BSLasso)
gaussianSynLike(ssy, ssx, shrinkage = 'glasso', penalty = 0.1)
# the Gaussian synthetic likelihood with Warton's shrinkage estimation
gaussianSynLike(ssy, ssx, shrinkage = 'Warton', penalty = 0.9)
# the Gaussian synthetic likelihood with Warton's shrinkage estimation and Whitening transformation
W <- estimateWhiteningMatrix(20000, m)
gaussianSynLike(ssy, ssx, shrinkage = 'Warton', penalty = 0.9, whitening = W)