Nothing
## ----setup_lies,warning=FALSE-------------------------------------------------
library(EcoEnsemble)
set.seed(1234)
## ----eval = FALSE, message=FALSE, warning=FALSE, results='hide', silent=TRUE----
# cor_pri_st <- rstan::stan_model(model_code = " functions{
# real priors_cor_hierarchical_beta(matrix ind_st_cor, int N, matrix M){
# real log_prior = 0;
# for (i in 1:(N-1)){
# for (j in (i+1):N){
# log_prior += beta_lpdf(0.5*(ind_st_cor[i, j] + 1)| M[i, j], M[j, i] );
# }
# }
# return log_prior;
# }
#
# real beta_conj_prior(real alpha, real betas, real r, real s, real k){
# real rl = 1/(1 + exp(-r));
# real sl = 1/(1 + exp(-s));
# real p = (sl * rl)^k;
# real q = (sl * (1 - rl))^k;
# real ret = alpha * log(p) + betas * log(q) - k * lbeta(alpha,betas);
# return ret;
# }
#
# }
#
# data {
# vector[3] cor_p;
# }
#
# parameters {
# matrix <lower=0>[5,5] beta_pars;
# corr_matrix[5] rho[4];
# }
#
# model {
# for (i in 1:4){
# for (j in (i+1):5){
# target += beta_conj_prior(beta_pars[i,j], beta_pars[j,i], cor_p[1], cor_p[2], cor_p[3]);
# }
# }
#
# for (i in 1:4){
# target += priors_cor_hierarchical_beta(rho[i],5,beta_pars);
# diagonal(beta_pars) ~ std_normal();
# }
#
# }
#
# generated quantities {
#
# matrix [5,5] rhovars;
# for (i in 1:4){
# for (j in (i+1):5){
# rhovars[i,j] = 4 * (beta_pars[i,j] * beta_pars[j,i])/(square(beta_pars[i,j] + beta_pars[j,i]) * (beta_pars[i,j] + beta_pars[j,i] + 1));
# rhovars[j,i] = (2 * beta_pars[i,j]/(beta_pars[i,j] + beta_pars[j,i])) - 1;
# }
# }
#
# for (i in 1:5){
# rhovars[i,i] = 4;
# }
#
# }
# ")
# library(ggplot2)
# rhoplots <- list()
# kvals <- c(0.05, 5)
# parvals <- do.call(expand.grid, c(rep(list(c(0.25, 3)), 2), list(kvals)))
# #Sampling and gathering outputs for plotting
# for (i in 1:nrow(parvals)){
# fit_cor <- rstan::sampling(cor_pri_st, data = list(cor_p=as.numeric(parvals[i,])), iter = 2000, chains=4)
# ex.fit <- rstan::extract(fit_cor)
# rho_density <- density(ex.fit$rho[,1,1,2], from = -1, to = 1)
# rhoplot_data <- data.frame(rho_density$x, rho_density$y)
# names(rhoplot_data) <- c("rho", "Density")
# rhoplot_data <- cbind(rhoplot_data, rep(parvals[i,1], nrow(rhoplot_data)), rep(parvals[i,2], nrow(rhoplot_data)), rep(parvals[i,3], nrow(rhoplot_data)))
# names(rhoplot_data)[3:5] <- c("r", "s", "k")
# rhoplots[[i]] <- rhoplot_data
# }
# #Construct plots
# rhoplot_data <- do.call(rbind, rhoplots)
# rhoplot_data <- cbind(rhoplot_data, rep("Beta conjugate prior", nrow(rhoplot_data)))
# names(rhoplot_data)[6] <- "Prior"
# unif_range <- seq(-1, 1, length.out = nrow(rhoplots[[1]]))
# unif_data <- data.frame(cbind(rep(unif_range, nrow(parvals)), rep(dbeta((unif_range+1)/2,5/2,5/2)/2, nrow(parvals)), rhoplot_data[,3:5], rep("Uniform prior", nrow(rhoplot_data))))
# names(unif_data) <- names(rhoplot_data)
# rhoplot_data <- rbind(rhoplot_data, unif_data)
# rhoplot1 <- ggplot(rhoplot_data[which(rhoplot_data$k == kvals[1]),]) + geom_area(aes(x = rho, y = Density, color = Prior, fill = Prior), alpha = 0.3, position = "identity") + scale_x_continuous(bquote(rho), sec.axis = sec_axis(~., name = "r", breaks = NULL, labels = NULL)) + scale_y_continuous(sec.axis = sec_axis(~., name = "s", breaks = NULL, labels = NULL)) + theme(aspect.ratio = 1) + facet_grid(rows = vars(r), cols = vars(s)) + scale_color_manual(values = c("blue", "green")) + scale_fill_manual(values = c("blue", "green"))
# rhoplot2 <- ggplot(rhoplot_data[which(rhoplot_data$k == kvals[2]),], aes(x = rho, y = Density)) + geom_area(aes(color = Prior, fill = Prior), alpha = 0.3, position = "identity") + scale_x_continuous(bquote(rho), sec.axis = sec_axis(~., name = "r", breaks = NULL, labels = NULL)) + scale_y_continuous(sec.axis = sec_axis(~., name = "s", breaks = NULL, labels = NULL)) + theme(aspect.ratio = 1) + facet_grid(rows = vars(r), cols = vars(s)) + scale_color_manual(values = c("blue", "green")) + scale_fill_manual(values = c("blue", "green"))
## ---- echo = FALSE, out.width="700px", out.height="700px"---------------------
knitr::include_graphics("data/rhoplot1.png")
## ---- eval = FALSE, fig.dim = c(7,6), echo = FALSE----------------------------
# rhoplot1
## ---- echo = FALSE, out.width="700px", out.height="700px"---------------------
knitr::include_graphics("data/rhoplot2.png")
## ---- eval = FALSE, fig.dim = c(7,6), echo = FALSE----------------------------
# rhoplot2
## ---- message=FALSE, warning=FALSE,eval=FALSE, results='hide', silent=TRUE----
# kvals <- c(0.1, 0.2, 0.4, 0.8, 1.6, 3.2)
# #parvals <- cbind(rep(0.3, 6), rep(-1, 6), kvals)
# parvals <- cbind(rep(-0.3, 6), rep(3, 6), kvals)
# rhovarplots <- list()
# rhomeanplots <- list()
# for (i in 1:6){
# fit_cor <- rstan::sampling(cor_pri_st, data = list(cor_p=parvals[i,]), iter = 2000, chains=4)
# ex.fit <- rstan::extract(fit_cor)
# rhovar_density <- density(ex.fit$rhovars[,1,2])
# rhomean_density <- density(ex.fit$rhovars[,2,1])
# rhovar_data <- data.frame(cbind(rhovar_density$x, rhovar_density$y, rep(kvals[i], length(rhovar_density$x))))
# rhomean_data <- data.frame(cbind(rhomean_density$x, rhomean_density$y, rep(kvals[i], length(rhomean_density$x))))
# names(rhovar_data) <- c("Variance", "Density", "k")
# names(rhomean_data) <- c("Expectation", "Density", "k")
# rhovarplots[[i]] <- rhovar_data
# rhomeanplots[[i]] <- rhomean_data
# }
# rhovarplot_data <- do.call(rbind, rhovarplots)
# rhomeanplot_data <- do.call(rbind, rhomeanplots)
# rhovarplot <- ggplot(rhovarplot_data) + geom_area(aes(x = Variance, y = Density), color = "blue", fill = "blue", alpha = 0.3, position = "identity") + geom_vline(xintercept = 0.2, color = "green", linetype = "dashed", linewidth = 0.8) + facet_wrap(vars(k), nrow = 2, ncol = 3) + scale_x_continuous(sec.axis = sec_axis(~., name = "k", breaks = NULL, labels = NULL))
# rhomeanplot <- ggplot(rhomeanplot_data) + geom_area(aes(x = Expectation, y = Density), color = "blue", fill = "blue", alpha = 0.3, position = "identity") + geom_vline(xintercept = 0, color = "green", linetype = "dashed", linewidth = 0.8) + facet_wrap(vars(k), nrow = 2, ncol = 3) + scale_x_continuous(sec.axis = sec_axis(~., name = "k", breaks = NULL, labels = NULL))
## ---- echo = FALSE, out.width="600px", out.height = "500px"-------------------
knitr::include_graphics("data/rhovarplot.png")
## ---- eval = FALSE, echo = FALSE----------------------------------------------
# rhovarplot
## ---- echo = FALSE, out.width = "600px", out.height = "500px"-----------------
knitr::include_graphics("data/rhomeanplot.png")
## ---- eval=FALSE, fig.dim = c(8,5), echo = FALSE------------------------------
# rhomeanplot
## ---- eval = FALSE, message = FALSE, warning = FALSE, silent = TRUE, results = 'hide'----
# fit_cor <- rstan::sampling(cor_pri_st, data = list(cor_p=c(0.25, 3, 4), iter = 2000, chains=4))
# ex.fit <- rstan::extract(fit_cor)
# rhoplot_data <- data.frame(ex.fit$rho[,1,1,2])
# names(rhoplot_data) <- "rho"
# rhoplot <- ggplot(rhoplot_data) + geom_histogram(aes(x = rho), color = "blue", fill = "blue", alpha = 0.3, binwidth = 0.05) + scale_x_continuous(bquote(rho))
## ---- echo = FALSE, out.width = "400px", out.height = "400px"-----------------
knitr::include_graphics("data/rhoplot.png")
## ---- eval = FALSE, echo = FALSE, warning = FALSE, fig.dim = c(4,3)-----------
# rhoplot
## ----eval=FALSE,message=FALSE, warning = FALSE, results = 'hide',silent=TRUE----
# priors <- EnsemblePrior(4,
# ind_st_params =IndSTPrior("hierarchical_beta_conjugate",list(-3,1,8,4),
# list(0.25,3,4),AR_params=c(2,2)),
# ind_lt_params = IndLTPrior("lkj",list(1,1),1),
# sha_st_params = ShaSTPrior("lkj",list(1,10),1,AR_params=c(2,2)),
# sha_lt_params = 5
# )
# prior_density <- prior_ensemble_model(priors, M = 4)
# samples <- sample_prior(observations = list(SSB_obs, Sigma_obs),
# simulators = list(list(SSB_ewe, Sigma_ewe,"EwE"),
# list(SSB_fs , Sigma_fs,"FishSums"),
# list(SSB_lm , Sigma_lm,"LeMans"),
# list(SSB_miz, Sigma_miz,"mizer")),
# priors=priors,
# sam_priors = prior_density)
## ---- eval = FALSE, fig.dim = c(7, 6)-----------------------------------------
# plot(samples)
## ---- echo = FALSE, out.height="500px", out.width="800px"---------------------
knitr::include_graphics("data/p_priors_beta_conj.png")
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.