There are a few things I wish I did better in the first edition, and have made note of these as they come to mind or when people get in touch to inform me of errata.
The distribution zoo
I created a shiny app called ‘The distribution zoo‘ that allows a user to investigate distributions. This app allows a user to:
- Dynamically change the parameters of 24 distributions, ranging from fairly simple cases (for example, normal or Poisson), up to more complex cases such as the LKJ correlation distribution, and investigate how these parameters affect the resultant distributional properties, including plots of the probability density function or probability mass function, histograms of the sampling distribution for some cases where the PDFs are hard to visualise, and cumulative distribution functions where appropriate.
- Contains dynamic code snippets in R, Python, Matlab, Mathematica and Stan, which reflect changes in the parameter values. Importantly, for each distribution and parameter set, these functions should give equivalent results across all five languages. For me, this is really useful, since different languages have different parameterisations and some (Python!) have really non-standard parameterisations, which can make translating code from one language to another tricky.
- Contains detailed and vetted formulae for each distribution giving useful properties. These formulae are also available in LaTeX form to make using them in articles, reports and so on simpler.
Because it’s been deployed to the web, you can use this app anywhere. Look at the zoo of distributions on your laptop, tablet or smartphone!
This code is fresh and so, whilst it has been tested extensively, errors may occur. If you find any, please create an issue on the Github repo here.