Bird
Raised Fist0
NumPydata~5 mins

Monte Carlo simulation basics in NumPy - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Monte Carlo simulation?
A Monte Carlo simulation is a method that uses random sampling to estimate results. It helps solve problems that might be hard to calculate exactly by trying many random possibilities.
Click to reveal answer
beginner
Why do we use random numbers in Monte Carlo simulations?
Random numbers help explore many possible outcomes. This randomness mimics real-life uncertainty and helps estimate probabilities or averages over many trials.
Click to reveal answer
beginner
In a Monte Carlo simulation, what does increasing the number of trials do?
Increasing trials usually makes the estimate more accurate because it averages over more random samples, reducing the effect of chance.
Click to reveal answer
beginner
What is a simple example of a Monte Carlo simulation?
Estimating the value of π by randomly placing points inside a square and counting how many fall inside the inscribed circle.
Click to reveal answer
beginner
What Python library is commonly used for Monte Carlo simulations?
NumPy is commonly used because it can generate random numbers efficiently and handle large arrays for many trials.
Click to reveal answer
What is the main idea behind Monte Carlo simulations?
AUsing only one fixed input
BSolving equations exactly
CUsing random sampling to estimate results
DIgnoring randomness
Which Python library is best for generating random numbers in Monte Carlo simulations?
ANumPy
Bmatplotlib
Cpandas
Dscikit-learn
What happens if you increase the number of trials in a Monte Carlo simulation?
AThe estimate becomes less accurate
BThe estimate becomes more accurate
CThe simulation stops working
DThe results become random
Which of these is a classic example of Monte Carlo simulation?
ASorting a list
BFinding the maximum value in data
CCalculating factorial
DEstimating π by random points in a square
Why do Monte Carlo simulations use randomness?
ATo explore many possible outcomes
BTo create fixed results
CTo avoid calculations
DTo make the code run faster
Explain what a Monte Carlo simulation is and why it uses random sampling.
Think about how randomness helps in estimating answers when exact calculation is hard.
You got /3 concepts.
    Describe a simple example of a Monte Carlo simulation and how increasing trials affects the result.
    Recall the circle and square example and what happens when you try more random points.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a Monte Carlo simulation in data science?
      easy
      A. To create visual charts
      B. To sort data quickly
      C. To estimate results using random sampling
      D. To clean missing data

      Solution

      1. Step 1: Understand Monte Carlo simulation basics

        Monte Carlo simulation uses random sampling to estimate results when exact calculation is hard.
      2. Step 2: Identify the main purpose

        It helps estimate outcomes by simulating many random scenarios.
      3. Final Answer:

        To estimate results using random sampling -> Option C
      4. Quick Check:

        Monte Carlo = random sampling estimation [OK]
      Hint: Monte Carlo = random sampling for estimation [OK]
      Common Mistakes:
      • Confusing Monte Carlo with data sorting
      • Thinking it cleans data
      • Assuming it creates charts
      2. Which numpy function is commonly used to generate random samples for Monte Carlo simulations?
      easy
      A. numpy.random.rand()
      B. numpy.array()
      C. numpy.mean()
      D. numpy.sort()

      Solution

      1. Step 1: Identify numpy functions for randomness

        numpy.random.rand() generates random numbers between 0 and 1, useful for sampling.
      2. Step 2: Compare with other options

        numpy.array() creates arrays, numpy.mean() calculates average, numpy.sort() sorts data; none generate random samples.
      3. Final Answer:

        numpy.random.rand() -> Option A
      4. Quick Check:

        Random samples = numpy.random.rand() [OK]
      Hint: Random samples come from numpy.random.rand() [OK]
      Common Mistakes:
      • Choosing numpy.array() instead of random function
      • Confusing mean or sort with random sampling
      • Using functions that don't generate randomness
      3. What is the output of this code snippet?
      import numpy as np
      np.random.seed(0)
      samples = np.random.rand(5)
      mean_val = np.mean(samples)
      print(round(mean_val, 2))
      medium
      A. 0.50
      B. 0.57
      C. 0.60
      D. 0.45

      Solution

      1. Step 1: Generate 5 random samples with seed 0

        Using np.random.seed(0) fixes randomness. np.random.rand(5) produces [0.5488135, 0.71518937, 0.60276338, 0.54488318, 0.4236548].
      2. Step 2: Calculate mean and round

        Sum = 2.83530423, mean = 0.567060846, round(mean_val, 2) = 0.57.
      3. Final Answer:

        0.57 -> Option B
      4. Quick Check:

        Mean of samples = 0.57 [OK]
      Hint: Seed fixes random values; mean rounds to 0.57 [OK]
      Common Mistakes:
      • Not setting seed causing different outputs
      • Rounding incorrectly
      • Calculating sum or mean wrongly
      4. Identify the error in this Monte Carlo simulation code:
      import numpy as np
      samples = np.random.rand(1000)
      result = sum(samples) / 100
      print(result)
      medium
      A. Using np.random.rand() instead of np.random.randint()
      B. Not setting random seed
      C. Missing np.mean() function
      D. Dividing by 100 instead of number of samples

      Solution

      1. Step 1: Check calculation of average

        sum(samples) sums 1000 values, but dividing by 100 underestimates average.
      2. Step 2: Correct divisor

        To get average, divide sum by 1000 (number of samples), not 100.
      3. Final Answer:

        Dividing by 100 instead of number of samples -> Option D
      4. Quick Check:

        Average = sum / number of samples [OK]
      Hint: Divide sum by sample count, not fixed number [OK]
      Common Mistakes:
      • Dividing by wrong number
      • Confusing random functions
      • Ignoring seed importance
      5. You want to estimate the probability that a random point inside a 1x1 square falls within a circle of radius 0.5 centered at (0.5, 0.5) using Monte Carlo simulation. Which numpy code correctly estimates this probability?
      hard
      A. points = np.random.rand(10000, 2) dist = np.sqrt((points[:,0]-0.5)**2 + (points[:,1]-0.5)**2) prob = np.sum(dist <= 0.5) / 10000 print(prob)
      B. points = np.random.rand(10000) dist = np.sqrt((points-0.5)**2) prob = np.sum(dist <= 0.5) / 10000 print(prob)
      C. points = np.random.rand(2, 10000) dist = np.sqrt((points[:,0]-0.5)**2 + (points[:,1]-0.5)**2) prob = np.sum(dist <= 0.5) / 10000 print(prob)
      D. points = np.random.randint(0, 1, (10000, 2)) dist = np.sqrt((points[:,0]-0.5)**2 + (points[:,1]-0.5)**2) prob = np.sum(dist <= 0.5) / 10000 print(prob)

      Solution

      1. Step 1: Generate 2D points inside 1x1 square

        np.random.rand(10000, 2) creates 10000 points with x,y in [0,1].
      2. Step 2: Calculate distance from center (0.5,0.5)

        Distance formula sqrt((x-0.5)^2 + (y-0.5)^2) applied to each point.
      3. Step 3: Count points inside circle and estimate probability

        Count points with distance ≤ 0.5, divide by total points for probability.
      4. Final Answer:

        np.random.rand(10000, 2) with column indexing for coordinates -> Option A
      5. Quick Check:

        2D points + distance check = probability [OK]
      Hint: Use 2D random points and distance formula [OK]
      Common Mistakes:
      • Using 1D points instead of 2D
      • Wrong shape for points array
      • Using randint instead of rand for floats
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard