Week 2 Lab: Fitting a wear curve
The first lab — select the clean laps from a supplied stint, correct for fuel, and report a tyre wear coefficient with an interval
1 March 2027
Two hours, and you submit inside the session. This is the first of the eleven assessed labs and it carries 2% of the course. You prepare beforehand; the fit itself happens here, in the room, with someone to ask.
What leaves the session is a wear coefficient for one compound — one of the tyre specifications a car is allowed to run — with an interval around it, and the record of every decision that produced it.
Before the session#
Install the supplied codebase and run its test suite until it passes. Read the data dictionary and make sure you can say what each column holds and in what units; lap times in this archive are seconds to three decimal places, and tyre age is counted in laps since the set was fitted, not in laps completed. Then run the loader on the example stint — one run of laps on one set of tyres — and look at the numbers.
While you are looking at them, decide which laps you would throw out. You will be asked for that list in the first twenty minutes, and arriving with a guess you can defend is faster than arriving with nothing.
What is supplied#
The set holds more than this week needs. The other stints and compounds are there so you can see a start lap move independently of a tyre age — which is how the problem gets broken when nobody hands you the fuel coefficient, though only if you are willing to assume the fuel term is the same in every stint and the stints share a baseline. This week you are not fitting them. The scenario also holds track evolution fixed throughout, and the data dictionary says so — otherwise a third term would be riding on lap number and your coefficient would be carrying it.
The archive is generated rather than measured, which is how the course can tell you when you are wrong.
In the session#
- Select the clean laps (about 20 minutes). Work the stint the data dictionary names, on one compound. Drop the out-lap and the in-lap — the lap that starts in the pit lane and the lap that ends in it — and any lap where the driver was managing pace rather than pushing. Record each exclusion with its reason, one line each. An exclusion you cannot justify is a result you cannot defend.
- Correct for fuel (about 15 minutes). Use the supplied coefficient to express every surviving lap as if it were run at one reference fuel load. State which lap you chose as the reference; the coefficient you report should not depend on that choice, and checking that it does not is worth two minutes.
- Fit a wear model, and one named alternative (about 40 minutes). Fit degradation as linear in tyre age. Then fit the one alternative this lab allows: the same model with tyre age squared added, which lets the wear rate change as the tyre ages. Choose between them and say what decided it — the pattern of residuals against tyre age, and whether the added term’s own interval excludes zero. One alternative, not three; the cap is what keeps this inside two hours.
- Report the coefficient with an interval (about 25 minutes). A wear rate in seconds per lap, a 95% interval, and the degrees of freedom you had. Finish with one sentence on what this estimate cannot tell you.
The last twenty minutes are for submitting and for the questions that only turn up once the numbers are on screen.
What you hand over#
Four things, and a marker checks them in the room:
- the wear coefficient and its interval, in seconds per lap;
- the exclusion list, with a reason against each excluded lap;
- which of the two models you chose, and the evidence that chose it;
- one sentence naming something the estimate cannot see.
The estimate you produce here is blind to other cars, so “it ignores traffic” is a legitimate answer to the last one. It is also the answer we expect, which is why the sentence has to be yours rather than ours.
Assignment 1 asks for this again: an estimate, and how uncertain you said it was.
The spec
What you bring to the session. Written so a reader can tell whether it has been met without asking you.
- the supplied codebase installs and its own test suite passes on your machine
- you can name every column in the timing set's data dictionary and its units
- the loader runs on the example stint and prints its lap times
- you can say which laps of that example stint you would exclude, and why
Teaching team
- Tobias Wren — Tutor, leading this week
- Naila Sorge — Tutor
- Kwame Ferriter — Tutor