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)

}

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


person user1860135    schedule 07.01.2014    source источник


Ответы (1)


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

person Chris Fonnesbeck    schedule 08.01.2014