6.3 Temporal Autocorrelation

ar1_cor <- function(n, rho) {
  exponent <- abs(matrix(1:n - 1, nrow = n, ncol = n, byrow = TRUE) - 
      (1:n - 1))
  rho^exponent
}

temp_mat<-ar1_cor(n=100,rho=0.9)
colnames(temp_mat)<-rownames(temp_mat)<-1:100

ds <- data.frame(day=1:100)

sim_dat_ta<-simulate_population(
  seed=25,
  data_structure = ds,
  parameters = list(
    day = list(vcov=4),
    residual = list(vcov=1)
  ),
  cov_str = list(day=temp_mat)
)
dat_ta<-get_population_data(sim_dat_ta)
head(dat_ta)
##           y day_effect   residual day squid_pop
## 1 3.6334258   3.835942 -0.2025162   1         1
## 2 2.0960169   3.270739 -1.1747219   2         1
## 3 0.6243599   1.979511 -1.3551508   3         1
## 4 1.5844086   1.307931  0.2764777   4         1
## 5 1.4873109   1.145398  0.3419127   5         1
## 6 1.0725710   2.048936 -0.9763652   6         1
all(unique(ds$day) %in% rownames(temp_mat))
## [1] TRUE
sim_dat_no_ta<-simulate_population(
  seed=23,
  data_structure = ds,
  parameters = list(
    day = list(vcov=4),
    residual = list(vcov=1)
  )
)
dat_no_ta<-get_population_data(sim_dat_no_ta)


par(mfrow=c(2,1))
plot(y~day,dat_ta, type="l", main="Temporal Autocorrelation")
plot(y~day,dat_no_ta, type="l", main="No Autocorrelation")