# The Bootstrap: Measuring How Much Your Estimate Could Have Wobbled

> A concrete introduction to the bootstrap for applied researchers. The lecture turns one irreplaceable observed sample into repeated resamples with replacement, builds the distribution of recomputed estimates while its histogram fills, checks the method against the familiar standard error of a mean, and then transfers it to the analytically awkward sample median. It distinguishes the conditional bootstrap distribution from the true sampling distribution, states the assumptions behind ordinary empirical resampling, and uses the sample maximum to show why unseen tails can make the method fail.

- Canonical watch page: [The Bootstrap: Measuring How Much Your Estimate Could Have Wobbled](https://academa.ai/lectures/the-bootstrap)
- Publisher: [Academa, Inc.](https://academa.ai)
- Subject: Statistics
- Published: 2026-08-28T22:52:03.000Z
- Updated: 2026-08-28T22:52:03.000Z
- Duration: PT1031S (17 minutes 11 seconds)
- Chapters: 5
- Views: 0
- Language: en-US
- Access: Free
- Video stream: [HLS content](https://academa.ai/media/l/01M14V0AHYWZF0P1T6RW5XS3TD/0/dark/master.m3u8)
- Audiovisual record: [Semantic JSON](https://academa.ai/media/l/01M14V0AHYWZF0P1T6RW5XS3TD/0/semantic.json)
- Thumbnail: [Image](https://academa.ai/media/l/01M14V0AHYWZF0P1T6RW5XS3TD/0/dark/poster.jpg)

## Description

Learn bootstrap resampling through the mean and median, then see its assumptions, interpretation, and classic failure for sample maxima.

## Chapters

- [00:00–03:5.185 · The Resampling Trick](https://academa.ai/lectures/the-bootstrap?t=0)
- [03:5.185–06:11.205 · The Mean as a Calibration Case](https://academa.ai/lectures/the-bootstrap?t=185.18472916666664)
- [06:11.205–08:59.307 · Why the Median Makes Resampling Useful](https://academa.ai/lectures/the-bootstrap?t=371.205375)
- [08:59.307–12:43.074 · What the Bootstrap Distribution Means](https://academa.ai/lectures/the-bootstrap?t=539.3068333333333)
- [12:43.074–17:11 · Where the Bootstrap Breaks](https://academa.ai/lectures/the-bootstrap?t=763.0736041666667)

## Transcript

### [00:00 · The Resampling Trick](https://academa.ai/lectures/the-bootstrap?t=0)

Suppose this sample is all we have. The study is finished, the subjects are gone, or another round of measurement is simply impossible. We can compute an estimate from these observations, but one number does not tell us how much that estimate would have wobbled under another sample. Here is the observed sample, drawn without any invented scientific story. The labels x one through x six stand for whatever values the research actually produced. Six is only a small display size. In practice the sample contains all n observed values. The bootstrap asks us to act as though this observed collection were a tiny stand-in population. For the first bootstrap resample, draw six indices from one through six. An index is returned after every draw, so it may be selected again. That phrase, with replacement, does real work. In this resample x two appears three times. Some observed values appear once, and others do not appear at all. The resample still has the same size as the original sample. Now run the statistic on the resample. T can be a mean, a median, a regression coefficient, a ratio, or another estimator. The star marks the result as a bootstrap version of the estimate, not as a new observation from the world. Then discard that temporary resample and draw another. This time other indices repeat. Recompute exactly the same statistic, store the result, and continue. The procedure varies the sample while keeping the analysis rule fixed. Here is the complete computational recipe. First, draw n indices with replacement from the n available indices. Drawing indices rather than values is usually the cleanest implementation because every row of the data travels with its corresponding observation. Second, use those indices to assemble one resample. Third, send that resample through the same statistic-producing code used on the original data. No special algebra is needed inside the estimator. Fourth, repeat the operation many times and retain the resulting estimates. Their collection is the bootstrap distribution. Its centre, spread, asymmetry, and tails describe how the estimator behaves when the empirical stand-in population is sampled repeatedly. Written mathematically, the stand-in population is the empirical distribution F hat. It places equal probability, one over n, on every observed value. Sampling from that discrete distribution is exactly the same operation as drawing rows with replacement. Replacement is essential. Sampling n rows without replacement would return every original row exactly once, merely shuffled, so most statistics would never change. Replacement creates the repetitions and omissions that make the estimates wobble.

### [03:5.185 · The Mean as a Calibration Case](https://academa.ai/lectures/the-bootstrap?t=185.18472916666664)

Start with the sample mean because it gives us a calibration case. We already know useful theory for its sampling variation, so the bootstrap has an independent answer to match rather than asking us to trust the resampling procedure on first contact. For bootstrap resample b, compute its mean in exactly the same way. One resample produces one starred mean. Another resample produces another. Each result becomes one brick at its position on this horizontal axis. Here come a few more. They do not all land at the original mean because the resamples repeat and omit different observations. Some fall to the left, some to the right, and some land close to the centre. Now let dozens of resamples run. Every repetition draws n rows, computes one mean, and adds one brick. The empty frame becomes a distribution built from estimates rather than from raw observations. Continue farther. The exact outline still jitters because a finite number of bootstrap runs has Monte Carlo noise, but its broad shape settles: many means near the middle and fewer out in either direction. The dashed line marks the mean of the observed sample. The bootstrap distribution is usually centred near that estimate. Its horizontal spread is the important quantity: it estimates how much the sample mean would vary across repeated samples from the population. Measure that spread by taking the standard deviation of the bootstrap means. This gives the bootstrap standard error. It is a standard deviation across replicated estimates, not the standard deviation of the original observations. For the mean, the familiar analytic check is s divided by square root n, assuming independent observations and finite variance. The bootstrap spread should be close to that formula when the sample is reasonably informative. The agreement is not mysterious. The empirical distribution has nearly the same measured spread as the sample, and every bootstrap mean averages n draws from that empirical distribution. The same square-root-n stabilization appears. There is a small finite-sample detail. If s uses its usual n minus one denominator, the basic empirical bootstrap spread for the mean is smaller by a factor square root of n minus one over n. That factor approaches one and is rarely the main uncertainty. Increasing the number B of resamples makes the histogram smoother and its measured spread more reproducible. It does not enlarge the original sample, correct selection bias, or manufacture information the sample never contained. So the mean has done its job. The resampling distribution behaves like a sampling distribution, and a known formula checks its scale. Now we can keep the procedure and change only the statistic.

### [06:11.205 · Why the Median Makes Resampling Useful](https://academa.ai/lectures/the-bootstrap?t=371.205375)

Now replace the mean by the sample median. The median is the middle observation after sorting, so it is often a sensible summary when the data are skewed or when a few large values would pull a mean around. Nothing in the resampling machinery changes. Draw n rows with replacement, form the same kind of bootstrap resample R b, and now ask the existing analysis code for its median rather than its mean. The next resample produces a second bootstrap median. Then a third. Duplicated observations can become middle observations, and omitted observations can move the middle elsewhere. Let the repetition continue. Because an empirical distribution contains only the observed values, bootstrap medians often repeat. The histogram can look stepped or lumpy, especially when n is small. With many more resamples the relative heights stabilize. The lumps are not automatically an error. They report the discrete set of middle values available under resampling from this observed sample. As before, take the standard deviation of all stored bootstrap medians to estimate the median's standard error. Quantiles of the same collection can also describe an interval, though interval construction brings extra choices that should be reported. There is analytic theory for a median, but it is already less friendly. Under smooth conditions and for a large sample, its standard error depends on one over twice the population density at the population median, times square root n. That density at the unknown median is itself unknown. Estimating it requires smoothing choices, and the approximation depends on regularity conditions. For more complicated estimators, the analytic derivation can become much less pleasant still. The bootstrap avoids deriving a fresh sampling formula for every statistic. We supply a resampling rule and a function T. The same loop that handled the mean now handles the median, while the estimator code remains the definition of what we want. That does not make the bootstrap exact. A tiny sample may provide a very coarse empirical distribution, so the bootstrap median can have only a few possible values. A strange-looking histogram is evidence to inspect, not something to smooth away without thought. This is the method's real advantage. The mean showed that resampling can reproduce a known scale. The median shows why we bother: we can estimate uncertainty without solving the estimator's sampling distribution by hand.

### [08:59.307 · What the Bootstrap Distribution Means](https://academa.ai/lectures/the-bootstrap?t=539.3068333333333)

We should now be precise about what this constructed distribution means. Imagine the experiment we truly want but cannot perform: repeatedly draw fresh samples of size n from the population F and recompute the estimate each time. The collection of those real repeated estimates is the sampling distribution. Its spread is the actual repeated-sampling uncertainty of the estimator under population F. But F is unknown, and we possess only one realized sample. The bootstrap replaces unknown F by the empirical distribution F hat. That distribution places mass one over n on each observed value, and it is completely determined once the observed sample is fixed. We repeatedly draw starred samples from F hat and compute starred estimates. Their conditional distribution is the bootstrap distribution. Conditional means that the original observed sample is now held fixed throughout the resampling experiment. The central approximation is now visible. The distribution of starred estimates under the empirical distribution is used to approximate the distribution of ordinary estimates under the unknown population. A bootstrap histogram therefore does not show new data that might have been observed. It shows the variability created by sampling from the empirical stand-in population. Its quality depends on how well that stand-in preserves the features relevant to the chosen statistic. Nor is this automatically a probability distribution for the unknown parameter after seeing the data. That would require a Bayesian model and a prior. The ordinary bootstrap is a repeated-sampling approximation conditional on the observations. The approximation carries assumptions. First, the original sample must be representative of the population to which the uncertainty statement will be applied. Resampling cannot repair a biased sampling frame, selective nonresponse, or a measurement process that misses part of the target. Second, the ordinary bootstrap treats rows as independent and identically distributed sampling units. If observations arrive in clusters, repeated measures, spatial neighborhoods, or a time series, resampling individual rows destroys the dependence that contributes to uncertainty. The remedy is not to ignore dependence but to resample at a scientifically defensible unit. Depending on the design, that might mean whole clusters, subjects, or blocks of consecutive observations. The resampling scheme must imitate the original sampling mechanism. Third, the empirical distribution must contain the features that govern the statistic. For means and many smooth estimators, the observed spread often supplies what is needed. For tail behavior or rare events, the missing part of the population may be exactly what matters. Fourth, the estimator should respond regularly to modest changes in the distribution. Statistics at boundaries, statistics defined by rare events, and some model-selection procedures can change abruptly. In those cases the ordinary bootstrap may approximate the wrong limiting behavior. These assumptions are not ceremonial fine print. They tell us what experiment the resampling is imitating, which object should be resampled, and whether the observed empirical distribution contains enough information for the target statistic.

### [12:43.074 · Where the Bootstrap Breaks](https://academa.ai/lectures/the-bootstrap?t=763.0736041666667)

The classic failure is estimating a maximum. This question sounds like a natural extension of the mean and median examples, but the maximum depends on information just beyond the largest observation, precisely where the empirical distribution knows nothing. Order the observed values and mark the largest one, x sub n, in red. Every ordinary bootstrap resample draws only from these standing points. It may duplicate the red maximum, include it once, or omit it. If a resample contains x sub n, its maximum is x sub n. If it omits that observation, its maximum is smaller. No resample can produce a value larger than the largest value already present. Yet a genuinely new sample from the population may contain an unseen extreme beyond x sub n. That possibility contributes to the real sampling distribution of the maximum, but it is absent from the empirical resampling distribution. The problem is visible even before asymptotic theory. Suppose the observed maximum is unique. One bootstrap resample includes it unless all n draws select from the other n minus one observations. The chance of including it at least once is one minus one minus one over n to the nth power. For large n this approaches one minus e to the minus one, about zero point six three. So roughly sixty-three percent of bootstrap maxima pile up exactly at the observed maximum. The rest lie below it. The distribution has a hard ceiling created by the dataset, although the population itself need not have that ceiling. Running a million resamples only estimates this defective conditional distribution with great numerical precision. It cannot place probability beyond x sub n because the empirical distribution assigned none there. For endpoint and extreme-value questions, useful alternatives require additional structure: a justified tail model, a parametric resampling model, subsampling under appropriate theory, or methods developed specifically for extremes. The ordinary row bootstrap is not a universal default. A practical analysis starts by identifying the scientific sampling unit. Resample subjects if subjects were sampled, clusters if clusters were sampled, or valid dependence-preserving blocks when time or space links nearby observations. Then inspect the bootstrap distribution rather than reporting only one standard error. Strong discreteness, severe skew, a pile against a boundary, or large changes across reasonable analysis choices can reveal that the approximation is fragile. Very small samples deserve caution because their empirical distributions are coarse. Extreme quantiles, maxima, minima, and rare-event statistics deserve caution because the unobserved tail may control the answer. Dependence, censoring, selection, missingness, and complicated fitted procedures may require a design-aware or specialized bootstrap. The resampling scheme should reproduce the source of variability that the uncertainty statement is supposed to include. Finally, separate two sample sizes. The original n controls how much information came from the world. The bootstrap count B controls how accurately we simulate the conditional resampling distribution. Making B enormous cannot compensate for an uninformative n. The bootstrap is a disciplined thought experiment. It asks how the estimator varies when sampling is repeated from the empirical population. For the mean, a formula checked the spread. For the median, resampling avoided unpleasant analytic work. For the maximum, the missing tail exposed the boundary of the trick. So the practical habit is simple: resample the right units, recompute the entire statistic, watch the distribution form, and then ask whether the observed sample could genuinely stand in for the population feature that controls your uncertainty. The calculation is easy. That final judgment is the statistical work.

## About Academa, Inc.

Academa makes technical knowledge easier to understand through visual lectures and lets learners request new lecture videos on the topics they need.

## Complete audiovisual record

Immutable source: [semantic.json](https://academa.ai/media/l/01M14V0AHYWZF0P1T6RW5XS3TD/0/semantic.json)

Record version: 1. Render attempt: 0.

### How to read this timeline

Each scene owns its object identifiers. A beat's board is the complete board when listed, empty when marked empty, and unchanged from the nearest earlier listed board in the same scene when marked unchanged. Action times are absolute positions in the published video.

### Scene 1: [The Resampling Trick](https://academa.ai/lectures/the-bootstrap?t=0)

Span: 00:00–03:5.185 (0s–185.18472916666664s).

#### Objects

- algorithm: a Table \[text\] that says "Step Action 1 Draw $n$ indices from $1,dots,n$ with replacement. 2 Use those indices to form one bootstrap resample. 3 Recompute the statistic on that resample. 4 Repeat many times and keep every statistic." (rows=(('Step', 'Action'), ('1', 'Draw $n$ indices from $1,dots,n$ wi…, header=True)
- empirical: a Math \[text\] that says "$hat(F)\_n=frac(1,n) sum\_(i=1)^n delta\_(x\_i)$"
- equal\_mass: a Text \[text\] that says "The ordinary bootstrap treats each observed value as carrying probability $1/n$."
- heading: a Heading that says "One Sample, Reused Carefully"
- observed: a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False)
- question: a Panel that says "I have one sample that I cannot recollect. How much might my estimate have changed if sampling had gone differently?"
- resample\_1: a Math \[text\] that says "$R\_1=(x\_2,x\_2,x\_5,x\_1,x\_6,x\_2)$"
- resample\_2: a Math \[text\] that says "$R\_2=(x\_4,x\_1,x\_4,x\_6,x\_3,x\_3)$"
- sample\_points: a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0))
- sample\_points\_2: a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0))
- sample\_points\_3: a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0))
- sample\_points\_4: a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0))
- sample\_points\_5: a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0))
- sample\_points\_6: a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0))
- statistic\_1: a Math \[text\] that says "$hat(theta)^\*\_1=T(R\_1)$"
- statistic\_2: a Math \[text\] that says "$hat(theta)^\*\_2=T(R\_2)$"

#### Beats

##### [00:00](https://academa.ai/lectures/the-bootstrap?t=0)

Narration: Suppose this sample is all we have. The study is finished, the subjects are gone, or another round of measurement is simply impossible. We can compute an estimate from these observations, but one number does not tell us how much that estimate would have wobbled under another sample.

Board: Empty.

Actions:
- [00:00](https://academa.ai/lectures/the-bootstrap?t=0): question is shown on the screen, written out.
- [00:15.662](https://academa.ai/lectures/the-bootstrap?t=15.6615): question moves to a new place on the board.

##### [00:16.262](https://academa.ai/lectures/the-bootstrap?t=16.2615)

Narration: Here is the observed sample, drawn without any invented scientific story. The labels x one through x six stand for whatever values the research actually produced. Six is only a small display size. In practice the sample contains all n observed values.

Board: question — a Panel that says "I have one sample that I cannot recollect. How much might my estimate have changed if sampling had gone differently?"

Actions:
- [00:16.262](https://academa.ai/lectures/the-bootstrap?t=16.2615): observed is shown on the screen, written out.
- [00:21.614](https://academa.ai/lectures/the-bootstrap?t=21.614000000000004): sample\_points is shown on the screen, written out.
- [00:21.694](https://academa.ai/lectures/the-bootstrap?t=21.694000000000003): sample\_points\_2 is shown on the screen, written out.
- [00:21.774](https://academa.ai/lectures/the-bootstrap?t=21.774000000000004): sample\_points\_3 is shown on the screen, written out.
- [00:21.854](https://academa.ai/lectures/the-bootstrap?t=21.854000000000003): sample\_points\_4 is shown on the screen, written out.
- [00:21.934](https://academa.ai/lectures/the-bootstrap?t=21.934000000000005): sample\_points\_5 is shown on the screen, written out.
- [00:22.014](https://academa.ai/lectures/the-bootstrap?t=22.014000000000003): sample\_points\_6 is shown on the screen, written out.

##### [00:34.52](https://academa.ai/lectures/the-bootstrap?t=34.5205)

Narration: The bootstrap asks us to act as though this observed collection were a tiny stand-in population. For the first bootstrap resample, draw six indices from one through six. An index is returned after every draw, so it may be selected again.

Board: question — a Panel that says "I have one sample that I cannot recollect. How much might my estimate have changed if sampling had gone differently?"; observed — a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False); sample\_points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); sample\_points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0)); sample\_points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0)); sample\_points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0)); sample\_points\_5 — a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0)); sample\_points\_6 — a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0))

Actions:
- [00:40.837](https://academa.ai/lectures/the-bootstrap?t=40.836999999999996): observed moves to a new place on the board.
- [00:40.837](https://academa.ai/lectures/the-bootstrap?t=40.836999999999996): resample\_1 is shown on the screen, written out.

##### [00:50.469](https://academa.ai/lectures/the-bootstrap?t=50.4695)

Narration: That phrase, with replacement, does real work. In this resample x two appears three times. Some observed values appear once, and others do not appear at all. The resample still has the same size as the original sample.

Board: question — a Panel that says "I have one sample that I cannot recollect. How much might my estimate have changed if sampling had gone differently?"; resample\_1 — a Math \[text\] that says "$R\_1=(x\_2,x\_2,x\_5,x\_1,x\_6,x\_2)$"; observed — a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False); sample\_points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); sample\_points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0)); sample\_points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0)); sample\_points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0)); sample\_points\_5 — a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0)); sample\_points\_6 — a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0))

Actions:
- [00:55.636](https://academa.ai/lectures/the-bootstrap?t=55.635999999999996): resample\_1 (the "x\_2" part) is emphasized.
- [00:57.853](https://academa.ai/lectures/the-bootstrap?t=57.852999999999994): resample\_1 (the "x\_2" part) is no longer emphasized.

##### [01:5.918](https://academa.ai/lectures/the-bootstrap?t=65.9185)

Narration: Now run the statistic on the resample. T can be a mean, a median, a regression coefficient, a ratio, or another estimator. The star marks the result as a bootstrap version of the estimate, not as a new observation from the world.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [01:5.918](https://academa.ai/lectures/the-bootstrap?t=65.9185): statistic\_1 is shown on the screen, written out.
- [01:9.657](https://academa.ai/lectures/the-bootstrap?t=69.657): statistic\_1 (the "T(R\_1)" part) is emphasized.
- [01:16.286](https://academa.ai/lectures/the-bootstrap?t=76.28599999999999): statistic\_1 (the "T(R\_1)" part) is no longer emphasized.

##### [01:22.923](https://academa.ai/lectures/the-bootstrap?t=82.923)

Narration: Then discard that temporary resample and draw another. This time other indices repeat. Recompute exactly the same statistic, store the result, and continue. The procedure varies the sample while keeping the analysis rule fixed.

Board: question — a Panel that says "I have one sample that I cannot recollect. How much might my estimate have changed if sampling had gone differently?"; resample\_1 — a Math \[text\] that says "$R\_1=(x\_2,x\_2,x\_5,x\_1,x\_6,x\_2)$"; statistic\_1 — a Math \[text\] that says "$hat(theta)^\*\_1=T(R\_1)$"; observed — a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False); sample\_points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); sample\_points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0)); sample\_points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0)); sample\_points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0)); sample\_points\_5 — a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0)); sample\_points\_6 — a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0))

Actions:
- [01:25.965](https://academa.ai/lectures/the-bootstrap?t=85.96499999999999): resample\_2 is shown on the screen, written out.
- [01:29.645](https://academa.ai/lectures/the-bootstrap?t=89.645): statistic\_2 is shown on the screen, written out.
- [01:38.806](https://academa.ai/lectures/the-bootstrap?t=98.806): observed moves to a new place on the board.
- [01:38.806](https://academa.ai/lectures/the-bootstrap?t=98.806): question is hidden from the screen — left the board.
- [01:38.806](https://academa.ai/lectures/the-bootstrap?t=98.806): resample\_1 is hidden from the screen — left the board.
- [01:38.806](https://academa.ai/lectures/the-bootstrap?t=98.806): resample\_2 is hidden from the screen — left the board.
- [01:38.806](https://academa.ai/lectures/the-bootstrap?t=98.806): statistic\_1 is hidden from the screen — left the board.
- [01:38.806](https://academa.ai/lectures/the-bootstrap?t=98.806): statistic\_2 is hidden from the screen — left the board.

##### [01:40.006](https://academa.ai/lectures/the-bootstrap?t=100.006)

Narration: Here is the complete computational recipe. First, draw n indices with replacement from the n available indices. Drawing indices rather than values is usually the cleanest implementation because every row of the data travels with its corresponding observation.

Board: observed — a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False); sample\_points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); sample\_points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0)); sample\_points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0)); sample\_points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0)); sample\_points\_5 — a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0)); sample\_points\_6 — a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0))

Actions:
- [01:40.006](https://academa.ai/lectures/the-bootstrap?t=100.006): heading is shown on the screen, written out.
- [01:40.006](https://academa.ai/lectures/the-bootstrap?t=100.006): algorithm is shown on the screen, written out.
- [01:43.396](https://academa.ai/lectures/the-bootstrap?t=103.396): algorithm is shown on the screen, written out.

##### [01:57.15](https://academa.ai/lectures/the-bootstrap?t=117.1505)

Narration: Second, use those indices to assemble one resample. Third, send that resample through the same statistic-producing code used on the original data. No special algebra is needed inside the estimator.

Board: observed — a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False); sample\_points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); sample\_points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0)); sample\_points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0)); sample\_points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0)); sample\_points\_5 — a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0)); sample\_points\_6 — a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0)); heading — a Heading that says "One Sample, Reused Carefully"

Actions:
- [01:57.499](https://academa.ai/lectures/the-bootstrap?t=117.499): algorithm is shown on the screen, written out.
- [02:1.411](https://academa.ai/lectures/the-bootstrap?t=121.411): algorithm is shown on the screen, written out.

##### [02:11.543](https://academa.ai/lectures/the-bootstrap?t=131.543)

Narration: Fourth, repeat the operation many times and retain the resulting estimates. Their collection is the bootstrap distribution. Its centre, spread, asymmetry, and tails describe how the estimator behaves when the empirical stand-in population is sampled repeatedly.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [02:12.019](https://academa.ai/lectures/the-bootstrap?t=132.019): algorithm is shown on the screen, written out.

##### [02:30.51](https://academa.ai/lectures/the-bootstrap?t=150.5095)

Narration: Written mathematically, the stand-in population is the empirical distribution F hat. It places equal probability, one over n, on every observed value. Sampling from that discrete distribution is exactly the same operation as drawing rows with replacement.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [02:33.969](https://academa.ai/lectures/the-bootstrap?t=153.969): empirical is shown on the screen, written out.
- [02:37.267](https://academa.ai/lectures/the-bootstrap?t=157.267): equal\_mass is shown on the screen, written out.

##### [02:48.269](https://academa.ai/lectures/the-bootstrap?t=168.2695)

Narration: Replacement is essential. Sampling n rows without replacement would return every original row exactly once, merely shuffled, so most statistics would never change. Replacement creates the repetitions and omissions that make the estimates wobble.

Board: observed — a NumberLine labelled "upright("observed value")" (x\_range=(0.0, 10.0), include\_ticks=False); sample\_points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); sample\_points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.1, 0.0)); sample\_points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.4, 0.0)); sample\_points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(5.0, 0.0)); sample\_points\_5 — a Point \[blue\] labelled "x\_5" drawn in observed (location=(7.2, 0.0)); sample\_points\_6 — a Point \[blue\] labelled "x\_6" drawn in observed (location=(9.0, 0.0)); empirical — a Math \[text\] that says "$hat(F)\_n=frac(1,n) sum\_(i=1)^n delta\_(x\_i)$"; equal\_mass — a Text \[text\] that says "The ordinary bootstrap treats each observed value as carrying probability $1/n$."; heading — a Heading that says "One Sample, Reused Carefully"

Actions:
- [02:48.618](https://academa.ai/lectures/the-bootstrap?t=168.61799999999997): algorithm (the "with replacement" part) is emphasized.
- [03:3.893](https://academa.ai/lectures/the-bootstrap?t=183.89306249999998): algorithm (the "with replacement" part) is no longer emphasized.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): algorithm is hidden from the screen — left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): empirical is hidden from the screen — left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): equal\_mass is hidden from the screen — left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): heading is hidden from the screen — left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): observed is hidden from the screen — left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): sample\_points is hidden from the screen — observed left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): sample\_points\_2 is hidden from the screen — observed left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): sample\_points\_3 is hidden from the screen — observed left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): sample\_points\_4 is hidden from the screen — observed left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): sample\_points\_5 is hidden from the screen — observed left the board.
- [03:4.143](https://academa.ai/lectures/the-bootstrap?t=184.14306249999998): sample\_points\_6 is hidden from the screen — observed left the board.

### Scene 2: [The Mean as a Calibration Case](https://academa.ai/lectures/the-bootstrap?t=185.18472916666664)

Span: 03:5.185–06:11.205 (185.18472916666664s–371.205375s).

#### Objects

- agreement: a Math \[text\] that says "$upright("SE")\_(upright("boot")) approx frac(s,sqrt(n))$"
- bootstrap\_mean: a Math \[text\] that says "$overline(x)^\*\_b=frac(1,n) sum\_(i=1)^n x^\*\_(b i)$"
- bootstrap\_se: a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(overline(x)^\*\_1,dots,overline(x)^\*\_B)$"
- centre: a Line \[yellow\] labelled "overline(x)" drawn in histogram (end=(0.0, 7.5), dashed=True)
- check: a Panel that says "For independent observations with finite variance, the standard error of the sample mean is approximately $s/sqrt(n)$."
- check\_heading: a Heading that says "Why This First Example Matters"
- finite\_note: a Math \[text\] that says "$sqrt(frac(n-1,n)) approx 1$"
- formula\_se: a Math \[text\] that says "$upright("SE")(overline(x))=frac(s,sqrt(n))$"
- heading: a Heading that says "Watch the Bootstrap Means Accumulate"
- histogram: an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False)
- mean\_definition: a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"
- polygon: a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55)
- polygon\_10: a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55)
- polygon\_11: a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55)
- polygon\_12: a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55)
- polygon\_13: a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55)
- polygon\_14: a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55)
- polygon\_15: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55)
- polygon\_16: a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55)
- polygon\_17: a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55)
- polygon\_18: a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55)
- polygon\_19: a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55)
- polygon\_2: a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55)
- polygon\_20: a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55)
- polygon\_21: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 2), (0.38, 2), (0.38, 3.0), (0.0, 3.0)), fill\_opacity=0.55)
- polygon\_22: a Polygon \[blue\] drawn in histogram (vertices=((0.5, 2), (0.88, 2), (0.88, 3.0), (0.5, 3.0)), fill\_opacity=0.55)
- polygon\_23: a Polygon \[blue\] drawn in histogram (vertices=((1.0, 2), (1.38, 2), (1.38, 3.0), (1.0, 3.0)), fill\_opacity=0.55)
- polygon\_24: a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 3), (-0.12, 3), (-0.12, 4.0), (-0.5, 4.0)), fill\_opacity=0.55)
- polygon\_25: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 3), (0.38, 3), (0.38, 4.0), (0.0, 4.0)), fill\_opacity=0.55)
- polygon\_26: a Polygon \[blue\] drawn in histogram (vertices=((0.5, 3), (0.88, 3), (0.88, 4.0), (0.5, 4.0)), fill\_opacity=0.55)
- polygon\_27: a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 4), (-0.12, 4), (-0.12, 5.0), (-0.5, 5.0)), fill\_opacity=0.55)
- polygon\_28: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 4), (0.38, 4), (0.38, 5.0), (0.0, 5.0)), fill\_opacity=0.55)
- polygon\_29: a Polygon \[blue\] drawn in histogram (vertices=((0.5, 4), (0.88, 4), (0.88, 5.0), (0.5, 5.0)), fill\_opacity=0.55)
- polygon\_3: a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55)
- polygon\_30: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 5), (0.38, 5), (0.38, 6.0), (0.0, 6.0)), fill\_opacity=0.55)
- polygon\_31: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 6), (0.38, 6), (0.38, 7.0), (0.0, 7.0)), fill\_opacity=0.55)
- polygon\_4: a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55)
- polygon\_5: a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55)
- polygon\_6: a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55)
- polygon\_7: a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55)
- polygon\_8: a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55)
- polygon\_9: a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55)

#### Beats

##### [03:5.185](https://academa.ai/lectures/the-bootstrap?t=185.18472916666664)

Narration: Start with the sample mean because it gives us a calibration case. We already know useful theory for its sampling variation, so the bootstrap has an independent answer to match rather than asking us to trust the resampling procedure on first contact.

Board: Empty.

Actions:
- [03:5.185](https://academa.ai/lectures/the-bootstrap?t=185.18472916666664): heading is shown on the screen, written out.
- [03:5.185](https://academa.ai/lectures/the-bootstrap?t=185.18472916666664): histogram is shown on the screen, written out.
- [03:5.812](https://academa.ai/lectures/the-bootstrap?t=185.81172916666665): mean\_definition is shown on the screen, written out.

##### [03:20.831](https://academa.ai/lectures/the-bootstrap?t=200.83122916666665)

Narration: For bootstrap resample b, compute its mean in exactly the same way. One resample produces one starred mean. Another resample produces another. Each result becomes one brick at its position on this horizontal axis.

Board: mean\_definition — a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); heading — a Heading that says "Watch the Bootstrap Means Accumulate"

Actions:
- [03:21.609](https://academa.ai/lectures/the-bootstrap?t=201.60872916666665): bootstrap\_mean is shown on the screen, written out.
- [03:33.196](https://academa.ai/lectures/the-bootstrap?t=213.19572916666664): polygon is shown on the screen, grown.

##### [03:36.919](https://academa.ai/lectures/the-bootstrap?t=216.91922916666664)

Narration: Here come a few more. They do not all land at the original mean because the resamples repeat and omit different observations. Some fall to the left, some to the right, and some land close to the centre.

Board: mean\_definition — a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"; bootstrap\_mean — a Math \[text\] that says "$overline(x)^\*\_b=frac(1,n) sum\_(i=1)^n x^\*\_(b i)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); heading — a Heading that says "Watch the Bootstrap Means Accumulate"; polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55)

Actions:
- [03:37.825](https://academa.ai/lectures/the-bootstrap?t=217.82472916666666): polygon\_2 is shown on the screen, grown.
- [03:37.935](https://academa.ai/lectures/the-bootstrap?t=217.93472916666664): polygon\_3 is shown on the screen, grown.
- [03:38.045](https://academa.ai/lectures/the-bootstrap?t=218.04472916666663): polygon\_4 is shown on the screen, grown.
- [03:38.155](https://academa.ai/lectures/the-bootstrap?t=218.15472916666664): polygon\_5 is shown on the screen, grown.
- [03:38.265](https://academa.ai/lectures/the-bootstrap?t=218.26472916666665): polygon\_6 is shown on the screen, grown.
- [03:38.375](https://academa.ai/lectures/the-bootstrap?t=218.37472916666664): polygon\_7 is shown on the screen, grown.
- [03:38.485](https://academa.ai/lectures/the-bootstrap?t=218.48472916666663): polygon\_8 is shown on the screen, grown.

##### [03:51.173](https://academa.ai/lectures/the-bootstrap?t=231.17272916666664)

Narration: Now let dozens of resamples run. Every repetition draws n rows, computes one mean, and adds one brick. The empty frame becomes a distribution built from estimates rather than from raw observations.

Board: mean\_definition — a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"; bootstrap\_mean — a Math \[text\] that says "$overline(x)^\*\_b=frac(1,n) sum\_(i=1)^n x^\*\_(b i)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); heading — a Heading that says "Watch the Bootstrap Means Accumulate"; polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55)

Actions:
- [03:51.939](https://academa.ai/lectures/the-bootstrap?t=231.93872916666663): polygon\_9 is shown on the screen, grown.
- [03:52.019](https://academa.ai/lectures/the-bootstrap?t=232.01872916666665): polygon\_10 is shown on the screen, grown.
- [03:52.099](https://academa.ai/lectures/the-bootstrap?t=232.09872916666663): polygon\_11 is shown on the screen, grown.
- [03:52.179](https://academa.ai/lectures/the-bootstrap?t=232.17872916666664): polygon\_12 is shown on the screen, grown.
- [03:52.259](https://academa.ai/lectures/the-bootstrap?t=232.25872916666663): polygon\_13 is shown on the screen, grown.
- [03:52.339](https://academa.ai/lectures/the-bootstrap?t=232.33872916666664): polygon\_14 is shown on the screen, grown.
- [03:52.419](https://academa.ai/lectures/the-bootstrap?t=232.41872916666665): polygon\_15 is shown on the screen, grown.
- [03:52.499](https://academa.ai/lectures/the-bootstrap?t=232.49872916666664): polygon\_16 is shown on the screen, grown.
- [03:52.579](https://academa.ai/lectures/the-bootstrap?t=232.57872916666665): polygon\_17 is shown on the screen, grown.
- [03:52.659](https://academa.ai/lectures/the-bootstrap?t=232.65872916666663): polygon\_18 is shown on the screen, grown.
- [03:52.739](https://academa.ai/lectures/the-bootstrap?t=232.73872916666664): polygon\_19 is shown on the screen, grown.
- [03:52.819](https://academa.ai/lectures/the-bootstrap?t=232.81872916666663): polygon\_20 is shown on the screen, grown.

##### [04:6.285](https://academa.ai/lectures/the-bootstrap?t=246.28472916666664)

Narration: Continue farther. The exact outline still jitters because a finite number of bootstrap runs has Monte Carlo noise, but its broad shape settles: many means near the middle and fewer out in either direction.

Board: mean\_definition — a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"; bootstrap\_mean — a Math \[text\] that says "$overline(x)^\*\_b=frac(1,n) sum\_(i=1)^n x^\*\_(b i)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); heading — a Heading that says "Watch the Bootstrap Means Accumulate"; polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55); polygon\_11 — a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55); polygon\_15 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55); polygon\_18 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55); polygon\_20 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55)

Actions:
- [04:7.167](https://academa.ai/lectures/the-bootstrap?t=247.16672916666664): polygon\_21 is shown on the screen, grown.
- [04:7.237](https://academa.ai/lectures/the-bootstrap?t=247.23672916666663): polygon\_22 is shown on the screen, grown.
- [04:7.307](https://academa.ai/lectures/the-bootstrap?t=247.30672916666663): polygon\_23 is shown on the screen, grown.
- [04:7.377](https://academa.ai/lectures/the-bootstrap?t=247.37672916666665): polygon\_24 is shown on the screen, grown.
- [04:7.447](https://academa.ai/lectures/the-bootstrap?t=247.44672916666664): polygon\_25 is shown on the screen, grown.
- [04:7.517](https://academa.ai/lectures/the-bootstrap?t=247.51672916666664): polygon\_26 is shown on the screen, grown.
- [04:7.587](https://academa.ai/lectures/the-bootstrap?t=247.58672916666666): polygon\_27 is shown on the screen, grown.
- [04:7.657](https://academa.ai/lectures/the-bootstrap?t=247.65672916666665): polygon\_28 is shown on the screen, grown.
- [04:7.727](https://academa.ai/lectures/the-bootstrap?t=247.72672916666664): polygon\_29 is shown on the screen, grown.
- [04:7.797](https://academa.ai/lectures/the-bootstrap?t=247.79672916666664): polygon\_30 is shown on the screen, grown.
- [04:7.867](https://academa.ai/lectures/the-bootstrap?t=247.86672916666663): polygon\_31 is shown on the screen, grown.

##### [04:21.06](https://academa.ai/lectures/the-bootstrap?t=261.06022916666666)

Narration: The dashed line marks the mean of the observed sample. The bootstrap distribution is usually centred near that estimate. Its horizontal spread is the important quantity: it estimates how much the sample mean would vary across repeated samples from the population.

Board: mean\_definition — a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"; bootstrap\_mean — a Math \[text\] that says "$overline(x)^\*\_b=frac(1,n) sum\_(i=1)^n x^\*\_(b i)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); heading — a Heading that says "Watch the Bootstrap Means Accumulate"; polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55); polygon\_11 — a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55); polygon\_15 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55); polygon\_18 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55); polygon\_20 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 2), (0.38, 2), (0.38, 3.0), (0.0, 3.0)), fill\_opacity=0.55); polygon\_22 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 2), (0.88, 2), (0.88, 3.0), (0.5, 3.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 2), (1.38, 2), (1.38, 3.0), (1.0, 3.0)), fill\_opacity=0.55); polygon\_24 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 3), (-0.12, 3), (-0.12, 4.0), (-0.5, 4.0)), fill\_opacity=0.55); polygon\_25 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 3), (0.38, 3), (0.38, 4.0), (0.0, 4.0)), fill\_opacity=0.55); polygon\_26 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 3), (0.88, 3), (0.88, 4.0), (0.5, 4.0)), fill\_opacity=0.55); polygon\_27 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 4), (-0.12, 4), (-0.12, 5.0), (-0.5, 5.0)), fill\_opacity=0.55); polygon\_28 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 4), (0.38, 4), (0.38, 5.0), (0.0, 5.0)), fill\_opacity=0.55); polygon\_29 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 4), (0.88, 4), (0.88, 5.0), (0.5, 5.0)), fill\_opacity=0.55); polygon\_30 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 5), (0.38, 5), (0.38, 6.0), (0.0, 6.0)), fill\_opacity=0.55); polygon\_31 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 6), (0.38, 6), (0.38, 7.0), (0.0, 7.0)), fill\_opacity=0.55)

Actions:
- [04:21.618](https://academa.ai/lectures/the-bootstrap?t=261.61772916666666): centre is shown on the screen, written out.
- [04:30.232](https://academa.ai/lectures/the-bootstrap?t=270.23172916666664): bootstrap\_se is shown on the screen, written out.

##### [04:38.691](https://academa.ai/lectures/the-bootstrap?t=278.69122916666663)

Narration: Measure that spread by taking the standard deviation of the bootstrap means. This gives the bootstrap standard error. It is a standard deviation across replicated estimates, not the standard deviation of the original observations.

Board: mean\_definition — a Math \[text\] that says "$overline(x)=frac(1,n) sum\_(i=1)^n x\_i$"; bootstrap\_mean — a Math \[text\] that says "$overline(x)^\*\_b=frac(1,n) sum\_(i=1)^n x^\*\_(b i)$"; bootstrap\_se — a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(overline(x)^\*\_1,dots,overline(x)^\*\_B)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); heading — a Heading that says "Watch the Bootstrap Means Accumulate"; polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55); polygon\_11 — a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55); polygon\_15 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55); polygon\_18 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55); polygon\_20 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 2), (0.38, 2), (0.38, 3.0), (0.0, 3.0)), fill\_opacity=0.55); polygon\_22 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 2), (0.88, 2), (0.88, 3.0), (0.5, 3.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 2), (1.38, 2), (1.38, 3.0), (1.0, 3.0)), fill\_opacity=0.55); polygon\_24 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 3), (-0.12, 3), (-0.12, 4.0), (-0.5, 4.0)), fill\_opacity=0.55); polygon\_25 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 3), (0.38, 3), (0.38, 4.0), (0.0, 4.0)), fill\_opacity=0.55); polygon\_26 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 3), (0.88, 3), (0.88, 4.0), (0.5, 4.0)), fill\_opacity=0.55); polygon\_27 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 4), (-0.12, 4), (-0.12, 5.0), (-0.5, 5.0)), fill\_opacity=0.55); polygon\_28 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 4), (0.38, 4), (0.38, 5.0), (0.0, 5.0)), fill\_opacity=0.55); polygon\_29 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 4), (0.88, 4), (0.88, 5.0), (0.5, 5.0)), fill\_opacity=0.55); polygon\_30 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 5), (0.38, 5), (0.38, 6.0), (0.0, 6.0)), fill\_opacity=0.55); polygon\_31 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 6), (0.38, 6), (0.38, 7.0), (0.0, 7.0)), fill\_opacity=0.55); centre — a Line \[yellow\] labelled "overline(x)" drawn in histogram (end=(0.0, 7.5), dashed=True)

Actions:
- [04:40.631](https://academa.ai/lectures/the-bootstrap?t=280.63072916666664): bootstrap\_se (the "upright("sd")(overline(x)^\*\_1,dots,overline(x)^\*\_B)" part) is emphasized.
- [04:49.803](https://academa.ai/lectures/the-bootstrap?t=289.80272916666667): bootstrap\_se (the "upright("sd")(overline(x)^\*\_1,dots,overline(x)^\*\_B)" part) is no longer emphasized.

##### [04:53.909](https://academa.ai/lectures/the-bootstrap?t=293.90872916666666)

Narration: For the mean, the familiar analytic check is s divided by square root n, assuming independent observations and finite variance. The bootstrap spread should be close to that formula when the sample is reasonably informative.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [04:55.998](https://academa.ai/lectures/the-bootstrap?t=295.99772916666666): formula\_se is shown on the screen, written out.
- [05:4.439](https://academa.ai/lectures/the-bootstrap?t=304.43872916666663): agreement is shown on the screen, written out.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): agreement moves to a new place on the board.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): bootstrap\_mean is hidden from the screen — left the board.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): bootstrap\_se is hidden from the screen — left the board.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): formula\_se is hidden from the screen — left the board.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): heading is hidden from the screen — left the board.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): mean\_definition is hidden from the screen — left the board.
- [05:8.235](https://academa.ai/lectures/the-bootstrap?t=308.2347291666666): agreement is indicated — a transient flash.

##### [05:8.835](https://academa.ai/lectures/the-bootstrap?t=308.83472916666665)

Narration: The agreement is not mysterious. The empirical distribution has nearly the same measured spread as the sample, and every bootstrap mean averages n draws from that empirical distribution. The same square-root-n stabilization appears.

Board: agreement — a Math \[text\] that says "$upright("SE")\_(upright("boot")) approx frac(s,sqrt(n))$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55); polygon\_11 — a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55); polygon\_15 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55); polygon\_18 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55); polygon\_20 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 2), (0.38, 2), (0.38, 3.0), (0.0, 3.0)), fill\_opacity=0.55); polygon\_22 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 2), (0.88, 2), (0.88, 3.0), (0.5, 3.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 2), (1.38, 2), (1.38, 3.0), (1.0, 3.0)), fill\_opacity=0.55); polygon\_24 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 3), (-0.12, 3), (-0.12, 4.0), (-0.5, 4.0)), fill\_opacity=0.55); polygon\_25 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 3), (0.38, 3), (0.38, 4.0), (0.0, 4.0)), fill\_opacity=0.55); polygon\_26 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 3), (0.88, 3), (0.88, 4.0), (0.5, 4.0)), fill\_opacity=0.55); polygon\_27 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 4), (-0.12, 4), (-0.12, 5.0), (-0.5, 5.0)), fill\_opacity=0.55); polygon\_28 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 4), (0.38, 4), (0.38, 5.0), (0.0, 5.0)), fill\_opacity=0.55); polygon\_29 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 4), (0.88, 4), (0.88, 5.0), (0.5, 5.0)), fill\_opacity=0.55); polygon\_30 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 5), (0.38, 5), (0.38, 6.0), (0.0, 6.0)), fill\_opacity=0.55); polygon\_31 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 6), (0.38, 6), (0.38, 7.0), (0.0, 7.0)), fill\_opacity=0.55); centre — a Line \[yellow\] labelled "overline(x)" drawn in histogram (end=(0.0, 7.5), dashed=True)

Actions:
- [05:8.835](https://academa.ai/lectures/the-bootstrap?t=308.83472916666665): check\_heading is shown on the screen, written out.
- [05:8.835](https://academa.ai/lectures/the-bootstrap?t=308.83472916666665): check is shown on the screen, written out.
- [05:9.323](https://academa.ai/lectures/the-bootstrap?t=309.32272916666665): polygon\_25 is indicated — a transient flash.

##### [05:23.448](https://academa.ai/lectures/the-bootstrap?t=323.44772916666665)

Narration: There is a small finite-sample detail. If s uses its usual n minus one denominator, the basic empirical bootstrap spread for the mean is smaller by a factor square root of n minus one over n. That factor approaches one and is rarely the main uncertainty.

Board: agreement — a Math \[text\] that says "$upright("SE")\_(upright("boot")) approx frac(s,sqrt(n))$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55); polygon\_11 — a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55); polygon\_15 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55); polygon\_18 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55); polygon\_20 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 2), (0.38, 2), (0.38, 3.0), (0.0, 3.0)), fill\_opacity=0.55); polygon\_22 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 2), (0.88, 2), (0.88, 3.0), (0.5, 3.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 2), (1.38, 2), (1.38, 3.0), (1.0, 3.0)), fill\_opacity=0.55); polygon\_24 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 3), (-0.12, 3), (-0.12, 4.0), (-0.5, 4.0)), fill\_opacity=0.55); polygon\_25 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 3), (0.38, 3), (0.38, 4.0), (0.0, 4.0)), fill\_opacity=0.55); polygon\_26 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 3), (0.88, 3), (0.88, 4.0), (0.5, 4.0)), fill\_opacity=0.55); polygon\_27 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 4), (-0.12, 4), (-0.12, 5.0), (-0.5, 5.0)), fill\_opacity=0.55); polygon\_28 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 4), (0.38, 4), (0.38, 5.0), (0.0, 5.0)), fill\_opacity=0.55); polygon\_29 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 4), (0.88, 4), (0.88, 5.0), (0.5, 5.0)), fill\_opacity=0.55); polygon\_30 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 5), (0.38, 5), (0.38, 6.0), (0.0, 6.0)), fill\_opacity=0.55); polygon\_31 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 6), (0.38, 6), (0.38, 7.0), (0.0, 7.0)), fill\_opacity=0.55); centre — a Line \[yellow\] labelled "overline(x)" drawn in histogram (end=(0.0, 7.5), dashed=True); check — a Panel that says "For independent observations with finite variance, the standard error of the sample mean is approximately $s/sqrt(n)$."; check\_heading — a Heading that says "Why This First Example Matters"

Actions:
- [05:24.655](https://academa.ai/lectures/the-bootstrap?t=324.6547291666667): finite\_note is shown on the screen, written out.

##### [05:42.078](https://academa.ai/lectures/the-bootstrap?t=342.07772916666664)

Narration: Increasing the number B of resamples makes the histogram smoother and its measured spread more reproducible. It does not enlarge the original sample, correct selection bias, or manufacture information the sample never contained.

Board: agreement — a Math \[text\] that says "$upright("SE")\_(upright("boot")) approx frac(s,sqrt(n))$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 8.0), include\_ticks=False); polygon — a Polygon \[blue\] drawn in histogram (vertices=((-2.5, 0), (-2.12, 0), (-2.12, 1.0), (-2.5, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[blue\] drawn in histogram (vertices=((-2.0, 0), (-1.62, 0), (-1.62, 1.0), (-2.0, 1.0)), fill\_opacity=0.55); polygon\_3 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 0), (-1.12, 0), (-1.12, 1.0), (-1.5, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 0), (-0.62, 0), (-0.62, 1.0), (-1.0, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 0), (-0.12, 0), (-0.12, 1.0), (-0.5, 1.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 0), (0.38, 0), (0.38, 1.0), (0.0, 1.0)), fill\_opacity=0.55); polygon\_7 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 0), (0.88, 0), (0.88, 1.0), (0.5, 1.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 0), (1.38, 0), (1.38, 1.0), (1.0, 1.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 0), (1.88, 0), (1.88, 1.0), (1.5, 1.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[blue\] drawn in histogram (vertices=((2.0, 0), (2.38, 0), (2.38, 1.0), (2.0, 1.0)), fill\_opacity=0.55); polygon\_11 — a Polygon \[blue\] drawn in histogram (vertices=((2.5, 0), (2.88, 0), (2.88, 1.0), (2.5, 1.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[blue\] drawn in histogram (vertices=((-1.5, 1), (-1.12, 1), (-1.12, 2.0), (-1.5, 2.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 1), (-0.62, 1), (-0.62, 2.0), (-1.0, 2.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 1), (-0.12, 1), (-0.12, 2.0), (-0.5, 2.0)), fill\_opacity=0.55); polygon\_15 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 1), (0.38, 1), (0.38, 2.0), (0.0, 2.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 1), (0.88, 1), (0.88, 2.0), (0.5, 2.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 1), (1.38, 1), (1.38, 2.0), (1.0, 2.0)), fill\_opacity=0.55); polygon\_18 — a Polygon \[blue\] drawn in histogram (vertices=((1.5, 1), (1.88, 1), (1.88, 2.0), (1.5, 2.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[blue\] drawn in histogram (vertices=((-1.0, 2), (-0.62, 2), (-0.62, 3.0), (-1.0, 3.0)), fill\_opacity=0.55); polygon\_20 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 2), (-0.12, 2), (-0.12, 3.0), (-0.5, 3.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 2), (0.38, 2), (0.38, 3.0), (0.0, 3.0)), fill\_opacity=0.55); polygon\_22 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 2), (0.88, 2), (0.88, 3.0), (0.5, 3.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[blue\] drawn in histogram (vertices=((1.0, 2), (1.38, 2), (1.38, 3.0), (1.0, 3.0)), fill\_opacity=0.55); polygon\_24 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 3), (-0.12, 3), (-0.12, 4.0), (-0.5, 4.0)), fill\_opacity=0.55); polygon\_25 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 3), (0.38, 3), (0.38, 4.0), (0.0, 4.0)), fill\_opacity=0.55); polygon\_26 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 3), (0.88, 3), (0.88, 4.0), (0.5, 4.0)), fill\_opacity=0.55); polygon\_27 — a Polygon \[blue\] drawn in histogram (vertices=((-0.5, 4), (-0.12, 4), (-0.12, 5.0), (-0.5, 5.0)), fill\_opacity=0.55); polygon\_28 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 4), (0.38, 4), (0.38, 5.0), (0.0, 5.0)), fill\_opacity=0.55); polygon\_29 — a Polygon \[blue\] drawn in histogram (vertices=((0.5, 4), (0.88, 4), (0.88, 5.0), (0.5, 5.0)), fill\_opacity=0.55); polygon\_30 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 5), (0.38, 5), (0.38, 6.0), (0.0, 6.0)), fill\_opacity=0.55); polygon\_31 — a Polygon \[blue\] drawn in histogram (vertices=((0.0, 6), (0.38, 6), (0.38, 7.0), (0.0, 7.0)), fill\_opacity=0.55); centre — a Line \[yellow\] labelled "overline(x)" drawn in histogram (end=(0.0, 7.5), dashed=True); check — a Panel that says "For independent observations with finite variance, the standard error of the sample mean is approximately $s/sqrt(n)$."; finite\_note — a Math \[text\] that says "$sqrt(frac(n-1,n)) approx 1$"; check\_heading — a Heading that says "Why This First Example Matters"

Actions:
- [05:45.259](https://academa.ai/lectures/the-bootstrap?t=345.2587291666666): polygon\_7 is indicated — a transient flash.
- [05:45.259](https://academa.ai/lectures/the-bootstrap?t=345.2587291666666): polygon\_25 is indicated — a transient flash.
- [05:45.259](https://academa.ai/lectures/the-bootstrap?t=345.2587291666666): polygon\_31 is indicated — a transient flash.

##### [05:57.178](https://academa.ai/lectures/the-bootstrap?t=357.17822916666665)

Narration: So the mean has done its job. The resampling distribution behaves like a sampling distribution, and a known formula checks its scale. Now we can keep the procedure and change only the statistic.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [06:4.412](https://academa.ai/lectures/the-bootstrap?t=364.41172916666665): agreement is indicated — a transient flash.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): agreement is hidden from the screen — left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): check is hidden from the screen — left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): check\_heading is hidden from the screen — left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): finite\_note is hidden from the screen — left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): histogram is hidden from the screen — left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_2 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_3 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_4 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_5 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_6 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_7 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_8 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_9 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_10 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_11 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_12 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_13 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_14 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_15 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_16 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_17 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_18 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_19 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_20 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_21 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_22 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_23 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_24 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_25 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_26 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_27 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_28 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_29 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_30 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): polygon\_31 is hidden from the screen — histogram left the board.
- [06:10.164](https://academa.ai/lectures/the-bootstrap?t=370.1637083333333): centre is hidden from the screen — histogram left the board.

### Scene 3: [Why the Median Makes Resampling Useful](https://academa.ai/lectures/the-bootstrap?t=371.205375)

Span: 06:11.205–08:59.307 (371.205375s–539.3068333333333s).

#### Objects

- analytic: a Math \[text\] that says "$upright("SE")(hat(m)) approx frac(1,2 f(m) sqrt(n))$"
- bootstrap\_median: a Math \[text\] that says "$hat(m)^\*\_b=upright("median")(R\_b)$"
- formula\_heading: a Heading that says "Why Not Just Use a Formula?"
- heading: a Heading that says "Same Resamples, Different Statistic"
- histogram: an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False)
- median\_definition: a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"
- median\_se: a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(hat(m)^\*)$"
- observed\_median: a Line \[yellow\] labelled "hat(m)" drawn in histogram (end=(0.0, 8.5), dashed=True)
- polygon: a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55)
- polygon\_10: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55)
- polygon\_11: a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55)
- polygon\_12: a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55)
- polygon\_13: a Polygon \[green\] drawn in histogram (vertices=((-1.7, 3), (-1.28, 3), (-1.28, 4.0), (-1.7, 4.0)), fill\_opacity=0.55)
- polygon\_14: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 3), (-0.27999999999999997, 3), (-0.27999999999999997, 4…, fill\_opacity=0.55)
- polygon\_15: a Polygon \[green\] drawn in histogram (vertices=((0.3, 3), (0.72, 3), (0.72, 4.0), (0.3, 4.0)), fill\_opacity=0.55)
- polygon\_16: a Polygon \[green\] drawn in histogram (vertices=((1.3, 3), (1.72, 3), (1.72, 4.0), (1.3, 4.0)), fill\_opacity=0.55)
- polygon\_17: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 4), (-0.27999999999999997, 4), (-0.27999999999999997, 5…, fill\_opacity=0.55)
- polygon\_18: a Polygon \[green\] drawn in histogram (vertices=((0.3, 4), (0.72, 4), (0.72, 5.0), (0.3, 5.0)), fill\_opacity=0.55)
- polygon\_19: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 5), (-0.27999999999999997, 5), (-0.27999999999999997, 6…, fill\_opacity=0.55)
- polygon\_2: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55)
- polygon\_20: a Polygon \[green\] drawn in histogram (vertices=((0.3, 5), (0.72, 5), (0.72, 6.0), (0.3, 6.0)), fill\_opacity=0.55)
- polygon\_21: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 6), (-0.27999999999999997, 6), (-0.27999999999999997, 7…, fill\_opacity=0.55)
- polygon\_22: a Polygon \[green\] drawn in histogram (vertices=((0.3, 6), (0.72, 6), (0.72, 7.0), (0.3, 7.0)), fill\_opacity=0.55)
- polygon\_23: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 7), (-0.27999999999999997, 7), (-0.27999999999999997, 8…, fill\_opacity=0.55)
- polygon\_3: a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55)
- polygon\_4: a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55)
- polygon\_5: a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55)
- polygon\_6: a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55)
- polygon\_7: a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55)
- polygon\_8: a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55)
- polygon\_9: a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55)
- reason: a Panel that says "The algorithm stays fixed while $T$ changes. This is most valuable when the estimator's analytic sampling distribution is awkward."
- resample\_table: a Table \[text\] that says "Bootstrap resample Stored result $R\_1$ $hat(m)^\*\_1$ $R\_2$ $hat(m)^\*\_2$ $R\_3$ $hat(m)^\*\_3$ $dots$ $dots$ $R\_B$ $hat(m)^\*\_B$" (rows=(('Bootstrap resample', 'Stored result'), ('$R\_1$', '$hat(m)^\*\_…, header=True)
- unknown\_density: a Math \[text\] that says "$f(m)=upright("density at median")$"

#### Beats

##### [06:11.205](https://academa.ai/lectures/the-bootstrap?t=371.205375)

Narration: Now replace the mean by the sample median. The median is the middle observation after sorting, so it is often a sensible summary when the data are skewed or when a few large values would pull a mean around.

Board: Empty.

Actions:
- [06:11.205](https://academa.ai/lectures/the-bootstrap?t=371.205375): heading is shown on the screen, written out.
- [06:11.205](https://academa.ai/lectures/the-bootstrap?t=371.205375): histogram is shown on the screen, written out.
- [06:13.051](https://academa.ai/lectures/the-bootstrap?t=373.051375): histogram moves to a new place on the board.
- [06:13.051](https://academa.ai/lectures/the-bootstrap?t=373.051375): median\_definition is shown on the screen, written out.

##### [06:24.065](https://academa.ai/lectures/the-bootstrap?t=384.065375)

Narration: Nothing in the resampling machinery changes. Draw n rows with replacement, form the same kind of bootstrap resample R b, and now ask the existing analysis code for its median rather than its mean.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); heading — a Heading that says "Same Resamples, Different Statistic"

Actions:
- [06:24.065](https://academa.ai/lectures/the-bootstrap?t=384.065375): resample\_table is shown on the screen, written out.
- [06:31.205](https://academa.ai/lectures/the-bootstrap?t=391.205375): resample\_table is shown on the screen, written out.
- [06:35.524](https://academa.ai/lectures/the-bootstrap?t=395.524375): bootstrap\_median is shown on the screen, written out.
- [06:36.905](https://academa.ai/lectures/the-bootstrap?t=396.905375): polygon is shown on the screen, grown.

##### [06:38.342](https://academa.ai/lectures/the-bootstrap?t=398.341875)

Narration: The next resample produces a second bootstrap median. Then a third. Duplicated observations can become middle observations, and omitted observations can move the middle elsewhere.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; bootstrap\_median — a Math \[text\] that says "$hat(m)^\*\_b=upright("median")(R\_b)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); heading — a Heading that says "Same Resamples, Different Statistic"; polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55)

Actions:
- [06:40.28](https://academa.ai/lectures/the-bootstrap?t=400.280375): polygon\_2 is shown on the screen, grown.
- [06:40.28](https://academa.ai/lectures/the-bootstrap?t=400.280375): resample\_table is shown on the screen, written out.
- [06:42.66](https://academa.ai/lectures/the-bootstrap?t=402.660375): polygon\_3 is shown on the screen, grown.
- [06:42.66](https://academa.ai/lectures/the-bootstrap?t=402.660375): resample\_table is shown on the screen, written out.

##### [06:51.085](https://academa.ai/lectures/the-bootstrap?t=411.085375)

Narration: Let the repetition continue. Because an empirical distribution contains only the observed values, bootstrap medians often repeat. The histogram can look stepped or lumpy, especially when n is small.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; bootstrap\_median — a Math \[text\] that says "$hat(m)^\*\_b=upright("median")(R\_b)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); heading — a Heading that says "Same Resamples, Different Statistic"; polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55)

Actions:
- [06:52.397](https://academa.ai/lectures/the-bootstrap?t=412.397375): polygon\_4 is shown on the screen, grown.
- [06:52.397](https://academa.ai/lectures/the-bootstrap?t=412.397375): resample\_table is shown on the screen, written out.
- [06:52.477](https://academa.ai/lectures/the-bootstrap?t=412.477375): polygon\_5 is shown on the screen, grown.
- [06:52.557](https://academa.ai/lectures/the-bootstrap?t=412.557375): polygon\_6 is shown on the screen, grown.
- [06:52.637](https://academa.ai/lectures/the-bootstrap?t=412.637375): polygon\_7 is shown on the screen, grown.
- [06:52.717](https://academa.ai/lectures/the-bootstrap?t=412.717375): polygon\_8 is shown on the screen, grown.
- [06:52.797](https://academa.ai/lectures/the-bootstrap?t=412.797375): polygon\_9 is shown on the screen, grown.
- [06:52.877](https://academa.ai/lectures/the-bootstrap?t=412.87737500000003): polygon\_10 is shown on the screen, grown.
- [06:52.957](https://academa.ai/lectures/the-bootstrap?t=412.957375): polygon\_11 is shown on the screen, grown.
- [06:53.037](https://academa.ai/lectures/the-bootstrap?t=413.037375): polygon\_12 is shown on the screen, grown.

##### [07:6.175](https://academa.ai/lectures/the-bootstrap?t=426.174875)

Narration: With many more resamples the relative heights stabilize. The lumps are not automatically an error. They report the discrete set of middle values available under resampling from this observed sample.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; bootstrap\_median — a Math \[text\] that says "$hat(m)^\*\_b=upright("median")(R\_b)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); heading — a Heading that says "Same Resamples, Different Statistic"; polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55); polygon\_7 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55); polygon\_11 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55)

Actions:
- [07:6.824](https://academa.ai/lectures/the-bootstrap?t=426.82437500000003): polygon\_13 is shown on the screen, grown.
- [07:6.824](https://academa.ai/lectures/the-bootstrap?t=426.82437500000003): resample\_table is shown on the screen, written out.
- [07:6.894](https://academa.ai/lectures/the-bootstrap?t=426.894375): polygon\_14 is shown on the screen, grown.
- [07:6.964](https://academa.ai/lectures/the-bootstrap?t=426.964375): polygon\_15 is shown on the screen, grown.
- [07:7.034](https://academa.ai/lectures/the-bootstrap?t=427.034375): polygon\_16 is shown on the screen, grown.
- [07:7.104](https://academa.ai/lectures/the-bootstrap?t=427.104375): polygon\_17 is shown on the screen, grown.
- [07:7.174](https://academa.ai/lectures/the-bootstrap?t=427.174375): polygon\_18 is shown on the screen, grown.
- [07:7.244](https://academa.ai/lectures/the-bootstrap?t=427.244375): polygon\_19 is shown on the screen, grown.
- [07:7.314](https://academa.ai/lectures/the-bootstrap?t=427.314375): polygon\_20 is shown on the screen, grown.
- [07:7.384](https://academa.ai/lectures/the-bootstrap?t=427.384375): polygon\_21 is shown on the screen, grown.
- [07:7.454](https://academa.ai/lectures/the-bootstrap?t=427.454375): polygon\_22 is shown on the screen, grown.
- [07:7.524](https://academa.ai/lectures/the-bootstrap?t=427.524375): polygon\_23 is shown on the screen, grown.
- [07:8.949](https://academa.ai/lectures/the-bootstrap?t=428.94937500000003): observed\_median is shown on the screen, written out.
- [07:19.132](https://academa.ai/lectures/the-bootstrap?t=439.13187500000004): histogram moves to a new place on the board.
- [07:19.132](https://academa.ai/lectures/the-bootstrap?t=439.13187500000004): median\_definition moves to a new place on the board.
- [07:19.132](https://academa.ai/lectures/the-bootstrap?t=439.13187500000004): bootstrap\_median is hidden from the screen — left the board.
- [07:19.132](https://academa.ai/lectures/the-bootstrap?t=439.13187500000004): heading is hidden from the screen — left the board.
- [07:19.132](https://academa.ai/lectures/the-bootstrap?t=439.13187500000004): resample\_table is hidden from the screen — left the board.

##### [07:19.732](https://academa.ai/lectures/the-bootstrap?t=439.731875)

Narration: As before, take the standard deviation of all stored bootstrap medians to estimate the median's standard error. Quantiles of the same collection can also describe an interval, though interval construction brings extra choices that should be reported.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55); polygon\_7 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55); polygon\_11 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 3), (-1.28, 3), (-1.28, 4.0), (-1.7, 4.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 3), (-0.27999999999999997, 3), (-0.27999999999999997, 4…, fill\_opacity=0.55); polygon\_15 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 3), (0.72, 3), (0.72, 4.0), (0.3, 4.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 3), (1.72, 3), (1.72, 4.0), (1.3, 4.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 4), (-0.27999999999999997, 4), (-0.27999999999999997, 5…, fill\_opacity=0.55); polygon\_18 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 4), (0.72, 4), (0.72, 5.0), (0.3, 5.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 5), (-0.27999999999999997, 5), (-0.27999999999999997, 6…, fill\_opacity=0.55); polygon\_20 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 5), (0.72, 5), (0.72, 6.0), (0.3, 6.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 6), (-0.27999999999999997, 6), (-0.27999999999999997, 7…, fill\_opacity=0.55); polygon\_22 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 6), (0.72, 6), (0.72, 7.0), (0.3, 7.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 7), (-0.27999999999999997, 7), (-0.27999999999999997, 8…, fill\_opacity=0.55); observed\_median — a Line \[yellow\] labelled "hat(m)" drawn in histogram (end=(0.0, 8.5), dashed=True)

Actions:
- [07:19.732](https://academa.ai/lectures/the-bootstrap?t=439.731875): formula\_heading is shown on the screen, written out.
- [07:21.67](https://academa.ai/lectures/the-bootstrap?t=441.67037500000004): median\_se is shown on the screen, written out.

##### [07:36.481](https://academa.ai/lectures/the-bootstrap?t=456.481375)

Narration: There is analytic theory for a median, but it is already less friendly. Under smooth conditions and for a large sample, its standard error depends on one over twice the population density at the population median, times square root n.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55); polygon\_7 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55); polygon\_11 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 3), (-1.28, 3), (-1.28, 4.0), (-1.7, 4.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 3), (-0.27999999999999997, 3), (-0.27999999999999997, 4…, fill\_opacity=0.55); polygon\_15 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 3), (0.72, 3), (0.72, 4.0), (0.3, 4.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 3), (1.72, 3), (1.72, 4.0), (1.3, 4.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 4), (-0.27999999999999997, 4), (-0.27999999999999997, 5…, fill\_opacity=0.55); polygon\_18 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 4), (0.72, 4), (0.72, 5.0), (0.3, 5.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 5), (-0.27999999999999997, 5), (-0.27999999999999997, 6…, fill\_opacity=0.55); polygon\_20 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 5), (0.72, 5), (0.72, 6.0), (0.3, 6.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 6), (-0.27999999999999997, 6), (-0.27999999999999997, 7…, fill\_opacity=0.55); polygon\_22 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 6), (0.72, 6), (0.72, 7.0), (0.3, 7.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 7), (-0.27999999999999997, 7), (-0.27999999999999997, 8…, fill\_opacity=0.55); observed\_median — a Line \[yellow\] labelled "hat(m)" drawn in histogram (end=(0.0, 8.5), dashed=True); median\_se — a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(hat(m)^\*)$"; formula\_heading — a Heading that says "Why Not Just Use a Formula?"

Actions:
- [07:37.537](https://academa.ai/lectures/the-bootstrap?t=457.537375): analytic is shown on the screen, written out.
- [07:48.544](https://academa.ai/lectures/the-bootstrap?t=468.544375): analytic (the "f(m)" part) is emphasized.
- [07:52.851](https://academa.ai/lectures/the-bootstrap?t=472.851375): analytic (the "f(m)" part) is no longer emphasized.

##### [07:53.451](https://academa.ai/lectures/the-bootstrap?t=473.451375)

Narration: That density at the unknown median is itself unknown. Estimating it requires smoothing choices, and the approximation depends on regularity conditions. For more complicated estimators, the analytic derivation can become much less pleasant still.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55); polygon\_7 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55); polygon\_11 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 3), (-1.28, 3), (-1.28, 4.0), (-1.7, 4.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 3), (-0.27999999999999997, 3), (-0.27999999999999997, 4…, fill\_opacity=0.55); polygon\_15 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 3), (0.72, 3), (0.72, 4.0), (0.3, 4.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 3), (1.72, 3), (1.72, 4.0), (1.3, 4.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 4), (-0.27999999999999997, 4), (-0.27999999999999997, 5…, fill\_opacity=0.55); polygon\_18 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 4), (0.72, 4), (0.72, 5.0), (0.3, 5.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 5), (-0.27999999999999997, 5), (-0.27999999999999997, 6…, fill\_opacity=0.55); polygon\_20 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 5), (0.72, 5), (0.72, 6.0), (0.3, 6.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 6), (-0.27999999999999997, 6), (-0.27999999999999997, 7…, fill\_opacity=0.55); polygon\_22 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 6), (0.72, 6), (0.72, 7.0), (0.3, 7.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 7), (-0.27999999999999997, 7), (-0.27999999999999997, 8…, fill\_opacity=0.55); observed\_median — a Line \[yellow\] labelled "hat(m)" drawn in histogram (end=(0.0, 8.5), dashed=True); median\_se — a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(hat(m)^\*)$"; analytic — a Math \[text\] that says "$upright("SE")(hat(m)) approx frac(1,2 f(m) sqrt(n))$"; formula\_heading — a Heading that says "Why Not Just Use a Formula?"

Actions:
- [07:54.949](https://academa.ai/lectures/the-bootstrap?t=474.94937500000003): unknown\_density is shown on the screen, written out.

##### [08:9.458](https://academa.ai/lectures/the-bootstrap?t=489.457875)

Narration: The bootstrap avoids deriving a fresh sampling formula for every statistic. We supply a resampling rule and a function T. The same loop that handled the mean now handles the median, while the estimator code remains the definition of what we want.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55); polygon\_7 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55); polygon\_11 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 3), (-1.28, 3), (-1.28, 4.0), (-1.7, 4.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 3), (-0.27999999999999997, 3), (-0.27999999999999997, 4…, fill\_opacity=0.55); polygon\_15 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 3), (0.72, 3), (0.72, 4.0), (0.3, 4.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 3), (1.72, 3), (1.72, 4.0), (1.3, 4.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 4), (-0.27999999999999997, 4), (-0.27999999999999997, 5…, fill\_opacity=0.55); polygon\_18 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 4), (0.72, 4), (0.72, 5.0), (0.3, 5.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 5), (-0.27999999999999997, 5), (-0.27999999999999997, 6…, fill\_opacity=0.55); polygon\_20 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 5), (0.72, 5), (0.72, 6.0), (0.3, 6.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 6), (-0.27999999999999997, 6), (-0.27999999999999997, 7…, fill\_opacity=0.55); polygon\_22 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 6), (0.72, 6), (0.72, 7.0), (0.3, 7.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 7), (-0.27999999999999997, 7), (-0.27999999999999997, 8…, fill\_opacity=0.55); observed\_median — a Line \[yellow\] labelled "hat(m)" drawn in histogram (end=(0.0, 8.5), dashed=True); median\_se — a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(hat(m)^\*)$"; analytic — a Math \[text\] that says "$upright("SE")(hat(m)) approx frac(1,2 f(m) sqrt(n))$"; unknown\_density — a Math \[text\] that says "$f(m)=upright("density at median")$"; formula\_heading — a Heading that says "Why Not Just Use a Formula?"

Actions:
- [08:10.537](https://academa.ai/lectures/the-bootstrap?t=490.537375): reason is shown on the screen, written out.

##### [08:26.869](https://academa.ai/lectures/the-bootstrap?t=506.869375)

Narration: That does not make the bootstrap exact. A tiny sample may provide a very coarse empirical distribution, so the bootstrap median can have only a few possible values. A strange-looking histogram is evidence to inspect, not something to smooth away without thought.

Board: median\_definition — a Math \[text\] that says "$hat(m)=upright("median")(x\_1,dots,x\_n)$"; histogram — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 9.0), include\_ticks=False); polygon — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 0), (-1.28, 0), (-1.28, 1.0), (-1.7, 1.0)), fill\_opacity=0.55); polygon\_2 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 0), (-0.27999999999999997, 0), (-0.27999999999999997, 1…, fill\_opacity=0.55); polygon\_3 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 0), (0.72, 0), (0.72, 1.0), (0.3, 1.0)), fill\_opacity=0.55); polygon\_4 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 0), (1.72, 0), (1.72, 1.0), (1.3, 1.0)), fill\_opacity=0.55); polygon\_5 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 1), (-1.28, 1), (-1.28, 2.0), (-1.7, 2.0)), fill\_opacity=0.55); polygon\_6 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 1), (-0.27999999999999997, 1), (-0.27999999999999997, 2…, fill\_opacity=0.55); polygon\_7 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 1), (0.72, 1), (0.72, 2.0), (0.3, 2.0)), fill\_opacity=0.55); polygon\_8 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 1), (1.72, 1), (1.72, 2.0), (1.3, 2.0)), fill\_opacity=0.55); polygon\_9 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 2), (-1.28, 2), (-1.28, 3.0), (-1.7, 3.0)), fill\_opacity=0.55); polygon\_10 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 2), (-0.27999999999999997, 2), (-0.27999999999999997, 3…, fill\_opacity=0.55); polygon\_11 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 2), (0.72, 2), (0.72, 3.0), (0.3, 3.0)), fill\_opacity=0.55); polygon\_12 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 2), (1.72, 2), (1.72, 3.0), (1.3, 3.0)), fill\_opacity=0.55); polygon\_13 — a Polygon \[green\] drawn in histogram (vertices=((-1.7, 3), (-1.28, 3), (-1.28, 4.0), (-1.7, 4.0)), fill\_opacity=0.55); polygon\_14 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 3), (-0.27999999999999997, 3), (-0.27999999999999997, 4…, fill\_opacity=0.55); polygon\_15 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 3), (0.72, 3), (0.72, 4.0), (0.3, 4.0)), fill\_opacity=0.55); polygon\_16 — a Polygon \[green\] drawn in histogram (vertices=((1.3, 3), (1.72, 3), (1.72, 4.0), (1.3, 4.0)), fill\_opacity=0.55); polygon\_17 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 4), (-0.27999999999999997, 4), (-0.27999999999999997, 5…, fill\_opacity=0.55); polygon\_18 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 4), (0.72, 4), (0.72, 5.0), (0.3, 5.0)), fill\_opacity=0.55); polygon\_19 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 5), (-0.27999999999999997, 5), (-0.27999999999999997, 6…, fill\_opacity=0.55); polygon\_20 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 5), (0.72, 5), (0.72, 6.0), (0.3, 6.0)), fill\_opacity=0.55); polygon\_21 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 6), (-0.27999999999999997, 6), (-0.27999999999999997, 7…, fill\_opacity=0.55); polygon\_22 — a Polygon \[green\] drawn in histogram (vertices=((0.3, 6), (0.72, 6), (0.72, 7.0), (0.3, 7.0)), fill\_opacity=0.55); polygon\_23 — a Polygon \[green\] drawn in histogram (vertices=((-0.7, 7), (-0.27999999999999997, 7), (-0.27999999999999997, 8…, fill\_opacity=0.55); observed\_median — a Line \[yellow\] labelled "hat(m)" drawn in histogram (end=(0.0, 8.5), dashed=True); median\_se — a Math \[text\] that says "$upright("SE")\_(upright("boot"))=upright("sd")(hat(m)^\*)$"; analytic — a Math \[text\] that says "$upright("SE")(hat(m)) approx frac(1,2 f(m) sqrt(n))$"; unknown\_density — a Math \[text\] that says "$f(m)=upright("density at median")$"; reason — a Panel that says "The algorithm stays fixed while $T$ changes. This is most valuable when the estimator's analytic sampling distribution is awkward."; formula\_heading — a Heading that says "Why Not Just Use a Formula?"

Actions:
- [08:32.105](https://academa.ai/lectures/the-bootstrap?t=512.105375): polygon\_17 is indicated — a transient flash.
- [08:32.105](https://academa.ai/lectures/the-bootstrap?t=512.105375): polygon\_18 is indicated — a transient flash.

##### [08:44.246](https://academa.ai/lectures/the-bootstrap?t=524.245875)

Narration: This is the method's real advantage. The mean showed that resampling can reproduce a known scale. The median shows why we bother: we can estimate uncertainty without solving the estimator's sampling distribution by hand.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [08:45.789](https://academa.ai/lectures/the-bootstrap?t=525.789375): A box is drawn around median\_se.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): analytic is hidden from the screen — left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): formula\_heading is hidden from the screen — left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): histogram is hidden from the screen — left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_2 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_3 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_4 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_5 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_6 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_7 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_8 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_9 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_10 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_11 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_12 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_13 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_14 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_15 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_16 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_17 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_18 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_19 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_20 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_21 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_22 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): polygon\_23 is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): observed\_median is hidden from the screen — histogram left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): median\_definition is hidden from the screen — left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): median\_se is hidden from the screen — left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): reason is hidden from the screen — left the board.
- [08:58.265](https://academa.ai/lectures/the-bootstrap?t=538.2651666666667): unknown\_density is hidden from the screen — left the board.

### Scene 4: [What the Bootstrap Distribution Means](https://academa.ai/lectures/the-bootstrap?t=539.3068333333333)

Span: 08:59.307–12:43.074 (539.3068333333333s–763.0736041666667s).

#### Objects

- approximation: a Math \[text\] that says "$upright("law")^\*(hat(theta)^\* \| hat(F)\_n)$"
- approximation\_heading: a Heading that says "An Approximation, Not a Second Dataset"
- assumption\_1: a Text \[text\] that says "1. The observed sample is representative of the population relevant to the claim."
- assumption\_2: a Text \[text\] that says "2. For the ordinary row bootstrap, observations behave as independent, identically distributed units."
- assumption\_3: a Text \[text\] that says "3. The empirical distribution captures the features that control the statistic's uncertainty."
- assumption\_4: a Text \[text\] that says "4. The estimator is sufficiently regular for small changes in the distribution to produce controlled changes."
- assumption\_heading: a Heading that says "What the Ordinary Bootstrap Assumes"
- boot\_0: a Math \[text\] that says "$hat(F)\_n=frac(1,n) sum\_i delta\_(x\_i)$"
- boot\_1: a Math \[text\] that says "$X^\*\_1,dots,X^\*\_n upright(" from ") hat(F)\_n$"
- boot\_2: a Math \[text\] that says "$hat(theta)^\*=T(X^\*\_1,dots,X^\*\_n)$"
- bridge: a Math \[text\] that says "$upright("bootstrap distribution") approx upright("sampling distribution")$"
- heading: a Heading that says "The Distribution We Want and the One We Build"
- left\_label: a Tex \[text\] that says "The study we cannot repeat"
- not\_posterior: a Text \[text\] that says "The bootstrap distribution is conditional on the observed sample. It is not automatically a posterior distribution for the parameter."
- right\_label: a Tex \[text\] that says "The experiment we can run"
- target: a Math \[text\] that says "$upright("law")(hat(theta) \| F)$"
- true\_0: a Math \[text\] that says "$X\_1,dots,X\_n upright(" from ") F$"
- true\_1: a Math \[text\] that says "$hat(theta)=T(X\_1,dots,X\_n)$"
- true\_2: a Math \[text\] that says "$upright("repetition") arrow.r upright("sampling distribution")$"

#### Beats

##### [08:59.307](https://academa.ai/lectures/the-bootstrap?t=539.3068333333333)

Narration: We should now be precise about what this constructed distribution means. Imagine the experiment we truly want but cannot perform: repeatedly draw fresh samples of size n from the population F and recompute the estimate each time.

Board: Empty.

Actions:
- [08:59.307](https://academa.ai/lectures/the-bootstrap?t=539.3068333333333): heading is shown on the screen, written out.
- [08:59.307](https://academa.ai/lectures/the-bootstrap?t=539.3068333333333): left\_label is shown on the screen, written out.
- [09:11.66](https://academa.ai/lectures/the-bootstrap?t=551.6598333333333): true\_0 is shown on the screen, written out.
- [09:13.1](https://academa.ai/lectures/the-bootstrap?t=553.0998333333333): true\_1 is shown on the screen, written out.

##### [09:16.126](https://academa.ai/lectures/the-bootstrap?t=556.1263333333333)

Narration: The collection of those real repeated estimates is the sampling distribution. Its spread is the actual repeated-sampling uncertainty of the estimator under population F. But F is unknown, and we possess only one realized sample.

Board: left\_label — a Tex \[text\] that says "The study we cannot repeat"; true\_0 — a Math \[text\] that says "$X\_1,dots,X\_n upright(" from ") F$"; true\_1 — a Math \[text\] that says "$hat(theta)=T(X\_1,dots,X\_n)$"; heading — a Heading that says "The Distribution We Want and the One We Build"

Actions:
- [09:19.563](https://academa.ai/lectures/the-bootstrap?t=559.5628333333333): true\_2 is shown on the screen, written out.

##### [09:33.711](https://academa.ai/lectures/the-bootstrap?t=573.7113333333333)

Narration: The bootstrap replaces unknown F by the empirical distribution F hat. That distribution places mass one over n on each observed value, and it is completely determined once the observed sample is fixed.

Board: left\_label — a Tex \[text\] that says "The study we cannot repeat"; true\_0 — a Math \[text\] that says "$X\_1,dots,X\_n upright(" from ") F$"; true\_1 — a Math \[text\] that says "$hat(theta)=T(X\_1,dots,X\_n)$"; true\_2 — a Math \[text\] that says "$upright("repetition") arrow.r upright("sampling distribution")$"; heading — a Heading that says "The Distribution We Want and the One We Build"

Actions:
- [09:33.711](https://academa.ai/lectures/the-bootstrap?t=573.7113333333333): right\_label is shown on the screen, written out.
- [09:36.521](https://academa.ai/lectures/the-bootstrap?t=576.5208333333333): boot\_0 is shown on the screen, written out.

##### [09:48.127](https://academa.ai/lectures/the-bootstrap?t=588.1268333333334)

Narration: We repeatedly draw starred samples from F hat and compute starred estimates. Their conditional distribution is the bootstrap distribution. Conditional means that the original observed sample is now held fixed throughout the resampling experiment.

Board: left\_label — a Tex \[text\] that says "The study we cannot repeat"; true\_0 — a Math \[text\] that says "$X\_1,dots,X\_n upright(" from ") F$"; true\_1 — a Math \[text\] that says "$hat(theta)=T(X\_1,dots,X\_n)$"; true\_2 — a Math \[text\] that says "$upright("repetition") arrow.r upright("sampling distribution")$"; right\_label — a Tex \[text\] that says "The experiment we can run"; boot\_0 — a Math \[text\] that says "$hat(F)\_n=frac(1,n) sum\_i delta\_(x\_i)$"; heading — a Heading that says "The Distribution We Want and the One We Build"

Actions:
- [09:49.695](https://academa.ai/lectures/the-bootstrap?t=589.6948333333333): boot\_1 is shown on the screen, written out.
- [09:52.04](https://academa.ai/lectures/the-bootstrap?t=592.0398333333333): boot\_2 is shown on the screen, written out.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): boot\_0 is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): boot\_1 is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): boot\_2 is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): heading is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): left\_label is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): right\_label is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): true\_0 is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): true\_1 is hidden from the screen — left the board.
- [10:3.592](https://academa.ai/lectures/the-bootstrap?t=603.5923333333333): true\_2 is hidden from the screen — left the board.

##### [10:4.192](https://academa.ai/lectures/the-bootstrap?t=604.1923333333333)

Narration: The central approximation is now visible. The distribution of starred estimates under the empirical distribution is used to approximate the distribution of ordinary estimates under the unknown population.

Board: Empty.

Actions:
- [10:4.192](https://academa.ai/lectures/the-bootstrap?t=604.1923333333333): approximation\_heading is shown on the screen, written out.
- [10:8.767](https://academa.ai/lectures/the-bootstrap?t=608.7668333333334): approximation is shown on the screen, written out.
- [10:12.284](https://academa.ai/lectures/the-bootstrap?t=612.2838333333333): bridge is shown on the screen, written out.
- [10:13.887](https://academa.ai/lectures/the-bootstrap?t=613.8868333333334): target is shown on the screen, written out.

##### [10:17.83](https://academa.ai/lectures/the-bootstrap?t=617.8303333333333)

Narration: A bootstrap histogram therefore does not show new data that might have been observed. It shows the variability created by sampling from the empirical stand-in population. Its quality depends on how well that stand-in preserves the features relevant to the chosen statistic.

Board: bridge — a Math \[text\] that says "$upright("bootstrap distribution") approx upright("sampling distribution")$"; target — a Math \[text\] that says "$upright("law")(hat(theta) \| F)$"; approximation — a Math \[text\] that says "$upright("law")^\*(hat(theta)^\* \| hat(F)\_n)$"; approximation\_heading — a Heading that says "An Approximation, Not a Second Dataset"

Actions:
- [10:18.341](https://academa.ai/lectures/the-bootstrap?t=618.3408333333333): bridge (the "upright("bootstrap distribution")" part) is emphasized.
- [10:23.948](https://academa.ai/lectures/the-bootstrap?t=623.9478333333334): bridge (the "upright("sampling distribution")" part) is emphasized.
- [10:28.883](https://academa.ai/lectures/the-bootstrap?t=628.8828333333333): bridge (the "upright("bootstrap distribution")" part) is no longer emphasized.
- [10:28.883](https://academa.ai/lectures/the-bootstrap?t=628.8828333333333): bridge (the "upright("sampling distribution")" part) is no longer emphasized.

##### [10:35.461](https://academa.ai/lectures/the-bootstrap?t=635.4613333333333)

Narration: Nor is this automatically a probability distribution for the unknown parameter after seeing the data. That would require a Bayesian model and a prior. The ordinary bootstrap is a repeated-sampling approximation conditional on the observations.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [10:36.774](https://academa.ai/lectures/the-bootstrap?t=636.7738333333333): not\_posterior is shown on the screen, written out.
- [10:50.38](https://academa.ai/lectures/the-bootstrap?t=650.3798333333333): approximation is hidden from the screen — left the board.
- [10:50.38](https://academa.ai/lectures/the-bootstrap?t=650.3798333333333): approximation\_heading is hidden from the screen — left the board.
- [10:50.38](https://academa.ai/lectures/the-bootstrap?t=650.3798333333333): bridge is hidden from the screen — left the board.
- [10:50.38](https://academa.ai/lectures/the-bootstrap?t=650.3798333333333): not\_posterior is hidden from the screen — left the board.
- [10:50.38](https://academa.ai/lectures/the-bootstrap?t=650.3798333333333): target is hidden from the screen — left the board.

##### [10:50.98](https://academa.ai/lectures/the-bootstrap?t=650.9798333333333)

Narration: The approximation carries assumptions. First, the original sample must be representative of the population to which the uncertainty statement will be applied. Resampling cannot repair a biased sampling frame, selective nonresponse, or a measurement process that misses part of the target.

Board: Empty.

Actions:
- [10:50.98](https://academa.ai/lectures/the-bootstrap?t=650.9798333333333): assumption\_heading is shown on the screen, written out.
- [10:54.115](https://academa.ai/lectures/the-bootstrap?t=654.1148333333333): assumption\_1 is shown on the screen, written out.

##### [11:10.33](https://academa.ai/lectures/the-bootstrap?t=670.3303333333333)

Narration: Second, the ordinary bootstrap treats rows as independent and identically distributed sampling units. If observations arrive in clusters, repeated measures, spatial neighborhoods, or a time series, resampling individual rows destroys the dependence that contributes to uncertainty.

Board: assumption\_1 — a Text \[text\] that says "1. The observed sample is representative of the population relevant to the claim."; assumption\_heading — a Heading that says "What the Ordinary Bootstrap Assumes"

Actions:
- [11:10.679](https://academa.ai/lectures/the-bootstrap?t=670.6788333333334): assumption\_2 is shown on the screen, written out.

##### [11:30.725](https://academa.ai/lectures/the-bootstrap?t=690.7253333333333)

Narration: The remedy is not to ignore dependence but to resample at a scientifically defensible unit. Depending on the design, that might mean whole clusters, subjects, or blocks of consecutive observations. The resampling scheme must imitate the original sampling mechanism.

Board: assumption\_1 — a Text \[text\] that says "1. The observed sample is representative of the population relevant to the claim."; assumption\_2 — a Text \[text\] that says "2. For the ordinary row bootstrap, observations behave as independent, identically distributed units."; assumption\_heading — a Heading that says "What the Ordinary Bootstrap Assumes"

Actions:
- [11:35.834](https://academa.ai/lectures/the-bootstrap?t=695.8338333333334): assumption\_2 (the "independent, identically distributed units" part) is emphasized.
- [11:48.581](https://academa.ai/lectures/the-bootstrap?t=708.5813333333333): assumption\_2 (the "independent, identically distributed units" part) is no longer emphasized.

##### [11:49.181](https://academa.ai/lectures/the-bootstrap?t=709.1813333333333)

Narration: Third, the empirical distribution must contain the features that govern the statistic. For means and many smooth estimators, the observed spread often supplies what is needed. For tail behavior or rare events, the missing part of the population may be exactly what matters.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [11:49.588](https://academa.ai/lectures/the-bootstrap?t=709.5878333333334): assumption\_3 is shown on the screen, written out.

##### [12:8.613](https://academa.ai/lectures/the-bootstrap?t=728.6128333333334)

Narration: Fourth, the estimator should respond regularly to modest changes in the distribution. Statistics at boundaries, statistics defined by rare events, and some model-selection procedures can change abruptly. In those cases the ordinary bootstrap may approximate the wrong limiting behavior.

Board: assumption\_1 — a Text \[text\] that says "1. The observed sample is representative of the population relevant to the claim."; assumption\_2 — a Text \[text\] that says "2. For the ordinary row bootstrap, observations behave as independent, identically distributed units."; assumption\_3 — a Text \[text\] that says "3. The empirical distribution captures the features that control the statistic's uncertainty."; assumption\_heading — a Heading that says "What the Ordinary Bootstrap Assumes"

Actions:
- [12:9.019](https://academa.ai/lectures/the-bootstrap?t=729.0188333333333): assumption\_4 is shown on the screen, written out.

##### [12:27.754](https://academa.ai/lectures/the-bootstrap?t=747.7538333333333)

Narration: These assumptions are not ceremonial fine print. They tell us what experiment the resampling is imitating, which object should be resampled, and whether the observed empirical distribution contains enough information for the target statistic.

Board: assumption\_1 — a Text \[text\] that says "1. The observed sample is representative of the population relevant to the claim."; assumption\_2 — a Text \[text\] that says "2. For the ordinary row bootstrap, observations behave as independent, identically distributed units."; assumption\_3 — a Text \[text\] that says "3. The empirical distribution captures the features that control the statistic's uncertainty."; assumption\_4 — a Text \[text\] that says "4. The estimator is sufficiently regular for small changes in the distribution to produce controlled changes."; assumption\_heading — a Heading that says "What the Ordinary Bootstrap Assumes"

Actions:
- [12:42.032](https://academa.ai/lectures/the-bootstrap?t=762.0319375): assumption\_1 is hidden from the screen — left the board.
- [12:42.032](https://academa.ai/lectures/the-bootstrap?t=762.0319375): assumption\_2 is hidden from the screen — left the board.
- [12:42.032](https://academa.ai/lectures/the-bootstrap?t=762.0319375): assumption\_3 is hidden from the screen — left the board.
- [12:42.032](https://academa.ai/lectures/the-bootstrap?t=762.0319375): assumption\_4 is hidden from the screen — left the board.
- [12:42.032](https://academa.ai/lectures/the-bootstrap?t=762.0319375): assumption\_heading is hidden from the screen — left the board.

### Scene 5: [Where the Bootstrap Breaks](https://academa.ai/lectures/the-bootstrap?t=763.0736041666667)

Span: 12:43.074–17:11.272 (763.0736041666667s–1031.2722083333333s).

#### Objects

- bootstrap\_bound: a Math \[text\] that says "$M^\* \<= x\_(n)$"
- failure: a Panel that says "The empirical distribution has no mass beyond the observed maximum. More ordinary resamples cannot reveal an unobserved tail."
- heading: a Heading that says "The Maximum Exposes Missing Tail Information"
- limit\_1: a Text \[text\] that says "1. Resample the scientific sampling unit, not automatically the stored row."
- limit\_2: a Text \[text\] that says "2. Inspect the bootstrap distribution for discreteness, skew, boundaries, and instability."
- limit\_3: a Text \[text\] that says "3. Treat very small samples and extreme statistics with particular caution."
- limit\_4: a Text \[text\] that says "4. Use design-aware or specialized theory when dependence, censoring, selection, or tails control the answer."
- limit\_5: a Text \[text\] that says "5. Remember that more resamples reduce simulation noise, not uncertainty in the original sample."
- limits\_heading: a Heading that says "A Practical Bootstrap Checklist"
- maximum: a Math \[text\] that says "$M=x\_(n)$"
- observed: a NumberLine labelled "upright("value")" (x\_range=(0.0, 10.0), include\_ticks=False)
- points: a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0))
- points\_2: a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.0, 0.0))
- points\_3: a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.1, 0.0))
- points\_4: a Point \[blue\] labelled "x\_4" drawn in observed (location=(4.5, 0.0))
- points\_5: a Point \[blue\] labelled "x\_(n-1)" drawn in observed (location=(6.4, 0.0))
- points\_6: a Point \[red\] labelled "x\_n" drawn in observed (location=(8.2, 0.0))
- probability: a Derivation \[text\] that says "$P^\*(M^\*=x\_n) &= 1-(1-frac(1,n))^n \\ &approx 1-e^(-1) approx 0.63$"
- question: a Panel that says "Can resampling the observed values estimate the uncertainty of the largest value the population might produce?"
- resample\_table: a Table \[text\] that says "Resample Largest available value Contains $x\_n$ $M^\*=x\_n$ Omits $x\_n$ $M^\*\<x\_n$ Every resample $M^\*\<=x\_n$" (rows=(('Resample', 'Largest available value'), ('Contains $x\_n$', '$…, header=True)
- summary: a Math \[text\] that says "$upright("resample units") arrow.r upright("recompute") arrow.r upright("distribution") arrow.r upright("check assumptions")$"
- summary\_heading: a Heading that says "The Bootstrap in One Sentence"
- text: a Text \[text\] that says "Treat the observed sample as an empirical population, resample appropriate units with replacement, recompute the full estimator, and interpret the resulting distribution only under assumptions that make the empirical population a credible …"
- unseen: a Point \[yellow\] labelled "upright("possible unseen value")" drawn in observed (location=(9.5, 0.0))

#### Beats

##### [12:43.074](https://academa.ai/lectures/the-bootstrap?t=763.0736041666667)

Narration: The classic failure is estimating a maximum. This question sounds like a natural extension of the mean and median examples, but the maximum depends on information just beyond the largest observation, precisely where the empirical distribution knows nothing.

Board: Empty.

Actions:
- [12:43.074](https://academa.ai/lectures/the-bootstrap?t=763.0736041666667): question is shown on the screen, written out.
- [12:58.654](https://academa.ai/lectures/the-bootstrap?t=778.6541041666667): question moves to a new place on the board.

##### [12:59.254](https://academa.ai/lectures/the-bootstrap?t=779.2541041666667)

Narration: Order the observed values and mark the largest one, x sub n, in red. Every ordinary bootstrap resample draws only from these standing points. It may duplicate the red maximum, include it once, or omit it.

Board: question — a Panel that says "Can resampling the observed values estimate the uncertainty of the largest value the population might produce?"

Actions:
- [12:59.254](https://academa.ai/lectures/the-bootstrap?t=779.2541041666667): observed is shown on the screen, written out.
- [13:1.565](https://academa.ai/lectures/the-bootstrap?t=781.5646041666666): observed moves to a new place on the board.
- [13:1.565](https://academa.ai/lectures/the-bootstrap?t=781.5646041666666): maximum is shown on the screen, written out.
- [13:8.194](https://academa.ai/lectures/the-bootstrap?t=788.1936041666667): points is shown on the screen, written out.
- [13:8.274](https://academa.ai/lectures/the-bootstrap?t=788.2736041666667): points\_2 is shown on the screen, written out.
- [13:8.354](https://academa.ai/lectures/the-bootstrap?t=788.3536041666666): points\_3 is shown on the screen, written out.
- [13:8.434](https://academa.ai/lectures/the-bootstrap?t=788.4336041666667): points\_4 is shown on the screen, written out.
- [13:8.514](https://academa.ai/lectures/the-bootstrap?t=788.5136041666667): points\_5 is shown on the screen, written out.
- [13:8.594](https://academa.ai/lectures/the-bootstrap?t=788.5936041666666): points\_6 is shown on the screen, written out.

##### [13:14.598](https://academa.ai/lectures/the-bootstrap?t=794.5981041666666)

Narration: If a resample contains x sub n, its maximum is x sub n. If it omits that observation, its maximum is smaller. No resample can produce a value larger than the largest value already present.

Board: question — a Panel that says "Can resampling the observed values estimate the uncertainty of the largest value the population might produce?"; maximum — a Math \[text\] that says "$M=x\_(n)$"; observed — a NumberLine labelled "upright("value")" (x\_range=(0.0, 10.0), include\_ticks=False); points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.0, 0.0)); points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.1, 0.0)); points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(4.5, 0.0)); points\_5 — a Point \[blue\] labelled "x\_(n-1)" drawn in observed (location=(6.4, 0.0)); points\_6 — a Point \[red\] labelled "x\_n" drawn in observed (location=(8.2, 0.0))

Actions:
- [13:14.598](https://academa.ai/lectures/the-bootstrap?t=794.5981041666666): resample\_table is shown on the screen, written out.
- [13:15.806](https://academa.ai/lectures/the-bootstrap?t=795.8056041666666): resample\_table is shown on the screen, written out.
- [13:20.961](https://academa.ai/lectures/the-bootstrap?t=800.9606041666666): resample\_table is shown on the screen, written out.
- [13:24.421](https://academa.ai/lectures/the-bootstrap?t=804.4206041666666): resample\_table is shown on the screen, written out.
- [13:26.104](https://academa.ai/lectures/the-bootstrap?t=806.1036041666666): bootstrap\_bound is shown on the screen, written out.

##### [13:29.455](https://academa.ai/lectures/the-bootstrap?t=809.4551041666666)

Narration: Yet a genuinely new sample from the population may contain an unseen extreme beyond x sub n. That possibility contributes to the real sampling distribution of the maximum, but it is absent from the empirical resampling distribution.

Board: question — a Panel that says "Can resampling the observed values estimate the uncertainty of the largest value the population might produce?"; maximum — a Math \[text\] that says "$M=x\_(n)$"; bootstrap\_bound — a Math \[text\] that says "$M^\* \<= x\_(n)$"; observed — a NumberLine labelled "upright("value")" (x\_range=(0.0, 10.0), include\_ticks=False); points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.0, 0.0)); points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.1, 0.0)); points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(4.5, 0.0)); points\_5 — a Point \[blue\] labelled "x\_(n-1)" drawn in observed (location=(6.4, 0.0)); points\_6 — a Point \[red\] labelled "x\_n" drawn in observed (location=(8.2, 0.0))

Actions:
- [13:33.345](https://academa.ai/lectures/the-bootstrap?t=813.3446041666666): unseen is shown on the screen, written out.
- [13:41.716](https://academa.ai/lectures/the-bootstrap?t=821.7156041666667): unseen is hidden from the screen.
- [13:45.106](https://academa.ai/lectures/the-bootstrap?t=825.1056041666667): bootstrap\_bound moves to a new place on the board.
- [13:45.106](https://academa.ai/lectures/the-bootstrap?t=825.1056041666667): observed moves to a new place on the board.
- [13:45.106](https://academa.ai/lectures/the-bootstrap?t=825.1056041666667): maximum is hidden from the screen — left the board.
- [13:45.106](https://academa.ai/lectures/the-bootstrap?t=825.1056041666667): question is hidden from the screen — left the board.
- [13:45.106](https://academa.ai/lectures/the-bootstrap?t=825.1056041666667): resample\_table is hidden from the screen — left the board.

##### [13:45.706](https://academa.ai/lectures/the-bootstrap?t=825.7056041666667)

Narration: The problem is visible even before asymptotic theory. Suppose the observed maximum is unique. One bootstrap resample includes it unless all n draws select from the other n minus one observations.

Board: bootstrap\_bound — a Math \[text\] that says "$M^\* \<= x\_(n)$"; observed — a NumberLine labelled "upright("value")" (x\_range=(0.0, 10.0), include\_ticks=False); points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.0, 0.0)); points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.1, 0.0)); points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(4.5, 0.0)); points\_5 — a Point \[blue\] labelled "x\_(n-1)" drawn in observed (location=(6.4, 0.0)); points\_6 — a Point \[red\] labelled "x\_n" drawn in observed (location=(8.2, 0.0))

Actions:
- [13:45.706](https://academa.ai/lectures/the-bootstrap?t=825.7056041666667): heading is shown on the screen, written out.
- [13:55.308](https://academa.ai/lectures/the-bootstrap?t=835.3076041666667): probability is shown on the screen, written out.

##### [14:0.517](https://academa.ai/lectures/the-bootstrap?t=840.5166041666666)

Narration: The chance of including it at least once is one minus one minus one over n to the nth power. For large n this approaches one minus e to the minus one, about zero point six three.

Board: bootstrap\_bound — a Math \[text\] that says "$M^\* \<= x\_(n)$"; observed — a NumberLine labelled "upright("value")" (x\_range=(0.0, 10.0), include\_ticks=False); points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.0, 0.0)); points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.1, 0.0)); points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(4.5, 0.0)); points\_5 — a Point \[blue\] labelled "x\_(n-1)" drawn in observed (location=(6.4, 0.0)); points\_6 — a Point \[red\] labelled "x\_n" drawn in observed (location=(8.2, 0.0)); heading — a Heading that says "The Maximum Exposes Missing Tail Information"

Actions:
- [14:8.818](https://academa.ai/lectures/the-bootstrap?t=848.8176041666667): probability is shown on the screen, written out.

##### [14:14.19](https://academa.ai/lectures/the-bootstrap?t=854.1896041666666)

Narration: So roughly sixty-three percent of bootstrap maxima pile up exactly at the observed maximum. The rest lie below it. The distribution has a hard ceiling created by the dataset, although the population itself need not have that ceiling.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [14:19.054](https://academa.ai/lectures/the-bootstrap?t=859.0536041666667): The point (8.2, 0.0) in observed is lit up.
- [14:24.128](https://academa.ai/lectures/the-bootstrap?t=864.1276041666666): A box is drawn around bootstrap\_bound.
- [14:29.12](https://academa.ai/lectures/the-bootstrap?t=869.1201041666667): bootstrap\_bound moves to a new place on the board.
- [14:29.12](https://academa.ai/lectures/the-bootstrap?t=869.1201041666667): probability is hidden from the screen — left the board.
- [14:29.12](https://academa.ai/lectures/the-bootstrap?t=869.1201041666667): observed: retire a lit point (unemphasize\_point).

##### [14:29.72](https://academa.ai/lectures/the-bootstrap?t=869.7201041666667)

Narration: Running a million resamples only estimates this defective conditional distribution with great numerical precision. It cannot place probability beyond x sub n because the empirical distribution assigned none there.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [14:37.058](https://academa.ai/lectures/the-bootstrap?t=877.0576041666667): failure is shown on the screen, written out.

##### [14:43.718](https://academa.ai/lectures/the-bootstrap?t=883.7181041666666)

Narration: For endpoint and extreme-value questions, useful alternatives require additional structure: a justified tail model, a parametric resampling model, subsampling under appropriate theory, or methods developed specifically for extremes. The ordinary row bootstrap is not a universal default.

Board: bootstrap\_bound — a Math \[text\] that says "$M^\* \<= x\_(n)$"; observed — a NumberLine labelled "upright("value")" (x\_range=(0.0, 10.0), include\_ticks=False); points — a Point \[blue\] labelled "x\_1" drawn in observed (location=(0.8, 0.0)); points\_2 — a Point \[blue\] labelled "x\_2" drawn in observed (location=(2.0, 0.0)); points\_3 — a Point \[blue\] labelled "x\_3" drawn in observed (location=(3.1, 0.0)); points\_4 — a Point \[blue\] labelled "x\_4" drawn in observed (location=(4.5, 0.0)); points\_5 — a Point \[blue\] labelled "x\_(n-1)" drawn in observed (location=(6.4, 0.0)); points\_6 — a Point \[red\] labelled "x\_n" drawn in observed (location=(8.2, 0.0)); heading — a Heading that says "The Maximum Exposes Missing Tail Information"; failure — a Panel that says "The empirical distribution has no mass beyond the observed maximum. More ordinary resamples cannot reveal an unobserved tail."

Actions:
- [14:50.499](https://academa.ai/lectures/the-bootstrap?t=890.4986041666667): failure (the "no mass beyond" part) is emphasized.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): bootstrap\_bound is hidden from the screen — left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): failure is hidden from the screen — left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): heading is hidden from the screen — left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): observed is hidden from the screen — left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): points is hidden from the screen — observed left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): points\_2 is hidden from the screen — observed left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): points\_3 is hidden from the screen — observed left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): points\_4 is hidden from the screen — observed left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): points\_5 is hidden from the screen — observed left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): points\_6 is hidden from the screen — observed left the board.
- [15:2.573](https://academa.ai/lectures/the-bootstrap?t=902.5726041666667): failure (the "no mass beyond" part) is no longer emphasized.

##### [15:3.173](https://academa.ai/lectures/the-bootstrap?t=903.1726041666667)

Narration: A practical analysis starts by identifying the scientific sampling unit. Resample subjects if subjects were sampled, clusters if clusters were sampled, or valid dependence-preserving blocks when time or space links nearby observations.

Board: Empty.

Actions:
- [15:3.173](https://academa.ai/lectures/the-bootstrap?t=903.1726041666667): limits\_heading is shown on the screen, written out.
- [15:6.877](https://academa.ai/lectures/the-bootstrap?t=906.8766041666667): limit\_1 is shown on the screen, written out.

##### [15:19.644](https://academa.ai/lectures/the-bootstrap?t=919.6441041666667)

Narration: Then inspect the bootstrap distribution rather than reporting only one standard error. Strong discreteness, severe skew, a pile against a boundary, or large changes across reasonable analysis choices can reveal that the approximation is fragile.

Board: limit\_1 — a Text \[text\] that says "1. Resample the scientific sampling unit, not automatically the stored row."; limits\_heading — a Heading that says "A Practical Bootstrap Checklist"

Actions:
- [15:20.283](https://academa.ai/lectures/the-bootstrap?t=920.2826041666667): limit\_2 is shown on the screen, written out.

##### [15:37.322](https://academa.ai/lectures/the-bootstrap?t=937.3221041666667)

Narration: Very small samples deserve caution because their empirical distributions are coarse. Extreme quantiles, maxima, minima, and rare-event statistics deserve caution because the unobserved tail may control the answer.

Board: limit\_1 — a Text \[text\] that says "1. Resample the scientific sampling unit, not automatically the stored row."; limit\_2 — a Text \[text\] that says "2. Inspect the bootstrap distribution for discreteness, skew, boundaries, and instability."; limits\_heading — a Heading that says "A Practical Bootstrap Checklist"

Actions:
- [15:38.228](https://academa.ai/lectures/the-bootstrap?t=938.2276041666667): limit\_3 is shown on the screen, written out.
- [15:43.418](https://academa.ai/lectures/the-bootstrap?t=943.4176041666667): limit\_3 (the "extreme statistics" part) is emphasized.
- [15:52.311](https://academa.ai/lectures/the-bootstrap?t=952.3106041666666): limit\_3 (the "extreme statistics" part) is no longer emphasized.

##### [15:52.911](https://academa.ai/lectures/the-bootstrap?t=952.9106041666666)

Narration: Dependence, censoring, selection, missingness, and complicated fitted procedures may require a design-aware or specialized bootstrap. The resampling scheme should reproduce the source of variability that the uncertainty statement is supposed to include.

Board: limit\_1 — a Text \[text\] that says "1. Resample the scientific sampling unit, not automatically the stored row."; limit\_2 — a Text \[text\] that says "2. Inspect the bootstrap distribution for discreteness, skew, boundaries, and instability."; limit\_3 — a Text \[text\] that says "3. Treat very small samples and extreme statistics with particular caution."; limits\_heading — a Heading that says "A Practical Bootstrap Checklist"

Actions:
- [15:53.387](https://academa.ai/lectures/the-bootstrap?t=953.3866041666666): limit\_4 is shown on the screen, written out.

##### [16:9.834](https://academa.ai/lectures/the-bootstrap?t=969.8341041666666)

Narration: Finally, separate two sample sizes. The original n controls how much information came from the world. The bootstrap count B controls how accurately we simulate the conditional resampling distribution. Making B enormous cannot compensate for an uninformative n.

Board: limit\_1 — a Text \[text\] that says "1. Resample the scientific sampling unit, not automatically the stored row."; limit\_2 — a Text \[text\] that says "2. Inspect the bootstrap distribution for discreteness, skew, boundaries, and instability."; limit\_3 — a Text \[text\] that says "3. Treat very small samples and extreme statistics with particular caution."; limit\_4 — a Text \[text\] that says "4. Use design-aware or specialized theory when dependence, censoring, selection, or tails control the answer."; limits\_heading — a Heading that says "A Practical Bootstrap Checklist"

Actions:
- [16:10.183](https://academa.ai/lectures/the-bootstrap?t=970.1826041666667): limit\_5 is shown on the screen, written out.
- [16:28.514](https://academa.ai/lectures/the-bootstrap?t=988.5141041666667): limit\_1 is hidden from the screen — left the board.
- [16:28.514](https://academa.ai/lectures/the-bootstrap?t=988.5141041666667): limit\_2 is hidden from the screen — left the board.
- [16:28.514](https://academa.ai/lectures/the-bootstrap?t=988.5141041666667): limit\_3 is hidden from the screen — left the board.
- [16:28.514](https://academa.ai/lectures/the-bootstrap?t=988.5141041666667): limit\_4 is hidden from the screen — left the board.
- [16:28.514](https://academa.ai/lectures/the-bootstrap?t=988.5141041666667): limit\_5 is hidden from the screen — left the board.
- [16:28.514](https://academa.ai/lectures/the-bootstrap?t=988.5141041666667): limits\_heading is hidden from the screen — left the board.

##### [16:29.114](https://academa.ai/lectures/the-bootstrap?t=989.1141041666667)

Narration: The bootstrap is a disciplined thought experiment. It asks how the estimator varies when sampling is repeated from the empirical population. For the mean, a formula checked the spread. For the median, resampling avoided unpleasant analytic work. For the maximum, the missing tail exposed the boundary of the trick.

Board: Empty.

Actions:
- [16:29.114](https://academa.ai/lectures/the-bootstrap?t=989.1141041666667): summary\_heading is shown on the screen, written out.
- [16:31.123](https://academa.ai/lectures/the-bootstrap?t=991.1226041666666): summary is shown on the screen, written out.

##### [16:50.45](https://academa.ai/lectures/the-bootstrap?t=1010.4496041666666)

Narration: So the practical habit is simple: resample the right units, recompute the entire statistic, watch the distribution form, and then ask whether the observed sample could genuinely stand in for the population feature that controls your uncertainty. The calculation is easy. That final judgment is the statistical work.

Board: summary — a Math \[text\] that says "$upright("resample units") arrow.r upright("recompute") arrow.r upright("distribution") arrow.r upright("check assumptions")$"; summary\_heading — a Heading that says "The Bootstrap in One Sentence"

Actions:
- [16:52.006](https://academa.ai/lectures/the-bootstrap?t=1012.0056041666667): A box is drawn around summary.
- [17:10.231](https://academa.ai/lectures/the-bootstrap?t=1030.2305416666668): summary is hidden from the screen — left the board.
- [17:10.231](https://academa.ai/lectures/the-bootstrap?t=1030.2305416666668): summary\_heading is hidden from the screen — left the board.
