Three Times I Measured Nothing

2026年8月6日7 次浏览来源:Dev.to阅读原文

Builder Journal · Mars Environmental Dynamics Analyzer (MEDA) Virtual Sensor Recovery Ten times in a row I predicted what my next submission would score before I uploaded it.

The worst miss was 0.0025 on a number around nineteen.

I took that as confirmation that the physics underneath was correct.

It was confirmation that I can do arithmetic.

Two days before this competition closed I pointed a review at my own endgame, expecting notes about the code.

It came back with three errors and none of them were in the code.

All three were in my reasoning, and all three had the same shape: I had run something that felt like a measurement and was not one.

This is the fourth entry in this series and the one I would keep if I had to burn the other three.

The models are competition-specific.

This part is not.

The competition in one breath Perseverance carries an environmental station called MEDA.

Some of its surface pressure readings are missing, and the competition is to reconstruct them.

Scored on mean squared error.

The wrinkle is the split.

Training covers sols 1 through 100, when pressure is climbing toward its seasonal peak.

Test covers sols 201 through 300, when it is falling hard toward the aphelion minimum.

Sols 101 through 200 do not exist in either file.

Every prediction is outside the range the model was fit on.

The first entry covers the first submission, which contained no machine learning at all and took the top of the board at 61.04.

Six weeks and seven versions later the public score was 18.99.

Almost everything in between was selected by one signal.

Not cross-validation.

Cross-validation here can only hold out sols from the rising limb, so it is structurally blind to the regime I am scored on.

The leaderboard was the only thing that could see the falling limb, so the leaderboard picked every scalar that mattered: the residual shrink, the blend weight, a constant seasonal offset, a diurnal scaling.

Hold onto that.

It becomes the joke about four hundred words from now.

The review that was supposed to be about code I ran twenty-two agents over the whole endgame in parallel.

Fresh context each, no memory of how any of it had been argued for, pointed at the scripts and the notes and told to attack.

Why that works is not mysterious and has nothing to do with the agents being clever.

Self-review fails on the class of error that sits upstream of the code.

You cannot re-read your way out of a wrong premise, because the premise is what you are reading with.

A reviewer arriving cold has no such loyalty.

They see a claim and a piece of evidence and they check whether one supports the other, which is exactly the check I had stopped performing.

It found three real errors in my reasoning.

Here they are in the order they hurt.

One: the experiment that could not have failed I had started to suspect the public leaderboard was not scoring the whole test set.

So I designed a diagnostic.

Add plus two pascals to every row with sol greater than or equal to 255, resubmit, and watch.

If the public half contains those sols, the score has to move.

It is a clean idea.

The score came back bit-identical.

I wrote down the conclusion: the public leaderboard is sols 201 through

254.

The real cut is at row 1,974,995 in spacecraft-clock order, exactly fifty percent of the file, and it lands inside sol

253.

The lowest row I perturbed sat at index 1,986,773.

Every row I perturbed was already private.

Under my hypothesis and under its negation, both.

The null result was guaranteed by construction before I spent a submission slot on it.

It was consistent with my conclusion and equally consistent with the opposite of my conclusion, which is a long way of saying it carried zero information.

The note I wrote that night is the shortest thing in six weeks of notes.

A test that cannot come out the other way is not a test.

What the diagnostic actually established was narrower than what I recorded.

It proved the public half contains no sol at or past

255.

It never addr

分享