ENGLISH

Hands-On Simulation Modeling with Python: Develop simulation models for improved efficiency and precision in the decision-making process, 2nd Edition

Book information

Publisher
Packt Publishing
Year
2022
ISBN
1804616885, 9781804616888
Language
english
Format
PDF
Filesize
16 MB (16491320 bytes)
Edition
2
Pages
460\460
Time added
2022-12-11 15:50:34

Description

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 FeaturesUnderstand various statistical and physical simulations to improve systems using PythonLearn to create the numerical prototype of a real model using hands-on examplesEvaluate performance and output results based on how the prototype would work in the real worldBook 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 learnGet to grips with the concept of randomness and the data generation processDelve into resampling methodsDiscover how to work with Monte Carlo simulationsUtilize simulations to improve or optimize systemsFind out how to run efficient simulations to analyze real-world systemsUnderstand how to simulate random walks using Markov chainsWho 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 ContentsIntroducing simulation modelsUnderstanding Randomness and Random NumbersProbability and Data Generating ProcessWorking with Monte Carlo SimulationsSimulation-Based Markov Decision ProcessResampling methodsImproving and optimizing systemsIntroducing evolutionary systemsSimulation models for Financial EngineeringSimulating Physical Phenomena by Neural NetworksModeling and Simulation for Project ManagementSimulation Model for Fault Diagnosis in dynamic systemWhat is next? 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 books