trail.cam

Des horodatages aux rythmes d'activité animale : un flux de travail par caméra de faune

Un renard roux traversant une clairière enneigée dans la lumière bleu profond juste avant l'aube

Chaque photo qu'ont prise vos caméras porte déjà le nombre le plus précieux de tout le jeu de données, et ce n'est pas l'espèce. C'est l'heure de la journée. Une caméra de faune se déclenche quand un animal est présent, si bien que le tas d'horodatages que vous avez recueilli est un échantillon des moments où cet animal était éveillé et en mouvement — davantage de déclenchements quand il est actif, moins ou aucun quand il se repose. Relevez suffisamment de ces heures et vous pouvez reconstruire la forme de la journée d'une espèce : quand elle s'anime, quand elle culmine, quand elle s'apaise. C'est cela, un rythme d'activité animale, et une caméra de faune est l'un des rares moyens peu coûteux et non invasifs d'en obtenir un.

Voici tout le pipeline d'un seul souffle, pour que vous sachiez où l'on va. Vous extrayez une date-heure propre de chaque image (presque toujours depuis les métadonnées EXIF, parfois en lisant l'horodatage incrusté dans la photo elle-même) ; vous décidez quels enregistrements comptent comme des événements indépendants ; vous convertissez ces heures d'horloge sur une échelle circulaire et, si votre étude couvre plusieurs saisons ou se situe loin de l'équateur, en heure solaire ; vous ajustez une densité par noyau circulaire aux heures pour estimer la courbe d'activité ; et si vous comparez deux espèces, vous calculez le coefficient de recouvrement (Δ) entre leurs courbes. En R, le travail vit presque entièrement dans trois paquets — `overlap`, `activity` et `camtrapR` — et l'ensemble repose sur un prérequis peu glorieux : environ 100 détections de l'espèce avant de faire confiance à la courbe.

Aucune de ces étapes n'est difficile. Plusieurs d'entre elles sont faciles à fausser en silence, de façon invisible — une horloge qui a dérivé, un filtre d'« indépendance » qui efface le pic même que vous cherchez à mesurer, un lever de soleil qui a bougé de trois heures entre juin et décembre alors que votre axe des x restait figé. Ce texte parcourt le pipeline de bout en bout et, tout aussi important, signale les endroits où une analyse d'activité digne de confiance diverge d'une analyse bonne à jeter. La différence ne tient généralement pas à la statistique. Elle tient à l'hygiène des données en amont.

D'abord, obtenez des dates-heures propres de chaque photo

Vous ne pouvez pas reconstruire après coup le moment où un animal a été photographié — il n'existe pas de seconde source pour cela, contrairement, par exemple, aux coordonnées d'une caméra. Comme le formule sans détour le guide des bonnes pratiques du GBIF, la date et l'heure sont « l'aspect le plus important de ses métadonnées… et ne peuvent pas être déduites plus tard ». Cette étape mérite donc plus de soin qu'on ne lui en accorde d'ordinaire.

La voie propre, ce sont les métadonnées intégrées. Quand une caméra écrit un JPEG, elle inscrit l'heure de capture dans le bloc EXIF, dans le champ `DateTimeOriginal`. Les outils lisent ce champ directement : la fonction `recordTable()` de `camtrapR` s'appuie sur ExifTool pour extraire `DateTimeOriginal` de chaque image et assembler une table d'enregistrements soignée réunissant station, espèce et heure. Si vos images portent un bon EXIF, c'est un problème résolu — pointez la fonction vers vos dossiers et vous avez des dates-heures lisibles par machine, à la seconde près.

Deux habitudes en amont rendent tout cela plus sûr, et toutes deux concernent la caméra, pas le logiciel. Premièrement, réglez l'horloge sur l'heure UTC ou l'heure d'hiver locale et désactivez le passage automatique à l'heure d'été. L'heure d'été est un saboteur silencieux des données d'activité : si vous réglez l'horloge d'une caméra en été sans qu'elle connaisse le changement d'heure, chaque photo d'hiver se retrouve décalée d'une heure par rapport à l'heure d'horloge réelle, et inversement — une erreur systématique d'une heure étalée sur la moitié de vos enregistrements. Le conseil de `camtrapR` est la version pragmatique de la même règle : si votre zone d'étude applique le changement d'heure mais que vos caméras ne l'enregistrent pas, laissez le fuseau horaire d'analyse sur UTC, car l'UTC n'a aucun saut d'heure d'été sur lequel trébucher. Deuxièmement, si vous nommez ou organisez vous-même les fichiers, commencez les noms de fichiers par la date — `YYYYMMDD_HHMMSS` — de sorte que les trier par ordre alphabétique les trie aussi par ordre chronologique, et écrivez les heures au format ISO 8601 (`YYYY-MM-DDTHH:MM:SS`) à l'export.

Si vous découvrez après coup que l'horloge d'une caméra était mal réglée — tout un déploiement décalé d'une valeur connue —, c'est récupérable. `camtrapR` inclut `timeShiftImages()` pour corriger par lot les horodatages dans les métadonnées des images, et un `fixDateTimeOriginal()` dédié à un mode de défaillance précis : certaines caméras Reconyx HyperFire qui ne stockent pas la date et l'heure dans la balise standard. Sauvegardez d'abord les images. Le fond de l'affaire, c'est que les erreurs d'horloge repérées tôt sont un désagrément ; les erreurs d'horloge jamais repérées deviennent un rythme d'activité fictif.

Définissez vos catégories — mais sachez qu'elles ne sont qu'un premier tri grossier

Avant tout ajustement de courbe, il est utile d'avoir le vocabulaire que le domaine emploie depuis le début. Dès l'instant où les chercheurs ont compris que les horodatages de caméras pouvaient décrire l'activité, la première chose qu'ils ont faite a été de trier les espèces en quatre cases :

Ce ne sont pas de simples impressions ; on peut les définir de façon opérationnelle. Dans un relevé de deux ans portant sur huit mammifères du nord du Japon, Ikeda et ses collègues ont classé chaque photo en jour, nuit ou crépuscule, comparé la fréquence photographique entre les trois périodes par une ANOVA à un facteur, et attribué une catégorie à chaque espèce : diurne si les photos se concentraient de jour, nocturne si de nuit, crépusculaire si au crépuscule, et cathéméral quand il n'y avait « aucune différence » entre les trois périodes. Cela a donné des attributions nettes — écureuils roux eurasiens diurnes, chiens viverrins et ratons laveurs nocturnes, cerfs sika et lièvres variables crépusculaires, martres du Japon et ours bruns cathéméraux.

Deux mises en garde accompagnent ces cases. La première, c'est qu'elles sont réellement grossières, et que les résultats les plus intéressants logent dans les interstices entre elles. Ces mêmes cerfs sika « ont déplacé leurs pics du crépuscule au printemps–automne vers le jour en hiver, possiblement en raison de contraintes thermiques », et les martres étaient cathémérales la plupart de l'année mais nocturnes en automne. Une seule étiquette de catégorie aurait effacé les deux. La seconde mise en garde, c'est l'échelle. À l'échelle mondiale, le partage en quatre est déséquilibré : dans un jeu de données couvrant des milliers d'espèces de mammifères, Bennie et ses collègues ont trouvé que « la majorité des espèces de mammifères sont nocturnes (69 %… ; 20 % diurnes, 8,5 % cathémérales et 2,5 % crépusculaires) », et que cette stratégie est profondément conservée à travers l'arbre des mammifères (λ de Pagel = 0,947). Votre a priori par défaut pour un mammifère non étudié devrait donc être « probablement nocturne », et une classification diurne assurée mérite un second regard — d'autant plus au vu des pièges de placement que nous verrons plus loin. Les catégories sont un titre utile. La courbe d'activité, c'est le récit.

Les catégories sont un titre utile. La courbe d'activité, c'est le récit.

Indépendance temporelle : le choix le plus lourd de conséquences — et le plus disputé — que vous ferez

Un raton laveur cherchant sa nourriture au pied d'un arbre la nuit, dans une lumière froide presque monochrome

C'est ici que les bonnes intentions font dérailler les analyses d'activité. Les caméras ne prennent pas une photo par visite. Un seul animal qui s'attarde devant l'objectif, ou une caméra réglée pour tirer des rafales de trois ou dix images par déclenchement, peut produire des dizaines d'horodatages à partir d'un seul instant d'activité. Laissées en place, ces heures quasi identiques s'accumulent et biaisent la courbe vers « les moments où l'espèce s'est trouvée à jouer devant vos caméras » — pour reprendre la formule mémorable de `camtrapR` à propos d'un grand argus qui adorait les projecteurs.

La correction standard est un filtre de temps jusqu'à indépendance (dans `camtrapR`, l'argument `minDeltaTime`) : regroupez en un seul événement tous les enregistrements de la même espèce à la même station qui tombent dans une certaine fenêtre — 30 minutes et 60 minutes sont les choix courants. Il est facile à appliquer. Le `recordTable()` de `camtrapR` utilise par défaut `minDeltaTime = 0` (tout garder) et vous laisse fixer, disons, 60 pour éclaircir les données ; dans l'exécution d'exemple du paquet, 68 images deviennent 56 enregistrements après suppression des heures dupliquées, puis 40 une fois un filtre d'une heure appliqué. Point crucial, `minDeltaTime` « affecte tous les résultats des graphiques d'activité, car il détermine l'indépendance temporelle entre les enregistrements » — changez la fenêtre et vous changez la courbe.

Et c'est là exactement le problème, car la convention est contestée à la racine. Peral et ses collègues ont passé en revue 134 études d'activité par caméra en accès ouvert et trouvé que « près de 70 % (90 sur 134…) appliquent un filtre de temps jusqu'à indépendance », typiquement 30 minutes, parfois 60 voire 24 heures. Leur objection est conceptuelle : ces filtres ont été empruntés à l'estimation d'abondance, où plusieurs photos d'un même individu gonflent les comptages, mais l'activité n'est pas une série d'événements discrets — c'est un état continu. Comme ils le formulent, le filtre amène l'observateur à « décider de fait que l'animal est inactif durant cette période, écartant une information significative sur l'activité animale ». Pire, les dégâts sont inégaux. À partir d'un jeu de données du Serengeti de 164 509 images, ils ont montré que les herbivores abondants et sociaux « ont perdu 74 à 93 % des données d'activité lorsque le temps jusqu'à indépendance passait de 1 à 60 minutes », tandis que les carnivores rares n'en perdaient que 21 à 23 %. Le filtrage n'a pas seulement réduit les échantillons ; il a déformé les courbes — le pic de midi de la gazelle chutait jusqu'à 44 % — et, parce qu'il frappait herbivores et carnivores de manière asymétrique, il a biaisé les comparaisons mêmes de recouvrement prédateur–proie que l'on effectue. Leur conclusion est sans ambiguïté : l'usage de filtres de temps jusqu'à indépendance dans l'estimation d'activité « n'est pas valide et ne devrait pas être utilisé ».

Alors, que faire concrètement ? Ne lisez pas Peral comme « gardez chaque image brute ». Lisez-le avec précision. Les images en rafale — les dix clichés qu'une caméra tire sur un seul déclenchement — ne sont en rien un échantillon de comportement ; ce sont un réglage défini par l'utilisateur, et Peral dit explicitement qu'elles devraient être exclues des analyses d'activité. Le différend est plus étroit qu'il n'y paraît d'abord : presque tout le monde s'accorde à dire qu'il faut retirer l'accumulation artificielle due aux rafales et à un seul animal qui s'attarde. Le désaccord vivant, c'est de savoir s'il faut ensuite imposer par-dessus une fenêtre horaire fixe (30 ou 60 minutes). La position plus récente et défendable est de ne retirer que la non-indépendance évidente et de conserver les enregistrements par ailleurs — ou, si vous filtrez, de rapporter ce que le filtrage fait à vos estimations plutôt que de choisir 30 minutes parce que tout le monde le fait. Quoi que vous choisissiez, énoncez-le. Un résultat d'activité est ininterprétable sans sa règle d'indépendance, et le fait que des études publiées aient utilisé des fenêtres « variables et arbitraires » signifie que leurs courbes ne peuvent souvent pas être comparées entre elles de manière signifiante. Soyez l'étude qui est explicite.

Un résultat d'activité est ininterprétable sans sa règle d'indépendance. Soyez l'étude qui est explicite.

Ajuster la courbe : densité par noyau circulaire et noyau de von Mises

Un groupe de cerfs axis broutant dans une prairie ouverte sous la lumière douce du petit matin

Maintenant, la statistique, qui est la partie facile. L'heure de la journée est circulaire — 23:59 est adjacent à 00:00, pas à onze heures de distance — donc vous ne pouvez pas y ajuster une courbe de densité ordinaire. Vous en ajustez une circulaire. L'approche standard, introduite pour les données de caméras par Ridout et Linkie et désormais la référence du domaine, ajuste une densité par noyau aux heures observées en utilisant un noyau de von Mises (l'analogue circulaire du noyau gaussien) plutôt que le noyau rectiligne habituel. Le résultat est une densité de probabilité lisse sur le cycle de 24 heures : haute là où l'animal est actif, basse là où il ne l'est pas.

Quelques mécaniques comptent. Tous ces outils travaillent en radians, pas en heures ni en fractions de journée, si bien que la première ligne de presque tout script convertit : `timeRad <- time 2 pi`. Le lissage est piloté par une largeur de bande, exposée dans le paquet `overlap` comme l'argument `adjust` — élevez-le au-dessus de la valeur par défaut de 1 pour une courbe plus plate, abaissez-le pour une courbe plus pointue — et le choix influe sur les estimations de recouvrement en aval, il n'est donc pas purement cosmétique. Dans le paquet `activity`, la même tâche est faite par `fitact()`, qui ajuste le noyau circulaire et, parce que davantage d'enregistrements s'accumulent quand l'animal est plus actif, dérive un niveau d'activité global — la proportion de la journée que la population passe active — à partir de l'aire sous la distribution.

Deux paquets R dominent, et ils sont complémentaires. Utilisez `overlap` (fonctions `densityPlot()`, `overlapPlot()`, `overlapEst()`) quand votre question porte sur la comparaison des courbes de deux espèces. Utilisez `activity` (`fitact()`, `solartime()`, `compareCkern()`) quand vous voulez une estimation quantifiée du niveau d'activité avec des intervalles de confiance par bootstrap, ou des outils plus riches pour comparer statistiquement des distributions. Et `camtrapR` les relie à vos images : son `activityDensity()` appelle `overlap::densityPlot()`, `activityOverlap()` appelle `overlap::overlapPlot()` et `overlapEst()`, et `activityRadial()` et `activityHistogram()` vous donnent les vues en cadran et en barres horaires, toutes lues directement depuis la table d'enregistrements. Pour visualiser les résultats, le graphique radial et la courbe de densité superposée sont les deux bêtes de somme ; la courbe de densité est celle à publier, car elle montre la forme réellement estimée plutôt que d'agréger par heures entières.

L'heure de la journée est circulaire — 23:59 est adjacent à 00:00, pas à onze heures de distance — donc vous ne pouvez pas y ajuster une courbe de densité ordinaire.

Comparer les espèces : le coefficient de recouvrement (Δ)

La raison de loin la plus fréquente de mener cette analyse est de se demander si deux espèces se partagent la journée — prédateur et proie, ou deux concurrents. Le résumé standard est le coefficient de recouvrement, Δ, l'aire située sous les deux courbes de densité : il va de 0 (aucun recouvrement) à 1 (rythmes d'activité identiques). Voyez-le comme la fraction d'activité que les deux espèces ont en commun.

L'estimateur que vous utilisez dépend de votre plus petite taille d'échantillon, et cela fait trébucher les gens. Le paquet `overlap` en propose trois — Dhat1, Dhat4 et Dhat5 — et la recommandation est concrète : utilisez Dhat1 pour les petits échantillons et Dhat4 pour les plus grands. L'endroit exact où se situe le seuil est énoncé un peu différemment selon les sources par les mêmes auteurs, ce qu'il vaut la peine de savoir : la documentation du paquet dit « Dhat4 est le meilleur quand le plus petit échantillon compte au moins 50 observations », tandis que la vignette du paquet place le point de bascule plus haut, recommandant Dhat1 quand le plus petit échantillon est inférieur à 50 et Dhat4 quand il est « supérieur à 75 », avec une zone grise entre les deux. La lecture pratique : nettement au-dessus d'environ 75 dans votre plus petit échantillon, Dhat4 ; clairement petit, Dhat1 ; entre les deux, préférez Dhat1 et ne surinterprétez pas. Une règle est ferme dans toutes les sources — n'utilisez pas Dhat5, car « même de minuscules changements dans les données peuvent entraîner de grands changements discontinus de Dhat5, et il peut prendre des valeurs > 1 ». (Avis aux utilisateurs de `camtrapR` : `activityOverlap()` renvoie Dhat1 par défaut, donc si vos échantillons sont grands, passez `overlapEstimator = "Dhat4"` plutôt que d'accepter la valeur par défaut.)

Les intervalles de confiance viennent d'un bootstrap, et un bootstrap lissé est préférable — ajustez une densité, puis tirez-en des observations simulées — car un rééchantillonnage simple ne peut jamais produire une heure hors de votre plage observée, ce qui est faux pour un rythme d'activité continu. Utilisez assez de rééchantillonnages : les exemples montrent souvent 1 000, mais la vignette est explicite : « pour une analyse réelle, 10 000 échantillons bootstrap seraient préférables », et le paquet avertit que « pour des estimations stables, il vous faut au moins 999 estimations bootstrap, de préférence 10 000 ».

Des chiffres travaillés rendent cela concret. Dans l'exemple canonique de Kerinci, les tigres et les macaques d'une zone — tous deux avec plus de 75 observations — ont donné un recouvrement Dhat4 de 0,42, un recouvrement modéré et partiel. Dans une étude prédateur–proie d'Irlande du Nord, renards et lièvres se recouvraient à 73 % (IC 68–77 %) sur l'année, renards et lapins à 80 %, renards et mulots à 81 % — la journée du prédateur suivant celle de sa proie —, tandis que martres et écureuils diurnes montraient l'inverse, une asynchronie cohérente avec un évitement temporel. Parmi les grands carnivores sympatriques du plateau Qinghai–Tibet, panthères des neiges et lynx se recouvraient Δ = 0,88 (IC 0,80–0,95), panthères des neiges et loups 0,86, loups et lynx 0,83 — tous élevés, tous à dominante nocturne, le recouvrement retombant vers modéré à la saison chaude. Une convention répandue pour parler de ces nombres : en dessous de 0,5, recouvrement faible ; 0,5–0,8, modéré ; au-dessus de 0,8, élevé. C'est un raccourci utile, pas une loi.

Un léopard marchant sur une piste forestière en terre au crépuscule, vu à distance respectueuse

Combien de données faut-il ? Environ 100 détections

Vous pouvez faire tourner chacune des fonctions ci-dessus sur une douzaine de photos. Vous ne devriez pas. La question de la taille d'échantillon a une réponse empirique nette de Lashley et ses collègues, qui ont comparé des courbes d'activité issues de caméras à la « vérité » de balises radio et sous-échantillonné les données pour observer la précision se dégrader. Leur constat : « le recouvrement moyen augmentait et l'erreur de recouvrement diminuait rapidement à mesure que les tailles d'échantillon croissaient, jusqu'à une asymptote proche de 100 détections », au-delà de laquelle davantage de données n'apportait guère d'amélioration. Leur recommandation est le nombre à retenir — recueillez au moins 100 détections d'une espèce cible avant d'estimer sa courbe d'activité.

Deux réserves honnêtes autour de ces 100. Premièrement, l'effort pour obtenir 100 détections « peut varier fortement selon l'écologie, la mobilité et la détectabilité de l'espèce » — trivial pour un cervidé commun, l'affaire d'une saison pour un félin rare. L'appâtage peut aider : dans cette étude, les caméras appâtées (« actives ») ont produit un taux de détection de cervidés 700 fois plus élevé que celles posées passivement sur les coulées, ce qui compte quand on court après un échantillon dans une fenêtre biologiquement signifiante. Deuxièmement, même à de bonnes tailles d'échantillon, les courbes de caméras correspondaient bien aux balises radio en forme, mais différaient dans l'ampleur des pics — le recouvrement avec la vérité radio allait de Δ = 0,74 à 0,84, avec des différences statistiquement significatives concentrées aux heures de pointe d'alimentation. Les caméras excellent pour dire quand une espèce est active ; soyez plus prudent quand vous lisez la hauteur exacte d'un pic.

Pour le bootstrap lui-même, le plancher est plus bas mais bien réel : le paquet `overlap` note que 40 estimations bootstrap sont le strict minimum pour un intervalle de confiance à 95 %, 200 pour 99 % — mais, là encore, vous voulez des centaines à des milliers pour la stabilité, pas le minimum.

Heure d'horloge vs heure solaire : la correction que la plupart des analyses négligentes sautent

C'est l'étape qui sépare une analyse d'activité soignée d'une analyse bâclée, et elle est invisible si vous ne savez pas qu'il faut la chercher. Le lever et le coucher du soleil se déplacent au fil de l'année, et ils se déplacent d'autant plus que vous êtes loin de l'équateur. Si vous mettez en commun des photos de plusieurs saisons sur un axe d'heure d'horloge fixe, les deux pics d'un animal crépusculaire — qui suivent en réalité l'aube et le crépuscule — se retrouvent étalés en bosses larges et aplaties, parce que l'« aube » était à 05:00 en juin et à 07:30 en décembre. Mettez en commun sur une amplitude assez large et vous pouvez même fabriquer un recouvrement qui n'existe pas : l'exemple de la vignette, une chauve-souris qui sort au coucher du soleil et un rapace qui se perche au coucher du soleil, montre un recouvrement nul lors de n'importe quel mois isolé, et pourtant les données mises en commun montrent un recouvrement apparent, uniquement parce que le coucher du soleil a bougé.

La solution est d'exprimer l'heure de chaque photo par rapport au soleil plutôt qu'à l'horloge. Les deux paquets principaux le font. Dans `overlap`, `sunTime()` « convertit un vecteur d'heures d'horloge en "heures solaires", en faisant correspondre le lever du soleil à π/2 et le coucher du soleil à 3π/2 », étant donné la date et le lieu de chaque enregistrement. Dans `activity`, `solartime()` ancre les heures d'horloge au lever et au coucher moyens du soleil pour les coordonnées de l'étude et renvoie à la fois une version en heure d'horloge et une version en heure solaire, afin que vous puissiez les comparer. La règle empirique qui en découle : plus vous êtes loin de l'équateur et plus votre étude couvre une part de l'année, plus la correction importe — les hypothèses de la méthode de niveau d'activité sous-jacente sont explicitement « moins susceptibles d'être satisfaites chez les grands prédateurs, ou aux hivers de haute latitude ». Près de l'équateur, ou pour une étude confinée à une seule fenêtre courte, l'heure d'horloge convient généralement.

En pratique, les études soignées le font, tout simplement. Une étude portant sur 61 espèces à travers les forêts de montagne chinoises « a converti l'heure d'horloge de chaque détection en une heure solaire relative pour éliminer les effets de la variation de la durée du jour » avant d'ajuster les courbes. L'étude sur les carnivores du plateau a standardisé toutes les heures de capture en heure solaire avec `overlap::sunTime()`, explicitement parce que le lever du soleil s'échelonnait de 5:30 à 8:30 au fil de l'année. L'étude d'Irlande du Nord a décalé chaque détection par rapport à l'événement solaire le plus proche — enregistrements du matin par rapport au lever, enregistrements du soir par rapport au coucher — de sorte qu'une détection à 22:10 avec un coucher à 20:00 devenait « −2 h 10 min », une mesure propre de la profondeur dans la nuit à laquelle l'animal était actif. Si vos caméras sont restées à un seul endroit pendant un seul mois d'été près des tropiques, vous pouvez sauter cette étape. Sinon, convertissez — et notez que les fonctions d'activité de `camtrapR` utilisent l'heure d'horloge, pas l'heure solaire, donc si vous avez besoin de la correction, vous devez l'appliquer vous-même avant de tracer.

C'est l'étape qui sépare une analyse d'activité soignée d'une analyse bâclée, et elle est invisible si vous ne savez pas qu'il faut la chercher.

Les pièges qui ruinent en silence un rythme d'activité

Un paysage de montagne au lever du soleil, l'astre bas sur une crête projetant une lumière allongée

La plupart des analyses d'activité bonnes à jeter ne sont pas défaites par la statistique. Elles sont défaites en amont. Les modes de défaillance récurrents, à peu près par ordre de fréquence de morsure :

Le piège du placement vaut qu'on s'y attarde parce qu'il berne les gens soigneux. Les caméras posées sur des coulées et des chemins — exactement là où on les place pour attraper des carnivores ou maximiser les détections — enregistrent des animaux empruntant des sentiers, ce qui n'est pas la même chose que des animaux qui sont actifs. Tanwar et ses collègues ont mené l'expérience propre dans une réserve de tigres indienne, en déployant côte à côte des caméras sur coulée et des caméras aléatoires. Les caméras sur coulée montraient les ongulés — cerf axis, nilgaut, sanglier, gazelle — avec une « activité à dominante diurne et très peu de captures la nuit ». Les caméras aléatoires, échantillonnant le paysage plutôt que les sentiers, ont révélé une activité nocturne substantielle chez les mêmes espèces ; le nilgaut a même basculé vers un pic nocturne, le recouvrement entre les estimations sur coulée et aléatoires descendant jusqu'à Δ = 0,41. La raison est comportementale : « les coulées sont abondamment utilisées par les prédateurs la nuit », si bien que les ongulés les évitent une fois la nuit tombée — une manœuvre anti-prédateur qui les fait paraître diurnes à une caméra posée sur coulée. L'avertissement des auteurs est de ceux que toute étude d'activité devrait retenir : les rythmes d'activité publiés à partir de relevés sur coulées axés carnivores « sont probablement biaisés vers une activité diurne ». La vignette d'overlap fait le même point par l'autre bout — une caméra sur une coulée mesure « la marche sur les coulées », donc le recouvrement de deux espèces est le recouvrement de leur marche sur les coulées, et « un herbivore qui broute et le carnivore qui le traque sont probablement tous deux "inactifs" selon cette définition ». La solution est une affaire de conception : des caméras aléatoires ou hors coulée donnent une image d'activité plus honnête, et au minimum vous devriez signaler que le placement sur coulée penche vers le jour.

Une dernière mise en garde, plus subtile : soyez prudent quand vous mettez en commun des données hétérogènes de quelque nature que ce soit, pas seulement à travers les saisons. Combiner des sites ou des périodes à l'activité réellement différente gonfle les estimations de recouvrement, « et ce recouvrement apparent est un artefact de la mise en commun ». Et souvenez-vous que ce que vous mesurez réellement, ce sont des détections sur des caméras, qui interprètent « actif » comme « passant devant un capteur » — une fenêtre réelle mais partielle sur le comportement. Interprétez les interactions entre espèces avec soin ; l'histoire édifiante de la vignette est une étude où le dhole et le sanglier semblaient se partager la journée, ce qui suggérait que le dhole mangeait du sanglier, jusqu'à ce qu'une analyse des fèces montre que le dhole mangeait en fait surtout du cerf.

La plupart des analyses d'activité bonnes à jeter ne sont pas défaites par la statistique. Elles sont défaites en amont.

Vers où cela va : les modèles hiérarchiques

Un petit piège photographique discret sanglé à un arbre, orienté vers une trouée forestière ouverte, à l'écart de toute coulée

L'estimation de densité par noyau est la référence du domaine, et pour la plupart des questions c'est le bon outil. Mais il vaut la peine de connaître son plafond, car la littérature méthodologique est en train de le dépasser activement. Iannarilli et ses collègues exposent sans détour les limites de la KDE : elle met en commun les données à travers les sites et ignore donc la variabilité de site à site, produisant une incertitude trop confiante ; elle est sensible au choix de la largeur de bande sur de petits échantillons ; elle ne peut pas inclure de covariables ni tester formellement des hypothèses ; et elle « ne considère que les enregistrements où un animal a été détecté, écartant l'information sur les moments où l'échantillonnage a eu lieu mais où l'espèce n'a pas été enregistrée ». Ce dernier point est subtil mais réel — une KDE jette chaque heure-caméra durant laquelle rien ne s'est produit, alors même que ces zéros portent une information sur les moments où l'espèce n'était pas active.

L'alternative proposée, ce sont les modèles hiérarchiques — modèles linéaires mixtes généralisés trigonométriques (termes en sinus et cosinus avec effets aléatoires de site, via `glmmTMB` ou `lme4`) ou GAM à splines cubiques cycliques (via `mgcv`) — qui répartissent les données en intervalles de temps, utilisent les non-détections, tiennent compte de la variabilité de site à site et vous laissent tester comment la saison ou la présence d'un concurrent déplace la courbe. Dans une étude menée sur 100 sites au Minnesota, cette approche a quantifié l'activité de l'ours noir et du coyote tout en mettant au jour une « hétérogénéité de site à site considérable, un aspect largement ignoré » par la KDE mise en commun. Ces modèles sont plus exigeants — une règle empirique courante veut 10 sites ou plus avant d'ajuster des effets aléatoires — et disproportionnés pour une description mono-espèce, mono-site. Pour la plupart des lecteurs, la KDE plus une règle d'indépendance clairement énoncée et une correction en heure solaire est aujourd'hui le bon choix. Mais si votre question implique des covariables, plusieurs sites ou des tests d'hypothèses formels, c'est là qu'il faut regarder ensuite.

Questions fréquentes

Quel est le nombre minimal de détections nécessaire pour estimer un rythme d'activité à partir de caméras de faune ?

Environ 100. La justesse et la précision s'améliorent nettement à mesure que l'échantillon grandit, puis atteignent une asymptote proche de 100 détections, qui est le minimum recommandé avant d'estimer une courbe d'activité. Vous pouvez ajuster une courbe sur moins, mais elle sera bruitée et ne devrait pas porter beaucoup de poids interprétatif.

Dois-je appliquer un filtre d'indépendance de 30 ou 60 minutes à mes photos ?

C'est réellement débattu. Le filtre est conventionnel et retire l'accumulation due aux rafales et aux animaux qui s'attardent, mais une analyse majeure soutient que les filtres de temps jusqu'à indépendance fixes sont inappropriés pour les données d'activité — ils peuvent écarter l'essentiel des enregistrements de certaines espèces et biaiser les courbes et recouvrements qui en résultent. Le terrain d'entente défendable : excluez toujours les images en rafale, retirez la non-indépendance évidente, réfléchissez à deux fois avant d'imposer une fenêtre horaire fixe, et si vous filtrez, rapportez son effet sur vos estimations.

Que mesure réellement le coefficient de recouvrement (Δ) ?

C'est l'aire partagée sous les courbes de densité d'activité de deux espèces, de 0 (aucune activité partagée) à 1 (rythmes identiques) — la fraction de la journée pendant laquelle deux espèces sont actives en commun. Un raccourci répandu lit en dessous de 0,5 un recouvrement faible, 0,5–0,8 modéré, et au-dessus de 0,8 élevé.

Dois-je convertir en « heure solaire », et comment ?

Oui, si votre étude couvre plusieurs saisons ou se situe nettement loin de l'équateur — plus vous êtes loin de l'équateur et plus l'étude est longue, plus cela compte. Mettre en commun à travers un lever/coucher de soleil mouvant sur un axe d'heure d'horloge aplatit les pics et peut fabriquer du recouvrement. Utilisez `overlap::sunTime()` ou `activity::solartime()`, qui ancrent chaque enregistrement au lever et au coucher du soleil selon la date et le lieu.

Quel paquet R devrais-je utiliser — `overlap`, `activity` ou `camtrapR` ?

Les trois, pour des tâches différentes. `camtrapR` extrait les horodatages de vos images et produit la table d'enregistrements et des graphiques d'activité rapides ; `overlap` est l'outil pour comparer deux espèces via le coefficient Δ ; `activity` est le meilleur pour estimer un niveau d'activité global avec des intervalles de confiance. Notez que les fonctions d'activité de `camtrapR` utilisent l'heure d'horloge, donc appliquez d'abord vous-même toute correction en heure solaire.

Puis-je faire confiance à un rythme d'activité issu de caméras posées sur des coulées ?

Avec prudence. Les caméras posées sur coulée enregistrent l'usage des coulées, pas l'activité en général, et peuvent faire paraître une espèce plus diurne qu'elle ne l'est — les ongulés évitent les coulées la nuit pour esquiver les prédateurs, si bien que les caméras sur coulée sous-estiment leur activité nocturne. Des caméras aléatoires ou hors coulée donnent une courbe plus honnête ; au minimum, signalez que le placement sur coulée penche vers le jour.