fit.meta.GMCM {GMCM} | R Documentation |
Estimate GMCM parameters of the special model
Description
This function estimates the parameters of the special restricted Gaussian mixture copula model (GMCM) proposed by Li et. al. (2011). It is used to perform reproducibility (or meta) analysis using GMCMs. It features various optimization routines to identify the maximum likelihood estimate of the special GMCMs.
Usage
fit.meta.GMCM(u, init.par, method = c("NM", "SANN", "L-BFGS", "L-BFGS-B",
"PEM"), max.ite = 1000, verbose = TRUE, positive.rho = TRUE,
trace.theta = FALSE, ...)
fit.special.GMCM(u, init.par, method = c("NM", "SANN", "L-BFGS",
"L-BFGS-B", "PEM"), max.ite = 1000, verbose = TRUE,
positive.rho = TRUE, trace.theta = FALSE, ...)
Arguments
u |
An |
init.par |
A 4-dimensional vector of the initial parameters where,
|
method |
A character vector of length |
max.ite |
The maximum number of iterations. If the |
verbose |
Logical. If |
positive.rho |
|
trace.theta |
|
... |
Arguments passed to the |
Details
The "L-BFGS-B"
method does not perform a transformation of
the parameters.
fit.special.GMCM
is simply an alias of fit.meta.gmcm
.
Value
A vector par
of length 4 of the fitted parameters where
par[1]
is the probability of being from the first (or null)
component, par[2]
is the mean, par[3]
is the standard
deviation, and par[4]
is the correlation.
If trace.theta
is TRUE
, then a list
is returned where
the first entry is as described above and the second entry is the trace
information (dependent of method
.).
Note
Simulated annealing is strongly dependent on the initial values and the cooling scheme.
See optim
for further details.
Author(s)
Anders Ellern Bilgrau <anders.ellern.bilgrau@gmail.com>
References
Li, Q., Brown, J. B. J. B., Huang, H., & Bickel, P. J. (2011). Measuring reproducibility of high-throughput experiments. The Annals of Applied Statistics, 5(3), 1752-1779. doi:10.1214/11-AOAS466
See Also
Examples
set.seed(1)
# True parameters
true.par <- c(0.9, 2, 0.7, 0.6)
# Simulation of data from the GMCM model
data <- SimulateGMCMData(n = 1000, par = true.par)
uhat <- Uhat(data$u) # Ranked observed data
init.par <- c(0.5, 1, 0.5, 0.9) # Initial parameters
# Optimization with Nelder-Mead
nm.par <- fit.meta.GMCM(uhat, init.par = init.par, method = "NM")
## Not run:
# Comparison with other optimization methods
# Optimization with simulated annealing
sann.par <- fit.meta.GMCM(uhat, init.par = init.par, method = "SANN",
max.ite = 3000, temp = 1)
# Optimization with the Pseudo EM algorithm
pem.par <- fit.meta.GMCM(uhat, init.par = init.par, method = "PEM")
# The estimates agree nicely
rbind("True" = true.par, "Start" = init.par,
"NM" = nm.par, "SANN" = sann.par, "PEM" = pem.par)
## End(Not run)
# Get estimated cluster
Khat <- get.IDR(x = uhat, par = nm.par)$Khat
plot(uhat, col = Khat, main = "Clustering\nIDR < 0.05")