# NOT RUN {
## the "!!" de-quote (see ?partial) so e.g., can save mygradSIR for future runs.
####### gradient settings/setup for Gaussian
## set.seed(501)
library(distr)
mysig <- 1 ## std dev
errdist <- Norm(0, sd=mysig)
mm0 <- function(xx){xx}
nn <- 300
xx <- sort(runif(n=nn, 0, 7))
yy <- mm0(xx) + errdist@r(nn)
## plot(xx,yy)
myScale <- mysig
AAfunc_Gauss <- purrr::partial(AAfunc_Gauss_generic, sig=!!mysig)
AA_Gauss <- purrr::partial(AA, func=!!AAfunc_Gauss)
BBfunc_Gauss <- purrr::partial(BBfunc_Gauss_generic, sig=!!mysig)
BB_Gauss <- purrr::partial(BB, func=!!BBfunc_Gauss)
mygradSIR <-
grad_SIR_Gauss <- ## just for ease of reference
purrr::partial(grad_SIR_generic,
rescale=TRUE, ## factor of nn/2
AAfunc=!!AA_Gauss, BBfunc=!!BB_Gauss)
####### gradient settings/setup for Laplace
set.seed(501)
library(distr)
myLL <- .7 ## (1/"rate") parameter, aka "mean" parameter (except Laplace mean is 0)
errdist <- DExp(1/myLL)
nn <- 200
mm0 <- function(xx){
(xx<=0)*0 + (0<=xx & xx<=2)*1 +
(2<xx & xx<=3)*3 +
(3<xx)*6
}
xx <- sort(runif(n=nn, 0, 7))
yy <- mm0(xx) + errdist@r(nn)
myScale <- myLL;
## CS settings
#'mysig <- sqrt(2) * myLL;
#'
AAfunc_Laplace <- purrr::partial(AAfunc_Laplace_generic, LL=!!myLL)
AA_Laplace <- purrr::partial(AA, func=!!AAfunc_Laplace)
BBfunc_Laplace <- purrr::partial(BBfunc_Laplace_generic, LL=!!myLL)
BB_Laplace <- purrr::partial(BB, func=!!BBfunc_Laplace)
mygradSIR <-
grad_SIR_Laplace <- purrr::partial(grad_SIR_generic,
rescale=TRUE, ## factor of nn/2
AAfunc=!!AA_Laplace, BBfunc=!!BB_Laplace)
# }
Run the code above in your browser using DataLab