share=True, but estimates for p do not equal c

posts related to the RMark library, which may not be of general interest to users of 'classic' MARK

share=True, but estimates for p do not equal c

Postby ctlamb » Wed Feb 11, 2015 11:01 pm

I have been dabbling in robust pradel models to estimate population growth over 8 years using mark-recapture data on grizzly bears. I do not expect c (recapture rate) to differ from p (initial capture rate) so I would like to fix p=c reduce the number of estimated parameters in the model. I assumed this would result in my estimates of p and c to also be the same, seeing as they are fixed? But when I tried it with my data, and again using the dipper data (example below), estimates for p and c always differed. Is my code off, or my interpretation that these parameters should be identical if p=c.


Code: Select all
library(RMark)

##Add data
data(dipper)

##make up start time and intervals (2 years, first year has 3 sessions, last has 4)
df.proc=process.data(dipper, model="RDPdLHuggins", groups="sex", begin.time=0001,time.intervals=c(0,0,1,0,0,0))

##Design Data
df.ddl=make.design.data(df.proc)

# Create function with parameter specifications to fit models
df.analysis=function()
{
  # Create specifications for Phi, Lambda, p, and c
  Phi.1=list(formula=~1)
  Lambda.10=list(formula=~1)
  p.1=list(formula=~1,share=TRUE)  #set share=TRUE to constrain p=c (first capture and recapture probabilies are equal)
  c.1=list(formula=~1)
  # Create a list of combinations of parameter specifications for specific model;
  cml=create.model.list("RDPdLHuggins")
  # Call mark.wrapper;
  mark.wrapper(cml,data=df.proc,ddl=df.ddl,output=FALSE)
}


##Step 4 invokes the function to fit the models and store the results in an object (dipper.results = dipper.analysis()).
##The object dipper.results is a list with class "marklist" that RMark creates and understands.
##The list contains the mark model object for each fitted model and the model selection table which is dipper.results$model.table
##for this set of models
df.results = df.analysis()
df.results



##to get results from just model x
summary(df.results[[1]])   # c and p not equal

#############

Real Parameter p
 Session:1Group:sexFemale
         1         2         3
 0.0854767 0.0854767 0.0854767


Real Parameter c
 Session:1Group:sexFemale
         2         3
 0.4043011 0.4043011


You help is much appreciated,
C Lamb
University of Alberta
ctlamb
 
Posts: 56
Joined: Mon Nov 04, 2013 9:44 pm

Re: share=True, but estimates for p do not equal c

Postby jlaake » Thu Feb 12, 2015 9:57 am

Get rid of the c.1 specification. When you are sharing models across parameters you only list the model specification for the dominant parameter (p in this case). See ?edwards.eberhardt for examples with closed model.

--jeff
jlaake
 
Posts: 1480
Joined: Fri May 12, 2006 12:50 pm
Location: Escondido, CA

Re: share=True, but estimates for p do not equal c

Postby ctlamb » Thu Feb 12, 2015 1:49 pm

Confirmed that this solves the problem. Thanks Jeff.

CL
ctlamb
 
Posts: 56
Joined: Mon Nov 04, 2013 9:44 pm


Return to RMark

Who is online

Users browsing this forum: No registered users and 0 guests