|
@@ -6,12 +6,9 @@ real inverse_model_lpdf(array [] matrix actual_confusion,
|
|
|
array [,] int vocs,
|
|
|
array [] real age,
|
|
|
matrix truth_vocs,
|
|
|
- //array [] vector actual_fp_rate,
|
|
|
matrix mus,
|
|
|
matrix etas,
|
|
|
- matrix p//,
|
|
|
- //vector mus_fp,
|
|
|
- //vector alphas_fp
|
|
|
+ matrix p
|
|
|
) {
|
|
|
real ll = 0;
|
|
|
|
|
@@ -24,11 +21,9 @@ real inverse_model_lpdf(array [] matrix actual_confusion,
|
|
|
|
|
|
for (i in 1:n_classes) {
|
|
|
ll += beta_proportion_lpdf(actual_confusion[k-start+1,i] | mus[i,:], etas[i,:]);
|
|
|
- //ll += gamma_lpdf(actual_fp_rate[k] | alphas_fp, alphas_fp./mus_fp);
|
|
|
|
|
|
expect[i] = dot_product(truth_vocs[k,:], (2-p[:,i]).*actual_confusion[k-start+1,:,i]);
|
|
|
sd[i] = dot_product(truth_vocs[k,:], (2-p[:,i]).*(actual_confusion[k-start+1,:,i].*(1-actual_confusion[k-start+1,:,i])));
|
|
|
- //expect[i] += actual_fp_rate[k,i] * duration;
|
|
|
}
|
|
|
|
|
|
ll += normal_lpdf(vocs[k,:] | expect, sqrt(sd));
|