Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bird Occurrence Dataset — Valencian Wetlands

A monthly bird occurrence dataset for three protected wetlands in the Valencian Community (Spain), built by harmonising professional censuses, citizen-science records (eBird), and acoustic detections (BirdNet) into a single long-format table with consistent species and sub-region identifiers.

Repository layout

.
├── README.md
├── data/
│   ├── dataset_full.csv             unified dataset, all sources, all months
│   ├── train_all_sources.csv        train split, full augmented (last 3 months held out)
│   ├── test_all_sources.csv         test split, full augmented
│   ├── train_census_only.csv        train split, census records only
│   ├── test_census_only.csv         test split, census records only
│   ├── encodings/                   *_id ↔ label codebooks
│   └── mappings/                    spatial / taxonomic harmonisation tables
├── scripts/
│   └── train_models.py              reference MLP / LSTM baselines
├── models/                          trained baseline checkpoints (.pt)
└── results/
    ├── results.csv                  test MSE / RMSE per (model, condition)
    └── training_history.json        epoch-by-epoch train/val MSE

Dataset

Each row in data/dataset_full.csv is one (source, sub-region, year, month, species) observation:

Column Type Description
year, month int Calendar year / 1–12
month_sin, month_cos float Cyclic encoding of month
scientific_name, subregion, source str Categorical labels
species_id, subregion_id, source_id int Stable encodings
count int Raw observation count
total_monthly int Σcount within (source, subregion, year, month)
probability, probability_pct float Target — share of monthly group total

Probabilities sum to 100 % within each (source, subregion, year, month) group. They are computed per-source so that count-incompatible sources (checklists, detections, exhaustive counts) are not mixed at the ratio step.

Coverage

67,787 rows                  190 unique year-months (Jan 2010 – Dec 2025)
395 species                   12 sub-regions
3 sources                       eBird (62,824) | Census (4,626) | BirdNet (337)

Sub-regions

Wetland IBA code Sub-regions
Parc Natural d'El Hondo BIRDLIFE_1824 Embalse Levante · Zona Central · Poniente Sur · La Reserva · Zona Rincón · Zona Norte
Salinas de Santa Pola BIRDLIFE_1825 Pinet · Torre Tamarit · Bon Matí · Norte
Lagunas de La Mata–Torrevieja BIRDLIFE_1826 Laguna La Mata · Laguna Torrevieja

Sub-regions correspond to ecologically distinct habitats and align both with groupings of census micro-zones (mappings/mapping_census.csv) and with named eBird sub-localities (mappings/mapping_ebird.csv).

Sources

Source Description Coverage
Census Monthly bird counts from professional ornithological surveys, one Excel workbook per wetland-year. Jan–Dec 2025 (all 3 wetlands); + Jan–Dec 2024 (Santa Pola only)
BirdNet Acoustic detections from a single Raspberry Pi 5 sensor at El Hondo. 24 Sep 2024 – 10 May 2025
eBird Citizen-science observations (eBird Basic Dataset, ES-VC release Nov-2025), filtered to the three target IBA codes. 2010 onward

Splits

Chronological — the three most recent year-months are held out as the test set.

Split Train Test
*_all_sources.csv 65,802 1,985
*_census_only.csv 3,807 819

The census-only split allows direct evaluation of whether augmentation by citizen-science and acoustic data improves predictions on the professional-census target.

Methodology

Spatial harmonisation. Census files use internal management codes for sub-zones (e.g. Eb.Levante, CALENTADORES, Punta Víbora); eBird uses citizen-science labels (e.g. El Hondo PNat--Embalse de Levante). Direct text matching does not work. Resolution is in two passes: (1) a manually-curated keyword mapping from named eBird sub-localities to the unified sub-region covering the same physical area, and (2) nearest-centroid fallback for the ~40 % of eBird records whose locality is a generic GPS-aggregator point. The 12-sub-region grouping is the optimum point on the sparsity–granularity trade-off — every sub-region has either ≥ 800 eBird observations or substantial census coverage, and every census micro-zone maps unambiguously.

Taxonomic harmonisation. Census records use scientific names directly. eBird provides both common and scientific names. BirdNet uses English common names with underscores; some differ from eBird-ES naming conventions (e.g. Cettis_Warbler vs Cetti's Warbler, Barn Owl vs Western Barn Owl). The complete BirdNet → scientific name lookup is in data/mappings/taxonomy_lookup.csv. All 119 BirdNet species are resolved.

Probability label. Right-skewed by construction: median 0.4 %, p99 39.6 %, max 100 %. A few dominant species (flamingos, coots, avocets) account for the bulk of individuals at any given site and time.

Reference models

scripts/train_models.py provides two baseline architectures, trained twice each (full augmented vs census-only) with identical hyperparameters. They are not optimised models — they exist to demonstrate the dataset is usable for spatio-temporal occurrence prediction.

Model Training set Test MSE Test RMSE
MLP All Sources 39.02 6.25
MLP Census Only 56.54 7.52
LSTM All Sources 32.10 5.67
LSTM Census Only 56.08 7.49

Metric: MSE on probability_pct (0–100 scale).

Known limitations

  • BirdNet sub-region: sensor PI5 is at El Hondo, but its specific sub-region is not documented in the raw data path. All BirdNet records are assigned to El Hondo - La Reserva.
  • eBird OBSERVATION COUNT == 'X' records (presence-only) are treated as 1 individual. Strict count-based analyses should filter these out.
  • Laguna de Torrevieja has only ~85 eBird records because the lagoon is hypersaline and supports almost no birdlife — predictions for this sub-region rely primarily on census data.
  • Per-source probability normalisation: probabilities are computed within each source independently. Users wanting a single combined probability should re-aggregate from the raw count column.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages