This is winBUGS software to perform Bayesian estimation for an AR(2) band recovery model. For more information on the set-up and for more details on autoregressive models for capture-recapture data, see the paper by Johnson, D. S. and J. A. Hoeting (2003) ``Autoregressive Models for Capture-Recapture Data: A Bayesian Approach,'' Biometrics, 59:340-349. This code was written by Devin Johnson (Devin.Johnson@noaa.gov). The code was last upated May 1, 2002. ______________________________________________________________ model; { ########################################## # This portion defines the likelihood ########################################## for(i in 1:I){ D[i, 2:(I+2)] ~ dmulti(C[i,], D[i, 1]); } # Cell probabilities ##################### for(i in 1:(I-1)){ lphi[i] <- log(phi[i]) logit(phi[i]) <- beta + e[i] for(j in (i+1):I){ C[i, j] <- lambda[j]*exp(sum(lphi[i:(j-1)])) } for (j in 1:i){ C[i+1, j] <- 0 } } for(i in 1:I){ C[i, i] <- lambda[i] C[i, I+1] <- 1 - sum(C[i, 1:I]) } ########################################### ########################################### # This portion defines the model for epsilon ########################################### e[1] ~ dnorm(mu[1], tau1) e[2] ~ dnorm(mu[2], tau2) mu[1] <- 0 mu[2] <- (rho[1]/(1-rho[2]))*e[1] tau1 <- ((1+rho[2])/(1-rho[2]))*((1-rho[2])*(1-rho[2]) - rho[1]*rho[1])*tau tau2 <- tau*(1 - rho[2]*rho[2]) for(i in 3:(I-1)){ e[i] ~ dnorm(mu[i],tau) mu[i] <- rho[1]*e[i-1] + rho[2]*e[i-2] } sigma <- 1/sqrt(tau) ########################################## ########################################## # This section states the prior dist. ########################################## # for(i in 1:2){beta[i] ~ dnorm(0, 0.01)} beta ~ dnorm(0, 0.01) for(i in 1:I){lambda[i] ~ dunif(0, 1)} tau ~ dgamma(0.001, 0.001) ## Prior for rho is approx. uniform on the AR(2) stationary triangle ## rho[1] ~ dunif(l, u) u <- abs(1 - rho[2]) l <- -u rho[2] ~ dunif(-1, 1) ########################################## } ## Pintail example data list(I=28, D = structure(.Data = c( 270, 7, 6, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 693, 0, 21, 10, 4, 2, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 1612, 0, 0, 32, 20, 8, 5, 1, 2, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 858, 0, 0, 0, 26, 12, 5, 6, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 1471, 0, 0, 0, 0, 21, 18, 6, 5, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 1051, 0, 0, 0, 0, 0, 18, 4, 6, 4, 1, 2, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 796, 0, 0, 0, 0, 0, 0, 24, 6, 4, 0, 3, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 755, 277, 0, 0, 0, 0, 0, 0, 0, 10, 9, 6, 6, 4, 1, 2, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 903, 0, 0, 0, 0, 0, 0, 0, 0, 15, 8, 1, 8, 4, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 862, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 4, 1, 6, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 4, 3, 7, 3, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 10, 4, 4, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 768, 1344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 27, 8, 11, 3, 1, 4, 1, 2, 0, 0, 1, 0, 0, 0, 0, 1258, 566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 13, 6, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 529, 481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 7, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 459, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 5, 2, 2, 1, 1, 0, 1, 1, 0, 0, 0, 660, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 10, 2, 4, 0, 1, 2, 0, 0, 0, 0, 0, 591, 1114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 11, 8, 3, 5, 3, 2, 1, 0, 0, 0, 1060, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 10, 2, 3, 0, 2, 0, 0, 0, 603, 926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 9, 9, 2, 5, 1, 2, 1, 0, 881, 858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 12, 3, 5, 1, 1, 1, 0, 821, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 2, 4, 4, 1, 1, 0, 344, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 3, 4, 1, 2, 1, 431, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 1, 0, 205, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 28, 8, 4, 1622, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 2, 404, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 116, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59), .Dim = c(28, 30)) ) ################################################### # Initial values ################################################### ## Initial values for intercept-only model list( beta = 0.6, tau = 1, rho = c(0.4, -0.4), e = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), lambda= c(0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01, 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01, 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01) ) ## Some initial values for slope/intercept model list( beta = c(0.6, 0.01), tau = 1, rho = c(0.4, -0.4), e = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), lambda= c(0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01, 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01, 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01) ) list( beta = c(-0.6, -0.01), tau = 2, rho = c(-0.4, 0.4), e = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), lambda= c(0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01, 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01, 0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01) ) #################################################