Simulations are a class of computational algorithms that use the relatively simple idea of random sampling to solve increasingly complex problems. Although they have been around for ages, they have gained in popularity recently due to the rise in computational power and have seen applications in multiple domains including Artificial Intelligence, Physics, Computational Biology and Finance just to name a few.
Notebooks provided in this repo will guide you through generating and analyzing data over different probability distributions, mostly using NumPy.
An introduction of the tools required to run a simulation.
Provides an introduction to probability concepts and a hands-on understanding of the data generating process.
Introduces resampling methods such as Bootstrapping, Jackknife; and Permutation testing.
Some applications of simulation to solve real-world problems. We will work through
- Business planning,
- Monte Carlo integration,
- Power Analysis with simulation,
- a financial portfolio simulation.
It is recommended to go through notebooks in following order:
- Basics of randomness and Simulation
- Probability Basics
- Resampling methods
- Permutation testing
- Simulation for business planning
- Monte Carlo integration
- Simulation for Power Analysis
- Portfolio Simulation
To download or clone the repository:
- You can either use
git CLI
and typegit clone https://github.com/sukruc/statistical-simulation.git
or, - Click on the green
Download
button to the upper right corner of the page and download ZIP file.
Bonus notebook, Gambler's Ruin, a slight detour from the course, is also included as a sneak peek of upcoming new repository: Customer Analytics & A/B Testing with Python
Notebooks have been adapted from Tushar Shanker's course on DataCamp: Statisctical Simulation in Python, and revised to deliver the best learning experience.