← Return to the sensor experiments

Saved sensor racks: sampling and scores

This note describes the Step by step and saved-rack experiments. Their sensor-count paths add columns to one rack, retaining its calibration labels and earlier measurements. The Quick overview instead draws a new rack at each sensor count while retaining its labels across the sweep.

The physical model

Each calibration object has a standard Gaussian physical quantity y. Sensor readings follow X = y aᵀ + √v Z, with independent standard Gaussian noise Z, response vector a = (1, …, 1), and ‖a‖² = p. The target is the physical quantity itself. More sensors add measurements of the same reference objects.

For a span predictor w = Xᵀα, write G = XXᵀ, b = Xa, and q = yᵀy. Its scores are:

Population fresh error = (bᵀα − 1)² + v αᵀGα
Training error / predicting zero = ‖Gα − y‖² / q
Raw training mean squared error = ‖Gα − y‖² / n

The correlator uses α = y/(p q). Minimum-norm least squares uses the actual thin SVD when p ≤ n, and the equivalent dual calculation for wider racks. The oracle knows the sensor responses and uses w = a/(p + v); its weights need not lie in the training span.

What the summaries mean

Each ensemble retains every declared rack. The archive stores medians, quartiles, and 10th–90th percentiles for fresh error and both training-error conventions. Training ratios are computed within each draw before aggregation. The displayed middle-half bands use the 25th and 75th percentiles.

The oracle’s population error and median normalized training error both equal v/(p + v). Individual oracle training scores need not equal population error. Its normalized-training mean is infinite with one or two examples; the median remains meaningful.

Draw identity and loading

The fixture version is sensor-story-v1, with master seed 2026100501. NumPy PCG64 streams have separate seeds for labels, noise, orders and fresh evaluation. A numeric seed alone does not identify the same draw across different samplers.

The opening loads compact opening summaries. Other presets and five fixed saved paths per preset load as needed. These loading subsets retain the canonical archive’s values and checksum; they do not resample or round the plotted data.

The saved SGD example story-v1-n100s500-rack-0 has 100 calibration objects and noise variance 500. Its published data includes labels, the final Gram matrix, label energy, and saved epoch orders. One-reference mechanism data supplies the actual stored and fresh noise used to explain replay.

Reproduction

The complete source and reproduction note (Markdown) gives the seed construction, generator commands, numerical checks, benchmark scores and mirror-rack construction. The canonical archive and generation scripts described there belong to the source tree; the published website ships the smaller files used by its experiments.

Other sensor datasets and sampling notes