|
@@ -7,8 +7,7 @@ real confusion_model_lpdf(array[] matrix lambda,
|
|
|
array[] int group,
|
|
|
array[] real age,
|
|
|
array[] real clip_duration,
|
|
|
- matrix p,
|
|
|
- matrix etas_p
|
|
|
+ matrix p
|
|
|
) {
|
|
|
real ll = 0;
|
|
|
vector [4] dp;
|
|
@@ -36,19 +35,19 @@ real confusion_model_lpdf(array[] matrix lambda,
|
|
|
// (as opposed to two vocs)
|
|
|
for (chi1 in max(0, 2*chi_d-algo[k,i]):chi_d) {
|
|
|
int chi = 2*chi_d-chi1;
|
|
|
- bp[1] = chi_d==0?0:beta_binomial_lpmf(chi1 | chi_d, p[1,i]*etas_p[1,i], (1-p[1,i])*etas_p[1,i]);
|
|
|
+ bp[1] = chi_d==0?0:beta_lpmf(chi1 | chi_d, p[1,i]);
|
|
|
|
|
|
for (och_d in 0:(truth[k,2]>0?min(truth[k,2], algo[k,i]-chi):0)) {
|
|
|
dp[2] = truth[k,2]==0?0:binomial_lpmf(och_d | truth[k,2], lambda[lg,2,i]);
|
|
|
for (och1 in max(0, 2*och_d-(algo[k,i]-chi)):och_d) {
|
|
|
int och = 2*och_d-och1;
|
|
|
- bp[2] = och_d==0?0:beta_binomial_lpmf(och1 | och_d, p[2,i]*etas_p[2,i], (1-p[2,i])*etas_p[2,i]);
|
|
|
+ bp[2] = och_d==0?0:beta_lpmf(och1 | och_d, p[2,i]);
|
|
|
|
|
|
for (fem_d in 0:(truth[k,3]>0?min(truth[k,3], algo[k,i]-chi-och):0)) {
|
|
|
dp[3] = truth[k,3]==0?0:binomial_lpmf(fem_d | truth[k,3], lambda[lg,3,i]);
|
|
|
for (fem1 in max(0, 2*fem_d-(algo[k,i]-chi-och)):fem_d) {
|
|
|
int fem = 2*fem_d-fem1;
|
|
|
- bp[3] = fem_d==0?0:beta_binomial_lpmf(fem1 | fem_d, p[3,i]*etas_p[3,i], (1-p[3,i])*etas_p[3,i]);
|
|
|
+ bp[3] = fem_d==0?0:beta_lpmf(fem1 | fem_d, p[3,i]);
|
|
|
|
|
|
for (mal_d in 0:(truth[k,4]>0?min(truth[k,4], algo[k,i]-chi-och-fem):0)) {
|
|
|
dp[4] = truth[k,4]==0?0:binomial_lpmf(mal_d | truth[k,4], lambda[lg,4,i]);
|
|
@@ -56,7 +55,7 @@ real confusion_model_lpdf(array[] matrix lambda,
|
|
|
int mal = 2*mal_d-mal1;
|
|
|
int delta = algo[k,i] - (mal+fem+och+chi);
|
|
|
if (delta==0) {
|
|
|
- bp[4] = mal_d==0?0:beta_binomial_lpmf(mal1 | mal_d, p[4,i]*etas_p[4,i], (1-p[4,i])*etas_p[4,i]);
|
|
|
+ bp[4] = mal_d==0?0:beta_lpmf(mal1 | mal_d, p[4,i]);
|
|
|
log_contrib_comb[n] += sum(dp+bp);
|
|
|
n = n+1;
|
|
|
}
|