I have run the rsf.select function for 5 birds. I used weighted AKDEs and all birds are range-resident. I am using the Riemann integrator to reduce computation load, as there are ~ 64 000 GPS fixes between 5 individuals, and I am not using any time-dependent covariates.
The beta outputs work PERFECTLY for almost every bird - exactly as I would expect in nature - which is great!
HOWEVER, when I run rsf.select on one bird (PNC), with a reference category of "8" (coastal vegetation), the rsf returns the following information:
******************************************************
> summary(pnc.RSF.select.wakde95.riemann8ref)
ΔAICc ΔRMSPE (m) DOF[area]
isotropic ~ 0 0 0.000000 39.02854
isotropic ~ landsat Inf 3.452694 0.00000
> summary(pnc.RSF.select.wakde95.riemann8ref$`isotropic ~ landsat`)
$name
[1] "OUF"
$DOF
mean area diffusion speed
0 0 0 0
$CI
low est high
landsat.11_8 (1/landsat.11_8) -Inf NaN Inf
landsat.10_8 (1/landsat.10_8) -Inf NaN Inf
landsat.9_8 (1/landsat.9_8) -Inf NaN Inf
landsat.7_8 (1/landsat.7_8) -Inf NaN Inf
landsat.6_8 (1/landsat.6_8) -Inf NaN Inf
landsat.5_8 (1/landsat.5_8) -Inf NaN Inf
landsat.4_8 (1/landsat.4_8) -Inf NaN Inf
landsat.3_8 (1/landsat.3_8) -Inf NaN Inf
landsat.2_8 (1/landsat.2_8) -Inf NaN Inf
landsat.1_8 (1/landsat.1_8) -Inf NaN Inf
area (square kilometers) 0.000000 224.831239 Inf
τ[position] (hours) 7.514885 10.518643 14.723026
τ[velocity] (minutes) 2.557814 2.651829 2.749299
speed (kilometers/day) 0.000000 172.042666 Inf
diffusion (square kilometers/day) 0.000000 53.263211 Inf
***********************************************************************
With every other bird, the "8" reference category works fine.
And with this bird, I can run the other habitat types as reference categories and there is substantial differentiation in betas for each habitat type. For example, with a reference category of 10 the following summary returns:
> summary(pnc.RSF.select.wakde95.riemann.10ref)
ΔAICc ΔRMSPE (m) DOF[area]
isotropic ~ landsat 0.0000 0.0000 77.32282
isotropic ~ 0 127.7517 807.6134 39.02854
The betas are also different from one another and reflect my expectation sin nature. This leads me to think that the bird does indeed select the habitats differently, and that the NA/0 beta values are not accurate.
I confirm that the bird PNC did have relocations that landed directly onto the 8/coastal vegetation habitat category. As well, its home-range mostly overlaps with the other birds, and the raw relocations are largely located at the same habitat categories as the other birds. I don't see why it would be an outlier.
**As a side note, in early trials I ran rsf.fit on the same data, using a MonteCarlo integrator and the same 8/coastal vegetation reference category. 2 individuals returned the same NA/0 betas. They were different individuals than the one that is currently bringing the 0 values.
Here is the code I used for the rsfs in full, with the only thing changing being the "reference" input.
#load the habitat map in as a raster
r <- raster("landsat__202305__prediction_37250.tif")
#raster is a habitat map with discrete categories 1-11
r <- as.factor(r)
Rlist <- list()
Rlist$landsat <- r
#calculate RSF using weighted AKDEs
pnc.RSF.select.wakde95.riemann8ref <- rsf.select(
data = gttnov24_telemetry_cov_001$PNC,
UD = GTT_nov24_wakde95_grid_weight_noperiod_pdf$PNC,
R = Rlist, formula = ~ landsat,
verbose = TRUE, reference = "8",
max.mem = "10 Gb", level.UD=0.95,
trace = TRUE, integrator = "Riemann")