Skip to Content.

mget-help - RE: [mget-help] Species distribution models with presence-only data

Please Wait...

Subject: Marine Geospatial Ecology Tools (MGET) help

Text archives


RE: [mget-help] Species distribution models with presence-only data


Chronological Thread 
  • From: "Stephen Ban" <>
  • To: "'Jason Roberts'" <>
  • Cc: <>
  • Subject: RE: [mget-help] Species distribution models with presence-only data
  • Date: Fri, 2 Sep 2016 12:21:16 -0700

Hi Jason,

 

Thanks for the advice…I’m looking into my best options for presence-only models.

 

Looks like I’m going to be the problem child this week, as another issue just cropped up – this time with the Randomly Split Table tool.

 

I had used it successfully before I installed the latest version of MGET, but unfortunately between now and then I also inadvertently wiped out my system PATH environment variable, so I’m not sure whether the problem is related to that or to the new version of MGET. The error message I get is:

ValueError: The table parameter must not be just a table name. It must be the absolute path to the table, including the database.

Traceback (most recent call last):

  File "C:\Program Files\GeoEco\ArcGISToolbox\Scripts\ModelEvaluationRandomlySplitArcGISTableIntoTrainingAndTestRecords.py", line 5, in <module>

    ExecuteMethodFromCommandLineAsArcGISTool('GeoEco.Statistics.Modeling', 'ModelEvaluation', 'RandomlySplitArcGISTableIntoTrainingAndTestRecords')

  File "C:\Python27\ArcGIS10.3\lib\site-packages\GeoEco\ArcGISScripts.py", line 210, in ExecuteMethodFromCommandLineAsArcGISTool

    exec sourceCode in globals(), locals()

  File "<string>", line 1, in <module>

  File "C:\Python27\ArcGIS10.3\lib\site-packages\GeoEco\Statistics\Modeling.py", line 798, in RandomlySplitArcGISTableIntoTrainingAndTestRecords

    conn.AddField(table, field, u'SHORT')

  File "C:\Python27\ArcGIS10.3\lib\site-packages\GeoEco\DatabaseAccess\__init__.py", line 253, in AddField

    return self._AddField(table, field, dataType, isNullable, length, precision, scale, alias, isRequired, domain)

  File "C:\Python27\ArcGIS10.3\lib\site-packages\GeoEco\DatabaseAccess\ArcGIS.py", line 316, in _AddField

    Logger.RaiseException(ValueError(_(u'The table parameter must not be just a table name. It must be the absolute path to the table, including the database.')))

  File "C:\Python27\ArcGIS10.3\lib\site-packages\GeoEco\Logging.py", line 104, in RaiseException

    raise exception

ValueError: The table parameter must not be just a table name. It must be the absolute path to the table, including the database.

 

Failed to execute (ModelEvaluationRandomlySplitArcGISTableIntoTrainingAndTestRecords).

 

Stephen

From: Jason Roberts [mailto:]
Sent: September 2, 2016 11:13 AM
To: Stephen Ban
Cc:
Subject: RE: [mget-help] Species distribution models with presence-only data

 

Hi Stephen,

 

I can only offer a brief opinion on this at the moment (Friday afternoon before holiday weekend) but maybe it will be helpful.

 

MGET’s statistical modeling tools are, in essence, generic wrappers around modeling approaches implemented in R. The main purpose of these tools in MGET is to expose that functionality from R to ArcGIS users in a way that facilitates easy exchange of data with R and easy integration of the R functionality within an ArcGIS workflow. The modeling approaches that have been more or less fully implemented in MGET are GLM, GAM, tree models (a.k.a. CART), and random forest. There is partial support for linear mixed models but it has not been completed.

 

There is a large body of literature on how to approach presence-only modeling with GLMs, GAMs, and CARTs, and, to a lesser extent, random forests. In principle, all of those approaches can be accomplished with MGET, because it is just R that is “doing the statistics” behind the scenes. Generally speaking, many of these approaches involve generating pseudo-absence data and then proceeding with normal modeling, with additional model checking, sensitivity analyses and so on recommended than if true absence data were available. So if you find a paper that talked about doing a presence-only model with one of those methods, you can try it with MGET.

 

If I were to guess, the most popular approach for presence-only modeling in the last 10 years has been Maxent. It is somewhat akin to modeling with pseudo-absences. Although I believe part of Maxent’s popularity relates to it having a convenient user interface and documentation/examples that can guide you through the process, there are still challenges in using it in tandem with ArcGIS. I recommend SDMtoolbox by my old Duke colleague Jason L. Brown (yes, it was fun having two Jasons at Duke working on species distribution modeling toolboxes at the same time!) SDMtoolbox has many tools that can help with both Marxan and presence-only modeling in general.

 

All the best,

 

Jason

 

 

I suspect this question will open up a can of worms, but here goes:

 

I seem to have a dilemma with modelling my species occurrence data: the records I have are only where a species was caught (and how much was caught), not where they fished for a species and didn’t find any (i.e., what I have is presence-only data). At least with the tree model, I can’t generate a prediction output unless I exclude every benthic category from the predictor layer that didn’t have a corresponding catch record (otherwise the tool complains that there are levels present in the data that were not used to fit the model). It would seem the only way around this would be to manually exclude every benthic class from the raster that isn’t overlapped by the catch records, which seems…wrong.

 

Are any of the model techniques in MGET appropriate for modelling presence-only data?

 

I understand that there’s a huge body of literature (and caveats) out there about modelling presence-only data, but I’m hoping to confine this question just to the specific modelling tools found within MGET.

 

Stephen Ban, Ph.D., RPBio.

National Ocean Spatial Analysis Manager

Canadian Parks and Wilderness Society

#410-698 Seymour Street, Vancouver, B.C. V6B 3K6

Tel: 604 685-7445 ext. 30            

Fax: 604 629-8532 

Email: 

 




Archive powered by MHonArc 2.6.19.

Top of Page