
Learn how to subset vectors in R using indices, which, and negative subscripts to access or exclude elements, assign values, and manage missing values within arrays and sequences.
Explore list structures in R, how data frames give way to lists in analysis, and how regression or simulation returns complex outputs; model horse kicks deaths with Poisson assumptions.
Predict death counts using a Poisson model with Dpois, compare predicted versus observed from the horse kicks simulation, and store results in a data frame.
Practice crafting R expressions with x, a, and b; study operator precedence, exponentiation, and assignment; work with vectors, matrices, sequences, and identity matrices.
Explore R expressions through practice with vectors, modulo operations, and logical indexing to exclude values divisible by 2, 3, or 7, and manage queues with length and which for subsetting.
Use a simulation approach to run four 50-toss games, plot cumulative winnings, and compare exact binomial probability of breaking even with a reproducible set.seed run.
Run a thousand coin-toss simulations in R, storing f, l, and m to analyze lead frequency, and plot the distribution of maximum winnings in 50 plays.
A random permutation is a random ordering of a set of objects, that is, a permutation-valued random variable. The use of random permutations is often fundamental to fields that use randomized algorithms such as coding theory, cryptography, and simulation. A good example of a random permutation is the shuffling of a deck of cards: this is ideally a random permutation of the 52 cards.
Explore the hat problem through Monte Carlo style simulations by replicating random permutations of 10 hats, tallying matches, and estimating the distribution and expected value (mean) of matches.
Assess Utley's 35-game hitting streak with a non-parametric permutation of 116 hits in 160 games, and analyze switches via diff and histogram across thousands of samples to judge unusual behavior.
Monte Carlo methods (or Monte Carlo experiments) are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. They are often used in physical and mathematical problems and are most useful when it is difficult or impossible to use other mathematical methods. Monte Carlo methods are mainly used in three distinct problem classes: optimization, numerical integration, and generating draws from a probability distribution.
Statistical inference is the process of deducing properties of an underlying distribution by analysis of data. Inferential statistical analysis infers properties about a population: this includes testing hypotheses and deriving estimates. The population is assumed to be larger than the observed data set; in other words, the observed data is assumed to be sampled from a larger population.
Apply Monte Carlo inference with median-based summaries for non-normal data, compute standard errors and confidence intervals, and illustrate an upper confidence limit for variance from normal samples.
Use Monte Carlo simulation to compare two estimators for the total number of taxis: the maximum of observed cabs and twice the sample mean, under a uniform population.
Compare two estimators for the taxi count, max of five observations versus twice the mean, using Monte Carlo simulations to assess bias, standard error, and absolute error via box plots.
Use a Monte Carlo simulation to estimate expected total travel time over a five-day week, probability of at least one late class, and longest travel time with its standard error.
A stochastic simulation is a simulation that traces the evolution of variables that can change stochastically (randomly) with certain probabilities.
In probability and statistics, a probability distribution assigns a probability to each measurable subset of the possible outcomes of a random experiment, survey, or procedure of statistical inference. Examples are found in experiments whose sample space is non-numerical, where the distribution would be a categorical distribution; experiments whose sample space is encoded by discrete random variables, where the distribution can be specified by a probability mass function; and experiments with sample spaces encoded by continuous random variables, where the distribution can be specified by a probability density function. More complex experiments, such as those involving stochastic processes defined in continuous time, may demand the use of more general probability measures.
simulate a binomial variable with a homemade generator and recursive function, using 100 trials at 50% success, and compare the Monte Carlo histogram to the binomial function for confidence intervals.
The idea of the method is as follows: one starts with an initial guess which is reasonably close to the true root, then the function is approximated by its tangent line (which can be computed using the tools ofcalculus), and one computes the x-intercept of this tangent line (which is easily done with elementary algebra). This x-intercept will typically be a better approximation to the function's root than the original guess, and the method can be iterated.
Inverse transform sampling (also known as inversion sampling, the inverse probability integral transform, the inverse transformation method, Smirnov transform, golden rule,) is a basic method for pseudo-random number sampling, i.e. for generating sample numbers at random from any probability distribution given its cumulative distribution function (cdf).
The basic idea is to uniformly sample a number between 0 and 1, interpreted as a probability, and then return the largest number from the domain of the distribution such that . For example, imagine that is the standardnormal distribution (i.e. with mean 0, standard deviation 1). Then if we choose , we would return 0, because 50% of the probability of a normal distribution occurs in the region where . Similarly, if we choose , we would return 1.95996...; if we choose , we would return 2.5758...; if we choose , we would return 4.7534243...; if we choose , we would return 4.891638...; if we choose , we would return 8.1258906647...; if we choose , we would return 8.2095361516... etc. Essentially, we are randomly choosing a proportion of the area under the curve and returning the number in the domain such that exactly this proportion of the area occurs to the left of that number. Intuitively, we are unlikely to choose a number in the tails because there is very little area in them: We'd have to pick a number very close to 0 or 1.
Investigate transforming known functions to simulate samples, note the difficulty of obtaining the standard normal from uniform input, and apply the inverse method to discrete distributions.
In mathematics, rejection sampling is a basic technique used to generate observations from a distribution. It is also commonly called the acceptance-rejection method or "accept-reject algorithm" and is a type of Monte Carlo method. The method works for any distribution in with a density.
Rejection sampling is based on the observation that to sample a random variable one can sample uniformly from the region under the graph of its density function.
Explore the accept-reject method for continuous distributions by simulating from a uniform rectangle and accepting points under the target density, using the beta distribution with shape parameters a and b.
Apply the acceptance–rejection method to simulate the area under a triangle by partitioning the interval into ranges with f(x)=x on [0,1] and f(x)=2−x on [1,2], and plot a histogram.
Explore the Poisson distribution as a discrete random variable, its lambda-driven probability and cumulative density functions, and how to simulate Poisson outcomes from uniform inputs.
In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations.
Use the trapezoidal rule to estimate the area under f(x)=4x^3 on [0,1]. Create a function accepting f, a, b, and n to compute width and sum trapezoids.
Derive z-values from tail areas of the phi function by reversing the computation of the pdf and cumulative area, using provided functions to determine significance and confidence levels.
Generate uniform x and y samples and use a hit-or-miss test against f to estimate the integral. The approach works but needs many simulations, showing limited efficiency.
Explore in R how to invert the normal cumulative distribution function using phi functions and Newton-Raphson, converting area under the curve into z scores and standard deviations.
In statistics, resampling is any of a variety of methods for doing one of the following:
Common resampling techniques include bootstrapping, jackknifing and permutation tests.
Explore permutation tests and notched box plots to detect median differences, noting when medians fall outside notches and small-sample limits; verify with a six-way anova on weight, and residual checks.
Learn how to perform permutation tests to compare distributions in R, using the Chckwts example to assess mean differences with KS and exact tests, plus simulation-based p-values.
Develop skills in permutation tests, K-S test distributional summaries, compare groups, and implement an exercise to analyze correlations with normal and lognormal data in R.
Create a trap transect class in R, implement a constructor, and define print and mean methods to summarize weighted seed dispersal along a transect.
Compare gamma density (rate 1/2) with an exponential density for seed dispersal around a plant, then use rejection sampling with exponential draws and a uniform threshold to estimate radial density.
Explore building and testing a generic simulate function for transect holder objects and perform Monte Carlo seed dispersal simulations using Weibull distributions, q-q plots, and acceptance rejection sampling.
R Programming for Simulation and Monte Carlo Methods focuses on using R software to program probabilistic simulations, often called Monte Carlo Simulations. Typical simplified "real-world" examples include simulating the probabilities of a baseball player having a 'streak' of twenty sequential season games with 'hits-at-bat' or estimating the likely total number of taxicabs in a strange city when one observes a certain sequence of numbered cabs pass a particular street corner over a 60 minute period. In addition to detailing half a dozen (sometimes amusing) 'real-world' extended example applications, the course also explains in detail how to use existing R functions, and how to write your own R functions, to perform simulated inference estimates, including likelihoods and confidence intervals, and other cases of stochastic simulation. Techniques to use R to generate different characteristics of various families of random variables are explained in detail. The course teaches skills to implement various approaches to simulate continuous and discrete random variable probability distribution functions, parameter estimation, Monte-Carlo Integration, and variance reduction techniques. The course partially utilizes the Comprehensive R Archive Network (CRAN) spuRs package to demonstrate how to structure and write programs to accomplish mathematical and probabilistic simulations using R statistical software.