## ----mm-knit-opts, include = FALSE-------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 6, fig.height = 4, fig.align = "center" ) ## ----setup-------------------------------------------------------------------- library(MetaHunt) set.seed(1) ## ----mm-simulate-------------------------------------------------------------- m <- 30; G <- 20; K_true <- 3 x <- seq(0, 1, length.out = G) basis <- rbind(sin(pi * x), cos(pi * x), x) W <- data.frame(w1 = rnorm(m), w2 = rnorm(m)) beta <- cbind(c(1, -0.8), c(-0.5, 1.2), c(0, 0)) pi_true <- exp(as.matrix(W) %*% beta); pi_true <- pi_true / rowSums(pi_true) F_hat <- pi_true %*% basis + matrix(rnorm(m * G, sd = 0.05), m, G) ## ----mm-wnew------------------------------------------------------------------ W_new <- data.frame(w1 = 0, w2 = 0) ## ----mm-fit------------------------------------------------------------------- mm <- minmax_regret(F_hat) mm ## ----mm-fit-metahunt---------------------------------------------------------- fit <- metahunt(F_hat, W, K = K_true, dfspa_args = list(denoise = FALSE)) f_pred <- predict(fit, newdata = W_new) ## ----mm-vs-metahunt----------------------------------------------------------- plot(x, mm$prediction, type = "l", col = "tomato", lwd = 2, ylim = range(c(mm$prediction, f_pred[1, ])), xlab = "x", ylab = expression(tilde(f)(x)), main = "minimax-regret vs. MetaHunt (target W = (0,0))") lines(x, f_pred[1, ], col = "steelblue", lwd = 2) legend("topright", legend = c("minmax_regret", "metahunt (W = (0,0))"), col = c("tomato", "steelblue"), lty = 1, lwd = 2, bty = "n")