behavior_model_truth.stan 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. real recs_priors_lpmf(array[] int children,
  2. int start, int end,
  3. int n_recs,
  4. int n_classes,
  5. real recs_duration,
  6. array [] real age,
  7. matrix truth_vocs,
  8. vector mu_pop_level,
  9. matrix mu_child_level,
  10. vector alpha_child_level,
  11. vector child_dev_age,
  12. real beta_dev,
  13. real beta_direct
  14. ) {
  15. real ll = 0;
  16. for (k in start:end) {
  17. real chi_mu = mu_pop_level[1]*exp(
  18. (child_dev_age[children[k-start+1]])*age[k]/12.0/10.0+(mu_child_level[children[k-start+1],2]+mu_child_level[children[k-start+1],3]-mu_pop_level[3]-mu_pop_level[4])*(beta_dev*age[k]/12.0/10.0+beta_direct/10.0)
  19. );
  20. ll += gamma_lpdf(
  21. truth_vocs[k,1]/1000/recs_duration | alpha_child_level[1], alpha_child_level[1]/chi_mu
  22. );
  23. ll += gamma_lpdf(
  24. truth_vocs[k,2:]/1000/recs_duration | alpha_child_level[2:], alpha_child_level[2:]./mu_child_level[children[k-start+1],:]' //'
  25. );
  26. }
  27. return ll;
  28. }