Point transect sampling solution

Author

Centre for Research into Ecological and Environmental Modelling
University of St Andrews

Modified

November 2024

Solution

Point transect analysis exercise

Simulated data

The code for accessing and checking these data and fitting various models is shown below.

library(Distance)
data("PTExercise")
head(PTExercise, n=3)
  Region.Label Area Sample.Label Effort object distance  Study.Area
1      Default    0            1      1      1     8.40 PTExercise1
2      Default    0            2      1      2    13.79 PTExercise1
3      Default    0            2      1      3    20.96 PTExercise1
conversion.factor <- convert_units("meter", NULL, "hectare")
PTExercise.hn <- ds(data=PTExercise, transect="point", key="hn", convert_units=conversion.factor)
plot(PTExercise.hn, pdf=TRUE, main="Simulated pt transect data\nHalf normal key function")

Truncation of 20m

PTExercise.hn.t20m <- ds(data=PTExercise, transect="point", key="hn", truncation=20,
                    convert_units=conversion.factor)
PTExercise.hr.t20m <- ds(data=PTExercise, transect="point", key="hr", truncation=20,
                    convert_units=conversion.factor)
PTExercise.uf.cos.t20m <- ds(data=PTExercise, transect="point", key="unif", 
                        adjustment="cos", truncation=20,convert_units=conversion.factor)
Results from simulated point transect data.
DetectionFunction Adjustments Truncation AIC Density D.CV Lower.CI Upper.CI
Half-normal None 34.2 919.140 79.630 0.126 62.121 102.074
Half-normal None 20.0 764.305 70.826 0.157 51.978 96.507
Hazard rate None 20.0 767.211 62.364 0.187 43.207 90.015
Uniform Cosine 20.0 765.503 75.044 0.144 56.515 99.647

Plots of probability density functions to inspect fit

plot(PTExercise.hn, main="Half normal, no truncation", pdf=TRUE)
plot(PTExercise.hn.t20m, main="Half normal, truncation 20m", pdf=TRUE)
plot(PTExercise.hr.t20m, main="Hazard rate, truncation 20m", pdf=TRUE)
plot(PTExercise.uf.cos.t20m, main="Uniform with cosine, truncation 20m", pdf=TRUE)

Half normal without truncation

Half normal 20m truncation

Hazard rate 20m truncation

Uniform cosine 20m truncation

We see a fair degree of variability between analyses - reliable analysis of point transect data is more difficult than for line transect data. We see greater loss in precision from truncating data relative to line transect sampling, but if we do not truncate data, different models can give widely differing estimates.

Wren data (Optional)

In the code provided below, each data set is loaded and detection functions selected in Buckland (2006) are fitted.

data("wren_5min")
data("wren_snapshot")
conversion.factor <- convert_units("meter", NULL, "hectare")
wren5min.uf.cos.t110 <- ds(data=wren_5min, key="unif", adjustment="cos", transect="point", truncation=110, 
                        convert_units=conversion.factor)
wrensnap.hr.cos.t110 <- ds(data=wren_snapshot, key="hr", adjustment=NULL, transect="point", truncation=110, 
                        convert_units=conversion.factor)
Winter wren density estimates from 5 minute counts and snapshot moment.
Method Density Lower.CI Upper.CI
Five minute 1.284 0.789 2.089
Snapshot 1.023 0.795 1.317

Probability density functions for Buckland’s winter wren point transects

plot(wren5min.uf.cos.t110, main="5 minute count")
plot(wrensnap.hr.cos.t110, main="Snapshot moment")

Detection function 5 minute count

Detection function snapshot

As the detection distance histograms indicate, winter wren showed evidence of observer avoidance, more than other species in the Montrave study. We show the detection function graph rather than the PDF to emphasise the evasive movement aspect of the data. If you conduct the goodness of fit test, using gof_ds(), you will find that the models still suitably fit the data.

References

Buckland, S. T. (2006). Point-transect surveys for songbirds: Robust methodologies. The Auk, 123(2), 345–357. https://doi.org/10.1642/0004-8038(2006)123[345:PSFSRM]2.0.CO;2