inst/examples/appendices/squiggles.md

Variability in the appearance of a trend

nreps <- 64
require(populationdynamics)
pars = c(Xo = 730, e = 0.5, a = 100, K = 1000, 
    h = 200, i = 0, Da = 0.09, Dt = 0, p = 2)
time = seq(0, 990, length = 500)
sn <- saddle_node_ibm(pars, time, reps = nreps)

We reformat the replicates into long form,

X <- data.frame(time = time, value = sn$x1)
require(reshape)
dat <- melt(X, id = "time")
names(dat)[2] <- "reps"
require(plyr)
window <- length(X[["time"]])/2
tmp <- ddply(dat, "reps", function(X) window_autocorr(X$value, 
    windowsize = window))

Tidy up the warning signal data

acorr <- melt(t(tmp))
acorr <- acorr[-1, ]
names(acorr) <- c("time", "reps", "value")
acorr$time <- as.numeric(gsub("\\D", "", acorr$time))
class(acorr$value) <- "numeric"

and plot the replicate warning signals

require(ggplot2)
ggplot(acorr) + geom_line(aes(time, value)) + 
    facet_wrap(~reps) + opts(title = "Autocorrelation on replicates from a system approaching a crash")

plot of chunk crashautocor

Stable system

Stable model simulations

pars = c(Xo = 730, e = 0.5, a = 150, K = 1000, 
    h = 200, i = 0, Da = 0, Dt = 0, p = 2)
time = seq(0, 500, length = 500)
sn <- saddle_node_ibm(pars, time, reps = nreps)
X <- data.frame(time = time, value = sn$x1)
stable_dat <- melt(X, id = "time")
names(stable_dat)[2] <- "reps"
tmp <- ddply(stable_dat, "reps", function(X) window_autocorr(X$value, 
    windowsize = window))
acorr <- melt(t(tmp))
acorr <- acorr[-1, ]
names(acorr) <- c("time", "reps", "value")
acorr$time <- as.numeric(gsub("\\D", "", acorr$time))
class(acorr$value) <- "numeric"
ggplot(acorr) + geom_line(aes(time, value)) + 
    facet_wrap(~reps) + opts(title = "Autocorrelation on replicates from a stable system")

plot of chunk stableautocor

Variance pattern

Replicates approaching a crash

tmp <- ddply(dat, "reps", function(X) window_var(X$value, 
    windowsize = window))
acorr <- melt(t(tmp))
acorr <- acorr[-1, ]
names(acorr) <- c("time", "reps", "value")
acorr$time <- as.numeric(gsub("\\D", "", acorr$time))
class(acorr$value) <- "numeric"
ggplot(acorr) + geom_line(aes(time, value)) + 
    facet_wrap(~reps) + opts(title = "Variance on replicates approaching a crash")

plot of chunk crashvar

Replicates from a stable system

tmp <- ddply(stable_dat, "reps", function(X) window_var(X$value, 
    windowsize = window))
acorr <- melt(t(tmp))
acorr <- acorr[-1, ]
names(acorr) <- c("time", "reps", "value")
acorr$time <- as.numeric(gsub("\\D", "", acorr$time))
class(acorr$value) <- "numeric"
ggplot(acorr) + geom_line(aes(time, value)) + 
    facet_wrap(~reps) + opts(title = "Variance on replicates in a stable system")

plot of chunk stablevar



cboettig/earlywarning documentation built on May 13, 2019, 2:07 p.m.