In fact I have been in fairly regular communication with Ryan Nielson about this, but I don't get the impression he has a lot of time to devote to resolving it. So far I have managed to circumvent all the potential problems he has suggested, and I have narrowed it down to this Fortran loop. Now he seems of the mind that it is a problem with R - which I suppose is possible? - but whether it is the Fortran code, R, or something else I don't believe I have the tools to assess the problem any further. I am certainly not imagining the problem, as I've mentioned, but if somebody more knowledgeable could at least reproduce it we might be somewhere closer to a solution. In the meantime I have suggested that BBMM be used with caution, especially in big loops with large data sets, but Ryan hasn't commented on this, and at any rate I wouldn't mind getting a third or fourth opinion.

Tyler


On 2010-07-14, at 5:33, Roger Bivand <roger.biv...@nhh.no> wrote:

On Tue, 13 Jul 2010, Tyler Dean Rudolph wrote:

I've been constructing utilization distributions for 63 animal movement trajectories using a Brownian bridge movement model with BBMM. I started noticing after running the routine numerous times at different resolutions that certain UDs would be grossly wrong, meaning instead of returning a strongly negative exponential distribution of probabilities (UD $probability) that sums to 1, there might be two big modes in opposite places, or negative probability values, or simply "NaN" across the board. I have found this
problem on Mac, Linux, and Windows machines in various versions of R
(including the most recent), and I was hoping someone in the R community would be able to verify this and perhaps speculate on why this is occurring.


Have you also contacted the package authors directly? They would be the best point of entry here, I think.

Roger


The problem appears to originate either 1) in the FORTRAN code that
estimates BMVar and calculates the BBMM, or 2) in the way R handles its operation. I've broken down BBMM into its essential parts, and in the attached environment are all of the objects necessary to run the FORTRAN code. I have set it up in a loop here so it continually estimates a UD on the same data then and produces a histogram, which I have found to be most revealing in identifying problems. If the code stops running it's because the result was all "NaN". If you run the loop repeatedly you may find, as I have, that while the results may initially appear more-or-less consistent,
at other moments they will change, sometimes gradually, and sometimes
quickly. If you are looking at it and it is not changing, I encourage you to remove all objects, close and reopen R, reload the workspace and run the same loop again. If you do this numerous times you should eventually see unusual results, meaning inconsistent estimation, or wacky probability
distributions, or "NaN".


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

##  Run the Fortran routine repeatedly with identical data
##  - all required objects are in workspace "BBMM_BUG.RData" -

require(BBMM)

par(mfrow=c(2,2))


repeat {
ans <- .Fortran("BBMM", as.integer(n.locs), as.integer (grid.size),
      as.double(time.lag), as.double(T.Total), as.double(x),
      as.double(y), as.double(BMvar), as.double(location.error),
      as.double(area.grid$x), as.double(area.grid$y),
as.double(time.step),
      as.double(probability), PACKAGE = "BBMM")

  if(!sum(ans[[12]])=="NaN") { hist(ans[[12]]) } else { break }
}
### ### ### ### #####################################################################



Tyler


--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: roger.biv...@nhh.no


_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to