{ "cells": [ { "cell_type": "markdown", "id": "c57b2ce5", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Sampling From Unknown Distributions\n", "\n", "\n", "Feng Li\n", "\n", "School of Statistics and Mathematics\n", "\n", "Central University of Finance and Economics\n", "\n", "[feng.li@cufe.edu.cn](mailto:feng.li@cufe.edu.cn)\n", "\n", "[https://feng.li/statcomp](https://feng.li/statcomp)\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "69326237", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "options(jupyter.plot_scale=0.8)" ] }, { "cell_type": "markdown", "id": "47a7f101", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Direct Methods\n", "\n", "- Only need random numbers from uniform\n", "\n", "- Assume that we have a way to simulate from a uniform distribution between $0$ and $1$, $u\\sim U(0,1)$\n", "\n", "- If this is available, it is possible to simulate many other probability distributions.\n", "\n", "- The most simple method is the **Direct Method**" ] }, { "cell_type": "markdown", "id": "b5ca565a", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Discrete Case: Example 1\n", "\n", "- Assume that we want to simulate a binary variable $X$ with\n", " $\\mbox{Pr}(X=1)=0.3$ and $\\mbox{Pr}(X=0)=0.7$\n", "\n", "- Let $u\\sim U(0,1)$. Then the following rule can be used\n", " $$x=\\left\\{\\begin{array}{c}\n", " 1 \\quad \\mbox{if $u<0.3$}\\\\\n", " 0 \\quad \\mbox{if $u>0.3$}\\\\\n", " \\end{array}\n", " \\right.$$\n", "\n", "- It is expected that if this is repeated many times 30% $X=1$ and 70%\n", " $X=0$" ] }, { "cell_type": "code", "execution_count": 2, "id": "df9d4801", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", "