Details
Title | Hands-on simulation modeling with Python: develop simulation models to get accurate results and enhance decision-making processes |
---|---|
Creators | Ciaburro Giuseppe |
Collection | Электронные книги зарубежных издательств ; Общая коллекция |
Subjects | Python (Computer program language) ; Computer simulation. ; Simulation methods. ; Decision making — Data processing. ; Computer programming. ; EBSCO eBooks |
Document type | Other |
File type | |
Language | English |
Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Record key | on1202027150 |
Record create date | 10/27/2020 |
Allowed Actions
pdf/2527744.pdf | – |
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
|
---|---|---|
epub/2527744.epub | – |
Action 'Download' will be available if you login or access site from another network
|
Group | Anonymous |
---|---|
Network | Internet |
Developers working with the simulation models will be able to put their knowledge to work with this practical guide. You will work with real-world data to uncover various patterns used in complex systems using Python. The book provides a hands-on approach to implementation and associated methodologies to improve or optimize systems.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
- 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
- Introducing simulation models
- 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
- Summarizing simulation modeling concepts
- Other Books You May Enjoy
- Leave a review - let other readers know what you think
- Index