Estimating behavioral parameters in animal movement models using a state-augmented particle filter
Projet pour le cours Hidden Markov models and Sequential Monte-Carlo methods de l'ENSAE.
- Gabriel Watkinson
- Gabriel Guaquiere
- Jérémie Stym-Popper
- Benjamin Maurel
Introduction
Dans ce projet, nous implementons le modèle décrit dans le papier Estimating behavioral parameters in animal movement models using a state-augmented particle filter, et l'approfondissons avec des méthodes plus récentes.
Notre rapport est disponible ici à la racine du projet.
Le package smc_movement_models
Les fonctions sont définies dans le package smc_movement_models.
Les modules models.py et models_SMC2.py contiennent les modèles de mouvement et l'algorithme du papier et une version SMC2 respectivement.
Le module plot.py contient des fonctions utilitaires pour génerer des graphes.
Le module process_data.py contient des fonctions utilitaires pour traiter les données brutes et une CLI.
Les notebooks
Les notebooks sont dans le dossier notebooks et permettent de lancer les expériences et de visualiser les résultats.
Le notebook notebooks/simulation_papier.ipynb contient les expériences avec l'algorithme du papier.
Le notebook notebooks/implementation_smc2.ipynb contient les expériences avec la version SMC2.
Le reste
Le dossier data contient les données brutes et les données traitées.
Le dossier images contient les images utilisées dans le rapport.
Le dossier paper contient les papiers liés au projet.
Le dossier r_code contient le code R original du papier (pas utilisé par notre groupe).
Les fichiers poetry.lock et pyproject.toml sont utilisés par poetry pour gérer les dépendances.
Le fichier requirements.txt est utilisé par pip pour gérer les dépendances et est généré par poetry.
Le dossier latex contient le LaTeX utilisé pour le rapport.
Installation
Nous utilisons Python pour simuler les données et mettre en place les modèles, notamment la librairie particles.
Avant toutes choses, il faut se déplacer dans le dossier smc_movement_models:
cd /path/to/smc_movement_models
Avec poetry
# Creation d'un environement virtuel et installation des packages
poetry install
# Activation de l'environement
poetry shell # sub shell
# OU source $(poetry env info --path)/bin/activate # activer l'environement dans le shell actuel
Avec pip
# Creation d'un environement virtuel
python -m venv .venv
# Activation de l'environement
.venv/Script/activate # pour Windows
# OU source .venv/bin/activate # pour Linux / MacOS
# Installation des packages
pip install -r requirements.txt
Processing des données
Pour générer les données à partir du fichier brut, il faut lancer le script process_data.py :
python smc_movement_models/process_data.py
# Pour plus d'informations
# python smc_movement_models/process_data.py --help
pre-commit
Pour activer les pre-commit qui formattent le code avant chaque commit :
pre-commit install
pre-commit run --all-files # Pour installer les modules et lancer les tests
Pour forcer un commit sans vérifier :
git commit -m "..." --no-verify
Metadata
Release files for smc-movement-models 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| smc_movement_models-1.0.0.tar.gz | 10.4 kB | Without provenance | Details for smc_movement_models-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| smc_movement_models-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for smc_movement_models-1.0.0-py3-none-any.whl |
Total release size: 20.5 kB
Release files / smc_movement_models-1.0.0.tar.gz
| Download URL | smc_movement_models-1.0.0.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3d14637c8b8cfb8a97b4ee5bbb5fea2283f90a9c400abad4de3f0dfcd7d395c
|
|
BLAKE2b-256 checksum How to use checksums |
29682a3156e9c22139ff6ef0d1259d99c4dbe0e0dec3816a9dce848eda407783
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.1 CPython/3.11.1 Linux/6.0.15-300.fc37.x86_64
|
Release files / smc_movement_models-1.0.0-py3-none-any.whl
| Download URL | smc_movement_models-1.0.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a5ff5cce4f0b8fe18336214f4165701788d3c733f5035de866af81b65798b244
|
|
BLAKE2b-256 checksum How to use checksums |
08325b25f86e29ca513a8b73cc267df5a0d012431b6bd709801320a9a8e2de07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.1 CPython/3.11.1 Linux/6.0.15-300.fc37.x86_64
|
Security for smc-movement-models 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.