Week 10 — Data Lab · "The Averages Machine: Build a Sampling Distribution by Hand"
Course: Introduction to Statistics (18-week generic edition)
Objective: Objective 5 — sampling distributions, the standard error, and the Central Limit Theorem · SLO A (reason quantitatively from data)
Worth 50 points · Data labs group = 15% of the grade · Data Lab 10 · Due: end of Week 10
Format: a hands-on data lab — real research data, a spreadsheet, and a sampling distribution you build yourself, thirty samples deep; then you catch the AI's mistakes when it interprets your two very different SDs.
This is the course's signature weekly component — and this week is its signature build. Every statistician imagines taking sample after sample; today you actually do it. Real, free, linked public data — nothing to buy or sign up for — worked in your spreadsheet, finished with an AI-critique step. Plan on 60–90 minutes.
Part 1 — The Big Picture
This week's lecture made two big claims. First: a sample mean's typical wobble around the truth is σ/√n — the standard error — not σ. Second, the Central Limit Theorem: pile up sample means and they form a bell, even when the individuals don't. Claims that big shouldn't be taken on faith.
So today you put them on trial. Our penguins are back — and this time you know something crucial about them from Week 8's lab: the 342 measured body masses are not one bell (the histogram is right-skewed with a second bump, because three species are mixed together). You will draw 30 random samples of n = 10 penguins, compute each sample's mean body mass, and then look at your 30 means the way we've looked at every dataset since Week 2: center, spread, shape. If the lecture is right, your means will center near the full-data mean, spread about √10 ≈ 3.16 times less than the individuals, and mound up into a bell that the raw data never had. You are about to manufacture the Central Limit Theorem with your own hands.
Part 2 — The Task
The guiding question: When you take many random samples from the same skewed, lumpy population, how do the sample MEANS behave — in center, in spread, and in shape — compared to the individuals?
The dataset (both links are free, no login):
- About the data — palmerpenguins documentation
🔗 https://allisonhorst.github.io/palmerpenguins/
- The data itself (CSV file, opens as plain text)
🔗 https://raw.githubusercontent.com/allisonhorst/palmerpenguins/main/inst/extdata/penguins.csv
(Same 344 Antarctic penguins as Weeks 1, 2, 3, 4, and 8 — measured at Palmer Station, 2007–2009. Today they play the role of a complete population.)
Part 3 — Materials & Procedure
You need: a web browser and a spreadsheet — Google Sheets (free) or Excel. Nothing else.
Warm-up (5 min, no dataset needed). Two quick predictions on paper before any clicking:
- A population has σ = 800 g. For random samples of n = 16, compute the standard error σ/√n by hand. (Write it down — you'll check your machine skills against this recipe in a minute.)
- Today you'll draw samples of n = 10 penguins. Predict: will the SD of your 30 sample means be bigger or smaller than the SD of individual penguins — and by roughly what factor? (Hint: √10 ≈ 3.16.)
Now the real data:
- Import the dataset. Open the CSV link in your browser, select all (Ctrl/Cmd-A), copy, paste into cell A1 of a blank sheet, then Data ▸ Split text to columns if needed. (Excel: Data ▸ From Web, paste the CSV URL.) You should end with 8 columns plus a header row.
- Count your rows. In an empty cell,
=COUNTA(A2:A400)— record the number. It should be 344. If it isn't, re-import before continuing. - Measure "the population." Today we treat the measured penguins as our whole world. In two empty cells:
=AVERAGE(F2:F345)and=STDEV(F2:F345)(column F =body_mass_g; spreadsheets skip the blank/NA cells automatically — a couple of penguins have no recorded mass). Record both in Table 1: this is your population mean and your σ for today. - Build the machine. In cell H2 type
=RAND()and fill down to H345 — a random number beside every penguin. - Draw one sample. Select A1:H345 → Data ▸ Sort range ▸ Advanced sorting options → check "Data has header row" → sort by column H. The top 10 data rows (rows 2–11) are a genuine random sample of 10 penguins.
- Compute its mean. In cell J2:
=AVERAGE(F2:F11). If one of your top-10 mass cells is blank (it happens — two penguins were never weighed), re-sort and use the fresh top ten instead, so your sample has 10 real values. - Bank the value. Copy J2 → Edit ▸ Paste special ▸ Values only into cell K2. That frozen number is sample mean #1.
- Crank the machine. Re-sort (step 5 again — the
=RAND()column reshuffles itself automatically), and paste-value the new J2 into K3. Repeat until K2:K31 holds 30 sample means. Yes, thirty times — about 10–15 minutes of clicking, and the point of the lab: every re-sort is a fresh random sample, and you are the sampling distribution machine. (Log each value into Table 2 as you go.) - Study your 30 means. In empty cells:
=AVERAGE(K2:K31),=STDEV(K2:K31),=MIN(K2:K31),=MAX(K2:K31). Then select K2:K31 → Insert ▸ Chart ▸ Histogram. Record everything in Table 3, along with the predicted SE = (your Table 1 σ) ÷ √10.
Fallback (no import available): if you can't get the CSV into a spreadsheet, use the 30 pre-drawn sample means below (drawn by this same procedure from the same data, with full-data mean 4,201.8 g and SD 801.95 g), typed into a blank sheet — then do steps 9–10 and everything after. State in your submission that you used the fallback.
The table below lists 30 pre-drawn sample means (n = 10 each), reading across.
4387.5 4037.5 4372.5 3887.5 4032.5 4427.5 3860.0 4090.0 4212.5 4067.5 4020.0 3875.0 3950.0 4442.5 4237.5 4195.0 4155.0 4497.5 3940.0 4270.0 4600.0 4325.0 3972.5 4510.0 4415.0 4117.5 4185.0 3785.0 4280.0 4892.5
Part 4 — The Scaffold (complete all three tables)
Table 1 records today's "population" facts from the full body-mass column.
| Quantity | Value |
|---|---|
Rows of data (from =COUNTA) |
______ |
Full-data mean body mass, g (=AVERAGE) |
______ |
Full-data SD, g (=STDEV) — today's σ |
______ |
Table 2 logs your 30 banked sample means (n = 10 each), in the order you drew them.
| Samples | Your means |
|---|---|
| 1–6 | __ · _ · · · · ___ |
| 7–12 | __ · _ · · · · ___ |
| 13–18 | __ · _ · · · · ___ |
| 19–24 | __ · _ · · · · ___ |
| 25–30 | __ · _ · · · · ___ |
Table 3 compares your machine's output to the week's theory.
| Quantity | Value |
|---|---|
Mean of your 30 sample means (=AVERAGE(K2:K31)) |
______ |
SD of your 30 sample means (=STDEV(K2:K31)) |
______ |
| Predicted SE = σ ÷ √10 (use Table 1's σ; √10 ≈ 3.162) | ______ |
Smallest and largest sample mean (=MIN / =MAX) |
__ / ____ |
| Shape of the 30-means histogram (one phrase) | ______ |
Part 5 — Analysis Questions
Answer in 1–3 sentences each:
- Compare the mean of your 30 sample means (Table 3) to the full-data mean (Table 1). Close? Which property of x̄ from this week's lecture predicted that — and what does it not promise about any single sample mean?
- Compare the SD of your 30 means to (a) the full-data SD and (b) the predicted SE. In plain words, what did the ÷√10 do to the wobble — and what would you change to shrink it further?
- Week 8's lab showed the full body-mass histogram is not one bell (right-skewed, second bump). What shape did your 30 means make? Name the theorem that predicted this, and state precisely what it applies to — the individuals, or something else?
- Error sources. Your 30 means' SD almost certainly missed the predicted SE by a little. Give two honest reasons — one statistical (what are 30 samples, out of all possible samples?) and one mechanical slip this procedure invites (think: what could go wrong in the sort-and-paste loop, or with a blank mass cell in your top ten?).
- The bridge to next week. A classmate's single sample of n = 10 gave a mean of 4,450 g. Using the predicted SE ≈ 254 g: about how many SEs above the full-data mean (≈ 4,201.8 g) is that, and is it surprising? Next week we flip this question around — from one sample mean, how far away might the truth plausibly be?
Part 6 — AI-Critique Moment (required — the BYOAI step)
Now bring in your chatbot and be the analyst who checks its work.
- Paste your completed Table 1 and Table 3 into your chatbot and ask: "My full dataset has SD about 802 g, but my 30 sample means have SD of only [your value]. Is something wrong with my data? Also — my raw data's histogram is skewed, but my means' histogram looks mound-shaped. Did I make a mistake?"
- Check everything it says against this week's ideas:
- Does it recognize both patterns as exactly what should happen (SE = σ/√n; the CLT) — or does it call your smaller SD a data problem to "fix"?
- Does it keep n = 10 (the size of each sample) separate from 30 (the number of samples)? A classic failure: dividing 802 by √30 ≈ 146 instead of by √10 ≈ 254. Redo the division yourself and check which one it used.
- Does it claim your big dataset or your samples "became normal"? (The population never changes shape — only the pile of means goes bell.)
- Check any arithmetic it offers (its 802 ÷ 3.162, its comparison of your numbers) by redoing it in your sheet. - Write 2–3 sentences reporting what the AI got right and at least one thing you had to correct, question, or verify. If it happened to get everything right, say how you verified each claim — that's the skill.
The habit all term: the tool drafts, you judge. The SD-vs-SE confusion and the √30-vs-√10 slip are exactly the mistakes chatbots make confidently — catching them is the point.
Part 7 — What to Submit
One document or text entry containing: your two warm-up answers, your completed Table 1, Table 2, and Table 3, a screenshot or pasted image of your 30-means histogram (or a one-line description if you can't paste images), your Part 5 answers (1–5), and your Part 6 AI-critique paragraph. Due at the end of Week 10 · 50 points (rubric below the key).
Instructor answer key & model values — REMOVE BEFORE PUBLISHING TO STUDENTS
Students draw their own random samples, so their 30 means, summary statistics, and histograms are graded on method and interpretation, not on matching any printed value — grade the analysis, not a specific count. Every number asserted below is pre-computed from the linked CSV (verified in-session: header row, row count, first data row, NA rows, and end-of-file all checked against the live file) and re-verified by script (
tools/checks/w10_math.py).
Warm-up (fixed — every student should match): (1) 800 ⁄ √16 = 800 ⁄ 4 = 200 g exactly. (2) Smaller — by a factor of √10 ≈ 3.16 (about one-third the spread). ✓
Dataset facts (verified against the linked CSV): 8 columns with headers exactly species, island, bill_length_mm, bill_depth_mm, flipper_length_mm, body_mass_g, sex, year; 344 data rows; 342 numeric body masses (2 blank/NA — one Adélie/Torgersen row, one Gentoo/Biscoe row); first data row is an Adélie from Torgersen (mass 3750 g); all masses are multiples of 25 g, min 2,700, max 6,300.
Table 1 model values: COUNTA = 344 (fixed). Full-data mean = 4,201.75 g (students will see ≈ 4,201.8). Full-data =STDEV = 801.95 g. (For reference, =STDEVP gives 800.78 — either is acceptable as "today's σ"; the predicted SE barely moves: 253.6 vs. 253.2.)
Table 3 expectations (method-graded — state RANGES, not exact values):
- Predicted SE = 801.95 ⁄ √10 = 801.95 ⁄ 3.1623 ≈ 253.6 g (≈ 254; from =STDEVP, 253.2). This cell is fixed arithmetic — check it exactly against the student's own Table 1 σ.
- Mean of 30 means: typically lands within about ±95 g of 4,201.8 — expect roughly 4,110 to 4,295 (a 2-standard-error band for an average of 30 such means: 4,201.75 ± 2 × 253.6⁄√30). Values outside ~4,050–4,350 suggest a procedure slip (sorting only some columns, pasting formulas instead of values).
- SD of 30 means: expect roughly 170 to 340 (theory: 253.6, with the SD of a 30-draw SD ≈ 253.6⁄√58 ≈ 33; the stated band is ±2.5 of those). A value near 802 means they computed the SD of raw masses; a value near 146 (= 802/√30) means the √30-vs-√10 confusion — both are teachable moments, not just deductions.
- Min/Max: typically ~3,600–3,900 and ~4,500–4,900. Every banked mean should be a multiple of 2.5 (all masses are multiples of 25, and a sum of ten of them divided by 10 lands on 2.5-gram steps) — a mean that isn't is the fingerprint of a 9-value sample (blank cell included) or a formula-paste error. Quick authenticity check when a submission looks copy-pasted.
- Shape: mound-shaped / roughly symmetric single peak. Accept "roughly normal," "bell-ish," "one hump." Thirty draws is small, so lumpy bells are fine; what earns credit is the contrast with the skewed, two-bump raw histogram.
- Fallback numbers (if used): the 30 listed means have mean 4,201.33 g (sum 126,040), =STDEV 254.13 g, min 3,785, max 4,892.5 — landing almost exactly on theory (4,201.75 and 253.6); all 30 are multiples of 2.5. ✓
Part 5 expected answers:
1. The mean of the 30 means lands near 4,201.8 because x̄ is unbiased — the sampling distribution of x̄ is centered at μ. It does not promise any single sample mean equals μ; individual means still miss, by about one SE typically.
2. The 30-means SD sits near the predicted σ/√10 ≈ 254, far below the individuals' 802: averaging 10 penguins shrank the wobble by ≈ √10 ≈ 3.16×. To shrink further, increase n (the size of each sample) — e.g., n = 40 would halve 254; taking more samples sharpens the picture of the distribution but does not shrink the SE.
3. Mound-shaped/roughly symmetric — the Central Limit Theorem, which applies to the sampling distribution of the sample mean (the pile of x̄'s), never to the individuals. (The raw data stay skewed forever; full credit requires naming the CLT and its subject.)
4. Statistical: my 30 samples are themselves only a sample of all possible samples, so my summary of them wobbles too (the "wobble of the wobble"). Mechanical (any one): a blank mass cell making a 9-value "sample"; pasting formulas instead of values (later re-sorts silently rewrite banked means); sorting the mass column without its neighbors (Week 1's classic); mis-typing the K-range. Full credit needs one of each flavor.
5. z ≈ (4,450 − 4,201.8) ⁄ 253.6 ≈ 248 ⁄ 254 ≈ 0.98 — about 1 SE above. Not surprising: roughly 16% of all n = 10 sample means land that high or higher (z = 1 territory). The forward-looking sentence should anticipate Week 11's flip: from one x̄, the truth plausibly sits within a couple of SEs — the confidence-interval idea.
AI-critique full credit: names a specific claim checked or corrected — most commonly the chatbot treating the smaller SD as an error to fix, dividing by √30 instead of √10 (146 vs. 254 — the n-vs-number-of-samples confusion), claiming the data/population "became normal," or botching 802 ÷ 3.162 — OR documents concrete verification of each claim (redid the division, re-checked the two histograms). Zero credit for "the AI agreed with everything" with no evidence of checking.
Grading rubric — 50 points
The rubric below maps each part to its points; bands are full / partial / none.
| Criterion | Full | Partial | None |
|---|---|---|---|
| Warm-up + import + population row — 200 g exact; smaller-by-√10 prediction; 344 rows; full-data mean & SD recorded (6) | 6 | 3–4 | 0–2 |
The machine — 30 samples of n = 10 drawn by the =RAND()-sort method and banked as values; Table 2 complete and plausible (means on 2.5-g steps in a sane range) (12) |
12 | 6–9 | 0–5 |
| Summary + histogram — Table 3 computed from their own 30 means; predicted SE correctly derived from their σ; histogram made and shape described (10) | 10 | 5–8 | 0–4 |
| Analysis questions — Q1–Q5 hit the expected ideas: unbiasedness, ÷√n, the CLT and its subject, both error flavors, the ≈1-SE judgment (16) | 16 | 8–13 | 0–7 |
| AI-critique — specific catch or verification reported in 2–3 sentences (6) | 6 | 3–4 | 0–2 |
Quality gate (self-checked): warm-up arithmetic re-verified (800/4 = 200); dataset links live and free (documentation page + raw CSV both fetched and confirmed — headers, 344 rows, first row Adélie/Torgersen 3750 g, exactly 2 NA masses, final rows checked); full-data mean 4,201.75 and SD 801.95 recomputed in-session from the embedded verbatim column and matched to the dataset's published aggregates to 4 decimals; predicted SE 253.6 = 801.95/√10 script-verified; fallback table's 30 means drawn by the stated procedure from the real data, with mean 4,201.33, SD 254.13, min 3,785, max 4,892.5, all multiples of 2.5, script-verified; expected-range endpoints derived from stated formulas in the script; student-collected values graded on method, and no dataset-wide aggregate asserted that was not verified in-session; no graded-item leakage (no quiz/practice/assignment/chapter item uses the penguins data); rubric sums 6 + 12 + 10 + 16 + 6 = 50. ✓