Skip to content

Commit 4d7a511

Browse files
author
Andrew Johnson
committed
First pass
1 parent 5dcadbc commit 4d7a511

File tree

6 files changed

+33
-19
lines changed

6 files changed

+33
-19
lines changed

ARM/Ch.3/kidiq_interaction.stan

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@ data {
22
int<lower=0> N;
33
vector<lower=0, upper=200>[N] kid_score;
44
vector<lower=0, upper=200>[N] mom_iq;
5-
vector<lower=0, upper=1>[N] mom_hs;}
5+
vector<lower=0, upper=1>[N] mom_hs;
6+
}
67
transformed data { // interaction
7-
vector[N] inter;
8-
inter = mom_hs .* mom_iq;
8+
vector[N] inter = mom_hs .* mom_iq;
9+
matrix[N, 3] x = [mom_hs', mom_iq', inter']';
910
}
1011
parameters {
11-
vector[4] beta;
12+
real alpha;
13+
vector[3] beta;
1214
real<lower=0> sigma;
1315
}
1416
model {
1517
sigma ~ cauchy(0, 2.5);
16-
kid_score ~ normal(beta[1] + beta[2] * mom_hs + beta[3] * mom_iq
17-
+ beta[4] * inter, sigma);
18+
kid_score ~ normal_id_glm(x, alpha, beta, sigma);
1819
}

ARM/Ch.3/kidiq_multi_preds.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ data {
44
vector<lower=0, upper=200>[N] mom_iq;
55
vector<lower=0, upper=1>[N] mom_hs;
66
}
7+
transformed data {
8+
matrix[N, 2] x = [mom_hs', mom_iq']';
9+
}
710
parameters {
8-
vector[3] beta;
11+
real alpha;
12+
vector[2] beta;
913
real<lower=0> sigma;
1014
}
1115
model {
1216
sigma ~ cauchy(0, 2.5);
13-
kid_score ~ normal(beta[1] + beta[2] * mom_hs + beta[3] * mom_iq, sigma);
17+
kid_score ~ normal_id_glm(x, alpha, beta, sigma);
1418
}

ARM/Ch.3/kidiq_prediction.stan

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@ data {
66
real<lower=0, upper=1> mom_hs_new; // for prediction
77
real<lower=0, upper=200> mom_iq_new;
88
}
9+
transformed data {
10+
matrix[N, 2] x = [mom_hs', mom_iq']';
11+
row_vector[2] x_new = [mom_hs_new, mom_iq_new];
12+
}
913
parameters {
10-
vector[3] beta;
14+
real alpha;
15+
vector[2] beta;
1116
real<lower=0> sigma;
1217
}
1318
model {
1419
sigma ~ cauchy(0, 2.5);
15-
kid_score ~ normal(beta[1] + beta[2] * mom_hs + beta[3] * mom_iq, sigma);
20+
kid_score ~ normal_id_glm(x, alpha, beta, sigma);
1621
}
1722
generated quantities { // prediction
18-
real kid_score_pred;
19-
kid_score_pred = normal_rng(beta[1] + beta[2] * mom_hs_new
20-
+ beta[3] * mom_iq_new, sigma);
23+
real kid_score_pred = normal_rng(alpha + x_new * beta, sigma);
2124
}

ARM/Ch.3/kidiq_validation.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ data {
44
vector<lower=0, upper=1>[N] hs;
55
vector<lower=0, upper=200>[N] afqt;
66
}
7+
transformed data {
8+
matrix[N,2] x = [hs', afqt']';
9+
}
710
parameters {
8-
vector[3] beta;
11+
real alpha;
12+
vector[2] beta;
913
real<lower=0> sigma;
1014
}
1115
model {
1216
sigma ~ cauchy(0, 2.5);
13-
ppvt ~ normal(beta[1] + beta[2] * hs + beta[3] * afqt, sigma);
17+
ppvt ~ normal_id_glm(x, alpha, beta, sigma);
1418
}

ARM/Ch.3/kidscore_momhs.stan

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ data {
44
vector<lower=0, upper=1>[N] mom_hs;
55
}
66
parameters {
7-
vector[2] beta;
7+
real alpha;
8+
vector[1] beta;
89
real<lower=0> sigma;
910
}
1011
model {
1112
sigma ~ cauchy(0, 2.5);
12-
kid_score ~ normal(beta[1] + beta[2] * mom_hs, sigma);
13+
kid_score ~ normal_id_glm(mom_hs', alpha, beta, sigma);
1314
}

ARM/Ch.3/kidscore_momiq.stan

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ data {
44
vector<lower=0, upper=200>[N] mom_iq;
55
}
66
parameters {
7-
vector[2] beta;
7+
real alpha;
8+
vector[1] beta;
89
real<lower=0> sigma;
910
}
1011
model {
1112
sigma ~ cauchy(0, 2.5);
12-
kid_score ~ normal(beta[1] + beta[2] * mom_iq, sigma);
13+
kid_score ~ normal_id_glm(mom_iq', alpha, beta, sigma);
1314
}

0 commit comments

Comments
 (0)