N-смесь моделей в Python

Я новичок в Python и испытываю трудности с переводом модели, написанной на R, на язык Python. Если у кого-то есть предложения по ресурсам или примеры кода, которые могут помочь, я был бы очень признателен. Я видел некоторые фрагменты кода и текста в файлах справки и т. Д., Но ни один из них не является достаточно аннотированным или достаточно конкретным для новичка в Python. Следующая модель представляет собой модель численности N-смеси, смоделированную по Royle (2004): модели N-смеси для оценки численности популяции по пространственно реплицированным подсчетам. По сути, она описывает модель смеси Пуассона / Бинома, где-где Где Z_i - численность на уровне водно-болотных угодий и рассматривается как случайная величина с распределением Пуассона. Наблюдаемое количество выводков (yij) на сайте i и во время посещения j затем следует биномиальному распределению с индексным параметром Z_i и параметром успеха p_ij. Численность 〖(λ〗_i) моделируется через логарифмическую связь как функцию от ковариат, а вероятности обнаружения моделируются через логитную связь как функцию от b ковариат.

model {

## Priors

a0 ~ dunif(-5, 5)
a1~ dunif(-5, 5)
a2 ~ dunif(-5, 5)
a3~ dunif(-5, 5)
b0 ~ dunif(-5, 5)
b1~ dunif(-5, 5)
b2~ dunif(-5, 5)

## Model

# State process
for(i in 1:5175) {
logit(psi[i]) <- min(max(a0 + a1*wetarea[i] + 
    a2*percentcover[i] + 
    a3*(year[i]), -99), 99)

Z[i] ~ dbern(psi[i])

# Detection process
for(j in 1:3) {
    logit(p[i, j]) <- b0 + b1*emergentcover[i, j] + 
        b2*time[i]
    y[i, j] ~ dbin(p[i, j], Z[i])
    }
}


## Derived parameters   
Zsum <- sum(Z[])    # Number of sites occupied
PAO <- Zsum / 100   # Proportion of sites occupied (aka PAO)

}

Заранее спасибо за любую помощь / предложения

1 ответ

В PyMC есть несколько примеров, в том числе модели занятости и смешанные модели. Я бы посмотрел на них; Ваша модель выглядит довольно просто.

Другие вопросы по тегам