# Sampling Distributions and the Central Limit Theorem: [Your course or study question]

> A concept card for the idea that holds all of statistical inference together: a statistic computed from a
> sample (a mean, a proportion, a difference) would come out differently in another sample, and the pattern of
> those values across all possible samples is its sampling distribution. The card covers population versus
> sample, statistic versus parameter, the standard error, the Central Limit Theorem and when a sample is "large
> enough", the sampling distributions of a proportion and of a difference in means, and why the t distribution
> appears. It is for students meeting inference for the first time, thesis writers who need to explain a
> standard error in their methods chapter, and analysts who want an honest intuition for when normal-based
> methods work. It speeds up learning with a picture first (a simulated sampling distribution you can reproduce),
> formulas second, worked examples that fade from fully solved to unsolved, and self-test questions with a
> separate answer key. The worked examples use fictional data; replace them with your own. Source basis:
> standard sampling theory, the NIST/SEMATECH e-Handbook of Statistical Methods, and the GAISE College Report
> emphasis on simulation-based understanding.

<!--
Guidance: How to use this template
- Look at the chart in "Intuition" before reading any formula. Predict what will happen to the n = 30 histogram
  if you change n to 100, then check with the simulation code.
- Learn the three-level picture: population (fixed, unknown), one sample (what you have), the sampling
  distribution (the imaginary collection of all samples). Most confusion comes from mixing these levels.
- Work through Example A with the solution visible, cover it and redo it, complete the gaps in Example B, then
  solve Exercise C alone.
- Run the simulation in R or Python. Change the population, the sample size and the seed, and write down what
  changes and what does not.
- Answer the self-test before scrolling to the Answer key; repeat it after 2 days and after a week.
- Related templates: academic/stats-probability-basics, academic/stats-distributions-sheet,
  academic/stats-confidence-intervals, academic/stats-hypothesis-testing, academic/stats-t-tests,
  academic/stats-resampling-methods, academic/stats-power-sample-size, academic/stats-sampling-plan,
  academic/stats-error-log.
-->

## Document control

<!-- Guidance: Record the course and the software versions. Simulation output depends on the random number generator, so the version and the seed are part of the result. -->

| Field | Value |
|---|---|
| Course or project | [STAT 101 Introduction to Statistics] |
| Learner or analyst | [Your name] |
| Data set | Fictional: Brightwell Bakery queue waiting times (simulated), Lakemoor University student surveys |
| Software and versions | R 4.5.1 (base, stats); Python 3.14 with numpy 2.5.4 and scipy 1.18.1; seed 2026 |
| Date | YYYY-MM-DD |
| Version | [0.1] |

## The idea in one paragraph

<!-- Guidance: Say this paragraph aloud without reading it. If you can explain why the spread of sample means shrinks as n grows, you have the core idea. -->

You almost never see a whole population; you see one sample and compute a **statistic** from it, such as the
sample mean $\bar{x}$, to estimate a **parameter**, such as the population mean $\mu$. If you drew a different
sample you would get a different $\bar{x}$. The **sampling distribution** is the distribution of the statistic
over all possible samples of the same size from the same population. Its centre tells you whether the statistic
is aimed at the right target (for the mean, it is: the average of all sample means equals $\mu$). Its spread,
called the **standard error SE**, tells you how far a typical sample's statistic lands from the target; for a
mean it equals $\sigma / \sqrt{n}$, so quadrupling the sample size halves the error. The **Central Limit Theorem
(CLT)** adds that, for a large enough sample size n, the sampling distribution of the mean is approximately
normal even when the data themselves are not. Confidence intervals and hypothesis tests are nothing more than
statements about where your one statistic sits within this distribution.

## Intuition

<!-- Guidance: This section is the picture. Describe the chart in your own words: what is the shape for n = 5, what is the shape for n = 30, and where is the centre of each? Then read the analogy. -->

**Analogy.** Imagine a darts player throwing at a board. Each throw is one sample statistic, and the bullseye is
the parameter. You see only one dart, but you know the player's style: where the darts land on average (bias)
and how widely they scatter (standard error). A good estimator is a player whose darts centre on the bullseye; a
bigger sample is a steadier hand, so the darts cluster more tightly. The CLT says that, with enough throws
averaged together, the scatter pattern takes the same bell shape, whatever the player's quirks (as long as
the population has a finite variance).

**Three levels to keep apart.**

```mermaid
flowchart TD
  P["Population: all waiting times, mean mu = 4, SD sigma = 4, right-skewed"] --> S1["Sample 1 (n = 30): x-bar = 3.7"]
  P --> S2["Sample 2 (n = 30): x-bar = 4.4"]
  P --> S3["Sample 3 (n = 30): x-bar = 3.9"]
  P --> SK["... 10,000 samples"]
  S1 --> D["Sampling distribution of x-bar: centre 4, SE = 4 / root 30 = 0.73, nearly normal"]
  S2 --> D
  S3 --> D
  SK --> D
  D --> I["Inference: where does MY one x-bar sit? (CIs and tests)"]
```

The three sample means in the diagram are illustrative. The real simulation below draws 10,000 samples.

**The simulated picture.** Brightwell Bakery (fictional) models queue waiting times as exponential with a mean of
4 minutes, a strongly right-skewed population (SD also 4). We drew 10,000 samples of size n = 5 and 10,000 of
size n = 30, computed each sample's mean, and counted the means in half-minute bins. The bin counts below are the
real counts from the seeded Python simulation (seed 2026); 8 of the 10,000 means for n = 5 were above 12 minutes
and are not shown.

```vega-lite
{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "description": "Simulated sampling distributions of the mean waiting time for n = 5 and n = 30 (10,000 samples each, exponential population with mean 4)",
  "width": 400,
  "height": 240,
  "data": {"values": [
    {"n": "n = 5", "bin_start": 0.0, "count": 7}, {"n": "n = 5", "bin_start": 0.5, "count": 88},
    {"n": "n = 5", "bin_start": 1.0, "count": 323}, {"n": "n = 5", "bin_start": 1.5, "count": 692},
    {"n": "n = 5", "bin_start": 2.0, "count": 1002}, {"n": "n = 5", "bin_start": 2.5, "count": 1125},
    {"n": "n = 5", "bin_start": 3.0, "count": 1194}, {"n": "n = 5", "bin_start": 3.5, "count": 1161},
    {"n": "n = 5", "bin_start": 4.0, "count": 1055}, {"n": "n = 5", "bin_start": 4.5, "count": 818},
    {"n": "n = 5", "bin_start": 5.0, "count": 709}, {"n": "n = 5", "bin_start": 5.5, "count": 524},
    {"n": "n = 5", "bin_start": 6.0, "count": 395}, {"n": "n = 5", "bin_start": 6.5, "count": 301},
    {"n": "n = 5", "bin_start": 7.0, "count": 200}, {"n": "n = 5", "bin_start": 7.5, "count": 125},
    {"n": "n = 5", "bin_start": 8.0, "count": 75}, {"n": "n = 5", "bin_start": 8.5, "count": 59},
    {"n": "n = 5", "bin_start": 9.0, "count": 51}, {"n": "n = 5", "bin_start": 9.5, "count": 36},
    {"n": "n = 5", "bin_start": 10.0, "count": 27}, {"n": "n = 5", "bin_start": 10.5, "count": 11},
    {"n": "n = 5", "bin_start": 11.0, "count": 12}, {"n": "n = 5", "bin_start": 11.5, "count": 2},
    {"n": "n = 30", "bin_start": 1.5, "count": 2}, {"n": "n = 30", "bin_start": 2.0, "count": 86},
    {"n": "n = 30", "bin_start": 2.5, "count": 696}, {"n": "n = 30", "bin_start": 3.0, "count": 1833},
    {"n": "n = 30", "bin_start": 3.5, "count": 2677}, {"n": "n = 30", "bin_start": 4.0, "count": 2379},
    {"n": "n = 30", "bin_start": 4.5, "count": 1465}, {"n": "n = 30", "bin_start": 5.0, "count": 599},
    {"n": "n = 30", "bin_start": 5.5, "count": 198}, {"n": "n = 30", "bin_start": 6.0, "count": 48},
    {"n": "n = 30", "bin_start": 6.5, "count": 11}, {"n": "n = 30", "bin_start": 7.0, "count": 5},
    {"n": "n = 30", "bin_start": 7.5, "count": 1}
  ]},
  "transform": [{"calculate": "datum.bin_start + 0.5", "as": "bin_end"}],
  "mark": {"type": "bar", "opacity": 0.6},
  "encoding": {
    "x": {"field": "bin_start", "type": "quantitative", "title": "Sample mean waiting time (minutes)", "scale": {"domain": [0, 12]}},
    "x2": {"field": "bin_end"},
    "y": {"field": "count", "type": "quantitative", "title": "Number of samples (of 10,000)", "stack": null},
    "color": {"field": "n", "type": "nominal", "title": "Sample size"},
    "tooltip": [{"field": "n"}, {"field": "bin_start", "title": "Bin from"}, {"field": "count"}]
  }
}
```

What the chart shows:

- **Both histograms centre near 4**, the population mean. The sample mean is unbiased whatever the sample size.
- **The n = 30 histogram is much narrower.** Its SD is about 0.72 minutes against about 1.79 for n = 5: a
  factor close to $\sqrt{30/5} = \sqrt{6} \approx 2.45$, as $\sigma/\sqrt{n}$ predicts.
- **The n = 5 histogram is still skewed to the right** (skewness about 0.9), echoing the skewed population. The
  n = 30 histogram is close to symmetric (skewness about 0.37). This is the CLT at work, and also a warning: for
  strongly skewed data, n = 5 is not "large enough".

## Formal definitions

<!-- Guidance: For each formula, first read the plain-language sentence, then cover the formula and try to write it. The notation table at the end is your checklist of symbols. -->

Structure aligned with standard sampling theory as presented in the NIST/SEMATECH e-Handbook and the GAISE
College Report recommendation to use simulation to illustrate abstract ideas such as sampling variability; wording and examples are
original.

### Population, sample, parameter, statistic

A **population** is the whole set of units you want to describe (all customers' waiting times at the bakery this
year). A **sample** is the subset you actually observe. A **parameter** is a fixed number describing the
population, usually unknown ($\mu$, $\sigma$, $p$). A **statistic** is a number computed from the sample
($\bar{x}$, $s$, $\hat{p}$), and it varies from sample to sample. Greek letters for parameters, Latin letters or
hats for statistics is the usual convention.

### Sampling distribution of the mean

For a simple random sample of size n from a population with mean $\mu$ and SD $\sigma$:

$$
E(\bar{X}) = \mu, \qquad \operatorname{SD}(\bar{X}) = \frac{\sigma}{\sqrt{n}}
$$

This follows from the variance rules in academic/stats-probability-basics: $\bar{X}$ is the sum of n independent
values divided by n, so its variance is $n\sigma^2 / n^2 = \sigma^2/n$. The SD of a sampling distribution is
called the **standard error**. Because $\sigma$ is usually unknown, we estimate it with the sample SD s:

$$
\widehat{SE}(\bar{x}) = \frac{s}{\sqrt{n}}
$$

If the sample is drawn without replacement from a small population of size N, multiply by the finite population
correction $\sqrt{(N - n)/(N - 1)}$; it matters only when the sample is more than about 5% to 10% of the
population.

### The Central Limit Theorem

In words: when you average many independent values from almost any population with a finite variance, the
average is approximately normally distributed, and the approximation improves as n grows.

$$
\frac{\bar{X} - \mu}{\sigma / \sqrt{n}} \;\xrightarrow{\;d\;}\; N(0, 1) \quad \text{as } n \to \infty
$$

**When is n "large enough"?** There is no universal number. The common rule "n of 30 or more" is a rough guide
for moderately skewed data, not a law.

| Population shape | Sample size n where the normal approximation for $\bar{x}$ is usually adequate |
|---|---|
| Normal | Any n (the sampling distribution is exactly normal) |
| Roughly symmetric, no outliers | About 10 to 15 |
| Moderately skewed | About 30 |
| Strongly skewed (exponential, incomes) | 30 to 50 or more; check by simulation (the simulation here still shows skewness 0.37 at n = 30) |
| Heavy tails or extreme outliers | May need hundreds, or use a robust or resampling method (academic/stats-resampling-methods) |
| Infinite variance (for example Cauchy) | Never: the CLT does not apply |

### Sampling distribution of a proportion

A proportion is a mean of 0/1 values, so the same logic applies. If each unit is a "yes" with probability p:

$$
E(\hat{p}) = p, \qquad SE(\hat{p}) = \sqrt{\frac{p(1-p)}{n}}
$$

The normal approximation is reasonable when the expected numbers of successes and failures are both at least 10:
$np \ge 10$ and $n(1-p) \ge 10$. For $p = 0.30$ and $n = 50$, $SE = \sqrt{0.3 \times 0.7 / 50} \approx 0.0648$;
the simulation below gives 0.0650 (R) and 0.0640 (Python).

### Sampling distribution of the difference in means

For two independent samples, the variances add (never subtract):

$$
E(\bar{X}_1 - \bar{X}_2) = \mu_1 - \mu_2, \qquad SE(\bar{X}_1 - \bar{X}_2) = \sqrt{\frac{\sigma_1^2}{n_1} + \frac{\sigma_2^2}{n_2}}
$$

With sample SDs in place of the $\sigma$s, this is the standard error used in the Welch t-test (see
academic/stats-t-tests).

### Where the t distribution comes from

If the data are normal and you standardise with the true $\sigma$, the result is exactly standard normal. But in
practice you use s, which is itself random: in small samples it is often too small, which makes the standardised
value too large. William Gosset, writing as "Student" (1908), worked out the exact distribution of

$$
T = \frac{\bar{X} - \mu}{S / \sqrt{n}} \sim t_{n-1}
$$

for normal data. The t distribution has heavier tails than the normal, to account for the extra uncertainty in s,
and it approaches the normal as the degrees of freedom df $= n - 1$ grow. The simulation shows the practical
consequence: with n = 5 from a normal population, intervals built as $\bar{x} \pm 1.96\, s/\sqrt{n}$ captured the
true mean only 88.0% (R) and 88.4% (Python) of the time, while intervals using the t critical value 2.776 (df = 4)
captured it 95.0% and 95.3% of the time, matching the promised 95%.

### Notation table

| Symbol | Meaning | Level |
|---|---|---|
| $\mu$, $\sigma$ | Population mean and SD | Parameter (fixed, usually unknown) |
| $p$ | Population proportion | Parameter |
| $\bar{x}$, $s$, $\hat{p}$ | Sample mean, sample SD, sample proportion | Statistic (varies between samples) |
| $\bar{X}$ | The sample mean viewed as a random variable, before the sample is drawn | Random variable |
| n | Sample size | Design |
| $SE = \sigma/\sqrt{n}$ | Standard error: SD of the sampling distribution | Sampling distribution |
| $s/\sqrt{n}$ | Estimated standard error | Statistic |
| df | Degrees of freedom, here $n - 1$ | t distribution |

## Worked example A (fully solved): sleep hours at Lakemoor University

<!-- Guidance: Follow each step, then cover the solution and redo it. Notice that the question is about a sample mean, so the spread to use is the SE, not the SD of individual students. -->

**Question.** Lakemoor University (fictional) students sleep on average $\mu = 7.0$ hours a night with SD
$\sigma = 1.2$ hours. A survey samples 36 students at random. What is the probability that the sample mean is
below 6.7 hours?

**Step 1: identify the statistic.** The question is about $\bar{x}$, the mean of 36 students, not one student.

**Step 2: describe its sampling distribution.** Centre $\mu = 7.0$. Standard error
$SE = 1.2 / \sqrt{36} = 1.2 / 6 = 0.2$ hours. Shape: sleep hours are roughly symmetric and n = 36, so the CLT
makes $\bar{x}$ approximately normal.

**Step 3: standardise.**

$$
z = \frac{6.7 - 7.0}{0.2} = -1.5
$$

**Step 4: look up the probability.** $P(Z < -1.5) = 0.0668$ (R `pnorm(-1.5)`, Python `norm.cdf(-1.5)`).

**Step 5: interpret.** Only about 7% of random samples of 36 students would have a mean below 6.7 hours. Compare
this with one student: $P(X < 6.7) = P(Z < -0.25) \approx 0.40$. A single student sleeping less than 6.7 hours is
common; a whole sample averaging that little is unusual. Averages vary less than individuals.

## Worked example B (half solved): weekly library users

<!-- Guidance: Fill each [ ] before checking the Answer key. The structure is the same as Example A, with the SE formula for a proportion. -->

**Question.** Forty percent of Lakemoor University students use the library at least weekly ($p = 0.40$). A
random sample of 100 students is surveyed. What is the probability that the sample proportion $\hat{p}$ exceeds
0.48?

**Step 1: identify the statistic.** [ ]

**Step 2: check the conditions.** $np = [\ ]$ and $n(1-p) = [\ ]$, both at least 10, so the normal approximation
is reasonable.

**Step 3: standard error.**

$$
SE(\hat{p}) = \sqrt{\frac{0.40 \times 0.60}{100}} = [\ \ ]
$$

**Step 4: standardise and look up.** $z = (0.48 - 0.40) / [\ \ ] \approx 1.633$, and
$P(Z > 1.633) = [\ \ ]$.

**Step 5: interpret.** About [ ] of samples of 100 would show more than 48% weekly users, so a survey result of
49% would be [ ].

## Exercise C (unsolved): two campuses

<!-- Guidance: Solve this one alone. Write the sampling distribution (centre, SE, shape) before calculating anything. -->

Lakemoor University (fictional) has two campuses. On the North campus, scores on a common statistics exam have
mean 70 and SD 10; on the South campus, mean 66 and SD 8. A random sample of 25 North students and an
independent random sample of 16 South students are taken.

1. What are the centre and the standard error of the sampling distribution of $\bar{x}_N - \bar{x}_S$?
2. What is the probability that the South sample mean is higher than the North sample mean? Use the normal
   approximation.
3. Why do the two variances add, even though we are subtracting the means?

## Simulation you can run

<!-- Guidance: Run at least one of the two scripts. Then change n from 30 to 100 and predict the new SD of the means before running. R and Python use different random number generators, so with the same seed the simulated numbers differ slightly between languages; each is reproducible on its own. -->

The scripts draw 10,000 samples from the skewed waiting-time population for n = 5 and n = 30, compare the SD of
the simulated means with $\sigma/\sqrt{n}$, measure the remaining skewness, check the SE of a proportion, and
compare the coverage of z-based and t-based intervals when $\sigma$ is estimated. The Python script also prints
the bin counts used for the chart above.

**R (base R only)**

```r
# Brightwell Bakery (fictional): queue waiting times, exponential with mean 4 minutes (SD 4)
set.seed(2026)
reps <- 10000
for (n in c(5, 30)) {
  means <- replicate(reps, mean(rexp(n, rate = 1 / 4)))
  skew <- mean((means - mean(means))^3) / sd(means)^3
  cat(sprintf("n = %2d: mean of means = %.3f, SD of means = %.3f, theory SE = %.3f, skewness = %.2f\n",
              n, mean(means), sd(means), 4 / sqrt(n), skew))
}
# Sampling distribution of a proportion: p = 0.30, n = 50
phat <- rbinom(reps, 50, 0.30) / 50
cat(sprintf("p-hat: mean = %.3f, SD = %.4f, theory SE = %.4f\n", mean(phat), sd(phat), sqrt(0.3 * 0.7 / 50)))
# Why t: coverage of mean +/- 1.96 * s / sqrt(n) vs t interval, normal population, n = 5
cover_z <- cover_t <- logical(reps)
for (i in 1:reps) {
  x <- rnorm(5, 50, 10); se <- sd(x) / sqrt(5)
  cover_z[i] <- abs(mean(x) - 50) <= qnorm(0.975) * se
  cover_t[i] <- abs(mean(x) - 50) <= qt(0.975, 4) * se
}
cat(sprintf("n = 5 coverage: z with s = %.3f, t(4) = %.3f\n", mean(cover_z), mean(cover_t)))
# Worked examples
cat(sprintf("A: pnorm(-1.5) = %.4f\n", pnorm(-1.5)))
cat(sprintf("B: z = %.3f, P = %.4f\n", (0.48 - 0.40) / sqrt(0.4 * 0.6 / 100), pnorm((0.48 - 0.40) / sqrt(0.4 * 0.6 / 100), lower.tail = FALSE)))
se_c <- sqrt(10^2 / 25 + 8^2 / 16)
cat(sprintf("C: SE = %.3f, z = %.3f, P = %.4f\n", se_c, -4 / se_c, pnorm(-4 / se_c)))
```

```text
n =  5: mean of means = 4.004, SD of means = 1.800, theory SE = 1.789, skewness = 0.84
n = 30: mean of means = 3.986, SD of means = 0.730, theory SE = 0.730, skewness = 0.36
p-hat: mean = 0.299, SD = 0.0650, theory SE = 0.0648
n = 5 coverage: z with s = 0.880, t(4) = 0.950
A: pnorm(-1.5) = 0.0668
B: z = 1.633, P = 0.0512
C: SE = 2.828, z = -1.414, P = 0.0786
```

**Python (numpy, scipy)**

```python
import json
import numpy as np
from scipy import stats

rng = np.random.default_rng(2026)
reps = 10_000
bins = np.arange(0, 12.5, 0.5)
rows = []
for n in (5, 30):
    means = rng.exponential(scale=4, size=(reps, n)).mean(axis=1)
    print(f"n = {n:2d}: mean of means = {means.mean():.3f}, SD of means = {means.std(ddof=1):.3f}, "
          f"theory SE = {4/np.sqrt(n):.3f}, skewness = {stats.skew(means):.2f}")
    counts, _ = np.histogram(means, bins=bins)
    rows += [{"n": f"n = {n}", "bin_start": float(b), "count": int(c)}
             for b, c in zip(bins[:-1], counts) if c > 0]
phat = rng.binomial(50, 0.30, reps) / 50
print(f"p-hat: mean = {phat.mean():.3f}, SD = {phat.std(ddof=1):.4f}, theory SE = {np.sqrt(0.3*0.7/50):.4f}")
x = rng.normal(50, 10, size=(reps, 5))
se = x.std(axis=1, ddof=1) / np.sqrt(5)
err = np.abs(x.mean(axis=1) - 50)
print(f"n = 5 coverage: z with s = {(err <= 1.96*se).mean():.3f}, t(4) = {(err <= stats.t.ppf(0.975, 4)*se).mean():.3f}")
print(json.dumps(rows))  # bin counts for the Vega-Lite chart
```

```text
n =  5: mean of means = 3.992, SD of means = 1.790, theory SE = 1.789, skewness = 0.90
n = 30: mean of means = 3.987, SD of means = 0.722, theory SE = 0.730, skewness = 0.37
p-hat: mean = 0.300, SD = 0.0640, theory SE = 0.0648
n = 5 coverage: z with s = 0.884, t(4) = 0.953
[{"n": "n = 5", "bin_start": 0.0, "count": 7}, {"n": "n = 5", "bin_start": 0.5, "count": 88}, ... (trimmed; full list in the chart)]
```

**What the output teaches.**

- The mean of the simulated means is within 0.02 of the population mean of 4 in every run: the sample mean is
  unbiased.
- The SD of the simulated means matches $\sigma/\sqrt{n}$ (1.789 for n = 5, 0.730 for n = 30) to within simulation
  noise. That SD **is** the standard error.
- Skewness falls from about 0.84 to 0.90 at n = 5 to about 0.36 to 0.37 at n = 30. The CLT is working, but the
  sampling distribution is not yet perfectly normal for this strongly skewed population. For an exponential
  population the exact skewness of the mean is $2/\sqrt{n}$: 0.89 for n = 5 and 0.37 for n = 30, matching the
  simulation.
- With n = 5, using 1.96 with an estimated SD gives about 88% coverage instead of 95%. Using the t critical value
  restores 95%. This is the practical reason the t distribution exists.
- The R script computes skewness with a simple moment formula (third central moment divided by the cube of
  `sd()`), while scipy's `stats.skew` uses the biased moment estimator throughout. With 10,000 simulated means the
  two formulas differ negligibly; the differences between the languages come mainly from different random draws.

## Misconceptions

<!-- Guidance: Cover the right column, explain why each statement on the left is wrong, then check. Copy any you believed into academic/stats-error-log. -->

| Wrong statement | Correct statement |
|---|---|
| "The CLT says that with a large sample the data become normal." | The CLT is about the sampling distribution of the **mean** (or sum). A large sample of skewed waiting times is still skewed; a histogram of the data just shows the skew more clearly. |
| "SE and SD are the same thing." | The SD describes how individual values vary (about 4 minutes here). The SE describes how sample means vary (0.73 minutes for n = 30). SE = SD / $\sqrt{n}$. |
| "A larger sample has a smaller SD." | The sample SD estimates $\sigma$, which does not shrink with n. The SE shrinks with n. |
| "n of 30 or more is always large enough." | It depends on the population's skew and tails. The simulation still shows visible skew at n = 30 for an exponential population. |
| "Doubling the sample size halves the SE." | The SE falls with $\sqrt{n}$: halving it needs four times the sample size. |
| "The sampling distribution is something I observe." | You observe one sample. The sampling distribution is a theoretical (or simulated) distribution over all possible samples. |
| "Var of a difference = difference of variances." | For independent samples, $SE(\bar{x}_1 - \bar{x}_2)^2 = \sigma_1^2/n_1 + \sigma_2^2/n_2$: the variances add. |
| "The t distribution is only needed because the data are not normal." | The t is needed because $\sigma$ is estimated by s, even when the data are exactly normal. |

## Connections to other concepts

<!-- Guidance: For each row, write one sentence in "My link" that explains the connection in your own words. That sentence is elaboration, and it is what makes the idea stick. -->

| This card | Leads to | Why it matters | My link |
|---|---|---|---|
| Standard error | academic/stats-confidence-intervals | A 95% CI is estimate ± critical value × SE. | [ ] |
| Sampling distribution under H0 | academic/stats-hypothesis-testing | A p-value is the tail area of the sampling distribution assuming H0 is true. | [ ] |
| t distribution origin | academic/stats-t-tests | Every t-test divides an estimate by its estimated SE and compares with $t_{df}$. | [ ] |
| SE falls with $\sqrt{n}$ | academic/stats-power-sample-size | Sample size planning is choosing n to make the SE small enough. | [ ] |
| Simulated sampling distributions | academic/stats-resampling-methods | The bootstrap simulates a sampling distribution by resampling your own data. | [ ] |
| Random sampling assumption | academic/stats-sampling-plan | The formulas assume random sampling; biased sampling breaks them, whatever n is. | [ ] |
| Variance rules | academic/stats-probability-basics | $\operatorname{Var}(\bar{X}) = \sigma^2/n$ follows from adding independent variances. | [ ] |

## Self-test questions

<!-- Guidance: Answer on paper with no notes, then mark with the Answer key. Reschedule wrong answers for 2 days later (academic/stats-flashcards-spaced-review). -->

1. In one sentence each, distinguish a parameter from a statistic, and the SD from the SE.
2. A population has SD 12. What is the SE of the mean for n = 16, n = 64 and n = 144? What pattern do you see?
3. A student says: "My sample of 200 incomes is right-skewed, so the CLT failed." What is wrong with this
   reasoning?
4. For a population proportion p = 0.05, is a sample of n = 100 large enough to use the normal approximation for
   $\hat{p}$? Show the check.
5. Why does a 95% interval built with 1.96 and the sample SD capture the true mean less than 95% of the time when
   n = 5? Quote the simulation result.
6. Using only mental arithmetic, rank these from smallest to largest SE: (a) mean of n = 25 from a population with SD 10;
   (b) mean of n = 100 from a population with SD 30; (c) mean of n = 400 from a population with SD 40.

## My notes and next steps

<!-- Guidance: Rate each idea honestly. A low rating on "SE vs SD" is a priority: every later topic depends on it. -->

| Topic | Confidence 1-5 | What still confuses me | Next action and date |
|---|---|---|---|
| *Example:* SE vs SD | 3 | Which one goes in the z formula | Redo Example A and explain it to a friend, YYYY-MM-DD |
| Parameter vs statistic | [ ] | [ ] | [ ] |
| CLT and "large enough" | [ ] | [ ] | [ ] |
| SE of a proportion and a difference | [ ] | [ ] | [ ] |
| Why the t distribution | [ ] | [ ] | [ ] |

Simulation experiments I ran and what I learned: [n = 100 gave SD of means ..., which matches ...].

Mistakes to copy into my error log (academic/stats-error-log): [Mistake, why it happened, the fix].

## Sources and further reading

<!-- Guidance: These sources support the card. Textbooks listed as further reading are named only; nothing here is copied or adapted from them. -->

Based on standard sampling theory written in original wording, with the GAISE College Report's emphasis on
simulation and conceptual understanding and the learning design from Dunlosky et al. (2013).

- Student (1908). The probable error of a mean. *Biometrika*, 6(1), 1–25.
- Laplace, P.-S. (1812). *Théorie analytique des probabilités*. (Early form of the Central Limit Theorem.)
- NIST/SEMATECH e-Handbook of Statistical Methods, chapter 1 Exploratory Data Analysis and chapter 7 Product and Process Comparisons, https://www.itl.nist.gov/div898/handbook/ (accessed 2026-10-25). Public domain.
- GAISE College Report ASA Revision Committee (2016). *Guidelines for Assessment and Instruction in Statistics Education College Report 2016*. American Statistical Association.
- Dunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., and Willingham, D. T. (2013). Improving students' learning with effective learning techniques. *Psychological Science in the Public Interest*, 14(1), 4–58.
- Weinstein, Y., and Sumeracki, M. (2018). *Understanding How We Learn: A Visual Guide* (illustrated by O. Caviglioli). Routledge.
- Further reading (named only): Diez, Çetinkaya-Rundel and Barr, *OpenIntro Statistics* (CC BY-SA), chapters on
  foundations for inference; de Smith, M. J., *Statistical Analysis Handbook* (2024 edition, statsref.com).

## Answer key

<!-- Guidance: Check only after a full attempt. For each error, write down whether you used the wrong spread (SD vs SE), the wrong formula, or the wrong tail. -->

**Example B (gaps).** Step 1: the sample proportion $\hat{p}$ of weekly users among 100 students. Step 2:
$np = 40$ and $n(1-p) = 60$. Step 3: $SE = \sqrt{0.24/100} \approx 0.049$. Step 4: $z = 0.08/0.049 \approx 1.633$
and $P(Z > 1.633) = 0.0512$. Step 5: about 5% of samples would exceed 48%, so a result of 49% would be unusual
if p really were 0.40, and worth a second look (it is the kind of result a hypothesis test would flag).

**Exercise C.**

1. Centre $70 - 66 = 4$. $SE = \sqrt{10^2/25 + 8^2/16} = \sqrt{4 + 4} = \sqrt{8} \approx 2.828$.
2. South higher means $\bar{x}_N - \bar{x}_S < 0$. $z = (0 - 4)/2.828 \approx -1.414$, so
   $P \approx 0.0786$ (R `pnorm(-4 / sqrt(8))`). About 8% of pairs of samples would show the South campus ahead
   even though its population mean is 4 points lower.
3. Each sample mean has its own random error, and errors from independent samples do not cancel on average:
   $\operatorname{Var}(A - B) = \operatorname{Var}(A) + \operatorname{Var}(B)$ for independent A and B.

**Self-test.**

1. A parameter is a fixed population number (usually unknown); a statistic is computed from a sample and varies.
   The SD measures the spread of individual values; the SE measures the spread of a statistic across samples.
2. $12/4 = 3$, $12/8 = 1.5$, $12/12 = 1$. The SE is proportional to $1/\sqrt{n}$: four times the sample size
   halves it (16 to 64), and nine times the sample size cuts it to a third (16 to 144).
3. The CLT is about the distribution of the sample mean, not of the data. Skewed data stay skewed; with n = 200
   the sampling distribution of the mean income may well be close to normal.
4. $np = 100 \times 0.05 = 5$, which is below 10, so the normal approximation is poor. Use an exact binomial
   method or a Wilson interval (academic/stats-proportion-tests).
5. Because s is itself random and often underestimates $\sigma$ in small samples, so $\pm 1.96\,s/\sqrt{n}$ is too
   narrow. Simulation: 88.0% (R) and 88.4% (Python) coverage, versus 95.0% and 95.3% with the t critical value
   for df = 4.
6. SEs: (a) $10/5 = 2$; (b) $30/10 = 3$; (c) $40/20 = 2$. So (a) and (c) tie at 2, and (b) is largest at 3.

## Revision history

<!-- Guidance: Add a row when you revise the card, rerun the simulation with new settings, or add your own example. -->

| Version | Date | Author | Change |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [Your name] | First version from template |
| [0.2] | YYYY-MM-DD | [Your name] | [Added my n = 100 simulation results] |
