This vignette repeats and embellishes examples in
The following demonstrates two methods for fitting a time-varying capture and survival model, the so-called "small t" model. First, we attach the
mra library and obtain access to the example dipper data.
library(mra) data("dipper.histories") dim(dipper.histories) head(dipper.histories)
The following code constructs a factor variable containing one level for each capture occasion. The attribute of this factor tells
mra the "other"" dimension of the problem. Internally,
mra will use this attribute to replicate the factor into matrices that are the appropriate size.
ct <- as.factor( paste("T",1:ncol(dipper.histories), sep="")) attr(ct,"nan")<-nrow(dipper.histories) ct
F.cjs.estim and specify that
ct is a time-varying vector covariate using the
tvar function. When the vector given to
tvar is a factor, there are additional options which allow the user to drop certain levels of the factor. This is useful when coefficients for some levels are not estimable, as in the case of a completely time-varying CJS model. Here, there are 7 levels in factor
ct, but only 6 capture and survival parameters are defined (recall, 1st capture parameter is not estimable, and 7th survival parameter between occasions 7 and 8 does not exist). Consequently, we tell
tvar to drop the first two levels of
ct from the capture model. We drop the level 1st because only 6 parameters exist. We drop the 2nd to break the colinearity of levels and define $p_2$ as the reference level. In the survival model, we drop the first, sixth, and seventh levels of
ct. The first level is dropped to break the colinearity of levels and define $\phi_1$ as the reference level. We drop level 6 because the last survival and capture parameters are confounded in CJS models. We drop the 7th level because there are only 6 survival parameters. The call the
dipper1.cjs <- F.cjs.estim( ~tvar(ct,drop=c(1,2)), ~tvar(ct,drop=c(1,6,7)), dipper.histories ) dipper1.cjs
While using factors (Method 1 above) produces the most economical code, it does not adequately illuminate the covariate matrices which are at the heart of CJS modeling. To illustrate covariates as explicit matricies, this method constructs one 2-D matrix for each paramter, then estimates the same model as Method 1.
First, we construct 6 matricies containing 1's in a single column only. In Method 1, this construction was performed behind-the-scenes by
tvar. Note that only 6 matricies are required due to the number of parameters, breaking of colinearity, and confounding of CJS paramters mentioned above.
x2 <- matrix(c(0,1,0,0,0,0,0), nrow(dipper.histories), ncol(dipper.histories), byrow=TRUE) x3 <- matrix(c(0,0,1,0,0,0,0), nrow(dipper.histories), ncol(dipper.histories), byrow=TRUE) x4 <- matrix(c(0,0,0,1,0,0,0), nrow(dipper.histories), ncol(dipper.histories), byrow=TRUE) x5 <- matrix(c(0,0,0,0,1,0,0), nrow(dipper.histories), ncol(dipper.histories), byrow=TRUE) x6 <- matrix(c(0,0,0,0,0,1,0), nrow(dipper.histories), ncol(dipper.histories), byrow=TRUE) x7 <- matrix(c(0,0,0,0,0,0,1), nrow(dipper.histories), ncol(dipper.histories), byrow=TRUE)
Each of the above matrices have a column of 1's corresponding to the effect they estimate. The first six rows of
We now call
F.cjs.extim without aid of
tvar by explicitely specifying the matricies in each model. Note that
x2 is not included in the capture model, and that
x7 are not included in the survival model.
dipper2.cjs <- F.cjs.estim( ~x3+x4+x5+x6+x7, ~x2+x3+x4+x5, dipper.histories ) dipper2.cjs
Note that parameter estimates produced by Method 1 and Method 2 are identical.
Following is a plot of the Horvitz-Thomson population size estimates.
Following is a plot of survival estimates containing one line per individual.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.