21
Random
Random Sampling & Distributions
Generate random numbers from various probability distributions. Useful for simulations, Monte Carlo methods, and data generation. This example uses deepbox/random and focuses on setSeed, rand, randn, randint, uniform, normal, binomial, poisson, exponential, gamma, beta.
Deepbox Modules Used
deepbox/randomWhat You Will Learn
- Use deepbox/random for setSeed, rand, randn, randint, uniform, normal, binomial, poisson, exponential, gamma, beta.
- Generate random numbers from various probability distributions. Useful for simulations, Monte Carlo methods, and data generation.
Source Files
index.ts
1/**2 * Example 21: Random Sampling & Distributions3 *4 * Generate random numbers from various probability distributions.5 * Useful for simulations, Monte Carlo methods, and data generation.6 */78import {9 beta,10 binomial,11 exponential,12 gamma,13 normal,14 poisson,15 rand,16 randint,17 randn,18 setSeed,19 uniform,20} from "deepbox/random";2122console.log("=== Random Sampling & Distributions ===\n");2324// Set seed for reproducibility25setSeed(42);26console.log("Random seed set to 42 for reproducibility\n");2728// Uniform distribution [0, 1)29console.log("1. Uniform Distribution [0, 1):");30const uniformSamples = rand([5]);31console.log(`${uniformSamples.toString()}\n`);3233// Standard normal distribution34console.log("2. Standard Normal Distribution (mean=0, std=1):");35const normalSamples = randn([5]);36console.log(`${normalSamples.toString()}\n`);3738// Random integers39console.log("3. Random Integers [0, 10):");40const intSamples = randint(0, 10, [8]);41console.log(`${intSamples.toString()}\n`);4243// Custom uniform distribution44console.log("4. Uniform Distribution [-5, 5]:");45const customUniform = uniform(-5, 5, [6]);46console.log(`${customUniform.toString()}\n`);4748// Custom normal distribution49console.log("5. Normal Distribution (mean=100, std=15):");50const customNormal = normal(100, 15, [6]);51console.log(`${customNormal.toString()}\n`);5253// Binomial distribution (coin flips)54console.log("6. Binomial Distribution (n=10, p=0.5):");55const binomialSamples = binomial(10, 0.5, [8]);56console.log(binomialSamples.toString());57console.log("(Number of heads in 10 coin flips)\n");5859// Poisson distribution60console.log("7. Poisson Distribution (λ=3):");61const poissonSamples = poisson(3, [8]);62console.log(poissonSamples.toString());63console.log("(Number of events with rate λ=3)\n");6465// Exponential distribution66console.log("8. Exponential Distribution (scale=2):");67const expSamples = exponential(2, [6]);68console.log(expSamples.toString());69console.log("(Time between events)\n");7071// Gamma distribution72console.log("9. Gamma Distribution (shape=2, scale=2):");73const gammaSamples = gamma(2, 2, [6]);74console.log(`${gammaSamples.toString()}\n`);7576// Beta distribution77console.log("10. Beta Distribution (α=2, β=5):");78const betaSamples = beta(2, 5, [6]);79console.log(betaSamples.toString());80console.log("(Values between 0 and 1)\n");8182console.log("✓ Random sampling complete!");83Console Output
$ npx tsx 21-random-sampling/index.ts
Console output showing samples from 10 different probability distributions