Learn R Programming

unmarked (version 0.11-0)

colext: Fit the dynamic occupancy model of MacKenzie et. al (2003)

Description

Estimate parameters of the colonization-extinction model, including covariate-dependent rates and detection process.

Usage

colext(psiformula= ~1, gammaformula =  ~ 1, epsilonformula = ~ 1, pformula = ~ 1, data, starts, method="BFGS", se=TRUE, ...)

Arguments

psiformula
Right-hand sided formula for the initial probability of occupancy at each site.
gammaformula
Right-hand sided formula for colonization probability.
epsilonformula
Right-hand sided formula for extinction probability.
pformula
Right-hand sided formula for detection probability.
data
unmarkedMultFrame object that supplies the data (see unmarkedMultFrame).
starts
optionally, initial values for parameters in the optimization.
method
Optimization method used by optim.
se
logical specifying whether or not to compute standard errors.
...
Additional arguments to optim, such as lower and upper bounds

Value

Details

This function fits the colonization-extinction model of MacKenzie et al (2003). The colonization and extinction rates can be modeled with covariates that vary yearly at each site using a logit link. These covariates are supplied by special unmarkedMultFrame yearlySiteCovs slot. These parameters are specified using the gammaformula and epsilonformula arguments. The initial probability of occupancy is modeled by covariates specified in the psiformula.

The conditional detection rate can also be modeled as a function of covariates that vary at the secondary sampling period (ie., repeat visits). These covariates are specified by the first part of the formula argument and the data is supplied via the usual obsCovs slot.

The projected and smoothed trajectories (Weir et al 2009) can be obtained from the smoothed.mean and projected.mean slots (see examples).

References

MacKenzie, D.I. et al. (2002) Estimating Site Occupancy Rates When Detection Probabilities Are Less Than One. Ecology, 83(8), 2248-2255.

MacKenzie, D. I., J. D. Nichols, J. E. Hines, M. G. Knutson, and A. B. Franklin. 2003. Estimating site occupancy, colonization, and local extinction when a species is detected imperfectly. Ecology 84:2200--2207.

MacKenzie, D. I. et al. (2006) Occupancy Estimation and Modeling.Amsterdam: Academic Press.

Weir L. A., Fiske I. J., Royle J. (2009) Trends in Anuran Occupancy from Northeastern States of the North American Amphibian Monitoring Program. Herpetological Conservation and Biology. 4(3):389-402.

See Also

nonparboot, unmarkedMultFrame, and formatMult

Examples

Run this code

# Fake data
R <- 4 # number of sites
J <- 3 # number of secondary sampling occasions
T <- 2 # number of primary periods

y <- matrix(c(
   1,1,0,  0,0,0,
   0,0,0,  0,0,0,
   1,1,1,  1,1,0,
   1,0,1,  0,0,1), nrow=R, ncol=J*T, byrow=TRUE)
y

site.covs <- data.frame(x1=1:4, x2=factor(c('A','B','A','B')))
site.covs

yearly.site.covs <- list(
   year = matrix(c(
      'year1', 'year2',
      'year1', 'year2',
      'year1', 'year2',
      'year1', 'year2'), nrow=R, ncol=T, byrow=TRUE)
      )
yearly.site.covs

obs.covs <- list(
   x4 = matrix(c(
      -1,0,1,  -1,1,1,
      -2,0,0,  0,0,2,
      -3,1,0,  1,1,2,
      0,0,0,   0,1,-1), nrow=R, ncol=J*T, byrow=TRUE),
   x5 = matrix(c(
      'a','b','c',  'a','b','c',
      'd','b','a',  'd','b','a',
      'a','a','c',  'd','b','a',
      'a','b','a',  'd','b','a'), nrow=R, ncol=J*T, byrow=TRUE))
obs.covs

umf <- unmarkedMultFrame(y=y, siteCovs=site.covs,
    yearlySiteCovs=yearly.site.covs, obsCovs=obs.covs,
    numPrimary=2)                  # organize data
umf                                # look at data
summary(umf)                       # summarize
fm <- colext(~1, ~1, ~1, ~1, umf)  # fit a model
fm



## Not run: 
# # Real data
# data(frogs)
# umf <- formatMult(masspcru)
# obsCovs(umf) <- scale(obsCovs(umf))
# 
# ## Use 1/4 of data just for run speed in example
# umf <- umf[which((1:numSites(umf)) %% 4 == 0),]
# 
# ## constant transition rates
# (fm <- colext(psiformula = ~ 1,
# gammaformula = ~ 1,
# epsilonformula = ~ 1,
# pformula = ~ JulianDate + I(JulianDate^2), umf, control = list(trace=1, maxit=1e4)))
# 
# ## get the trajectory estimates
# smoothed(fm)
# projected(fm)
# 
# # Empirical Bayes estimates of number of sites occupied in each year
# re <- ranef(fm)
# modes <- colSums(bup(re, stat="mode"))
# plot(1:7, modes, xlab="Year", ylab="Sites occupied", ylim=c(0, 70))
# 
# ## Find bootstrap standard errors for smoothed trajectory
# fm <- nonparboot(fm, B = 100)  # This takes a while!
# fm@smoothed.mean.bsse
# 
# ## try yearly transition rates
# yearlySiteCovs(umf) <- data.frame(year = factor(rep(1:7, numSites(umf))))
# (fm.yearly <- colext(psiformula = ~ 1,
# gammaformula = ~ year,
# epsilonformula = ~ year,
# pformula = ~ JulianDate + I(JulianDate^2), umf,
# 	control = list(trace=1, maxit=1e4)))
# ## End(Not run)

Run the code above in your browser using DataLab