Page 1 of 1

Parameter estimates not consistent with MARK and RMark

PostPosted: Mon Jan 23, 2012 10:54 pm
by VPI25
Hello, I'm using the Robust design model with heterogeneity in RMark. My data consist of 4 primary periods with 5, 5, 4, and 5 secondary periods. There is a 2 year split between primary period 2 and 3. A sample of the first 10 capture histories are below.

ch freq
1101111111111111111 1
1111111110011110101 1
1011000000010011000 1
0000000000000101111 1
1110101110000011110 1
0000000010001011100 1
0000000000001100000 1
0000000000000000100 1
0000000000110010001 1
0000001101000000100 1

When I run my code (see below) in RMark, I get almost identical estimates for pi, c, p, and N with MARK. AICc values only differ in the 3rd decimal place. However, estimates for S, GammaPrime and GammaDoublePrime are very different from MARK. In this example, I want to specify a time-dependent Markovian movement model where survival is constant, and I group primary sampling periods 1&2 together and 3&4 together to estimate N, pi, and p=c by grouped time periods.

Code: Select all
 #MyRcode

#### Markovian movement with time.
library(RMark)
TradsRD= convert.inp("C:/Users/Chris/Documents/TradS_RD_format.inp", use.comments=TRUE)
trads.process= process.data(TradsRD,model= "RDHet",
   time.intervals=c(0,0,0,0,1,0,0,0,0,2,0,0,0,1,0,0,0,0)) 

trads.ddl=make.design.data(trads.process,
   parameters=list(GammaDoublePrime=list(time.bins=c(0,1,2,3,4)),
   GammaPrime=list(time.bins=c(0,2,4))),right=TRUE)
trads.ddl$p$period=0
trads.ddl$p$period[trads.ddl$p$session==1|trads.ddl$p$session==2]=1
trads.ddl$c$period=0
trads.ddl$c$period[trads.ddl$c$session==1|trads.ddl$c$session==2]=1
trads.ddl$N$period=0
trads.ddl$N$period[trads.ddl$N$session==1|trads.ddl$N$session==2]=1
trads.ddl$pi$period=0
trads.ddl$pi$period[trads.ddl$pi$session==1|trads.ddl$pi$session==2]=1
S.dot=list(formula=~1)
p.session=list(formula=~period*mixture,share=TRUE)
c.session=list(formula=~period*mixture,share=TRUE)
GammaDoublePrime.random=list(formula=~time)
GammaPrime.random=list(formula=~time)
pi.dot=list(formula= ~period)
N.period=list(formula=~period)
model1=mark(data=trads.process,trads.ddl,
      model.parameters=list(S=S.dot,
            GammaDoublePrime=GammaDoublePrime.random,
      GammaPrime=GammaPrime.random,
            p=p.session,pi=pi.dot, N=N.period))


The AICc reported in MARK is: 191.8709 and RMark is: 191.8769
The other parameters are as follows:

In RMark:

S g1 c1 c1 a0 o1 t1 9.927333e-01 0.0293293000
Gamma'' g1 c1 c1 a0 o1 t1 2.157970e-01 0.0729394000
Gamma'' g1 c1 c1 a1 o1 t2 1.840292e-01 0.3454631000
Gamma'' g1 c1 c1 a3 o1 t4 3.288992e-07 0.0003206970
Gamma' g1 c1 c1 a1 o1 t2 9.999998e-01 0.0003856607
Gamma' g1 c1 c1 a3 o1 t4 2.854886e-01 0.2978024000
pi g1 s1 m1 6.199513e-01 0.0614868000
pi g1 s3 m1 5.813655e-01 0.0596263000
p g1 s1 t0 m1 2.711172e-01 0.0438924000
p g1 s1 t0 m2 9.119680e-01 0.0324548000
p g1 s3 t0 m1 2.472691e-01 0.0443117000
p g1 s3 t0 m2 8.825655e-01 0.0328258000
N g1 s1 4.610950e+01 2.6460150000
N g1 s3 4.515872e+01 3.5727229000

In MARK:

1:S 0.9992556 0.0028447
2:Gamma'' 0.8435642 0.0312655
3:Gamma'' 0.8487641 0.1626942
4:Gamma'' 0.0039405 0.5197709E-016
5:Gamma' 1.0000000 0.1576207E-007
6:Gamma' 0.8701440 0.0966590
7:pi Session 1 0.6199450 0.0614881
8:pi Session 3 0.5814658 0.0596010
9:p Session 1 0.2711412 0.0438883
10:p Session 1 0.9119739 0.0324533
11:p Session 3 0.2469610 0.0440815
12:p Session 3 0.8824972 0.0328083
13:N Session 1 46.108368 2.6454333
14:N Session 3 45.179637 3.5689497

Does any one know why the estimates for S and Gamma's are so far off? I suspect it has to do with differences in DM's for MARK and RMARK.

Re: Parameter estimates not consistent with MARK and RMark

PostPosted: Fri Feb 10, 2012 8:52 pm
by wchallen
You have some strange estimates in the GUI Mark output for parameter 4 and 5. Have you tried setting the initial values in GUI MARK? Did you get any optimization warnings from fitting the model either approach?

I would personally try starting with the beta estimates from the RMark output as the results look a little more consistent across the board.

Re: Parameter estimates not consistent with MARK and RMark

PostPosted: Mon Feb 27, 2012 2:59 pm
by jlaake
If you get a difference between models constructed with RMark and MARK interface the reasons are:

1) data are different
2) design matrices are different
3) links are different

Even though it has been said many times, I'll repeat it. RMark is just a different interface and uses the same numerical software mark.exe to fit the models. If there are differences, check through the 3 reasons above. It will be one of them.

In this case the time intervals between sessions were set quite differently in the MARK project and the RMark run. The clue here was that when the RMark built model was re-run in the MARK interface then the results matched because it then used the same time intervals in the project that had been used to build the other MARK runs.

You can avoid the #1 reason above by using export.MARK within R and then use RMark import in the MARK interface. This will make sure that the data (including time intervals) and its structure are the same in the MARK interface.

--jeff