Single-age Open model exercise

This exercise is designed to show how to run program MARK to compute survival and capture-probabilities from 'capture-recapture' data.

Background

Data for this example came from the trapping of meadow voles, Microtus pennsylvanicus, at Patuxent Wildlife Research Center, Laurel, MD (Nichols et al., 1984). Data were collected on a 10 x 10 grid of trapping stations spaced at 7.6-m intervals in old field habitat. A single, modified Fitch live trap (Rose, 1973) was placed at each station. Hay and dried grass were placed in the traps and whole corn was used as bait. Sampling occurred for five consecutive days each month, from June 1981 through December 1981. During each 5-day trapping session, traps were opened in the evening of the first day, checked the following morning, locked open during the day, and reset in the evening, with the sequence repeated each day until 5 days had elapsed. A racoon, Procyon lotor (later captured), visited the traps on the final two nights of the second trapping session, essentially leaving only 3 days of trapping for this session. At each capture, animals were examined for a tag, sexed, weighed, and examined for external reproductive characteristics. Tagged animals were ear-tagged with numbered fingerling tags, and tag numbers of marked animals were recorded at each capture.

We used only 'adult' (>22g) animals and collapsed the 5 days of sampling each month into a single assessment of presence or absence, leaving six monthly sampling occasions.

Input Data

Input data consists of summarized frequencies of capture-histories.

The example we'll use for this model contains 2 groups of animals: Males and females. So, each capture-history will have 2 frequencies following the capture-history. The input file has already been created and is named: 'singleage.inp'.

Running MARK

Start MARK by clicking 'Start' button (lower left corner usually), 'Programs', 'MARK 4.3', then 'MARK'. Or, double-click the MARK icon on the desktop.

When the form appears, go to the 'File' menu and select 'New'.

A dialog window will appear where you can specify the data type, title, filename, and occasion. For this example, the data type is 'Recaptures only' so you do not need to change it. Click in the textbox under 'Title for this set of data', and type:'single-age open model exercise'. Next, click the button labeled 'Click to select file'.

The program will present a dialog box asking for the name of the input file. Find the folder containing the sample input file (singleage.inp), then click on the file (singleage.inp), then click 'Open'.

Change the number of encounter occasions to 6 (click up-arrow). Change the number of groups to 2, and click the 'Enter group labels' button. When the dialog box appears, change the name of group 1 from 'Group 1' to 'Females'. Change the name of group 2 from 'Group 2' to 'Males'. Then, click OK.

Click 'OK' and the program will create a database file containing the results for this data.

Running the 1st model (phi(.),p(.))

For the 'Recaptures only' models, there 2 sets of parameters: survival and capture probability, and a set of these for males and females. In previous examples, we modified the Parameter index matrices (PIM's) to build models. In this example, we'll see an easier/faster way to manipulate the PIM's using a 'PIM chart'. So, close the PIM window that MARK opened, and click the 'PIM' menu and select 'Parameter Index chart' (or click the button which looks like a camera).

This chart lists the parameter groups (phi-M, phi-F, p-M, p-F) on the left, and parameter indices on the bottom. When no model has been built yet, MARK builds a time and group specific model by default. So, if you examine the chart, you'll see that survival rates for females (Phi-F) corresponds to parameter indices 1-5, and survival rates for males (Phi-M) corresponds to parameter indices 6-10.

With this chart, it's easy to make parameters equal to each other, or change the structure from time-specific to time-constant. I usually start with the most simple model (phi(.),p(.)), so let's build it using the chart.

First, right-click in each of the blue boxes, and left-click 'Constant' in the menu which pops up. Now, you'll see that the survival rate for females corresponds only to parameter index number 1. So,

phiF(1)=index1
phiF(2)=index1
phiF(3)=index1
phiF(4)=index1
phiF(5)=index1
meaning all 5 survival rates are equal. Same goes for male survival rates and male and female recapture rates.

Next, right-click in the chart, outside the blue boxes, and select 'Renumber with overlap'. This renumbers the x-axis so there are no parameter indices which don't correspond to survival or recapture rates. Now, we need to do one more thing to build the simple model (phi(.),p(.)). Since this model has survival constant and equal across sex classes, we need to make Phi-M have the same index as Phi-F. To do this, simply left-click the blue box corresponding to Phi-M, and 'drag' it to the left until it's over the 1st blue box. Now, both Phi-M and Phi-F correspond to parameter index number 1. Do the same for P-M and P-F, so both p's correspond to parameter index number 3. Then, right-click an area outside the blue boxes and select 'Renumber with overlap' again. There should be only two blue boxes now and we've built the model (phi(.),p(.)). Click 'Close', then run the model (click 'run' button, enter model name, click 'OK to Run').

Click 'Yes' when asked about appending the model output to the database. View the output by clicking the fourth button from the left in the Results Browser, then close the notepad window.


phi(t),p(.) Model

The next model to run with this example is: S(t),p(.) [ survival time-specific, but equal among sex, capture probability constant and equal among sexes].

Start by bringing up the PIM chart (camera button), right-click on the left blue box, and left-click 'Time'. Repeat for the other survival (Phi). Next, 'drag' the two boxes for recapture to the right until they are just past parameter index number 5. When you get to the right side of the screen, MARK will add another index on the x-axis for you. Make both p's line up with parameter index number 6. You've now build the phi(t),p(.) model. Close the chart, and run this model (making sure to enter 'phi(t),p(.)' for the model name).

phi(g*t),p(.) model

The next model to try will be: S(s*t),p(.) { survival sex and time specific, capture probability constant}. To build this model, bring up the PIM chart, drag the upper part of the larger blue box to the right until it corresponds to indices 6-10, drag the p-F box to the right until it corresponds to index 11, and drag the p-M box to the right until it is index 11 Run this model, naming it 'phi(s*t),p(.)'.

phi(g+t),p(.) : Parallel model

A 'parallel' model is one where a set of parameters are equal to another set of parameters plus an 'offset' (e.g. male and female survival are time-specific and different, but male survival=female survival + constant value).
       |
       |    f 
       |
       |f                    f
       |        f
   Phi |    m          f
       |           
       |m                    m
       |        m         
       |               m
       |
       -----------------------------
                 time
So, we'd like to model survival for males as:
S(m)=S(f)+c.

We can't actually build this model exactly in MARK because it could easily give impossible values for S(m) (eg., large c -> S(m)>1.0). However, we can build a model where the logit of Phi-M is a linear function of Phi-F and a constant. (ie.,

Logit(Phi-F(i)) = B(i)
Logit(Phi-M(i)) = B(i) + C
So, we'd want:
Logit(Phi-F(1)) = B(1)
Logit(Phi-F(2)) = B(2)
Logit(Phi-F(3)) = B(3)
Logit(Phi-F(4)) = B(4)
Logit(Phi-F(5)) = B(5)
Logit(Phi-M(1)) = B(1) + C
Logit(Phi-M(2)) = B(2) + C
Logit(Phi-M(3)) = B(3) + C
Logit(Phi-M(4)) = B(4) + C
Logit(Phi-M(5)) = B(5) + C
To build this model in MARK, we'll need to set-up the PIM's so survival is different for males and females and time-specific (survival for females= parameters 1-5, survival for males=parameters 6-10). We'll then need to use the 'Design matrix', which is another way of representing the equations above. Here's how it works. Looking at the equations, you'll notice that we no longer need to estimate Phi-F(i), or Phi-M(i). We need to estimate B(i) and C, then plug those values into the equations to get values of Phi-M(i) and Phi-F(i). The 'Design matrix' contains the 'real' parameters (Phi-M,Phi-F) as rows, and the 'estimated' parameters as columns. So, for this model, we'll have 10 rows (5 Phi-M's and 5 Phi-F's), and 6 columns (B(1)-B(5) and C). We can then write each equation including all 6 of the estimated parameters:
Logit(Phi-F(1)) = 1*B(1) + 0*B(2) + 0*B(3) + 0*B(4) + 0*B(5) + 0*C
Logit(Phi-F(2)) = 0*B(1) + 1*B(2) + 0*B(3) + 0*B(4) + 0*B(5) + 0*C
Logit(Phi-F(3)) = 0*B(3) + 0*B(2) + 1*B(3) + 0*B(4) + 0*B(5) + 0*C
Logit(Phi-F(4)) = 0*B(4) + 0*B(2) + 0*B(3) + 1*B(4) + 0*B(5) + 0*C
Logit(Phi-F(5)) = 0*B(5) + 0*B(2) + 0*B(3) + 0*B(4) + 1*B(5) + 0*C
Logit(Phi-M(1)) = 1*B(1) + 0*B(2) + 0*B(3) + 0*B(4) + 0*B(5) + 1*C
Logit(Phi-M(2)) = 0*B(2) + 1*B(2) + 0*B(3) + 0*B(4) + 0*B(5) + 1*C
Logit(Phi-M(3)) = 0*B(3) + 0*B(2) + 1*B(3) + 0*B(4) + 0*B(5) + 1*C
Logit(Phi-M(4)) = 0*B(4) + 0*B(2) + 0*B(3) + 1*B(4) + 0*B(5) + 1*C
Logit(Phi-M(5)) = 0*B(5) + 0*B(2) + 0*B(3) + 0*B(4) + 1*B(5) + 1*C
If we just take the 1's and 0's in the equations above, we can write the design matrix as:
B1B2B3B4B5B6
Phi-F(1)100000
Phi-F(2)010000
Phi-F(3)001000
Phi-F(4)000100
Phi-F(5)000010
Phi-M(1)100001
Phi-M(2)010001
Phi-M(3)001001
Phi-M(4)000101
Phi-M(5)000011

One more thing, we forgot to include the recapture parameter, p. We'll just add a row to the design matrix, and a column and let p = 1*B7. The design matrix now looks like this:
B1B2B3B4B5B6B7
Phi-F(1)1000000
Phi-F(2)0100000
Phi-F(3)0010000
Phi-F(4)0001000
Phi-F(5)0000100
Phi-M(1)1000010
Phi-M(2)0100010
Phi-M(3)0010010
Phi-M(4)0001010
Phi-M(5)0000110
p 0000001

If you examine this table, you'll notice that this introduces a new way of generating one of the earlier models. If we delete the 'B6' column, then we would have a phi(t),p(.) model because Phi-F(1) = 1*B1 and Phi-M(1)=1*B1, Phi-F(2) = 1*B2 and Phi-M(2)=1*B2,etc.

This design matrix can be entered into MARK to build the phi(t+s),p(.) model. There are 3 options for generating an initial design matrix. The first one, 'Full' generates a design matrix which is filled in for a general model, phi(g*t),p(g*t). The 2nd option, 'Reduced' asks how many columns will be in the matrix, then generates an empty matrix. The 3rd option, 'Identity' builds a matrix with the same number of columns as rows and fills in zeros everywhere except the diagonal, which are 1's.

Let's use the 'Reduced' option from the 'Design' menu and enter 7 for the number of columns. MARK will display a matrix with 0's everywhere, and the 'real' parameter labels in the middle (instead of on the left). This column can be used to separate parts of the matrix so you're less likely to enter 1's or 0's in the wrong place. Let's drag it so it's between B6 and B7, separating the Phi's from the p. Then, we need to fill in the matrix so it looks like the one above. You can click individual cells, and enter values, or use the 'FillCol' menu to have MARK automatically fill in values according to pre-defined patterns. Let's start by filling in a partial identity matrix in B1-B5. Click just under the 'B1' cell, then go to the 'FillCol' menu, and select 'Partial Identity'. Enter 5 for the number of columns and click 'OK'. Next, click in the cell for row 6, B1, and do another partial identity (with 5 columns). Next, we need to put 1's in column 6 for rows 6-10. Click on the cell for row 6, column 6, then go to the 'FillCol' menu and select 'partial intercept'. Enter 5 for the number of rows and click 'OK'. Lastly, click on the cell for the last row and last column, enter enter '1' (no quotes).

Run this model by clicking the 'run' button (green triangle, 7th from left).

After running the model, click the 'line-graph' button (7th from left). Select parameters 1-5 and click OK. Then click 'Add series', select parameters 6-10, and click OK. You should see a graph of female and male survival rates where the lines are parallel (almost). (The Logit transformation forces estimates near zero or one to be closer together.)

What if you're interested in the significance of the difference between the survival rates. Since we have estimated the difference directly in parameter B6, all we need to do is see if the confidence interval around it covers zero. Click the 'View beta estimates' button (3rd from left) and look at the value for B6. Since it's negative, males must have had a lower survival rate than females. The confidence interval does not cover zero, but is fairly close. So, it's comparable to the situation where it's not significant at the 5% level, but is significant at the 10% level.