Wednesday, November 10, 2010
New Functions in ENMTools to Identify Environmental Barriers to Dispersal
We're pleased to announce publication of a paper that uses new functions in ENMTools to identify environmental barriers to dispersal. These new features of ENMTools permit identification of two types of environmental barriers that might be acting to maintain geographic boundaries between populations in nature: (1) steep environmental gradients and (2) ribbons of unsuitable habitat. ENMTools is now able to assess the significance of such boundaries in nature using geographically informed randomization procedures. Although you may have noticed that these 'new' features have been available in the last few releases of ENMTools, they haven't been published on previously, or really been explained in enough detail to make them useful. We hope that this will change with publication of this paper! For more details on how to use these new 'range breaking' methods please see section II.c.iii of the ENMTools manual [pdf document].
Glor, R. E. and D. Warren (Accepted Article) Testing ecological explanations for biogeographic boundaries. Evolution. [doi link]
Thursday, October 14, 2010
New version of ENMTools up
We've got a new version of ENMTools. This update fixes a couple of issues and adds one handy little tool. The manual is not completely updated yet, but the program is here:
http://www.danwarren.net/enmtools/builds/Release/ENMTools_1.2.zip
Here's what has changed:
-The problems with the I metric that were mentioned in a previous post/email have been fixed. It should now scale from 0 to 1.
-The breadth metrics have both been changed to standardized niche breadth, scaling from 0, where only one grid cell has a nonzero suitability score, to 1, where all grid cells are equally suitable.
-There's a new tool called "standardize rasters". It basically just takes a bunch of rasters and scales suitability scores so that they sum to 1.
-The model selection functions are now in the main build, but as yet are not documented in the manual. See my previous blog post/mailing for how to use that function. For more details read the Warren and Seifert paper currently in the "accepted" section of Ecological Applications' web page.
http://www.danwarren.net/enmtools/builds/Release/ENMTools_1.2.zip
Here's what has changed:
-The problems with the I metric that were mentioned in a previous post/email have been fixed. It should now scale from 0 to 1.
-The breadth metrics have both been changed to standardized niche breadth, scaling from 0, where only one grid cell has a nonzero suitability score, to 1, where all grid cells are equally suitable.
-There's a new tool called "standardize rasters". It basically just takes a bunch of rasters and scales suitability scores so that they sum to 1.
-The model selection functions are now in the main build, but as yet are not documented in the manual. See my previous blog post/mailing for how to use that function. For more details read the Warren and Seifert paper currently in the "accepted" section of Ecological Applications' web page.
Tuesday, September 7, 2010
Error in I metric (but don't panic!)
Thanks to a manuscript by Dennis Rödder and Jan Engler that is currently in revision for Global Ecology and Biogeography (entitled “Quantitative metrics of overlaps in Grinnellian niches: advances and possible drawbacks”), we have discovered a typographical error in our description of the niche overlap metric I, Eq. (3) of Warren, Glor and Turelli (2008, Evolution 62:2868-2883). Unfortunately, this error also found its way into ENMTools. Fortunately, the error is only a scaling issue. It does not affect the statistical tests presented in our paper or any known test based on ENMTools. Those tests use only relative rankings of overlaps (rather than specific values), and our error does not change relative rankings.
The formula we provided for Hellinger distance, H, is one of several alternatives. In the form we provided, H ranges from 0 to Sqrt(2). The incorrect formula we published is I = 1 – (H/2), which ranges from 1 – (1/Sqrt(2)) to 1 (not 0 to 1 as we stated). The correct formula is 1 – (H^2/2), which ranges from 0 to 1. Denoting our incorrect formula, Iold, and the intended formula, Icorrect,
Icorrect = 1 – 2(1 – Iold)^2.
Because both formulas decrease monotonically from 1 with increasing H, our typo does not alter relative rankings of I values. Hence, it does not affect P values obtained from resampling-based tests of niche identity or similarity, such as those in Warren et al. (2008). If you have manuscripts that use the I metric, there is no need to re-run any analyses based on ranks; and resulting conclusions about niche identity or similarity remain valid.
We will release an updated version of ENMTools shortly that corrects this error. We thank Dennis Rödder and Jan Engler for bringing it to our attention. We apologize for any inconvenience it has caused.
The formula we provided for Hellinger distance, H, is one of several alternatives. In the form we provided, H ranges from 0 to Sqrt(2). The incorrect formula we published is I = 1 – (H/2), which ranges from 1 – (1/Sqrt(2)) to 1 (not 0 to 1 as we stated). The correct formula is 1 – (H^2/2), which ranges from 0 to 1. Denoting our incorrect formula, Iold, and the intended formula, Icorrect,
Icorrect = 1 – 2(1 – Iold)^2.
Because both formulas decrease monotonically from 1 with increasing H, our typo does not alter relative rankings of I values. Hence, it does not affect P values obtained from resampling-based tests of niche identity or similarity, such as those in Warren et al. (2008). If you have manuscripts that use the I metric, there is no need to re-run any analyses based on ranks; and resulting conclusions about niche identity or similarity remain valid.
We will release an updated version of ENMTools shortly that corrects this error. We thank Dennis Rödder and Jan Engler for bringing it to our attention. We apologize for any inconvenience it has caused.
Wednesday, August 11, 2010
Model selection paper now online
The paper I've been working on with Stephanie Seifert on model selection in Maxent is now available as a preprint from Ecological Applications. The paper demonstrates that AIC and BIC can be useful in setting regularization, and also acts as the first demonstration of the utility of ENMTools' data simulation functions.
Tuesday, June 8, 2010
New test version of ENMTools with model selection
There's a new test version of ENMTools up here. In addition to fixing a few minor annoyances from previous versions, there's a new function that allows criterion-based model selection using AICc and BIC. The user interface for the function is almost non-existent - all it really does is ask for a script file. Here's a quick-and-dirty rundown of how to use it. In order to correctly calculate likelihoods, the data must be formatted appropriately. For that reason we suggest that users pay very close attention to the requirements below.
1. Build a set of models to compare. It is absolutely crucial that suitability scores be output in RAW format! You will need both the .asc file and the .lambdas file associated with each model.
2. Make sure that each set of occurrence points to be compared is in its own independent file. You do not want to load an occurrence file that has points for multiple species. You also need to eliminate duplicate occurrence points from the file, particularly if you have Maxent set to ignore duplicate occurrences.
3. Build a script. A script is simply a .csv file with the paths to the files you want to analyze. Each line of the script should consist of a .csv file, a .asc file, and a .lambdas file. Relative paths will not work, you need fully qualified path names. A typical line will look like this:
c:\mydata\points.csv,c:\mydata\species.asc,c:\mydata\species.lambdas
You need one line per analysis. Also note that ENMTools will output results into a file with a name based on your script file. If your script file is named myscript.csv, the output will be named myscript_model_selection.csv. At present it will overwrite that output file (if it already exists) without asking, so BE CAREFUL.
4. In ENMTools, choose the "Model Selection" tool under "ENM Measurements". A file dialog will pop up. At this point you should choose the script file that you just made. ENMTools will chug along for a while, and will tell you when it's finished. The process is fairly simple: ENMTools uses your raw suitability scores (after standardization) and occurrence points to calculate the likelihood of observing your data under that model. It then counts the number of parameters from your lambdas file, counting any parameter with nonzero weight. Finally, it uses these values to calculate AICc and BIC.
Preliminary studies (Warren and Seifert, in review) indicate that AICc outperforms BIC in selecting models on simulated data. I'll be talking about this study at Evolution this year, for those who are interested (shameless plug).
Keep in mind that this is a test build and may be buggy. Feedback is appreciated.
1. Build a set of models to compare. It is absolutely crucial that suitability scores be output in RAW format! You will need both the .asc file and the .lambdas file associated with each model.
2. Make sure that each set of occurrence points to be compared is in its own independent file. You do not want to load an occurrence file that has points for multiple species. You also need to eliminate duplicate occurrence points from the file, particularly if you have Maxent set to ignore duplicate occurrences.
3. Build a script. A script is simply a .csv file with the paths to the files you want to analyze. Each line of the script should consist of a .csv file, a .asc file, and a .lambdas file. Relative paths will not work, you need fully qualified path names. A typical line will look like this:
c:\mydata\points.csv,c:\mydata\species.asc,c:\mydata\species.lambdas
You need one line per analysis. Also note that ENMTools will output results into a file with a name based on your script file. If your script file is named myscript.csv, the output will be named myscript_model_selection.csv. At present it will overwrite that output file (if it already exists) without asking, so BE CAREFUL.
4. In ENMTools, choose the "Model Selection" tool under "ENM Measurements". A file dialog will pop up. At this point you should choose the script file that you just made. ENMTools will chug along for a while, and will tell you when it's finished. The process is fairly simple: ENMTools uses your raw suitability scores (after standardization) and occurrence points to calculate the likelihood of observing your data under that model. It then counts the number of parameters from your lambdas file, counting any parameter with nonzero weight. Finally, it uses these values to calculate AICc and BIC.
Preliminary studies (Warren and Seifert, in review) indicate that AICc outperforms BIC in selecting models on simulated data. I'll be talking about this study at Evolution this year, for those who are interested (shameless plug).
Keep in mind that this is a test build and may be buggy. Feedback is appreciated.
Wednesday, April 7, 2010
New version of ENMTools up
I've tracked down the sorting bug that Rich and I found last night, and there's now a new version of ENMTools that fixes the issue. It does appear that it only affected the ribbon analysis, and only the sorted output. There are some new functions added as well. One is just a simple tool for measuring correlations between raster files using the Pearson correlation coefficient. The second gives you the ability to sample occurrences from a raster file either randomly or with a probability determined by some function of the suitability of habitat in that grid cell. You can download the new version and manual here. There's more information on the new functions in the manual.
Now that the application note is out we're going to start using actual version numbers instead of build dates. This is version 1.1.
Now that the application note is out we're going to start using actual version numbers instead of build dates. This is version 1.1.
Tuesday, April 6, 2010
Sorting bug with ribbon range-breaking analysis
It has just now come to my attention that ENMTools has a bug involving the sorting of I and D values for the ribbon range-breaking analysis. This bug can cause incorrect values to be inserted into the sorted output. The unsorted output files are still fine, and as far as we can tell at the moment this bug doesn't apply to any other analysis. If you are using the ribbon analysis, please use the .csv files for the unsorted output and sort them in Excel yourself. I am working on this bug right now and will post a corrected version of the software ASAP. My apologies for any inconvenience this might have caused.
Monday, April 5, 2010
Problems with ENMTools and Maxent 3.3.2
Rich and I just hit a problem, but luckily it's one with an easy solution.
As discussed on the Maxent discussion group, Maxent version 3.3.2 does not necessarily like underscores too much. Since ENMTools generates replicate names using underscores, this leads to replicates crashing, often with "number format exception" messages from Maxent and "Can't open ..." messages from ENMTools. Steven is aware of the issue and is working on it, but for now we'd suggest sticking with version 3.3.1 for your ENMTools runs.
As discussed on the Maxent discussion group, Maxent version 3.3.2 does not necessarily like underscores too much. Since ENMTools generates replicate names using underscores, this leads to replicates crashing, often with "number format exception" messages from Maxent and "Can't open ..." messages from ENMTools. Steven is aware of the issue and is working on it, but for now we'd suggest sticking with version 3.3.1 for your ENMTools runs.
Friday, February 12, 2010
ENMTools application note now available
The application note for ENMTools is now available in the Early View section of Ecography's website. Due to the limits of space, the note really only discusses the measurement of overlap and the identity and background tests (i.e., the tests that were presented in Warren et al. 2008). Papers that present the rangebreaking tests and niche breadth measurements are on the way, and should be out fairly soon.
I'm going to be putting out an update of ENMTools shortly which will add a couple of interesting features and fix a few minor issues.
I'm going to be putting out an update of ENMTools shortly which will add a couple of interesting features and fix a few minor issues.
Subscribe to:
Posts (Atom)