Mark-recapture analysis of natural populations
Mark-recapture analysis of natural populations
Mark-recapture analysis of natural populations
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Mark</strong>-<strong>recapture</strong> <strong>analysis</strong> <strong>of</strong><br />
<strong>natural</strong> <strong>populations</strong><br />
Practice: Recaptures only models<br />
After the MARK “book”<br />
“Program MARK: a gentle introduction” by Cooch & White<br />
Available at http://www.phidot.org/<br />
Le Galliard J.-F., CNRS, Paris
Aims <strong>of</strong> mark-<strong>recapture</strong> <strong>analysis</strong><br />
Unbiased estimates <strong>of</strong> crucial demographic parameters<br />
population density<br />
survival, recruitment, migration …<br />
Testing biological hypothesis in ecology<br />
temporal and age variation<br />
effects <strong>of</strong> population density, climate …<br />
effects <strong>of</strong> individual covariates (size …)<br />
Input for demographic analyses<br />
time-series<br />
population viability <strong>analysis</strong>, matrix population models
MARK : a platform for MCR models
MARK : a bunch <strong>of</strong> models!
“Recaptures only” models: data type
Encounter history file<br />
/* European Dipper Data, Live Recaptures,<br />
7 occasions, 2 groups<br />
Group 1=Males Group 2=Females */<br />
1111110 1 0 ;<br />
1111100 0 1 ;<br />
1111000 1 0 ;<br />
1111000 0 1 ;<br />
1101110 0 1 ;<br />
1100000 1 0 ;<br />
1100000 1 0 ;<br />
1100000 1 0 ;<br />
1100000 1 0 ;<br />
1100000 0 1 ;<br />
1100000 0 1 ;<br />
1010000 1 0 ;<br />
1010000 0 1 ;<br />
1000000 1 0 ;<br />
1000000 1 0 ;<br />
Encounter history (1 = seen, 0 = not seen)<br />
Encounter session<br />
first column = initial session<br />
second column = <strong>recapture</strong> sessions<br />
Group covariates (dummy variables)<br />
Here 2 group covariates indicating males<br />
and females<br />
Individual covariates<br />
(raw/standardized data)
Start a project: “<strong>recapture</strong>s only”
Fitting a CJS model on dipper data<br />
Step 1: Check input data summary<br />
Step 2: Use the parameter index chart<br />
Step 3: Run the default model (the “time*sex” model)<br />
* link function<br />
* variance estimation<br />
* options<br />
Step 4: Check the output <strong>of</strong> the model
Number <strong>of</strong> parameters<br />
(important for model selection)<br />
Number <strong>of</strong> intrinsically identifiable parameters<br />
the number <strong>of</strong> survival and capture parameters than can be<br />
estimated given the model<br />
How to calculate np_i ? Check the model<br />
Number <strong>of</strong> extrinsically identifiable parameters<br />
the number <strong>of</strong> survival and capture parameters than can be<br />
estimated given the model and the data<br />
How to calculate np_e ? Check the estimates, check<br />
the sensitivity <strong>of</strong> deviance to problematic parameters or use a<br />
numerical approach (implemented in another program, called<br />
M-SURGE)
Number <strong>of</strong> parameters<br />
The time*sex dipper model<br />
Number <strong>of</strong> intrinsically identifiable parameters<br />
Survival: 6 par, 2 sexes = 12 par<br />
Capture: 6 par, 2 sexes = 12 par<br />
Time model in each sex<br />
Last survival and capture estimates not<br />
identifiable in this model, only their<br />
product can be estimated<br />
Hence, 5 surv + 5 capt + 1 capt*surv<br />
estimate in each sex == 22 np_i
Number <strong>of</strong> parameters<br />
The time*sex dipper model<br />
Number <strong>of</strong> extrinsically identifiable parameters<br />
European dipper<br />
Real Function Parameters <strong>of</strong> {phit(t*sex)p(t*sex)}<br />
95% Confidence Interval<br />
Parameter Estimate Standard Error Lower Upper<br />
------------------------- -------------- -------------- -------------- --------------<br />
1:Phi 0.6969698 0.2049831 0.2555230 0.9390714<br />
2:Phi 0.4230769 0.0968907 0.2519587 0.6148826<br />
3:Phi 0.5052879 0.0874935 0.3396458 0.6697773<br />
4:Phi 0.6094017 0.0838412 0.4389146 0.7567907<br />
5:Phi 0.5708180 0.0776952 0.4166816 0.7123428<br />
6:Phi 0.7637587 0.0000000 0.7637587 0.7637587<br />
7:Phi 0.7428572 0.2372217 0.2021058 0.9705431<br />
8:Phi 0.4468410 0.0982829 0.2703613 0.6378177<br />
9:Phi 0.4538126 0.0815350 0.3036420 0.6128857<br />
10:Phi 0.6404243 0.0832336 0.4672411 0.7834076<br />
11:Phi 0.6280454 0.0810516 0.4610285 0.7692151<br />
12:Phi 0.6928203 0.0000000 0.6928203 0.6928203<br />
13:p 0.7173914 0.2238537 0.2257356 0.9567136<br />
14:p 1.0000000 0.2616558E-07 0.9999999 1.0000001<br />
15:p 0.9093023 0.0855744 0.5674378 0.9871171<br />
16:p 0.9274193 0.0693437 0.6291491 0.9897162<br />
17:p 0.9358289 0.0616791 0.6607893 0.9909235<br />
18:p 0.7637665 0.0000000 0.7637665 0.7637665<br />
19:p 0.6730771 0.2452306 0.1881302 0.9481657<br />
20:p 0.8600683 0.1263738 0.4397367 0.9796466<br />
21:p 0.9164970 0.0792066 0.5907658 0.9881583<br />
22:p 0.8788732 0.0794409 0.6269547 0.9690646<br />
23:p 0.9283667 0.0684261 0.6330113 0.9898349<br />
24:p 0.6928203 0.0000000 0.6928203 0.6928203<br />
Check this parameter by fixing it at 0.5<br />
Check new model deviance
Survival estimates<br />
The time*sex dipper model
Capture estimates<br />
The time*sex dipper model
Goodness-<strong>of</strong>-fit tests (GOF tests)<br />
CJS model assumptions<br />
(1) Every animal <strong>of</strong> the same group present at time t has the<br />
same probability <strong>of</strong> being captured at time t<br />
(2) All animals marked at time t and present in the population<br />
have the same probability <strong>of</strong> surviving until time t+1<br />
(3) <strong>Mark</strong>s are not lost, missed …<br />
(4) Sampling is instantaneous compared to time intervals
Assessing GOF with RELEASE<br />
RELEASE procedure (contingency tables)<br />
(1) TEST.1: tests overall difference between groups (not useful here)<br />
(2) TEST.2.C: tests difference in time until next capture between animals<br />
seen at time t and animals not seen at time t among all animals known to<br />
be alive between t and t+1<br />
(3) TEST.3.SR: tests difference in “seen again” probability between<br />
animals marked at time t and animals marked before time t and known to<br />
be alive at time t<br />
(4) TEST.3.Sm: tests in “when seen again” between animals marked at<br />
time t and animals marked before time t and known to be alive at time t
Assessing GOF with RELEASE<br />
TEST2.C<br />
Pooled in a2 by 2 matrix<br />
TEST3.SR<br />
TEST3.Sm<br />
Pooled in a 2 by 2 matrix
GOF-test for the “time*sex” model<br />
Summary <strong>of</strong> TEST 3 (Goodness <strong>of</strong> fit) Results<br />
Group Component Chi-square df P-level Sufficient Data<br />
----- --------- ---------- ---- ------- ---------------<br />
1 3.SR2 0.1771 1 0.6739 Yes<br />
1 3.SR3 1.0950 1 0.2953 Yes<br />
1 3.SR4 3.5740 1 0.0586 Yes<br />
1 3.SR5 0.0881 1 0.7666 Yes<br />
1 3.SR6 0.3416 1 0.5589 Yes<br />
Group 1 3.SR 5.2759 5 0.3831<br />
1 3.Sm2 0.0000 0 1.0000 No<br />
1 3.Sm3 0.0000 1 1.0000 No<br />
1 3.Sm4 0.0000 1 1.0000 No<br />
1 3.Sm5 0.0000 0 1.0000 No<br />
Group 1 3.Sm 0.0000 2 1.0000<br />
Summary <strong>of</strong> TEST 2 (Goodness <strong>of</strong> fit) Results<br />
Group 1 TEST 3 5.2759 7 0.6263<br />
2 3.SR2 0.2359 1 0.6272 Yes<br />
Group Component Chi-square df P-level Sufficient Data<br />
2 3.SR3 2.7551 1 0.0969 Yes<br />
2 3.SR4 0.3764 1 0.5396 Yes<br />
2 3.SR5 0.0891 1 0.7654 Yes<br />
2 3.SR6 0.0000 1 1.0000 Yes<br />
Group 2 3.SR 3.4565 5 0.6300<br />
2 3.Sm2 1.5426 1 0.2143 No<br />
2 3.Sm3 0.0000 1 1.0000 No<br />
2 3.Sm4 0.4986 1 0.4800 No<br />
2 3.Sm5 0.0000 0 1.0000 No<br />
Group 2 3.Sm 2.0412 3 0.5639<br />
Group 2 TEST 3 5.4977 8 0.7033<br />
All Groups TEST 3 10.7735 15 0.7685<br />
----- --------- ---------- ---- ------- ---------------<br />
1 2.C2 0.0000 0 1.0000 No<br />
1 2.C3 0.0000 0 1.0000 No<br />
1 2.C4 0.0000 1 1.0000 No<br />
1 2.C5 4.2839 1 0.0385 No<br />
Group 1 TEST 2 4.2839 2 0.1174<br />
2 2.C2 0.0000 1 1.0000 No<br />
2 2.C3 0.0000 1 1.0000 No<br />
2 2.C4 0.0000 1 1.0000 No<br />
2 2.C5 3.2503 1 0.0714 No<br />
Group 2 TEST 2 3.2503 4 0.5168<br />
All Groups TEST 2 7.5342 6 0.2743
GOF-test for the “time*sex” model<br />
TEST 3.SR4: Animals captured on occasion 4<br />
+------+------+<br />
O| 7 | 10 | 17<br />
E| 10.0| 7.0|<br />
C| 0.9| 1.3|<br />
+------+------+<br />
O| 16 | 6 | 22<br />
E| 13.0| 9.0|<br />
C| 0.7| 1.0|<br />
+------+------+<br />
23 16 39<br />
Chi-square=3.9456 (df=1) P=0.0470<br />
Fisher's Exact Test P=0.0586<br />
Seen before<br />
Newly marked<br />
Seen and released<br />
at occasion 4<br />
Not seen again<br />
Seen again
Bootstrap GOF-test with MARK<br />
Bootstrap procedure<br />
(1) Retrieve the model to be tested (full model)<br />
(2) The bootstrap procedure runs simulations <strong>of</strong> a “similar”<br />
encounter history file (same number <strong>of</strong> animals released at<br />
each occasion) based on estimates <strong>of</strong> the full model and then<br />
runs the full model on the simulated data<br />
(3) The procedure stores the deviance … <strong>of</strong> the simulated<br />
model and can repeat n times (n ≈ 500-1000)<br />
(4) GOF-test based on deviances <strong>of</strong> the simulated model versus<br />
deviance <strong>of</strong> the full model based on true data
Bootstrap GOF with the dipper data<br />
Deviance <strong>of</strong> the full model based on true data<br />
deviance = 71.47, df_deviance = 19<br />
observed c-hat = 3.76<br />
Deviance <strong>of</strong> simulated models<br />
mean deviance = 55.41, mean c-hat = 3.275<br />
% deviance above = 92/1000 = 0.098 (slight over-dispersion, but not significant)<br />
Computation <strong>of</strong> model c-hat<br />
based on mean deviance = 1.40<br />
based on mean c-hat = 1.15
Model selection<br />
(1) Define an a priori set <strong>of</strong> model corresponding to a set <strong>of</strong><br />
biological hypotheses; select capture terms first, then survival<br />
terms (Lebreton et al. 1992)<br />
(2) Run the models, check parameters’ identifiability and<br />
compute the model deviance<br />
(3) Calculate an information-based criterion for each model<br />
(4) Select the “best” model or the best subset <strong>of</strong> models; this<br />
model can be used to make the “best predictions”
Information-based criterion<br />
Aikake Information Criterion (and relatives)<br />
AIC = DEV + 2*np_e<br />
Small sample size (N = effective sample size)<br />
AICc = DEV + 2*np_e + 2*np_e*(np_e+1)/(N-np_e-1)<br />
Small sample size and over-dispersion in the data<br />
AICc = DEV/c-hat + 2*np_e + 2*np_e*(np_e+1)/(N-np_e-1)
Model selection for the dipper data (1)<br />
European dipper<br />
-------------------------------------------------------------------------------------------<br />
Delta AICc Model<br />
Model AICc AICc Weight Likelihood #Par Deviance<br />
-------------------------------------------------------------------------------------------<br />
{phi(t*sexe)p(cte)} 685.124 0.00 0.68431 1.0000 13.000 75.764<br />
{phit(t*sex)p(sex)} 686.922 1.80 0.27862 0.4072 14.000 75.422<br />
{phi(t*sexe)p(t)} 690.973 5.85 0.03674 0.0537 17.000 72.996<br />
{phit(t*sex)p(t*sex)} 700.462 15.34 0.00032 0.0005 22.000 71.474<br />
-------------------------------------------------------------------------------------------<br />
European dipper<br />
Reduced Model General Model Chi-sq. df Prob.<br />
------------------------- ------------------------- ---------- --- ------<br />
{phi(t*sexe)p(cte)} {phit(t*sex)p(sex)} 0.341 1 0.5591
Model selection for the dipper data (2)<br />
European dipper<br />
-------------------------------------------------------------------------------------------<br />
Delta AICc Model<br />
Model AICc AICc Weight Likelihood #Par Deviance<br />
-------------------------------------------------------------------------------------------<br />
{phi(cte)p(cte)} 670.866 0.00 0.62389 1.0000 2.0000 84.361<br />
{phi(sexe)p(cte)} 672.733 1.87 0.24529 0.3932 3.0000 84.199<br />
{phi(t)p(cte)} 673.998 3.13 0.13032 0.2089 7.0000 77.253<br />
{phi(t*sexe)p(cte)} 685.124 14.26 0.00050 0.0008 13.000 75.764<br />
-------------------------------------------------------------------------------------------<br />
European dipper<br />
Reduced Model General Model Chi-sq. df Prob.<br />
------------------------- ------------------------- ---------- --- ------<br />
{phi(cte)p(cte)} {phi(sexe)p(cte)} 0.161 1 0.6878
Model selection for the dipper data<br />
New set <strong>of</strong> a priori hypotheses:<br />
We expect temporal variation in survival due to flooding during<br />
the second and third interval. We wish to test the hypotheses<br />
that flooding affected survival in male and female dippers<br />
To do this, we need to use the design matrix!
Identity design matrix for dipper data<br />
Model time*sex
Constrained design matrix<br />
Model flood*sex
Model selection for the dipper data (3)<br />
European dipper<br />
-------------------------------------------------------------------------------------------<br />
Delta AICc Model<br />
Model AICc AICc Weight Likelihood #Par Deviance<br />
-------------------------------------------------------------------------------------------<br />
{phi(flood)p(cte)} 666.160 0.00 0.60043 1.0000 3.0000 77.626<br />
{phi(flood+sexe)p(cte)} 668.116 1.96 0.22578 0.3760 4.0000 77.544<br />
{phi(flood*sexe)p(cte)} 670.134 3.97 0.08231 0.1371 5.0000 77.514<br />
{phi(cte)p(cte)} 670.866 4.71 0.05708 0.0951 2.0000 84.361<br />
{phi(sexe)p(cte)} 672.733 6.57 0.02244 0.0374 3.0000 84.199<br />
{phi(t)p(cte)} 673.998 7.84 0.01192 0.0199 7.0000 77.253<br />
{phi(t*sexe)p(cte)} 685.124 18.96 0.00005 0.0001 13.000 75.764<br />
-------------------------------------------------------------------------------------------<br />
European dipper<br />
Reduced Model General Model Chi-sq. df Prob.<br />
------------------------- ------------------------- ---------- --- ------<br />
{phi(cte)p(cte)} {phi(flood)p(cte)} 6.735 1 0.0095
Model results: estimates and CI
Work out example: Apus apus colony<br />
Encounter history file : aa.inp<br />
8 years <strong>of</strong> captures<br />
2 colonies (1 column = P colony, 2 column = G colony)<br />
Fit the initial model phi(time*colony) p(time)<br />
Check GOF <strong>of</strong> the initial model<br />
Select the best model among the following models<br />
phi(time*colony) p(cte) phi(colony) p(time)<br />
phi(time+colony) p(cte) phi(time) p(cte)<br />
phi(time) p(time)<br />
phi(colony) p(cte)