Skip to main content

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

Exemple de pre-commit

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)

Source distribution for smc-movement-models 1.0.0
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)

Table of built distributions (wheels) for smc-movement-models 1.0.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page