Home range size comparison in open populations

questions concerning anlysis/theory using program DENSITY and R package secr. Focus on spatially-explicit analysis.

Home range size comparison in open populations

Postby bfuda » Fri Oct 16, 2015 12:25 pm

Hi,

I am part of a lab group that has been conducting mark-recapture surveys of the same population of butterflies for 4 years. The population has increased substantially (about 20-fold) over the course of the 4 years, and we are interested in examining how home range size has changed from year to year, similar to what was done with the oven bird data in the Efford et al. 2015 paper. However, within each session, the population is open. The flight period and capture session lasted for about 6 weeks each year, but each butterfly only lives for approximately 2 weeks max. Most butterflies emerge during the middle of the season, so that we have a peak of detections in the middle and fewer detections at the start and end of each session. Since we are violating the closure assumption, would a comparison of home range sizes across years still be valid? Do you have any suggestions for dealing with this type of data (e.g. possibly truncating the early and late occasions for each session)?

Each survey consisted of searching the study area on foot, and capturing all butterflies encountered using nets, so we are using a polygon detector type. We have a decent-size data set, with >1900 detections over 4 years.

Thanks,
Becky
bfuda
 
Posts: 6
Joined: Thu Oct 15, 2015 3:21 pm

Re: Home range size comparison in open populations

Postby murray.efford » Sun Oct 18, 2015 3:08 pm

Becky

I am not confident that 'secr' is going to provide the best solution, but...

My intuition says that the estimate of sigma (spatial scale) will be (nearly) unbiased even when a closed population model is fitted to a demographically open population (that could be tested by simulating sampling from an open population). If butterflies have equal probability of detection throughout their home range (= search effort uniform across large polygon) then the formula on p 4 of Efford et al. 2015 gives you a direct estimate of sigma - implemented in 'secr' as RPSV(CH, CC = TRUE). No SE is provided - perhaps one could be got by bootstrapping individuals.

The bigger problem is to estimate density when it is always changing: naive estimates of density (assuming a closed and constant population) will certainly be inflated. Your truncation suggestion might control that problem, and should still provide adequate estimates of sigma if turnover is low.

Are these animals attached to a site, or do they just wander? If the latter then I would worry that sigma depends on the duration of sampling (and might be confounded with longevity even for a fixed duration).

By the way: 1900 is impressive, but precision depends more on number of recaptures than number of individuals.

Murray
murray.efford
 
Posts: 686
Joined: Mon Sep 29, 2008 7:11 pm
Location: Dunedin, New Zealand

Re: Home range size comparison in open populations

Postby bfuda » Mon Oct 19, 2015 1:08 pm

Thanks, Murray, for your helpful response.

I will attempt to simulate sampling from an open population to see if sigma is unbiased. Yes, search effort was uniform across the polygon so I will also try out the RPSV function.

When I ran models for the last year of data only, the naive secr density estimate is actually significantly lower than the one we obtained from program MARK using a non-spatial open-population model...any further thoughts on this? This seems like the opposite of your expectation.

The butterflies are generally "attached" to the site, as this species lays its eggs only on 2 host plants, and populations exist as colonies only in areas with high densities of at least one of these 2 plants. We surveyed all suitable habitat, and I think it was unlikely that the butterflies wandered outside of the surveyed area much.

Becky
bfuda
 
Posts: 6
Joined: Thu Oct 15, 2015 3:21 pm

Re: Home range size comparison in open populations

Postby bfuda » Mon Oct 26, 2015 11:43 am

Hi again Murray,

I've been attempting to simulate an open population and am having some trouble. I thought I could possibly do it by first simulating a multi-session capture history with different densities across sessions, and then collapsing the dataset to a single-session "open population", following the code for the oven-bird data on p. 169 of the secr manual. See my code below:

Code: Select all
#create traps object
traps.sim = read.delim("detector_final.txt", header = F)
traps.sim = make.poly(x = traps.sim$V2, y = traps.sim$V3)
summary(traps.sim)

#use the traps object from above to create a multi-session
#capture history with known sigma
sim <- sim.capthist(traps.sim, noccasions = 2, nsessions = 5,
                            popn = list(D = c(50,100,300,100,50), buffer = 100),
                            renumber = F,
                            detectpar = list(g0 = 0.2, sigma = 40))
summary(sim)

## collapse multi-session dataset to single-session 'open population'
sim.open <- join(reduce(sim, by = "all"))


However, I am receiving the following error from the join function:

Code: Select all
Error in `usage<-`(`*tmp*`, value = c(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,  :
  mismatch between value and number of detectors


I've been stuck on this for quite a while. I've tried setting the usage for the traps object manually, but I am still getting errors. Any thoughts?

Becky
bfuda
 
Posts: 6
Joined: Thu Oct 15, 2015 3:21 pm

Re: Home range size comparison in open populations

Postby murray.efford » Tue Oct 27, 2015 3:11 pm

Hi Becky

You've done well to get this far... It seems the join() function is broken - I'll fix it in the next day or so.

I may have been too cautious in stating that estimates of sigma are 'probably' unaffected by turnover - replace 'probably' with 'almost certainly'. I did run a simulation of my own to check that I was thinking straight.

Note a hidden feature of sim.popn that allows you to directly model an evolving open population with specified finite growth rate(s) lambda and survival rate(s) phi. See ?turnover. That popn object can then be passed to sim.capthist. You would have to model lambda >1.0 and then <1.0 to get your seasonal peak, and you will still hit trouble with join()...

In relation to your previous response on site attachment - I was trying to get at whether individual butterflies have a 'home range' that they adhere that is distinct from the home ranges of other butterflies.

Murray
murray.efford
 
Posts: 686
Joined: Mon Sep 29, 2008 7:11 pm
Location: Dunedin, New Zealand

Re: Home range size comparison in open populations

Postby murray.efford » Wed Oct 28, 2015 10:52 pm

Becky
I've got join() working, but it's probably better for everyone if I test it some more before releasing it. Here is an example that supports my hunch that estimates of sigma are unbiased even in the presence of turnover.
Code: Select all
library(secr) ## requires secr 2.10.0, not yet released

## Generate a spatial population that (roughly) doubles in each of the first two
## inter-session intervals and then halves in the following two
pop <- sim.popn(traps.sim, D = 50, buffer = 100, nsessions = 5,
            details = list(lambda = c(2,2,0.5,0.5), phi = 0.3),
            renumber = FALSE)
sapply(pop,nrow)  ## population size in buffered area
#   1    2    3    4    5
# 447  908 1835  934  472

## Now sample from this population, two closed-population samples in each 'session'
## I use a small sigma as my 'trap.sim' polygon is only 100 m square
traps.sim <- make.poly() ## default 100 x 100 m survey area
sim <- sim.capthist(traps.sim, noccasions = 2, popn = pop, renumber = FALSE,
            detectpar = list(g0 = 0.6, sigma = 10))

## Collapse sessions
CH <- join(sim)
summary(CH)
# Object class      capthist
# Detector type     polygon
# Number vertices   4
# Number polygons   1
# Total area        1 ha
# x-range           -50 50 m
# y-range           -50 50 m
#
# Counts by occasion
#                     1  2  3   4   5   6   7   8   9  10 Total
# n                  22 19 54  35 106  96  56  60  21  27   496
# u                  22 11 48  20  95  48  38  21  12  12   327
# f                 205 85 29   6   2   0   0   0   0   0   327
# M(t+1)             22 33 81 101 196 244 282 303 315 327   327
# losses              0  0  0   0   0   0   0   0   0   0     0
# detections         25 23 69  41 133 121  70  69  29  34   614
# detectors visited   1  1  1   1   1   1   1   1   1   1    10
# detectors used      1  1  1   1   1   1   1   1   1   1    10

## Analyse as if population was closed
fit <- secr.fit(CH, buffer = 50, trace = FALSE)
predict(fit)
#       link   estimate SE.estimate         lcl         ucl
# D      log 317.830425 20.07576005 280.8554353 359.6732203
# g0     log   0.190736  0.01114821   0.1701076   0.2138659
# sigma  log  10.508206  0.35318769   9.8384620  11.2235422

Of course this should be done multiple times.
Murray
murray.efford
 
Posts: 686
Joined: Mon Sep 29, 2008 7:11 pm
Location: Dunedin, New Zealand

Re: Home range size comparison in open populations

Postby bfuda » Thu Oct 29, 2015 11:01 am

Thanks, Murray. I'll be sure to do some more test runs once you release the new version.

We are modelling male butterflies only, which do we believe to have distinct home ranges.

Becky
bfuda
 
Posts: 6
Joined: Thu Oct 15, 2015 3:21 pm

Re: Home range size comparison in open populations

Postby bfuda » Wed Nov 04, 2015 4:04 pm

Hi Murray,

I'm checking in to see if you have had a chance to update the join function. I didn't see a new version of secr.

Thanks,
Becky
bfuda
 
Posts: 6
Joined: Thu Oct 15, 2015 3:21 pm

Re: Home range size comparison in open populations

Postby murray.efford » Wed Nov 04, 2015 7:18 pm

It's not ready yet - mostly because this revision includes a bundle of other changes. Probably about 2 weeks.
Murray
murray.efford
 
Posts: 686
Joined: Mon Sep 29, 2008 7:11 pm
Location: Dunedin, New Zealand

Re: Home range size comparison in open populations

Postby bfuda » Fri Dec 11, 2015 3:50 pm

Hi Murray,

I saw that you posted secr version 2.10.0 but I am having trouble updating it. After using the update.packages function, I still get the following message when trying to load secr:

Code: Select all
> library(secr)
This is secr 2.9.5. For overview type ?secr
Warning message:
package ‘secr’ was built under R version 3.1.3


Therefore, I uninstalled the package and reinstalled, but got the following message:

Code: Select all
> install.packages("secr")
Installing package into ‘C:/Users/RFUDA01/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)

  There is a binary version available (and will be installed) but the source version is later:
     binary source
secr  2.9.5 2.10.0

trying URL 'http://cran.mirrors.hoobly.com/bin/windows/contrib/3.1/secr_2.9.5.zip'
Content type 'application/zip' length 3403467 bytes (3.2 Mb)
opened URL
downloaded 3.2 Mb

package ‘secr’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
   C:\Users\RFUDA01\AppData\Local\Temp\RtmpiwcIdV\downloaded_packages


How can I get secr to update to the 2.10.0 version?

Thanks,
Becky
bfuda
 
Posts: 6
Joined: Thu Oct 15, 2015 3:21 pm

Next

Return to analysis help

Who is online

Users browsing this forum: No registered users and 12 guests