<p><b>Enhance your simulation modeling skills by creating and analyzing digital prototypes of a physical model using Python programming with this comprehensive guide</b></p> <h4>Key Features</h4> <ul><li>Learn to create a digital prototype of a real model using hands-on examples </li> <li>Evaluate t
Hands-On Simulation Modeling with Python: Develop simulation models for improved efficiency and precision in the decision-making process, 2nd Edition
β Scribed by Giuseppe Ciaburro
- Publisher
- Packt Publishing
- Year
- 2022
- Tongue
- English
- Leaves
- 460
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Learn to construct state-of-the-art simulation models with Python and enhance your simulation modelling skills, as well as create and analyze digital prototypes of physical models with ease
Key Features
- Understand various statistical and physical simulations to improve systems using Python
- Learn to create the numerical prototype of a real model using hands-on examples
- Evaluate performance and output results based on how the prototype would work in the real world
Book Description
Simulation modelling is an exploration method that aims to imitate physical systems in a virtual environment and retrieve useful statistical inferences from it. The ability to analyze the model as it runs sets simulation modelling apart from other methods used in conventional analyses. This book is your comprehensive and hands-on guide to understanding various computational statistical simulations using Python. The book begins by helping you get familiarized with the fundamental concepts of simulation modelling, that'll enable you to understand the various methods and techniques needed to explore complex topics. Data scientists working with simulation models will be able to put their knowledge to work with this practical guide. As you advance, you'll dive deep into numerical simulation algorithms, including an overview of relevant applications, with the help of real-world use cases and practical examples. You'll also find out how to use Python to develop simulation models and how to use several Python packages. Finally, you'll get to grips with various numerical simulation algorithms and concepts, such as Markov Decision Processes, Monte Carlo methods, and bootstrapping techniques.
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
- Get to grips with the concept of randomness and the data generation process
- Delve into resampling methods
- Discover how to work with Monte Carlo simulations
- Utilize simulations to improve or optimize systems
- Find out how to run efficient simulations to analyze real-world systems
- Understand how to simulate random walks using Markov chains
Who this book is for
This book is for data scientists, simulation engineers, and anyone who is already familiar with the basic computational methods and wants to implement various simulation techniques such as Monte-Carlo methods and statistical simulation using Python.
Table of Contents
- Introducing simulation models
- Understanding Randomness and Random Numbers
- Probability and Data Generating Process
- Working with Monte Carlo Simulations
- Simulation-Based Markov Decision Process
- Resampling methods
- Improving and optimizing systems
- Introducing evolutionary systems
- Simulation models for Financial Engineering
- Simulating Physical Phenomena by Neural Networks
- Modeling and Simulation for Project Management
- Simulation Model for Fault Diagnosis in dynamic system
- What is next?
β¦ Table of Contents
Cover
Title Page
Copyright and Credits
Dedication
Contributors
Table of Contents
Preface
Part 1: Getting Started with Numerical Simulation
Chapter 1: Introducing Simulation Models
Technical requirements
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
Exploring Discrete Event Simulation (DES)
Finite-state machine (FSM)
State transition table (STT)
State transition graph (STG)
Dynamic systems modeling
Managing workshop machinery
Simple harmonic oscillator
The predator-prey model
How to run efficient simulations to analyze real-world systems
Summary
Chapter 2: Understanding Randomness and Random Numbers
Technical requirements
Stochastic processes
Types of stochastic processes
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
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
Generating real-value distributions
Randomness requirements for security
Password-based authentication systems
Random password generator
Cryptographic random number generator
Introducing cryptography
Randomness and cryptography
Encrypted/decrypted message generator
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
The probability density function
Mean and variance
Uniform distribution
Binomial distribution
Normal distribution
Generating synthetic data
Real data versus artificial data
Synthetic data generation methods
Data generation with Keras
Data augmentation
Simulation of power analysis
The power of a statistical test
Power analysis
Summary
Part 2:Simulation Modeling Algorithms and Techniques
Chapter 4: Exploring Monte Carlo Simulations
Technical requirements
Introducing the 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
The central limit theorem
Applying the Monte Carlo simulation
Generating probability distributions
Numerical optimization
Project management
Performing numerical integration using Monte Carlo
Defining the problem
Numerical solution
Min-max detection
The Monte Carlo method
Visual representation
Exploring sensitivity analysis concepts
Local and global approaches
Sensitivity analysis methods
Sensitivity analysis in action
Explaining the cross-entropy method
Introducing cross-entropy
Cross-entropy in Python
Binary cross-entropy as a loss function
Summary
Chapter 5: Simulation-Based Markov Decision Processes
Technical requirements
Introducing agent-based models
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
One-dimensional random walk
Simulating a 1D random walk
Simulating a weather forecast
Bellman equation explained
Dynamic programming concepts
Principle of optimality
Bellman equation
Multi-agent simulation
Schellingβs model of segregation
Python Schelling model
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
Applying bootstrapping regression
Explaining permutation tests
Performing a permutation test
Approaching cross-validation techniques
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
Exploring the gradient descent technique
Defining descent methods
Approaching the gradient descent algorithm
Understanding the learning rate
Explaining the trial and error method
Implementing gradient descent in Python
Understanding the Newton-Raphson method
Using the Newton-Raphson algorithm for root finding
Approaching Newton-Raphson for numerical optimization
Applying the Newton-Raphson technique
The secant method
Deepening our knowledge of stochastic gradient descent
Approaching the EM algorithm
EM algorithm for Gaussian mixture
Understanding Simulated Annealing (SA)
Iterative improvement algorithms
SA in action
Discovering multivariate optimization methods in Python
The Nelder-Mead method
Powellβs conjugate direction algorithm
Summarizing other optimization methodologies
Summary
Chapter 8: Introducing Evolutionary Systems
Technical requirements
Introducing SC
Fuzzy logic (FL)
Artificial neural network (ANN)
Evolutionary computation
Understanding genetic programming
Introducing the genetic algorithm (GA)
The basics of GA
Genetic operators
Applying a GA for search and optimization
Performing symbolic regression (SR)
Exploring the CA model
Game-of-life
Wolfram code for CA
Summary
Part 3:Simulation Applications to Solve Real-World Problems
Chapter 9: 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 a time series
Introducing the Black-Scholes model
Applying the Monte Carlo simulation
Studying risk models for portfolio management
Using variance as a risk measure
Introducing the Value-at-Risk metric
Estimating VaR for some NASDAQ assets
Summary
Chapter 10: 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
Approaching deep neural networks
Getting familiar with convolutional neural networks
Examining recurrent neural networks
Analyzing long short-term memory networks
Exploring GNNs
Introducing graph theory
Adjacency matrix
GNNs
Simulation modeling using neural network techniques
Concrete quality prediction model
Summary
Chapter 11: 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 a fire starting
Scheduling project time using the Monte Carlo simulation
Defining the scheduling grid
Estimating the taskβs time
Developing an algorithm for project scheduling
Exploring triangular distribution
Summary
Chapter 12: Simulating Models for Fault Diagnosis in Dynamic Systems
Technical requirements
Introducing fault diagnosis
Understanding fault diagnosis methods
The machine-learning-based approach
Fault diagnosis model for a motor gearbox
Fault diagnosis system for an unmanned aerial vehicle
Summary
Chapter 13: 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 models to real life
Modeling in healthcare
Modeling in financial applications
Modeling physical phenomenon
Modeling fault diagnosis system
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
Index
About Packt
Other Books You May Enjoy
π SIMILAR VOLUMES
<p><b>Enhance your simulation modeling skills by creating and analyzing digital prototypes of a physical model using Python programming with this comprehensive guide</b></p> <h4>Key Features</h4> <ul><li>Learn to create a digital prototype of a real model using hands-on examples </li> <li>Evaluate t
Code .<p><b>Enhance your simulation modeling skills by creating and analyzing digital prototypes of a physical model using Python programming with this comprehensive guide</b></p> <h4>Key Features</h4> <ul><li>Learn to create a digital prototype of a real model using hands-on examples </li> <li>Eval
<span>Understand the theory and implementation of simulation. This book covers simulation topics from a scenario-driven approach using Python and rich visualizations and tabulations.Β <br>The book discusses simulation used in the natural and social sciences and with simulations taken from the top alg
<span>Understand the theory and implementation of simulation. This book covers simulation topics from a scenario-driven approach using Python and rich visualizations and tabulations.Β <br>The book discusses simulation used in the natural and social sciences and with simulations taken from the top alg
Understand the theory and implementation of simulation. This book covers simulation topics from a scenario-driven approach using Python and rich visualizations and tabulations. The book discusses simulation used in the natural and social sciences and with simulations taken from the top algorithms us