2014-03-03 78 views
1
確定性節點的限制

我試圖截斷確定性節點,​​theta.t,以確保在年底採用T(0,1)其值處於0和1之間 我試圖解決這個問題第6行,但這不起作用,我不知道如何使用~ dinterval()來解決這個特定的問題。下限和上限在JAGS

我正在使用JAGS 3.3.0和R 3.0.2。

這裏是我的代碼:

model { 
    # PRIORS 
    alpha ~ dunif(0,1) 
    beta ~ dunif(0,1) 
    # Deterministic Node 
    for(j in 1:n.intervals) { 
    theta.t[j] <- exp(-alpha * retention.intervals[j]) + beta 
    } 
    # DATA 
    for(i in 1:n.participants) { 
    for(j in 1:n.intervals) { 
     k[i, j] ~ dbin(theta.t[j], 18) 
    } 
    } 
} 

提前感謝!

回答

0

JAGS manual的第7章指出不可能截斷或檢查確定性節點。您只能在隨機節點上執行截斷和刪除操作。

你唯一的方法就是改變你的先驗。

1

您應該可以使用minmax來實現此目的。例如,要約束theta[j],使其位於0和1之間:

theta.t[j] <- max(0, min(1, exp(-alpha * retention.intervals[j]) + beta))