Skip to content

Commit 67c7295

Browse files
authored
Merge pull request #200 from andrjohns/feature/arm_ch10-ch12
Updates ARM Ch10-Ch12 models
2 parents f042a79 + 1758d47 commit 67c7295

15 files changed

+102
-96
lines changed

ARM/Ch.10/ideo_interactions.stan

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ data {
55
vector[N] x;
66
}
77
transformed data {
8-
vector[N] inter;
9-
10-
inter = party .* x;
8+
vector[N] inter = party .* x;
9+
matrix[N,3] cov = [party', x', inter']';
1110
}
1211
parameters {
13-
vector[4] beta;
12+
real alpha;
13+
vector[3] beta;
1414
real<lower=0> sigma;
1515
}
1616
model {
17-
score1 ~ normal(beta[1] + beta[2] * party + beta[3] * x + beta[4] * inter,sigma);
17+
score1 ~ normal_id_glm(cov, alpha, beta, sigma);
1818
}

ARM/Ch.10/ideo_reparam.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ data {
55
vector[N] z1; //z value for party 0, 0 otherwise
66
vector[N] z2; //z value for party 1, 0 otherwise
77
}
8+
transformed data {
9+
matrix[N,3] x = [party', z1', z2']';
10+
}
811
parameters {
9-
vector[4] beta;
12+
real alpha;
13+
vector[3] beta;
1014
real<lower=0> sigma;
1115
}
1216
model {
13-
score1 ~ normal(beta[1] + beta[2] * party + beta[3] * z1 + beta[4] * z2,sigma);
17+
score1 ~ normal_id_glm(x, alpha, beta, sigma);
1418
}

ARM/Ch.10/ideo_two_pred.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ data {
44
vector[N] score1;
55
vector[N] x;
66
}
7+
transformed data {
8+
matrix[N,2] cov = [party', x']';
9+
}
710
parameters {
8-
vector[3] beta;
11+
real alpha;
12+
vector[2] beta;
913
real<lower=0> sigma;
1014
}
1115
model {
12-
score1 ~ normal(beta[1] + beta[2] * party + beta[3] * x,sigma);
16+
score1 ~ normal_id_glm(cov, alpha, beta, sigma);
1317
}

ARM/Ch.10/sesame_multi_preds_3a.stan

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,24 @@ transformed data {
1010
vector[N] site2;
1111
vector[N] site3;
1212
vector[N] site4;
13-
vector[N] site5;
13+
vector[N] site5;
14+
matrix[N,7] x;
15+
1416
for (i in 1:N) {
1517
site2[i] = site[i] == 2;
1618
site3[i] = site[i] == 3;
1719
site4[i] = site[i] == 4;
1820
site5[i] = site[i] == 5;
1921
}
22+
23+
x = [encouraged', pretest', site2', site3',
24+
site4', site5', setting']';
2025
}
2126
parameters {
22-
vector[8] beta;
27+
real alpha;
28+
vector[7] beta;
2329
real<lower=0> sigma;
2430
}
2531
model {
26-
watched ~ normal(beta[1] + beta[2] * encouraged + beta[3] * pretest
27-
+ beta[4] * site2 + beta[5] * site3 + beta[6] * site4
28-
+ beta[7] * site5 + beta[8] * setting,sigma);
32+
watched ~ normal_id_glm(x, alpha, beta, sigma);
2933
}

ARM/Ch.10/sesame_multi_preds_3b.stan

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,24 @@ transformed data {
1010
vector[N] site2;
1111
vector[N] site3;
1212
vector[N] site4;
13-
vector[N] site5;
13+
vector[N] site5;
14+
matrix[N,7] x;
15+
1416
for (i in 1:N) {
1517
site2[i] = site[i] == 2;
1618
site3[i] = site[i] == 3;
1719
site4[i] = site[i] == 4;
1820
site5[i] = site[i] == 5;
1921
}
22+
23+
x = [watched_hat', pretest', site2', site3',
24+
site4', site5', setting']';
2025
}
2126
parameters {
22-
vector[8] beta;
27+
real alpha;
28+
vector[7] beta;
2329
real<lower=0> sigma;
2430
}
2531
model {
26-
y ~ normal(beta[1] + beta[2] * watched_hat + beta[3] * pretest
27-
+ beta[4] * site2 + beta[5] * site3 + beta[6] * site4
28-
+ beta[7] * site5 + beta[8] * setting,sigma);
32+
y ~ normal_id_glm(x, alpha, beta, sigma);
2933
}

ARM/Ch.10/sesame_one_pred_2b.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ data {
33
vector[N] watched_hat;
44
vector[N] y;
55
}
6+
transformed data {
7+
matrix[N,1] x = [watched_hat']';
8+
}
69
parameters {
7-
vector[2] beta;
10+
real alpha;
11+
vector[1] beta;
812
real<lower=0> sigma;
913
}
1014
model {
11-
y ~ normal(beta[1] + beta[2] * watched_hat,sigma);
15+
y ~ normal_id_glm(x, alpha, beta, sigma);
1216
}

ARM/Ch.10/sesame_one_pred_a.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ data {
33
vector[N] encouraged;
44
vector[N] watched;
55
}
6+
transformed data {
7+
matrix[N,1] x = [encouraged']';
8+
}
69
parameters {
7-
vector[2] beta;
10+
real alpha;
11+
vector[1] beta;
812
real<lower=0> sigma;
913
}
1014
model {
11-
watched ~ normal(beta[1] + beta[2] * encouraged,sigma);
15+
watched ~ normal_id_glm(x, alpha, beta, sigma);
1216
}

ARM/Ch.10/sesame_one_pred_b.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ data {
33
vector[N] encouraged;
44
vector[N] y;
55
}
6+
transformed data {
7+
matrix[N,1] x = [encouraged']';
8+
}
69
parameters {
7-
vector[2] beta;
10+
real alpha;
11+
vector[1] beta;
812
real<lower=0> sigma;
913
}
1014
model {
11-
y ~ normal(beta[1] + beta[2] * encouraged,sigma);
15+
y ~ normal_id_glm(x, alpha, beta, sigma);
1216
}

ARM/Ch.12/radon_complete_pool.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@ data {
33
vector[N] x;
44
vector[N] y;
55
}
6+
transformed data {
7+
matrix[N,1] cov = [x']';
8+
}
69
parameters {
7-
vector[2] beta;
10+
real alpha;
11+
vector[1] beta;
812
real<lower=0> sigma;
913
}
1014
model {
1115
sigma ~ cauchy(0, 2.5);
12-
y ~ normal(beta[1] + beta[2] * x, sigma);
16+
y ~ normal_id_glm(cov, alpha, beta, sigma);
1317
}

ARM/Ch.12/radon_group.stan

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,26 @@ data {
66
vector[N] x;
77
vector[N] y;
88
}
9+
transformed data {
10+
matrix[N,2] cov = [x', u']';
11+
}
912
parameters {
10-
vector[J] alpha;
11-
vector[2] beta;
1213
real mu_alpha;
1314
real mu_beta;
1415
real<lower=0> sigma;
1516
real<lower=0> sigma_alpha;
1617
real<lower=0> sigma_beta;
18+
vector<offset=mu_alpha, multiplier=sigma_alpha>[J] alpha;
19+
vector<offset=mu_beta, multiplier=sigma_beta>[2] beta;
1720
}
1821
model {
19-
vector[N] y_hat;
20-
for (i in 1:N)
21-
y_hat[i] = alpha[county[i]] + x[i] * beta[1] + u[i] * beta[2];
22-
2322
alpha ~ normal(mu_alpha, sigma_alpha);
2423
beta ~ normal(mu_beta, sigma_beta);
2524
sigma ~ cauchy(0, 2.5);
26-
mu_alpha ~ normal(0, 1);
25+
mu_alpha ~ std_normal();
2726
sigma_alpha ~ cauchy(0, 2.5);
28-
mu_beta ~ normal(0, 1);
27+
mu_beta ~ std_normal();
2928
sigma_beta ~ cauchy(0, 2.5);
3029

31-
y ~ normal(y_hat, sigma);
30+
y ~ normal_id_glm(cov, alpha[county], beta, sigma);
3231
}

0 commit comments

Comments
 (0)