Skip to content

Commit 41c9bcb

Browse files
committed
Added more tests to basic_estimators/normal_multi.stan
1 parent f0e746e commit 41c9bcb

File tree

2 files changed

+142
-28
lines changed

2 files changed

+142
-28
lines changed

basic_estimators/normal_multi.data.R

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ y <- structure(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1111
16, 17, 1, 19, 20, 21, 22, 23, 24, 25, 26, 3, 28, 29, 30, 31,
1212
32, 33, 3, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1313
48, 49, 50), .Dim = c(5L, 10L))
14+
z <- structure(c(11, 2, 3, 5, 5, 6, 1, 8, 9, 10, 1, 12, 13, 14, 15,
15+
16, 17, 1, 19, 2, 24, 24, 23, 26, 25, 26, 3, 2, 2, 30, 31,
16+
32, 33, 3, 3, 36, 37, 3, 39, 40, 4, 42, 43, 44, 4, 46, 47,
17+
48, 49, 5), .Dim = c(5L, 10L))

basic_estimators/normal_multi.stan

Lines changed: 138 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,62 +2,172 @@ data {
22
int<lower=0> N; //response variable size
33
int<lower=0> J; //number of observations
44
vector[N] y[J];
5+
vector[N] z[J];
56
matrix[N, N] sigma;
67
}
78
transformed data {
89
row_vector[N] ry[J];
10+
row_vector[N] rz[J];
911
matrix[N, N] inv_sigma;
1012
for (n in 1:N)
11-
for (j in 1:J)
13+
for (j in 1:J) {
1214
ry[j][n] <- y[j][n];
15+
rz[j][n] <- z[j][n];
16+
}
1317
inv_sigma <- inverse_spd(sigma);
1418
}
1519
parameters {
1620
vector[N] beta[J];
1721
row_vector[N] rbeta[J];
1822
}
1923
model {
20-
for (n in 1:J)
21-
ry[n] ~ multi_normal(beta[n], sigma);
2224
y ~ multi_normal(beta, sigma);
23-
ry ~ multi_normal(beta[1], sigma);
25+
y ~ multi_normal(beta[1], sigma);
2426
y[1] ~ multi_normal(beta, sigma);
25-
for (n in 1:J)
26-
y[n] ~ multi_normal(rbeta[n], sigma);
27+
y[1] ~ multi_normal(beta[1], sigma);
28+
y ~ multi_normal(z, sigma);
29+
y ~ multi_normal(z[1], sigma);
30+
y[1] ~ multi_normal(z, sigma);
31+
y[1] ~ multi_normal(z[1], sigma);
32+
2733
y ~ multi_normal(rbeta, sigma);
2834
y ~ multi_normal(rbeta[1], sigma);
29-
ry[1] ~ multi_normal(rbeta, sigma);
35+
y[1] ~ multi_normal(rbeta, sigma);
36+
y[1] ~ multi_normal(rbeta[1], sigma);
37+
y ~ multi_normal(rz, sigma);
38+
y ~ multi_normal(rz[1], sigma);
39+
y[1] ~ multi_normal(rz, sigma);
40+
y[1] ~ multi_normal(rz[1], sigma);
41+
42+
ry ~ multi_normal(beta, sigma);
43+
ry ~ multi_normal(beta[1], sigma);
44+
ry[1] ~ multi_normal(beta, sigma);
45+
ry[1] ~ multi_normal(beta[1], sigma);
46+
ry ~ multi_normal(z, sigma);
47+
ry ~ multi_normal(z[1], sigma);
48+
ry[1] ~ multi_normal(z, sigma);
49+
ry[1] ~ multi_normal(z[1], sigma);
3050

31-
for (n in 1:J)
32-
ry[n] ~ multi_normal_cholesky(beta[n], sigma);
51+
ry ~ multi_normal(rbeta, sigma);
52+
ry ~ multi_normal(rbeta[1], sigma);
53+
ry[1] ~ multi_normal(rbeta, sigma);
54+
ry[1] ~ multi_normal(rbeta[1], sigma);
55+
ry ~ multi_normal(rz, sigma);
56+
ry ~ multi_normal(rz[1], sigma);
57+
ry[1] ~ multi_normal(rz, sigma);
58+
ry[1] ~ multi_normal(rz[1], sigma);
59+
60+
61+
3362
y ~ multi_normal_cholesky(beta, sigma);
34-
ry ~ multi_normal_cholesky(beta[1], sigma);
63+
y ~ multi_normal_cholesky(beta[1], sigma);
3564
y[1] ~ multi_normal_cholesky(beta, sigma);
36-
for (n in 1:J)
37-
y[n] ~ multi_normal_cholesky(rbeta[n], sigma);
65+
y[1] ~ multi_normal_cholesky(beta[1], sigma);
66+
y ~ multi_normal_cholesky(z, sigma);
67+
y ~ multi_normal_cholesky(z[1], sigma);
68+
y[1] ~ multi_normal_cholesky(z, sigma);
69+
y[1] ~ multi_normal_cholesky(z[1], sigma);
70+
3871
y ~ multi_normal_cholesky(rbeta, sigma);
3972
y ~ multi_normal_cholesky(rbeta[1], sigma);
73+
y[1] ~ multi_normal_cholesky(rbeta, sigma);
74+
y[1] ~ multi_normal_cholesky(rbeta[1], sigma);
75+
y ~ multi_normal_cholesky(rz, sigma);
76+
y ~ multi_normal_cholesky(rz[1], sigma);
77+
y[1] ~ multi_normal_cholesky(rz, sigma);
78+
y[1] ~ multi_normal_cholesky(rz[1], sigma);
79+
80+
ry ~ multi_normal_cholesky(beta, sigma);
81+
ry ~ multi_normal_cholesky(beta[1], sigma);
82+
ry[1] ~ multi_normal_cholesky(beta, sigma);
83+
ry[1] ~ multi_normal_cholesky(beta[1], sigma);
84+
ry ~ multi_normal_cholesky(z, sigma);
85+
ry ~ multi_normal_cholesky(z[1], sigma);
86+
ry[1] ~ multi_normal_cholesky(z, sigma);
87+
ry[1] ~ multi_normal_cholesky(z[1], sigma);
88+
89+
ry ~ multi_normal_cholesky(rbeta, sigma);
90+
ry ~ multi_normal_cholesky(rbeta[1], sigma);
4091
ry[1] ~ multi_normal_cholesky(rbeta, sigma);
92+
ry[1] ~ multi_normal_cholesky(rbeta[1], sigma);
93+
ry ~ multi_normal_cholesky(rz, sigma);
94+
ry ~ multi_normal_cholesky(rz[1], sigma);
95+
ry[1] ~ multi_normal_cholesky(rz, sigma);
96+
ry[1] ~ multi_normal_cholesky(rz[1], sigma);
97+
98+
99+
100+
y ~ multi_normal_prec(beta, sigma);
101+
y ~ multi_normal_prec(beta[1], sigma);
102+
y[1] ~ multi_normal_prec(beta, sigma);
103+
y[1] ~ multi_normal_prec(beta[1], sigma);
104+
y ~ multi_normal_prec(z, sigma);
105+
y ~ multi_normal_prec(z[1], sigma);
106+
y[1] ~ multi_normal_prec(z, sigma);
107+
y[1] ~ multi_normal_prec(z[1], sigma);
108+
109+
y ~ multi_normal_prec(rbeta, sigma);
110+
y ~ multi_normal_prec(rbeta[1], sigma);
111+
y[1] ~ multi_normal_prec(rbeta, sigma);
112+
y[1] ~ multi_normal_prec(rbeta[1], sigma);
113+
y ~ multi_normal_prec(rz, sigma);
114+
y ~ multi_normal_prec(rz[1], sigma);
115+
y[1] ~ multi_normal_prec(rz, sigma);
116+
y[1] ~ multi_normal_prec(rz[1], sigma);
117+
118+
ry ~ multi_normal_prec(beta, sigma);
119+
ry ~ multi_normal_prec(beta[1], sigma);
120+
ry[1] ~ multi_normal_prec(beta, sigma);
121+
ry[1] ~ multi_normal_prec(beta[1], sigma);
122+
ry ~ multi_normal_prec(z, sigma);
123+
ry ~ multi_normal_prec(z[1], sigma);
124+
ry[1] ~ multi_normal_prec(z, sigma);
125+
ry[1] ~ multi_normal_prec(z[1], sigma);
126+
127+
ry ~ multi_normal_prec(rbeta, sigma);
128+
ry ~ multi_normal_prec(rbeta[1], sigma);
129+
ry[1] ~ multi_normal_prec(rbeta, sigma);
130+
ry[1] ~ multi_normal_prec(rbeta[1], sigma);
131+
ry ~ multi_normal_prec(rz, sigma);
132+
ry ~ multi_normal_prec(rz[1], sigma);
133+
ry[1] ~ multi_normal_prec(rz, sigma);
134+
ry[1] ~ multi_normal_prec(rz[1], sigma);
135+
136+
41137

42-
for (n in 1:J)
43-
ry[n] ~ multi_normal_prec(beta[n], inv_sigma);
44-
y ~ multi_normal_prec(beta, inv_sigma);
45-
ry ~ multi_normal_prec(beta[1], inv_sigma);
46-
y[1] ~ multi_normal_prec(beta, inv_sigma);
47-
for (n in 1:J)
48-
y[n] ~ multi_normal_prec(rbeta[n], inv_sigma);
49-
y ~ multi_normal_prec(rbeta, inv_sigma);
50-
y ~ multi_normal_prec(rbeta[1], inv_sigma);
51-
ry[1] ~ multi_normal_prec(rbeta, inv_sigma);
52-
53-
for (n in 1:J)
54-
ry[n] ~ multi_student_t(10, beta[n], sigma);
55138
y ~ multi_student_t(10, beta, sigma);
56-
ry ~ multi_student_t(10, beta[1], sigma);
139+
y ~ multi_student_t(10, beta[1], sigma);
57140
y[1] ~ multi_student_t(10, beta, sigma);
58-
for (n in 1:J)
59-
y[n] ~ multi_student_t(10, rbeta[n], sigma);
141+
y[1] ~ multi_student_t(10, beta[1], sigma);
142+
y ~ multi_student_t(10, z, sigma);
143+
y ~ multi_student_t(10, z[1], sigma);
144+
y[1] ~ multi_student_t(10, z, sigma);
145+
y[1] ~ multi_student_t(10, z[1], sigma);
146+
60147
y ~ multi_student_t(10, rbeta, sigma);
61148
y ~ multi_student_t(10, rbeta[1], sigma);
149+
y[1] ~ multi_student_t(10, rbeta, sigma);
150+
y[1] ~ multi_student_t(10, rbeta[1], sigma);
151+
y ~ multi_student_t(10, rz, sigma);
152+
y ~ multi_student_t(10, rz[1], sigma);
153+
y[1] ~ multi_student_t(10, rz, sigma);
154+
y[1] ~ multi_student_t(10, rz[1], sigma);
155+
156+
ry ~ multi_student_t(10, beta, sigma);
157+
ry ~ multi_student_t(10, beta[1], sigma);
158+
ry[1] ~ multi_student_t(10, beta, sigma);
159+
ry[1] ~ multi_student_t(10, beta[1], sigma);
160+
ry ~ multi_student_t(10, z, sigma);
161+
ry ~ multi_student_t(10, z[1], sigma);
162+
ry[1] ~ multi_student_t(10, z, sigma);
163+
ry[1] ~ multi_student_t(10, z[1], sigma);
164+
165+
ry ~ multi_student_t(10, rbeta, sigma);
166+
ry ~ multi_student_t(10, rbeta[1], sigma);
62167
ry[1] ~ multi_student_t(10, rbeta, sigma);
168+
ry[1] ~ multi_student_t(10, rbeta[1], sigma);
169+
ry ~ multi_student_t(10, rz, sigma);
170+
ry ~ multi_student_t(10, rz[1], sigma);
171+
ry[1] ~ multi_student_t(10, rz, sigma);
172+
ry[1] ~ multi_student_t(10, rz[1], sigma);
63173
}

0 commit comments

Comments
 (0)