Hands-On Simulation Modeling with Python: Develop simulation models to get accurate results and enhance decision-making processes
Book information
Description
Enhance your simulation modeling skills by creating and analyzing digital prototypes of a physical model using Python programming with this comprehensive guide Key Features Learn to create a digital prototype of a real model using hands-on examples Evaluate the performance and output of your prototype using simulation modeling techniques Understand various statistical and physical simulations to improve systems using PythonBook Description Simulation modeling helps you to create digital prototypes of physical models to analyze how they work and predict their performance in the real world. With this comprehensive guide, you'll understand various computational statistical simulations using Python. Starting with the fundamentals of simulation modeling, you'll understand concepts such as randomness and explore data generating processes, resampling methods, and bootstrapping techniques. You'll then cover key algorithms such as Monte Carlo simulations and Markov decision processes, which are used to develop numerical simulation models, and discover how they can be used to solve real-world problems. As you advance, you'll develop simulation models to help you get accurate results and enhance decision-making processes. Using optimization techniques, you'll learn to modify the performance of a model to improve results and make optimal use of resources. The book will guide you in creating a digital prototype using practical use cases for financial engineering, prototyping project management to improve planning, and simulating physical phenomena using neural networks. By the end of this book, you'll have learned how to construct and deploy simulation models of your own to overcome real-world challenges. What you will learn Gain an overview of the different types of simulation models Get to grips with the concepts of randomness and data generation process Understand how to work with discrete and continuous distributions Work with Monte Carlo simulations to calculate a definite integral Find out how to simulate random walks using Markov chains Obtain robust estimates of confidence intervals and standard errors of population parameters Discover how to use optimization methods in real-life applications Run efficient simulations to analyze real-world systemsWho this book is for Hands-On Simulation Modeling with Python is for simulation developers and engineers, model designers, and anyone already familiar with the basic computational methods that are used to study the behavior of systems. This book will help you explore advanced simulation techniques such as Monte Carlo methods, statistical simulations, and much more using Python. Working knowledge of Python programming language is required. Table of Contents Introducing Simulation Models Understanding Randomness and Random Numbers Probability and Data Generating Processes Exploring Monte Carlo Simulations Simulation-Based Markov Decision Process Resampling Methods Using Simulations to Improve and Optimize Systems Using Simulation Models for Financial Engineering Simulating Physical Phenomena Using Neural Networks Modeling and Simulation for Project Management What's Next? Cover Title Page Copyright and Credits About Packt Contributors Table of Contents Preface Section 1: Getting Started with Numerical Simulation Chapter 1: Introducing Simulation Models Introducing simulation models Decision-making workflow Comparing modeling and simulation Pros and cons of simulation modeling Simulation modeling terminology Classifying simulation models Comparing static and dynamic models Comparing deterministic and stochastic models Comparing continuous and discrete models Approaching a simulation-based problem Problem analysis Data collection Setting up the simulation model Simulation software selection Verification of the software solution Validation of the simulation model Simulation and analysis of results Dynamical systems modeling Managing workshop machinery Simple harmonic oscillator Predator-prey model Summary Chapter 2: Understanding Randomness and Random Numbers Technical requirements Stochastic processes Types of stochastic process Examples of stochastic processes The Bernoulli process Random walk The Poisson process Random number simulation Probability distribution Properties of random numbers The pseudorandom number generator The pros and cons of a random number generator Random number generation algorithms Linear congruential generator Random numbers with uniform distribution Lagged Fibonacci generator Testing uniform distribution The chi-squared test Uniformity test Exploring generic methods for random distributions The inverse transform sampling method The acceptance-rejection method Random number generation using Python Introducing the random module The random.random() function The random.seed() function The random.uniform() function The random.randint() function The random.choice() function The random.sample() function Generating real-valued distributions Summary Chapter 3: Probability and Data Generation Processes Technical requirements Explaining probability concepts Types of events Calculating probability Probability definition with an example Understanding Bayes’ theorem Compound probability Bayes’ theorem Exploring probability distributions Probability density function Mean and variance Uniform distribution Binomial distribution Normal distribution Summary Section 2: Simulation Modeling Algorithms and Techniques Chapter 4: Exploring Monte Carlo Simulations Technical requirements Introducing Monte Carlo simulation Monte Carlo components First Monte Carlo application Monte Carlo applications Applying the Monte Carlo method for Pi estimation Understanding the central limit theorem Law of large numbers Central limit theorem Applying Monte Carlo simulation Generating probability distributions Numerical optimization Project management Performing numerical integration using Monte Carlo Defining the problem Numerical solution Min-max detection Monte Carlo method Visual representation Summary Chapter 5: Simulation-Based Markov Decision Processes Technical requirements Overview of Markov processes The agent-environment interface Exploring MDPs Understanding the discounted cumulative reward Comparing exploration and exploitation concepts Introducing Markov chains Transition matrix Transition diagram Markov chain applications Introducing random walks Simulating a one-dimensional random walk Simulating a weather forecast The Bellman equation explained Dynamic programming concepts Principle of optimality The Bellman equation Multi-agent simulation Summary Chapter 6: Resampling Methods Technical requirements Introducing resampling methods Sampling concepts overview Reasoning about sampling Pros and cons of sampling Probability sampling How sampling works Exploring the Jackknife technique Defining the Jackknife method Estimating the coefficient of variation Applying Jackknife resampling using Python Demystifying bootstrapping Introducing bootstrapping Bootstrap definition problem Bootstrap resampling using Python Comparing Jackknife and bootstrap Explaining permutation tests Approaching cross-validation techniques The validation set approach Leave-one-out cross validation K-fold cross validation Cross-validation using Python Summary Chapter 7: Using Simulation to Improve and Optimize Systems Technical requirements Introducing numerical optimization techniques Defining an optimization problem Explaining local optimality Defining the descent methods Approaching the gradient descent algorithm Understanding the learning rate Explaining the trial and error method Implementing gradient descent in Python Facing the Newton-Raphson method Using the Newton-Raphson algorithm for root-finding Approaching Newton-Raphson for numerical optimization Applying the Newton-Raphson technique Deepening our knowledge of stochastic gradient descent Discovering the multivariate optimization methods in Python The Nelder–Mead method Powell's conjugate direction algorithm Summarizing other optimization methodologies Summary Section 3: Real-World Applications Chapter 8: Using Simulation Models for Financial Engineering Technical requirements Understanding the geometric Brownian motion model Defining a standard Brownian motion Addressing the Wiener process as random walk Implementing a standard Brownian motion Using Monte Carlo methods for stock price prediction Exploring the Amazon stock price trend Handling the stock price trend as time series Introducing the Black-Scholes model Applying Monte Carlo simulation Studying risk models for portfolio management Using variance as a risk measure Introducing the value-at-risk metric Estimating the VaR for some NASDAQ assets Summary Chapter 9: Simulating Physical Phenomena Using Neural Networks Technical requirements Introducing the basics of neural networks Understanding biological neural networks Exploring ANNs Understanding feedforward neural networks Exploring neural network training Simulating airfoil self-noise using ANNs Importing data using pandas Scaling the data using sklearn Viewing the data using matplotlib Splitting the data Explaining multiple linear regression Understanding a multilayer perceptron regressor model Exploring deep neural networks Getting familiar with convolutional neural networks Examining recurrent neural networks Analyzing LSTM networks Summary Chapter 10: Modeling and Simulation for Project Management Technical requirements Introducing project management Understanding what-if analysis Managing a tiny forest problem Summarizing the Markov decision process Exploring the optimization process Introducing MDPtoolbox Defining the tiny forest management example Addressing management problems using MDPtoolbox Changing the probability of fire Scheduling project time using Monte Carlo simulation Defining the scheduling grid Estimating the task's time Developing an algorithm for project scheduling Exploring triangular distribution Summary Chapter 11: What's Next? Summarizing simulation modeling concepts Generating random numbers Applying Monte Carlo methods Addressing the Markov decision process Analyzing resampling methods Exploring numerical optimization techniques Using artificial neural networks for simulation Applying simulation model to real life Modeling in healthcare Modeling in financial applications Modeling physical phenomenon Modeling public transportation Modeling human behavior Next steps for simulation modeling Increasing the computational power Machine learning-based models Automated generation of simulation models Summary Other Books You May Enjoy Leave a review - let other readers know what you think Index
Similar books
Hands-On Simulation Modeling with Python: Develop simulation models to get accurate results and enhance decision-making processes
2020 · PDF
MATLAB for Machine Learning - Second Edition: Unlock the power of deep learning for swift and enhanced results
2024 · PDF
MATLAB for Machine Learning: Unlock the power of deep learning for swift and enhanced results
2024 · EPUB
Hands-On Reinforcement Learning with R
2019 · EPUB
Hands-On Simulation Modeling with Python: Develop simulation models for improved efficiency and precision in the decision-making process, 2nd Edition
2022 · PDF
Hands-On Simulation Modeling with Python: Develop simulation models to get accurate results and enhance decision-making processes. Code
2020 · ZIP
Hands-On Simulation Modeling with Python: Develop simulation models to get accurate results and enhance decision-making processes
2020 · EPUB