layout: true background-color: #fdf6e3 class: center, top --- # Theoretical Limits to Forecasting in Ecological Systems ## (And What to Do About It) <div class="my-footer"> <a href="https://carlboettiger.info">
Carl Boettiger</a> | <a href="https://berkeley.edu">
UC Berkeley</a> | <a href="https://twitter.com/cboettig">
@cboettig</a> </div> --- # A simple forecast <!-- --> --- # A simple forecast <!-- --> --- ## Neural Net forecast <!-- --> --- # Compare our forecast realizations of the underlying process <!-- --> --- # Compare our forecast realizations of the underlying process <!-- --> --- # Compare our forecast realizations of the underlying process <!-- --> --- # Potential tipping point systems --- background-image: url(../image-library/royalsociety/forest-fire.jpg) background-position: center background-size: 120% class: center, top --- background-image: url(../image-library/royalsociety/methane_bubbles.jpg) background-position: center background-size: 100% class: center, top --- background-image: url(../image-library/img/flickr-vsmoothe-pine-beetle.jpg) background-position: center background-size: 100% class: bottom, right, inverse credit: flickr user vsmoothe, CC0 --- ## Potential Well <!-- --> --- ## Potential Well <!-- --> --- # Sufficient Statistics & Identifiability -- ### Forecasting is hard... especially when trying to predict things we haven't yet seen! -- ### Theory can help define the space of the possible --- # Model Inference Hierarchical Bayesian estimation of uncertainty ```r library("greta") mean <- x_t + r * x_t * (1 - x_t / K) - a * x_t ^ q / (x_t ^ q + b ^ q) distribution(x_t1) <- normal(mean, sigma_g * x_t) a <- uniform(.25, .34) # Prior draws <- mcmc(model(a), n_samples = 1000, warmup = 3000, chains = 4) ``` Using TensorFlow(R) via `greta` R package, <https://greta-stats.org> --- ## Given knowledge of structure ### Uncertainty in model estimate <!-- --> --- ## Perfect information of model and parameters ### (i.e. best possible forecast) <!-- --> --- # So what makes a good forecast? --- # What do we do with this uncertainty? --- class: center # Decision Theory .pull-left[ ## Societal Dynamics Utility function `\(U(x_t,a_t)\)` Given state `\(x_t\)` and action `\(a_t\)`, balance costs and benefits. <img src="../image-library/royalsociety//balance.jpg" width="300px"> ] -- .pull-right[ ## Ecological Dynamics Transition function (forecast probabilities) `\(f(x,a)\)` <!-- --> ] --- background-image: url(../image-library/img/chess.jpg) background-position: left background-size: 120% class: center, bottom # Decision Theory --- # Beetle Outbreak <!-- --> --- # Alternate models <!-- --> --- ## Optimal control strategies <!-- --> --- ## Wrongly assuming forest is healthy: <!-- --> --- ## Wrongly assuming forest is healthy: <!-- --> --- ## Integrate over both models <!-- --> --- # Optimal management for the stressed forest <!-- --> --- # Learning on the job ## Adaptive Management, aka Reinforcement Learning -- <img src="../image-library/royalsociety//waiting-in-the-shallows.jpg" width="450"> --- <!-- --> <!-- --> --- # Conclusions ### A precise forecast isn't always a better forecast -- ### Even when short term observations match the predictions -- ### We need better theory in order to make less precise forecasts -- ### Decision theory can help us determine actions under uncertainty -- ### A "good" forecast maximizes long-term utility, not goodness-of-fit --- # Acknowledgements .pull-left[ ## Group <!-- --> ] .pull-right[ ## Funding <!-- --> ### Image Credits <!-- --> ]