発見率モデル(除去法)

除去法による発見率モデル

発見率を推定する方法として、繰り返し調査の他に、除去法による推定方法があります。除去法では、調査区間から個体を一時的に除去していき(例えば、バケツに入れておくなど)、個体数の減少パターンから発見率を推定します。個体は閉鎖区間からいずれいなくなるのですが(全数調査:この場合推定はいらない)、それを実行するのは現実的ではありません。そのため、2回~3回の調査を行い、その限られた情報から真の個体数を推定することになります。
 除去法で得られたデータは、次のような過程を経て観察されていると考えることができます(簡単のため、3回除去を行った場合を想定)。まず、3回調査したときにとれた総個体数nは、真の個体数Nに採捕効率π(0–1の値をとる:真の個体数に対する採捕個体数の割合)をかけたものなので、

SPONSOR LINK

n = πN

と表すことができます。次に、1回目の調査で採捕された個体数n1は、真の個体数Nに対し、「調査一回あたりの採捕効率p」を掛け合わせたものになります。

n1 = Np = nπ−1 p

2回目の調査で採捕される個体数n2は、真の個体数Nから1回目の調査で採捕された個体数を差し引いたもの(N− n1)に対し、採捕効率pを掛け合わせたものとして表します。

n2 = (N− n1)p = (nπ−1 − nπ−1 p)p = nπ−1p(1−p)

同様に考えて、3回目の調査で採捕される個体数n3は以下の式で表せます。

n3 = (N− n1− n2)p = nπ−1p(1−p) (1−p)

つまり、k回目の採捕個体数を一般化した形で表すと、

nk = nπ−1p(1−p)k−1

となります。

このように得られるデータは、多項分布(発見プロセス)とポアソン分布(真の個体数Nの空間的ばらつき)の混合モデルとして表現することができます。

[ni1, ni2, ni3|Ni, π] ~ Multinomial(Ni, π)

Ni ~ Pois(λ)

SPONSOR LINK

BUGSによる実装

実際にスクリプトを書く場合、BUGSの多項分布は限られた観察数n(総採捕数)に対する各要素の比率(nk/n)を推定することしかできないので、真の個体数Nと総採捕個体数nの間の関係を記述する際に、二項分布を仮定することになります。

model{
###Priors###------------------------------------------------
p0 ~ dbeta(1,1)
log(lambda) <- alpha
alpha ~ dnorm(0,ninfo)
  
###Likelihood###--------------------------------------------
  for(i in 1:Nsite){
    #p[i]: probablity of being captured with a single pass
    p[i] <- p0
   
    mu[i,1] <- p[i] # proportion of fish removed at 1st pass
    mu[i,2] <- p[i]*(1-p[i])
    mu[i,3] <- p[i]*(1-p[i])*(1-p[i])
   
    #total catchability
    pi[i] <- sum(mu[i,])
    
    for(j in 1:J){# J = 3
      muc[i,j]	<- mu[i,j]/pi[i]
    }
    y[i,1:J] ~ dmulti(muc[i,1:J], ncap[i])
    ncap[i] ~ dbin(pi[i], N[i]) #ncap: total number of fish captured
  }
  
  for(i in 1:Nsite){ N[i] ~ dpois(lambda) }
}

発見率について、地点間でランダムにばらつく場合を想定する場合、以下のように書き換えます。

model{
###Priors###------------------------------------------------
logit.p0 <- logit(p0)
p0 ~ dbeta(1,1)
log(lambda) <- alpha
alpha ~ dnorm(0,ninfo)
tau.eps <- pow(sigma.eps,-2)
sigma.eps ~ dunif(0,100)

###Likelihood###--------------------------------------------
  for(i in 1:Nsite){
    #p[i]: probablity of being captured with a single pass
    logit(p[i]) <- logit.p0 + eps[i]
    eps[i] ~ dnorm(0,tau.eps)
   
    mu[i,1] <- p[i] # proportion of fish removed at 1st pass
    mu[i,2] <- p[i]*(1-p[i])
    mu[i,3] <- p[i]*(1-p[i])*(1-p[i])
   
    #total catchability
    pi[i] <- sum(mu[i,])
    
    for(j in 1:J){# J = 3
      muc[i,j]	<- mu[i,j]/pi[i]
    }
    y[i,1:J] ~ dmulti(muc[i,1:J], ncap[i])
    ncap[i] ~ dbin(pi[i], N[i]) #ncap: total number of fish captured
  }
  
  for(i in 1:Nsite){ N[i] ~ dpois(lambda) }
}

そのほか、説明変数に関する情報があれば、それらの発見率に対する効果なども見ることが可能です。

Spread the love

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です