Skip to main content

Projet pour le cours Hidden Markov models and Sequential Monte-Carlo methods de l'ENSAE.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smc_movement_models-1.0.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

smc_movement_models-1.0.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file smc_movement_models-1.0.0.tar.gz.

File metadata

  • Download URL: smc_movement_models-1.0.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/6.0.15-300.fc37.x86_64

File hashes

Hashes for smc_movement_models-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b3d14637c8b8cfb8a97b4ee5bbb5fea2283f90a9c400abad4de3f0dfcd7d395c
MD5 73b04278b7553d2458020292bab3a102
BLAKE2b-256 29682a3156e9c22139ff6ef0d1259d99c4dbe0e0dec3816a9dce848eda407783

See more details on using hashes here.

File details

Details for the file smc_movement_models-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: smc_movement_models-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/6.0.15-300.fc37.x86_64

File hashes

Hashes for smc_movement_models-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5ff5cce4f0b8fe18336214f4165701788d3c733f5035de866af81b65798b244
MD5 7dbc50651ca2bae7a0839a286180b9e4
BLAKE2b-256 08325b25f86e29ca513a8b73cc267df5a0d012431b6bd709801320a9a8e2de07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page