Полное руководство: модель SECR для оценки плотности грызунов
Узнайте, как указывать модели SECR в R для оценки плотности грызунов по станциям, сессиям и участкам. Обрабатывайте разреженные данные и получайте точные оценки плотности даже при отсутствии отловов.
Как указать модель secr для оценки плотности грызунов по станциям, сессиям и участкам?
Я использую пакет secr в R для оценки плотности грызунов и мне нужно рассчитать плотность по станциям внутри каждого участка (15 станций на каждом из 12 участков) и по сессиям. Каждая станция имеет 3 ловушки. Я хочу, чтобы модель учитывала данные из других сессий при оценке плотности для данной сессии. Например, я не поймал ни одного индивида в первой сессии, но поймал во второй и третьей сессиях. Мне нужно, чтобы secr предоставил оценку плотности для первой сессии, указывая на то, что грызуны присутствовали, даже несмотря на то, что они не были пойманы. Как следует указать эту модель, чтобы учесть вероятность обнаружения в течение нескольких сессий?
Оценка плотности грызунов по станциям, сессиям и участкам с использованием пакета secr в R
Для оценки плотности грызунов по станциям, сессиям и участкам с использованием пакета secr в R, вам необходимо структурировать ваши данные как объект истории отлова с несколькими сессиями и указать модель, включающую параметры плотности, специфичные для сессий, при этом учитывая вероятность обнаружения во всех сессиях. Пакет secr специально разработан для моделирования пространственно-явного отлова-перелова (SECR) и может обрабатывать несколько сессий с общей информацией об обнаружении.
Содержание
- Требования к структуре данных
- Спецификация модели для плотности, специфичной для сессии
- Учет эффектов станций и участков
- Обработка разреженных или нулевых данных об отлове
- Практические шаги реализации
- Валидация и интерпретация модели
- Дополнительные соображения
Требования к структуре данных
Перед спецификацией модели вам необходимо правильно структурировать ваши данные как объект capthist с несколькими сессиями в secr. Исходя из вашего дизайна с 12 участками, 15 станциями на участке и 3 ловушками на станции, вам потребуется:
- Данные об отлове: Отформатируйте историю отлова с колонками для сессии, участка, станции, ловушки и случаев отлова
- Координаты расположения ловушек: X,Y координаты для каждого места расположения ловушки
- Маска: Сетка, покрывающая вашу исследуемую область для оценки плотности
Пакет secr требует, чтобы ваши данные были организованы так, чтобы каждое обнаружение записывалось с его пространственным расположением. Для данных с несколькими сессиями вы можете использовать функцию DENSITY для импорта ваших данных, которая автоматически обрабатывает несколько сессий с разным расположением ловушек.
# Пример структуры данных
library(secr)
# Импорт данных об отлове с несколькими сессиями
mydata <- DENSITY(filename = "mycapturedata.txt",
type = "multi",
traps = "mytraplayout.txt",
noccasions = c(5, 5, 5)) # 5 случаев отловов на сессию
Спецификация модели для плотности, специфичной для сессии
Для оценки плотности по сессиям с использованием информации из всех сессий, вам необходимо указать модель с несколькими сессиями с параметрами плотности, специфичными для сессии. Ключевым является использование аргумента model в secr.fit с соответствующим синтаксисом формулы.
# Базовая модель с несколькими сессиями и плотностью, специфичной для сессии
model1 <- secr.fit(mydata,
model = list(D ~ session, g0 ~ 1, sigma ~ 1),
details = list(autoini = 1))
Эта модель указывает:
D ~ session: Плотность варьируется по сессиям (оценивает отдельную плотность для каждой сессии)g0 ~ 1: Базовая вероятность обнаружения постоянна во всех сессияхsigma ~ 1: Параметр масштаба обнаружения постоянен во всех сессиях
autoini = 1 в деталях указывает, что начальные значения должны быть вычислены из сессии 1, что особенно полезно, когда некоторые сессии не имеют отловов.
Учет эффектов станций и участков
Для оценки плотности по станциям внутри участков вам необходимо включить эти факторы в вашу модель плотности. Вы можете использовать аргумент covariates для включения информации об участке и станции.
# Создание фрейма данных ковариат
covariates <- data.frame(
site = factor(rep(1:12, each = 15)),
station = factor(rep(1:15, 12))
)
# Модель с эффектами участка и станции
model2 <- secr.fit(mydata,
model = list(D ~ site + site:session, g0 ~ 1, sigma ~ 1),
covariates = covariates,
details = list(autoini = 1))
Эта модель оценивает:
- Общие эффекты участка на плотность
- Эффекты, специфичные для сессии внутри участков (
site:sessionвзаимодействие) - Позволяет плотности варьироваться как по участкам, так и по сессиям внутри участков
Термин site:session особенно полезен, так как он оценивает, как плотность изменяется в каждом участке в разных сессиях, заимствуя информацию из всех участков и сессий.
Обработка разреженных или нулевых данных об отлове
Пакет secr специально разработан для обработки ситуаций, когда животные присутствуют, но не обнаружены, таких как ваша первая сессия без отловов. Пространственно-явный подход учитывает это, моделируя как пространственное распределение животных (центры активности), так и их вероятность обнаружения на основе расстояния.
# Модель, явно обрабатывающая разреженные данные
model3 <- secr.fit(mydata,
model = list(D ~ session, g0 ~ session, sigma ~ session),
details = list(
autoini = 1,
trace = 0,
verify = FALSE
))
Эта модель:
- Оценивает отдельные параметры обнаружения (
g0иsigma) для каждой сессии - Использует
autoini = 1для вычисления начальных значений из сессии 1 - Устанавливает
verify = FALSEдля избежания сообщений верификации, которые могут возникать с разреженными данными
Пространственная модель inherently учитывает необнаруженных особей, оценивая вероятность обнаружения животных на различных расстояниях от их центров активности. Когда в сессии не происходит отловов, модель все еще может оценить плотность, учитывая пространственное покрытие ваших ловушек и вероятности обнаружения.
Практические шаги реализации
Вот пошаговый подход к реализации вашего анализа:
-
Подготовка ваших данных:
r# Загрузка требуемых пакетов library(secr) # Импорт данных об отлове mycapthist <- DENSITY("rodent_captures.txt", type = "multi", traps = "trap_locations.txt", noccasions = c(5, 5, 5)) -
Создание маски для оценки плотности:
r# Создание маски, покрывающей вашу исследуемую область mask <- make.grid(mytraplayout, spacing = 20) # разрешение 20м -
Подгонка модели с несколькими сессиями:
r# Базовая модель с плотностью, специфичной для сессии model_session <- secr.fit(mycapthist, mask = mask, model = list(D ~ session, g0 ~ 1, sigma ~ 1), details = list(autoini = 1)) # Модель с эффектами участка и станции model_site_station <- secr.fit(mycapthist, mask = mask, model = list(D ~ site + site:session, g0 ~ 1, sigma ~ 1), covariates = covariates, details = list(autoini = 1)) -
Извлечение и интерпретация результатов:
r# Получение оценок плотности, специфичных для сессии summary(model_site_station) # Извлечение оценок плотности по сессиям density_estimates <- predict(model_site_station, type = "density")
Валидация и интерпретация модели
После подгонки вашей модели вы должны валидировать ее и интерпретировать результаты внимательно:
-
Проверка сходимости модели:
r# Проверка сходимости model_site_station$details$converged -
Сравнение моделей:
r# Сравнение моделей с AIC model_session <- secr.fit(mycapthist, model = list(D ~ session, g0 ~ 1, sigma ~ 1)) model_constant <- secr.fit(mycapthist, model = list(D ~ 1, g0 ~ 1, sigma ~ 1)) AIC(model_session, model_constant) -
Интерпретация плотности, специфичной для сессии:
- Модель
D ~ sessionпредоставит отдельные оценки плотности для каждой сессии - Даже если в сессии не произошло отловов, вы должны получить оценку плотности
- Сравните точность (стандартные ошибки) оценок по сессиям
- Модель
-
Проверка параметров обнаружения:
- Более высокие значения
g0указывают на лучшую базовую вероятность обнаружения - Большие значения
sigmaуказывают на то, что животные обнаруживаются на больших расстояниях
- Более высокие значения
Дополнительные соображения
Для более сложных анализов рассмотрите эти продвинутые подходы:
-
Обнаружение, изменяющееся во времени:
r# Модель с параметрами обнаружения, специфичными для сессии model_det <- secr.fit(mycapthist, model = list(D ~ session, g0 ~ session, sigma ~ session), details = list(autoini = 1)) -
Пространственные ковариаты:
r# Добавление ковариат среды в модель плотности model_cov <- secr.fit(mycapthist, model = list(D ~ session + habitat, g0 ~ 1, sigma ~ 1), covariates = habitat_data) -
Предположение о закрытой популяции:
- secr предполагает, что популяции закрыты в пределах сессий
- Если животные перемещаются между сессиями, рассмотрите модели открытых популяций
Пакет secr предоставляет всеобъемлющую документацию и поддержку через secr Google group для любых дополнительных вопросов о спецификации и интерпретации модели.
Источники
- secr 5.3 - spatially explicit capture–recapture in R Murray Efford 2025-09-27
- Multi-session models in secr 5.2 Murray Efford 2025-01-26
- Help in fitting a multi-session SECR model in R Studio
- r - Secr model by station, session and site - Stack Overflow
- A tutorial on fitting spatially explicit capture–recapture models in secr 5.2
- secr: Spatially Explicit Capture-Recapture
- DENSITY: Import or export data in secr
Заключение
Для оценки плотности грызунов по станциям, сессиям и участкам с использованием secr в R вы должны:
- Структурировать ваши данные как объект capthist с несколькими сессиями с правильными пространственными координатами
- Использовать
D ~ sessionв формуле модели для оценки плотности, специфичной для сессии - Включать эффекты участка и станции через ковариаты и термы взаимодействия (например,
site:session) - Установить
autoini = 1в деталях для помощи в сходимости, когда некоторые сессии не имеют отловов - Пространственная модель inherently предоставит оценки плотности даже для сессий с нулевыми отловами, учитывая вероятность обнаружения
Пакет secr особенно хорошо подходит для этого анализа, так как он использует пространственно-явные методы, которые учитывают как распределение животных, так и вероятность обнаружения, позволяя вам оценивать плотность по нескольким сессиям, правильно обрабатывая разреженные или отсутствующие данные об отлове.