@@ -120,24 +120,24 @@ plt.axvline(0, color="grey", alpha=0.5, zorder=-100)
120
120
%% file radon_model.stan
121
121
data {
122
122
int < lower=0 > n_counties;
123
- int < lower=0 > n_observed;
123
+ int < lower=0 > n_observed;
124
124
array[n_observed] int < lower=1 ,upper=n_counties> county_idx;
125
125
vector[n_observed] is_floor;
126
126
vector[n_observed] log_radon;
127
- }
127
+ }
128
128
parameters {
129
129
real intercept;
130
-
130
+
131
131
vector[n_counties] county_raw;
132
132
real< lower=0 > county_sd;
133
-
133
+
134
134
real floor_effect;
135
-
135
+
136
136
vector[n_counties] county_floor_raw;
137
137
real< lower=0 > county_floor_sd;
138
-
138
+
139
139
real< lower=0 > sigma;
140
- }
140
+ }
141
141
transformed parameters {
142
142
vector[n_counties] county_effect;
143
143
vector[n_counties] county_floor_effect;
@@ -155,17 +155,17 @@ transformed parameters {
155
155
}
156
156
model {
157
157
intercept ~ normal(0 , 10 );
158
-
158
+
159
159
county_raw ~ normal(0 , 1 );
160
160
county_sd ~ normal(0 , 1 );
161
-
161
+
162
162
floor_effect ~ normal(0 , 2 );
163
-
163
+
164
164
county_floor_raw ~ normal(0 , 1 );
165
165
county_floor_sd ~ normal(0 , 1 );
166
-
166
+
167
167
sigma ~ normal(0 , 1.5 );
168
-
168
+
169
169
log_radon ~ normal(mu, sigma);
170
170
}
171
171
```
@@ -305,13 +305,13 @@ for name, val in data_stan.items():
305
305
if isinstance (val, int ):
306
306
data_json[name] = int (val)
307
307
continue
308
-
308
+
309
309
if val.dtype == np.int64:
310
310
data_json[name] = list (int (x) for x in val)
311
311
continue
312
-
312
+
313
313
data_json[name] = list (val)
314
-
314
+
315
315
with open (" radon.json" , " w" ) as file :
316
316
json.dump(data_json, file )
317
317
```
0 commit comments