#### Overview of this book

Data Science with R aims to teach you how to begin performing data science tasks by taking advantage of Rs powerful ecosystem of packages. R being the most widely used programming language when used with data science can be a powerful combination to solve complexities involved with varied data sets in the real world. The book will provide a computational and methodological framework for statistical simulation to the users. Through this book, you will get in grips with the software environment R. After getting to know the background of popular methods in the area of computational statistics, you will see some applications in R to better understand the methods as well as gaining experience of working with real-world data and real-world problems. This book helps uncover the large-scale patterns in complex systems where interdependencies and variation are critical. An effective simulation is driven by data generating processes that accurately reflect real physical populations. You will learn how to plan and structure a simulation project to aid in the decision-making process as well as the presentation of results. By the end of this book, you reader will get in touch with the software environment R. After getting background on popular methods in the area, you will see applications in R to better understand the methods as well as to gain experience when working on real-world data and real-world problems.
Simulation for Data Science with R
Credits
www.PacktPub.com
Preface
Free Chapter
Introduction
R and High-Performance Computing
The Discrepancy between Pencil-Driven Theory and Data-Driven Computational Solutions
Simulation of Random Numbers
Monte Carlo Methods for Optimization Problems
Probability Theory Shown by Simulation
Resampling Methods
Applications of Resampling Methods and Monte Carlo Tests
The EM Algorithm
Simulation with Complex Data
System Dynamics and Agent-Based Models
Index

## Numerical optimization

The aim is to find the extreme values (for example, maxima or minima) of a function f(x) or of an implicit equation g(x) = 0. In focus it is therefore the optimization problem max h(x). Or in other words, we search for a value that holds:

• (global minima)
• (global maxima)

Basically, two kinds of approaches exist to solve a complex optimization problem, as already mentioned:

• The pure deterministic approach

• The stochastic approach

Deterministic means in this chapter to follow strict rules to achieve the maxima without any randomness included. While the numerical deterministic solution of the problem depends on the analytical properties of the objective function `h` (for example, convexity and smoothness), the stochastic approach is of more general use.

For the following examples we use the following function, where afterwards we want to find its minimum. The optima of our modified 2D Rosenbrock function (`mountains`) should be at `(1,1)`:

```mountains <- function(v) {
(1 -...```