Preface |
|
xiii | |
1 Astrostatistics |
|
1 | (8) |
|
1.1 The Nature and Scope of Astrostatistics |
|
|
1 | (3) |
|
1.2 The Recent Development of Astrostatistics |
|
|
4 | (2) |
|
1.3 What is a Statistical Model? |
|
|
6 | (1) |
|
1.4 Classification of Statistical Models |
|
|
7 | (2) |
2 Prerequisites |
|
9 | (14) |
|
|
9 | (1) |
|
|
10 | (2) |
|
|
12 | (2) |
|
|
14 | (3) |
|
|
17 | (6) |
3 Frequentist vs. Bayesian Methods |
|
23 | (23) |
|
3.1 Frequentist Statistics |
|
|
23 | (4) |
|
3.1.1 Fitting a Linear Regression in R |
|
|
25 | (1) |
|
3.1.2 Fitting a Linear Regression in Python |
|
|
26 | (1) |
|
3.2 Basic Theory of Bayesian Modeling |
|
|
27 | (16) |
|
3.2.1 Example: Calculating a Beta Prior and Posterior Analytically |
|
|
32 | (6) |
|
3.2.2 Fitting a Simple Bayesian Normal Model using R |
|
|
38 | (3) |
|
3.2.3 Fitting a Simple Bayesian Normal Model using Python |
|
|
41 | (2) |
|
3.3 Selecting Between Frequentist and Bayesian Modeling |
|
|
43 | (3) |
4 Normal Linear Models |
|
46 | (22) |
|
4.1 The Gaussian or Normal Model |
|
|
46 | (12) |
|
4.1.1 Bayesian Synthetic Normal Model in R using JAGS |
|
|
48 | (6) |
|
4.1.2 Bayesian Synthetic Normal Model in R using JAGS and the Zero Trick |
|
|
54 | (2) |
|
4.1.3 Bayesian Synthetic Normal Model in Python using Stan |
|
|
56 | (1) |
|
4.1.4 Bayesian Synthetic Normal Model using Stan with a Customized Likelihood |
|
|
57 | (1) |
|
4.2 Multivariate Normal Model |
|
|
58 | (3) |
|
4.2.1 Multivariate Linear Regression in R using JAGS |
|
|
58 | (2) |
|
4.2.2 Multivariate Linear Regression in Python using Stan |
|
|
60 | (1) |
|
4.3 Bayesian Errors-in-Measurements Modeling |
|
|
61 | (7) |
|
4.3.1 Generating Data with Errors using R |
|
|
62 | (1) |
|
4.3.2 Build Model ignoring Errors in R using JAGS |
|
|
62 | (1) |
|
4.3.3 Build Model including Errors in R using JAGS |
|
|
63 | (2) |
|
4.3.4 Bayesian Errors-in-Measurements Modeling in Python using Stan |
|
|
65 | (3) |
5 GLMs Part I - Continuous and Binomial Models |
|
68 | (67) |
|
5.1 Brief Overview of Generalized Linear Models |
|
|
68 | (6) |
|
5.2 Bayesian Continuous Response Models |
|
|
74 | (24) |
|
5.2.1 Bayesian Lognormal Model |
|
|
75 | (7) |
|
5.2.2 Bayesian Gamma Models |
|
|
82 | (5) |
|
5.2.3 Bayesian Inverse Gaussian Models |
|
|
87 | (5) |
|
5.2.4 Bayesian Beta Model |
|
|
92 | (6) |
|
5.3 Bayesian Binomial Models |
|
|
98 | (37) |
|
5.3.1 Bayesian Bernoulli Logit Models |
|
|
99 | (11) |
|
5.3.2 Bayesian Bernoulli Probit Models |
|
|
110 | (7) |
|
5.3.3 Bayesian Grouped Logit or Binomial Model |
|
|
117 | (7) |
|
5.3.4 Bayesian Grouped Probit Model |
|
|
124 | (1) |
|
5.3.5 Bayesian Beta-Binomial Models |
|
|
125 | (10) |
6 GLMs Part II - Count Models |
|
135 | (49) |
|
6.1 Bayesian Poisson Models |
|
|
135 | (13) |
|
6.1.1 Poisson Models with R |
|
|
142 | (1) |
|
6.1.2 Poisson Models with JAGS |
|
|
143 | (1) |
|
6.1.3 Poisson Models in Python |
|
|
144 | (3) |
|
6.1.4 Poisson Models in Python using Stan |
|
|
147 | (1) |
|
6.2 Bayesian Negative Binomial Models |
|
|
148 | (16) |
|
6.2.1 Modeling the Negative Binomial using JAGS |
|
|
154 | (7) |
|
6.2.2 Negative Binomial Models in Python using pymc3 |
|
|
161 | (2) |
|
6.2.3 Modeling the Negative Binomial in Python using Stan |
|
|
163 | (1) |
|
6.3 Bayesian Generalized Poisson Model |
|
|
164 | (5) |
|
6.3.1 Generalized Poisson Model using JAGS |
|
|
166 | (2) |
|
6.3.2 Generalized Poisson Model using Stan |
|
|
168 | (1) |
|
6.4 Bayesian Zero-Truncated Models |
|
|
169 | (10) |
|
6.4.1 Bayesian Zero-Truncated Poisson Model |
|
|
170 | (4) |
|
6.4.2 Zero-Truncated Poisson in Python using Stan |
|
|
174 | (2) |
|
6.4.3 Bayesian Zero-Truncated Negative Binomial Model |
|
|
176 | (3) |
|
6.5 Bayesian Three-Parameter NB Model (NB-P) |
|
|
179 | (5) |
|
6.5.1 Three-Parameter NB-P Model using JAGS |
|
|
180 | (2) |
|
6.5.2 Three-Parameter NB-P Models in Python using Stan |
|
|
182 | (2) |
7 GLMs Part III - Zero-Inflated and Hurdle Models |
|
184 | (31) |
|
7.1 Bayesian Zero-Inflated Models |
|
|
184 | (12) |
|
7.1.1 Bayesian Zero-Inflated Poisson Model |
|
|
184 | (6) |
|
7.1.2 Bayesian Zero-Inflated Negative Binomial Model |
|
|
190 | (6) |
|
7.2 Bayesian Hurdle Models |
|
|
196 | (19) |
|
7.2.1 Bayesian Poisson-Logit Hurdle Model |
|
|
197 | (5) |
|
7.2.2 Bayesian Negative Binomial-Logit Hurdle Model |
|
|
202 | (4) |
|
7.2.3 Bayesian Gamma-Logit Hurdle Model |
|
|
206 | (4) |
|
7.2.4 Bayesian Lognormal-Logit Hurdle Model |
|
|
210 | (5) |
8 Hierarchical GLMMs |
|
215 | (47) |
|
8.1 Overview of Bayesian Hierarchical Models/GLMMs |
|
|
215 | (4) |
|
8.2 Bayesian Gaussian or Normal GLMMs |
|
|
219 | (9) |
|
8.2.1 Random Intercept Gaussian Data |
|
|
219 | (1) |
|
8.2.2 Bayesian Random Intercept Gaussian Model in R using JAGS |
|
|
220 | (2) |
|
8.2.3 Bayesian Random Intercept Normal Model in R using JAGS |
|
|
222 | (4) |
|
8.2.4 Bayesian Random Intercept Normal Model in Python using Stan |
|
|
226 | (2) |
|
8.3 Bayesian Binary Logistic GLMMs |
|
|
228 | (7) |
|
8.3.1 Random Intercept Binary Logistic Data |
|
|
228 | (1) |
|
8.3.2 Bayesian Random Intercept Binary Logistic Model with R |
|
|
229 | (1) |
|
8.3.3 Bayesian Random Intercept Binary Logistic Model with Python |
|
|
230 | (2) |
|
8.3.4 Bayesian Random Intercept Binary Logistic Model in R using JAGS |
|
|
232 | (2) |
|
8.3.5 Bayesian Random Intercept Binary Logistic Model in Python using Stan |
|
|
234 | (1) |
|
8.4 Bayesian Binomial Logistic GLMMs |
|
|
235 | (5) |
|
8.4.1 Random Intercept Binomial Logistic Data |
|
|
236 | (1) |
|
8.4.2 Bayesian Random Intercept Binomial Logistic Model in R using JAGS |
|
|
237 | (1) |
|
8.4.3 Bayesian Random Intercept Binomial Logistic Model in Python using Stan |
|
|
238 | (2) |
|
8.5 Bayesian Poisson GLMMs |
|
|
240 | (12) |
|
8.5.1 Random Intercept Poisson Data |
|
|
241 | (1) |
|
8.5.2 Bayesian Random Intercept Poisson Model with R |
|
|
241 | (1) |
|
8.5.3 Bayesian Random Intercept Poisson Model in Python |
|
|
242 | (2) |
|
8.5.4 Bayesian Random Intercept Poisson Model in R using JAGS |
|
|
244 | (2) |
|
8.5.5 Bayesian Random Intercept Poisson Model in Python using Stan |
|
|
246 | (2) |
|
8.5.6 Bayesian Random-Intercept-Random-Slopes Poisson Model |
|
|
248 | (4) |
|
8.6 Bayesian Negative Binomial GLMMs |
|
|
252 | (10) |
|
8.6.1 Random Intercept Negative Binomial Data |
|
|
253 | (1) |
|
8.6.2 Random Intercept Negative Binomial MLE Model using R |
|
|
254 | (1) |
|
8.6.3 Bayesian Random Intercept Negative Binomial Model using Python |
|
|
255 | (2) |
|
8.6.4 Bayesian Random Intercept Negative Binomial Model in R using JAGS |
|
|
257 | (2) |
|
8.6.5 Bayesian Random Intercept Negative Binomial Model in Python using Stan |
|
|
259 | (3) |
9 Model Selection |
|
262 | (14) |
|
9.1 Information Criteria Tests for Model Selection |
|
|
262 | (4) |
|
9.1.1 Frequentist and Bayesian Information Criteria |
|
|
262 | (2) |
|
9.1.2 Bayesian Deviance Statistic s |
|
|
264 | (1) |
|
9.1.3 pD and Deviance Information Criteria (DIC) |
|
|
265 | (1) |
|
9.2 Model Selection with Indicator Functions |
|
|
266 | (8) |
|
|
274 | (2) |
10 Astronomical Applications |
|
276 | (88) |
|
10.1 Normal Model, Black Hole Mass, and Bulge Velocity Dispersion |
|
|
277 | (6) |
|
|
278 | (1) |
|
10.1.2 The Statistical Model Formulation |
|
|
278 | (1) |
|
10.1.3 Running the Model in R using JAGS |
|
|
279 | (1) |
|
10.1.4 Running the Model in Python using Stan |
|
|
280 | (3) |
|
10.2 Gaussian Mixed Models, Type Ia Supernovae, and Hubble Residuals |
|
|
283 | (7) |
|
|
284 | (1) |
|
10.2.2 Statistical Model Formulation |
|
|
284 | (1) |
|
10.2.3 Running the Model in R using JAGS |
|
|
285 | (3) |
|
10.2.4 Running the Model in Python using Stan |
|
|
288 | (2) |
|
10.3 Multivariate Normal Mixed Model and Early-Type Contact Binaries |
|
|
290 | (7) |
|
|
292 | (1) |
|
10.3.2 The Statistical Model Formulation |
|
|
292 | (1) |
|
10.3.3 Running the Model in R using JAGS |
|
|
293 | (3) |
|
10.3.4 Running the Model in Python using Stan |
|
|
296 | (1) |
|
10.4 Lognormal Distribution and the Initial Mass Function |
|
|
297 | (5) |
|
|
298 | (1) |
|
10.4.2 Statistical Model Formulation |
|
|
298 | (1) |
|
10.4.3 Running the Model in R using JAGS |
|
|
299 | (2) |
|
10.4.4 Running the Model in Python using Stan |
|
|
301 | (1) |
|
10.5 Beta Model and the Baryon Content of Low Mass Galaxies |
|
|
302 | (5) |
|
|
303 | (1) |
|
10.5.2 The Statistical Model Formulation |
|
|
303 | (1) |
|
10.5.3 Running the Model in R using JAGS |
|
|
304 | (2) |
|
10.5.4 Running the Model in Python using Stan |
|
|
306 | (1) |
|
10.6 Bernoulli Model and the Fraction of Red Spirals |
|
|
307 | (6) |
|
|
308 | (1) |
|
10.6.2 The Statistical Model Formulation |
|
|
308 | (1) |
|
10.6.3 Running the Model in R using JAGS |
|
|
309 | (2) |
|
10.6.4 Running the Model in Python using Stan |
|
|
311 | (2) |
|
10.7 Count Models, Globular Cluster Population, and Host Galaxy Brightness |
|
|
313 | (10) |
|
|
313 | (1) |
|
10.7.2 The Statistical Poisson Model Formulation |
|
|
314 | (1) |
|
10.7.3 Running the Poisson Model in R using JAGS |
|
|
315 | (2) |
|
10.7.4 The Statistical Negative Binomial Model Formulation |
|
|
317 | (1) |
|
10.7.5 Running the Negative Binomial Model in R using JAGS |
|
|
318 | (2) |
|
10.7.6 The Statistical NB-P Model Formulation |
|
|
320 | (1) |
|
10.7.7 Running the NB-P Model in R using JAGS |
|
|
321 | (2) |
|
10.7.8 Running the NB-P Model in Python using Stan |
|
|
323 | (9) |
|
10.8 Bernoulli Mixed Model, AGNs, and Cluster Environment |
|
|
325 | (1) |
|
|
326 | (1) |
|
10.8.2 Statistical Model Formulation |
|
|
327 | (1) |
|
10.8.3 Running the Model in R using JAGS |
|
|
328 | (1) |
|
10.8.4 Running the Model in Python using Stan |
|
|
329 | (3) |
|
10.9 Lognormal-Logit Hurdle Model and the Halo-Stellar-Mass Relation |
|
|
332 | (8) |
|
|
333 | (1) |
|
10.9.2 The Statistical Model Formulation |
|
|
333 | (1) |
|
10.9.3 Running the Model in R using JAGS |
|
|
334 | (3) |
|
10.9.4 Running the Model in Python using Stan |
|
|
337 | (3) |
|
10.10 Count Time Series and Sunspot Data |
|
|
340 | (7) |
|
|
341 | (1) |
|
10.10.2 Running the Normal AR(1) Model in R using JAGS |
|
|
341 | (3) |
|
10.10.3 Running the Negative Binomial AR Model in R using JAGS |
|
|
344 | (2) |
|
10.10.4 Running the Negative Binomial AR Model in Python using Stan |
|
|
346 | (1) |
|
10.11 Gaussian Model, ODEs, and Type Ia Supernova Cosmology |
|
|
347 | (8) |
|
|
348 | (1) |
|
10.11.2 The Statistical Model Formulation |
|
|
348 | (1) |
|
10.11.3 Running the Model in R using Stan |
|
|
349 | (4) |
|
10.11.4 Errors in Measurements |
|
|
353 | (2) |
|
10.12 Approximate Bayesian Computation |
|
|
355 | (8) |
|
|
356 | (1) |
|
10.12.2 Population Monte Carlo ABC |
|
|
357 | (1) |
|
|
357 | (2) |
|
|
359 | (4) |
|
10.13 Remarks on Applications |
|
|
363 | (1) |
11 The Future of Astrostatistics |
|
364 | (2) |
Appendix A Bayesian Modeling using INLA |
|
366 | (3) |
Appendix B Count Models with Offsets |
|
369 | (8) |
Appendix C Predicted Values, Residuals, and Diagnostics |
|
377 | (3) |
References |
|
380 | (11) |
Index |
|
391 | |