Nothing
library(microbenchmark)
# ClassFilter <- function(x) inherits(get(x), 'lm' ) & !inherits(get(x), 'gl
set.seed(101)
# Small
lmerSlope1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
bench1 <- microbenchmark(
predict(lmerSlope1, newdata = sleepstudy[1:100,]),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 100, stat = 'median',
include.resid.var = TRUE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 100, stat = 'mean',
include.resid.var = TRUE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 100, stat = 'median',
include.resid.var = FALSE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 1000, stat = 'median',
include.resid.var = TRUE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.8, n.sims = 1000, stat = 'median',
include.resid.var = TRUE),
times = 10, unit = "s"
)
bench2 <- microbenchmark(
predict(lmerSlope1, newdata = sleepstudy[1:100,]),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 100, stat = 'median',
include.resid.var = TRUE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 200, stat = 'mean',
include.resid.var = TRUE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 400, stat = 'median',
include.resid.var = FALSE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 800, stat = 'median',
include.resid.var = TRUE),
predictInterval(lmerSlope1, newdata = sleepstudy[1:100,],
level = 0.9, n.sims = 1600, stat = 'median',
include.resid.var = TRUE),
times = 10, unit = "s"
)
# Medium
d <- expand.grid(fac1=LETTERS[1:5], grp=factor(1:10),
obs=1:100)
d$y <- simulate(~fac1+(1|grp),family = gaussian,
newdata=d,
newparams=list(beta=c(2,1,3,4,7), theta=c(.25),
sigma = c(.23)))[[1]]
g1 <- lmer(y~fac1+(1|grp), data=d)
bench3 <- microbenchmark(predictInterval(g1, newdata = d[1:100, ], level = 0.9,
n.sims = 50,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g1, newdata = d[1:200, ], level = 0.9,
n.sims = 50,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g1, newdata = d[1:400, ], level = 0.9,
n.sims = 50,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g1, newdata = d[1:800, ], level = 0.9,
n.sims = 50,
stat = 'mean', include.resid.var = TRUE),
times = 10, unit = "s")
# Large
g2 <- lmer(y ~ lectage + studage + (1+lectage|d) + (1|dept), data=InstEval)
d2 <- InstEval[1:1000, ]
bench4 <- microbenchmark(predictInterval(g2, newdata = d2[1:100, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g2, newdata = d2[1:200, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g2, newdata = d2[1:400, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g2, newdata = d2[1:800, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
times = 10, unit = "s")
d2 <- d2[order(d2$d, d2$dept),]
bench5 <- microbenchmark(predictInterval(g2, newdata = d2[1:100, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g2, newdata = d2[1:200, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g2, newdata = d2[1:400, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
predictInterval(g2, newdata = d2[1:800, ], level = 0.9,
n.sims = 500,
stat = 'mean', include.resid.var = TRUE),
times = 10, unit = "s")
g3 <- lmer(y ~ lectage + studage + (1|s) + (1+lectage|d) + (1|dept), data=InstEval)
g2 <- lmer(y ~ lectage + studage + (1+lectage|d) + (1|dept), data=InstEval)
p2 <- profvis({
predictInterval(g2, level = 0.9, newdata = InstEval[1:100,],
n.sims = 7500,
stat = 'mean', include.resid.var = TRUE)
})
# View it with:
p2
library(doParallel)
cl <- makeCluster(4)
registerDoParallel(cl, 4)
zzz <- predictInterval(g3, level = 0.9, newdata = InstEval,
n.sims = 7500,
stat = 'mean', include.resid.var = TRUE, .parallel = TRUE)
# set.seed(101)
# d <- expand.grid(fac1=LETTERS[1:5], grp=factor(1:10),
# obs=1:50)
# d$y <- simulate(~fac1+(1|grp),family = binomial,
# newdata=d,
# newparams=list(beta=c(2,-1,3,-2,1.2), theta=c(.33)))[[1]]
# subD <- d[sample(row.names(d), 1200),]
# g1 <- glmer(y~fac1+(1|grp), data=subD, family = 'binomial')
# d$fitted <- predict(g1, d)
#
#
# outs <- predictInterval(g1, newdata = d, level = 0.95, n.sims = 500,
# stat = 'mean', include.resid.var = FALSE,
# type = 'linear.prediction')
#
#
# g2 <- lmer(y ~ lectage + studage + (1|d) + (1|s), data=InstEval)
# d1 <- InstEval[1:100, ]
#
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.