Nothing
############################### Start of EnvelopeEval example ####################
# This example demonstrates EnvelopeEval in isolation. EnvelopeEval evaluates
# the negative log-likelihood and gradients at a grid of parameter values.
# It is called internally by EnvelopeBuild. Here we build the same inputs
# (grid G4, standardized model) using EnvelopeSize and expand.grid, then
# call EnvelopeEval directly. The setup mirrors Ex_EnvelopeBuild through
# the standardization step.
data(menarche, package = "MASS")
Age2 <- menarche$Age - 13
x <- matrix(as.numeric(1.0), nrow = length(Age2), ncol = 2)
x[, 2] <- Age2
y <- menarche$Menarche / menarche$Total
wt <- menarche$Total
mu <- matrix(as.numeric(0.0), nrow = 2, ncol = 1)
mu[2, 1] <- (log(0.9 / 0.1) - log(0.5 / 0.5)) / 3
V1 <- 1 * diag(as.numeric(2.0))
V1[1, 1] <- ((log(0.9 / 0.1) - log(0.5 / 0.5)) / 2)^2
V1[2, 2] <- (3 * mu[2, 1] / 2)^2
famfunc <- glmbfamfunc(binomial(logit))
f2 <- famfunc$f2
f3 <- famfunc$f3
dispersion2 <- as.numeric(1.0)
start <- mu
offset2 <- rep(as.numeric(0.0), length(y))
P <- solve(V1)
n <- 1000
wt2 <- wt / dispersion2
alpha <- x %*% as.vector(mu) + offset2
mu2 <- 0 * as.vector(mu)
P2 <- P
x2 <- x
parin <- start - mu
opt_out <- optim(parin, f2, f3,
y = as.vector(y), x = as.matrix(x), mu = as.vector(mu2),
P = as.matrix(P), alpha = as.vector(alpha), wt = as.vector(wt2),
method = "BFGS", hessian = TRUE
)
bstar <- opt_out$par
A1 <- opt_out$hessian
Standard_Mod <- glmb_Standardize_Model(
y = as.vector(y), x = as.matrix(x), P = as.matrix(P),
bstar = as.matrix(bstar, ncol = 1), A1 = as.matrix(A1)
)
bstar2 <- Standard_Mod$bstar2
A <- Standard_Mod$A
x2 <- Standard_Mod$x2
mu2 <- Standard_Mod$mu2
P2 <- Standard_Mod$P2
###############################################################################
# Build grid G4 via EnvelopeSize and expand.grid (as EnvelopeBuild does)
###############################################################################
a <- diag(A)
omega <- (sqrt(2) - exp(-1.20491 - 0.7321 * sqrt(0.5 + a))) / sqrt(1 + a)
b2 <- as.vector(bstar2)
G1 <- rbind(b2 - omega, b2, b2 + omega)
size_info <- EnvelopeSize(a, G1, Gridtype = 3L, n = n)
G2 <- size_info$G2
G3 <- as.matrix(do.call(expand.grid, G2))
G4 <- t(G3)
###############################################################################
# EnvelopeEval: negative log-likelihood and gradients at grid points
###############################################################################
eval_out <- EnvelopeEval(
G4 = G4,
y = y,
x = as.matrix(x2),
mu = as.matrix(mu2, ncol = 1),
P = as.matrix(P2),
alpha = as.vector(alpha),
wt = as.vector(wt2),
family = "binomial",
link = "logit",
use_opencl = FALSE,
verbose = FALSE
)
eval_out$NegLL
eval_out$cbars
###############################################################################
# End of EnvelopeEval example
###############################################################################
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.