Skip to content

Commit 89a8f12

Browse files
authored
Merge pull request #198 from andrjohns/feature/arm_ch8
Update ARM Ch.8 Models
2 parents f2e8e33 + 7273633 commit 89a8f12

File tree

5 files changed

+28
-29
lines changed

5 files changed

+28
-29
lines changed

ARM/Ch.8/grades.stan

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

ARM/Ch.8/roaches.stan

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@ data {
77
int y[N];
88
}
99
transformed data {
10-
vector[N] log_expo;
11-
12-
log_expo = log(exposure2);
10+
vector[N] log_expo = log(exposure2);
11+
matrix[N,3] x = [roach1', treatment', senior']';
1312
}
1413
parameters {
15-
vector[4] beta;
14+
real alpha;
15+
vector[3] beta;
1616
}
1717
model {
18-
y ~ poisson_log(log_expo + beta[1] + beta[2] * roach1 + beta[3] * treatment
19-
+ beta[4] * senior);
18+
y ~ poisson_log_glm(x, alpha + log_expo, beta);
2019
}

ARM/Ch.8/roaches_overdispersion.stan

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,16 @@ data {
77
int y[N];
88
}
99
transformed data {
10-
vector[N] log_expo;
11-
12-
log_expo = log(exposure2);
10+
vector[N] log_expo = log(exposure2);
11+
matrix[N,3] x = [roach1', senior', treatment']';
1312
}
1413
parameters {
15-
vector[4] beta;
16-
vector[N] lambda;
17-
real<lower=0> tau;
18-
}
19-
transformed parameters {
14+
real alpha;
15+
vector[3] beta;
2016
real<lower=0> sigma;
21-
22-
sigma = 1.0 / sqrt(tau);
17+
vector<multiplier=sigma>[N] lambda;
2318
}
2419
model {
25-
tau ~ gamma(0.001, 0.001);
26-
for (i in 1:N) {
27-
lambda[i] ~ normal(0, sigma);
28-
y[i] ~ poisson_log(lambda[i] + log_expo[i] + beta[1] + beta[2]*roach1[i]
29-
+ beta[3]*senior[i] + beta[4]*treatment[i]);
30-
}
20+
lambda ~ normal(0, sigma);
21+
y ~ poisson_log_glm(x, alpha + lambda + log_expo, beta);
3122
}

ARM/Ch.8/unemployment.stan

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ data {
33
vector[N] y;
44
vector[N] y_lag;
55
}
6+
transformed data {
7+
matrix[N,1] x = [y_lag']';
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] * y_lag,sigma);
15+
y ~ normal_id_glm(x, alpha, beta, sigma);
1216
}

ARM/Ch.8/y_x.stan

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
data {
22
int<lower=0> N;
3-
vector[N] x;
3+
matrix[N,1] x;
44
vector[N] y;
55
}
66
parameters {
7-
vector[2] beta;
7+
real alpha;
8+
vector[1] beta;
89
real<lower=0> sigma;
910
}
1011
model {
11-
y ~ normal(beta[1] + beta[2] * x,sigma);
12+
y ~ normal_id_glm(x, alpha, beta, sigma);
1213
}

0 commit comments

Comments
 (0)