library("dplyr") library("tidyr") library("ggplot2") library("multipleuncertainty") library("parallel") knitr::opts_chunk$set(cache = TRUE)
We confirm the general pattern observed is independent of the choice of grid step-size or the grid's maximum range. To do so, we consider all combinations of maximum grid range and grid step size, using possible maximum ranges of 150, 200, 300, and 400, and possible step sizes of 0.5, 1, and 2. Note that the largest grid thus has 800 grid points and the resulting linear algebra may need 16 GB of memory.
fig3 <- function(max, by, noise="uniform"){ grid <- seq(0, max, by = by) small <- multiple_uncertainty(f = logistic, x_grid = grid, sigma_g = 0.1, sigma_m = 0.1, sigma_i = 0.1, noise_dist = noise) growth <- multiple_uncertainty(f = logistic, x_grid = grid, sigma_g = 0.5, sigma_m = 0.1, sigma_i = 0.1, noise_dist = noise) measure <- multiple_uncertainty(f = logistic, x_grid = grid, sigma_g = 0.1, sigma_m = 0.5, sigma_i = 0.1, noise_dist = noise) implement <- multiple_uncertainty(f = logistic, x_grid = grid, sigma_g = 0.1, sigma_m = 0.1, sigma_i = 0.5, noise_dist = noise) df <- data.frame(y_grid = grid, small = small, growth = growth, measure = measure, implement = implement) %>% tidyr::gather(scenario, value, -y_grid) } df <- expand.grid(max = c(150, 200, 300, 400), by = c(0.5, 1, 2)) %>% dplyr::group_by(max,by) %>% dplyr::do(fig3(.$max, .$by, "uniform"))
plt <- function(df) df %>% ggplot(aes(x = y_grid, y = value, col = scenario)) + geom_line() + facet_grid(by ~ max) + xlab("Stock") + ylab("Escapement") + coord_cartesian(xlim = c(0, 150), ylim = c(0,100)) + theme_bw() df %>% plt()
We can repeat this analysis for lognormal noise, which we find to be even less sensitive to the small jitter created at the coarser grid sizes.
df <- expand.grid(max = c(150, 200, 300, 400), by = c(0.5, 1, 2)) %>% dplyr::group_by(max,by) %>% dplyr::do(fig3(.$max, .$by, "lognormal"))
df %>% plt()
Based on these observations, we selected a maximum of 200 and and a delta of 0.5 as our chosen grid for most of the analysis.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.