semiparaKernelEstimate | R Documentation |
This function computes the semi-parametric synthetic likelihood estimator of \insertCiteAn2018BSL. The advantage of this semi-parametric estimator over the standard synthetic likelihood estimator is that the semi-parametric one is more robust to non-normal summary statistics. Kernel density estimation is used for modelling each univariate marginal distribution, and the dependence structure between summaries are captured using a Gaussian copula. Shrinkage on the correlation matrix parameter of the Gaussian copula is helpful in decreasing the number of simulations.
semiparaKernelEstimate( ssy, ssx, kernel = "gaussian", shrinkage = NULL, penalty = NULL, log = TRUE )
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. |
kernel |
A string argument indicating the smoothing kernel to pass
into |
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”. |
log |
A logical argument indicating if the log of likelihood is
given as the result. The default is |
The estimated synthetic (log) likelihood value.
Friedman2008BSL
\insertRefWarton2008BSL
\insertRefBoudt2012BSL
Other available synthetic likelihood estimators:
gaussianSynLike
for the standard synthetic likelihood
estimator, gaussianSynLikeGhuryeOlkin
for the unbiased
synthetic likelihood estimator, synLikeMisspec
for the
Gaussian synthetic likelihood estimator for model misspecification.
data(ma2) ssy <- ma2_sum(ma2$data) m <- newModel(fnSim = ma2_sim, fnSum = ma2_sum, simArgs = ma2$sim_args, theta0 = ma2$start, sumArgs = list(delta = 0.5)) ssx <- simulation(m, n = 300, theta = c(0.6, 0.2), seed = 10)$ssx # check the distribution of the first summary statistic: highly non-normal plot(density(ssx[, 1])) # the standard synthetic likelihood estimator over-estimates the likelihood here gaussianSynLike(ssy, ssx) # the semi-parametric synthetic likelihood estimator is more robust to non-normality semiparaKernelEstimate(ssy, ssx) # using shrinkage on the correlation matrix of the Gaussian copula is also possible semiparaKernelEstimate(ssy, ssx, shrinkage = "Warton", penalty = 0.8)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.