Setup, get data

library(neonbecs)
dat <- get_toy_portal_data()

head(dat)

dat_energy <- dat %>%
  replicatebecs::add_energy_sizeclass()

dat_isd <- dat_energy %>%
  make_isd()

head(dat_isd)

Plot data

ied_plot <- plot_ied(ied = dat_isd, ied_name = "Toy Portal")

isd_plot <- plot_isd(isd = dat_isd, isd_name = "Toy Portal")

dat_bsd <- replicatebecs::make_bsd(raw_community = dat, ln_units = .1)
bsd_plot <- replicatebecs::plot_bsd(bsd = dat_bsd, bsd_name = "Toy Portal")
print(ied_plot)
print(isd_plot)
print(bsd_plot)

Fitting & plotting distributions

Powerlaw

Fit powerlaw

pl_par_size <- get_pl_pars(dat = dat, estimate_min = TRUE, size_or_energy = "size")

pl_size_sample <- sample_pl(dat = dat, plpars = pl_par_size, nsamples = 1000)

pl_par_size_forcemin <-  get_pl_pars(dat = dat, estimate_min = FALSE, size_or_energy = "size")

pl_size_forcemin_sample <- sample_pl(dat = dat, plpars = pl_par_size_forcemin, nsamples = 1000)

Plot power law

pl_isd <- dat %>%
  dplyr::mutate(individual_sizes = pl_size_sample[,1]) %>%
  replicatebecs::add_energy_sizeclass() %>%
  make_isd()

pl_isd_plot <- plot_isd(pl_isd, isd_name = "Sampled power law")

print(pl_isd_plot)

pl_isd_fm <- dat %>%
  dplyr::mutate(individual_sizes = pl_size_forcemin_sample[,1]) %>%
  replicatebecs::add_energy_sizeclass() %>%
  make_isd()

pl_isd_fm_plot <- plot_isd(pl_isd_fm, isd_name = "Sampled power law forced min")

print(pl_isd_fm_plot)

Bootstrap power law

RMD is puzzled re: whether it makes sense to bootstrap logliks from powerlaw

OR

do some kind of subsetting data into training and test datasets and then seeing how well the power law can predict data in the test dataset.

This seems like more of a formality than anything, these are visually not well described by these power law fits.

pl_loglik_sampled <- apply(pl_size_sample, MARGIN = 2, FUN = loglik_pl, plpars = pl_par_size)
pl_loglik_sampled_emp <- loglik_pl(dat$individual_sizes, plpars = pl_par_size)
pl_loglik_sampled_ecdf <- ecdf(pl_loglik_sampled)
pl_loglik_size_z <- pl_loglik_sampled_ecdf(pl_loglik_sampled_emp)

pl_loglik_sampled_forcemin <- apply(pl_size_forcemin_sample, MARGIN = 2, FUN = loglik_pl, plpars = pl_par_size_forcemin)
pl_loglik_fm_sampled_emp <- loglik_pl(dat$individual_sizes, plpars = pl_par_size_forcemin)
pl_loglik_fm_sampled_ecdf <- ecdf(pl_loglik_sampled_forcemin)
pl_loglik_size_fm_z <- pl_loglik_fm_sampled_ecdf(pl_loglik_fm_sampled_emp)


pl_loglik_size_z
pl_loglik_size_fm_z

GMM

Fit GMM

dat_gmm <- fit_gmm(dat_isd)
dat_gmm_pdf <- get_pdf(dat_gmm)

Plot GMM

gmm_plot <- plot_gmm_pdf(dat_gmm_pdf, pdf_name = "Toy Portal")
print(gmm_plot)

Bootstrap GMM?



diazrenata/neonbecs documentation built on July 6, 2019, 9:25 a.m.