bbs-sdm's People
bbs-sdm's Issues
paper to do list
Things to do before finalizing this project for the scale paper
-
lighten up the restrictions on including sites. now as long as a grid cell has the minimum # of sites it can be included, instead of doing things on a site by site basis
-
better documentation throughout so others can read it
-
potentially use raster::aggregate() for scaling up prism data instead of doing it manually
-
switch to random forest instead of gbm.
-
re-run completely from scratch, including download data, and processing
-
make sure BBS models are not aggregating observations
add support for multiple nodes on hipergator
To scale past 32 cores it would help a lot to be able to run the script distributed across many nodes. If I end up running the full analysis more than once a week this would be a requirement.
Test niche conservation
make results be written to postgress instead of csv file
consider other models
Models currently configured are randomForest, GLM, CTA, and GBM. Currently only using GBM as it's the best out of those 4. Other models to consider:
- GAM
- MaxEnt (presence only)
- OneClassSVM (presence only)
- MaxLike (presence only)
These state of the art models should theoretically perform better than any of the above.
- MistNet
- Gaussian process
Add simulation modeling
make a simulation model of species responding (or not) to various environmental forcing
Likely it's own project, and opens up a big can of worms.
improve comments
less redundant comments. more comments in function descriptions.
decide on performance assesment
Many different ways to quantify the usefulness of an SDM.
- Rapacciuolo et al. 2012 compared compared only plots that changed between two time periods. He used the correct classification rate (same as precision).
- Rapocciulo et al 2014 conceived Temporal Validation Plots specifically for comparing SDM's across two time periods. They use all sample points available whether they changed or not between the two periods. They are heavily weighted toward points that do change though. They are a plot that is meant to be interpreted visually for individual spp, but can be summed up in custom functions for precision, correlation, and bias.
- Looking at any single metric (auc, precicion, ccr) over time is extremely noisy due to large environmental variation. Even at the larger temporal scales. This is potentially smoothed out by gradually offsetting the training years and averaging things out. see #4
- Looking at the observed changes of sites with high modeled probabilities of change between two time periods (extreme deltas) seems to gives a very intuitive feel for SDM performance over time.
add utils file
For things like bioclim processing that doesn't change that much.
add spatial scale
See what increase in spatial scale does, as opposed to single points that the BBS routes represent.
Do this by drawing geographic square or rectangles across the US and having species be present/absent in them. Test the spatial scale by gradually increasing those squares.
Some initial logistic issues:
- How to compare densely sampled eastern US with the sparsely sampled west?
- Need a minimum number of routes that need to be in a square.
add yearly offsets
To account for climatic variability, add offseting to gradually shift the training time period forward in time.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.