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.