11data {
22 int < lower =0 > n_dogs;
33 int < lower =0 > n_trials;
4- matrix [n_dogs,n_trials] y ;
4+ int < lower = 0 , upper = 1 > y [n_dogs,n_trials];
55}
66parameters {
77 real < lower =0 ,upper =100 > sigma_b1;
@@ -10,41 +10,39 @@ parameters {
1010 real < lower =- 1 ,upper =1 > rho_b;
1111 vector [2 ] mu_beta;
1212}
13- transformed parameters {
13+ model {
1414 vector [n_dogs] beta1;
1515 vector [n_dogs] beta2;
1616 matrix [n_dogs,n_trials] n_avoid;
1717 matrix [n_dogs,n_trials] n_shock;
1818 matrix [n_dogs,n_trials] p;
19- cov_matrix [2 ] Sigma_b;
19+ matrix [2 ,2 ] Sigma_b;
20+
21+ sigma_b1 ~ uniform (0 , 100 );
22+ sigma_b2 ~ uniform (0 , 100 );
23+ rho_b ~ uniform (- 1 , 1 );
24+ mu_beta ~ normal (0 , 100 );
2025
2126 Sigma_b[1 ,1 ] <- pow( sigma_b1,2 );
2227 Sigma_b[2 ,2 ] <- pow( sigma_b2,2 );
2328 Sigma_b[1 ,2 ] <- rho_b* sigma_b1* sigma_b2;
2429 Sigma_b[2 ,1 ] <- Sigma_b[1 ,2 ];
2530
31+ for (i in 1 : n_dogs)
32+ transpose(beta_neg[i]) ~ multi_normal_prec (mu_beta,Sigma_b);
2633
2734 for (j in 1 : n_dogs) {
2835 n_avoid[j,1 ] <- 0 ;
2936 n_shock[j,1 ] <- 0 ;
30- beta1[j] <- - exp( b_neg [j,1 ]);
31- beta2[j] <- - exp( b_neg [j,2 ]);
37+ beta1[j] <- - exp( beta_neg [j,1 ]);
38+ beta2[j] <- - exp( beta_neg [j,2 ]);
3239 for (t in 2 : n_trials) {
3340 n_avoid[j,t] <- n_avoid[j,t- 1 ] + 1 - y[j,t- 1 ];
3441 n_shock[j,t] <- n_shock[j,t- 1 ] + y[j,t- 1 ];
3542 }
36- for (t in 1 : n_trials)
37- p[j,t] <- exp( beta1[j] * n_avoid[j,t] + beta2[j] * n_shock[j,t]);
43+ for (t in 1 : n_trials) {
44+ p[j,t] <- inv_logit( beta1[j] * n_avoid[j,t] + beta2[j] * n_shock[j,t]);
45+ y[j,t] ~ bernoulli (p[j,t]);
46+ }
3847 }
3948}
40- model {
41- sigma_b1 ~ uniform (0 , 100 );
42- sigma_b2 ~ uniform (0 , 100 );
43- rho_b ~ uniform (- 1 , 1 );
44- mu_beta ~ normal (0 , 100 );
45-
46- for (i in 1 : n_dogs)
47- transpose(b_neg[i]) ~ multi_normal_prec (mu_beta,Sigma_b);
48-
49- y ~ binomial (p, 1 );
50- }
0 commit comments