Glass
214 fragments of glass from forensic casework — window panes, headlamps, tableware, containers — each analysed for its refractive index and the percentage of eight oxides it contains.
Projected with DruidJS: a CLR transform of
the four always-present oxides, with the trace oxides and the refractive index standardised
alongside, then new druid.TSNE(Z, { seed: 1, perplexity: 40, epsilon: 5 }). pnpm glass
regenerates it, and --sweep re-runs the search that chose those parameters.
Reading a sample
The eight oxides, stacked bottom to top and always filling the same height. They are percentages of one sample, so the total says nothing and only the split does — which is why these are stacked rather than drawn as bars.
- Na
- Mg
- Al
- Si
- K
- Ca
- Ba
- Fe
Use
- build wind float
- containers
- build wind non-float
- headlamps
- vehic wind float
- tableware
Turn the frames off and the classes are still visible — headlamps carry barium, containers carry more potassium. The composition is doing the work, not the label.
Why not a star
Section titled “Why not a star”Every other glyph in this section treats its columns as independent magnitudes. These are not. The eight oxides are percentages of one sample and sum to 100 — measured across the dataset they land between 99.02 and 100.10 — so the total carries no information at all. Only the split does.
A star or a bar chart encodes each part as its own length, which spends most of its ink on a constraint rather than on the data: push one oxide up and the others must come down, so the glyph shows the same fact several times. A stacked column shows only the split. Every glyph is the same height, and the reading is where the boundaries fall.
Silicon takes about 72% of every sample, so it gets the quiet colour; the minor oxides get the distinct ones, because that is where the differences between one fragment and the next actually live.
The metric matters too
Section titled “The metric matters too”Compositional data breaks the usual distance as well as the usual glyph. Two samples that differ by one percentage point of sodium are not as similar as the raw numbers suggest, because that point had to come out of something else — the parts are not free to vary independently, and a euclidean distance over percentages treats the closure as though it were signal.
The Aitchison geometry is the standard answer: a centred log-ratio transform maps the simplex into a real space where euclidean distance means something again. Three representations were measured, by how often a point’s ten nearest neighbours share its class:
| representation | label agreement |
|---|---|
| standardised, euclidean | 58.6% |
| CLR over the always-present oxides | 59.3% |
| CLR over all eight, zeros replaced | 60.5% |
clr-all edges it, but a log-ratio is undefined at zero and four of these oxides are absent from
many samples, so that margin is bought with 176 invented values. The shipped projection uses the
middle row: CLR over the oxides that are always present, with the traces and the refractive index
standardised alongside them.
What the glyphs show that the position does not
Section titled “What the glyphs show that the position does not”The projection separates the window glass from everything else, and that is about as far as a position can take you. The glyphs say why: the window fragments are the ones whose columns are nearly all silicon with a thin sodium band, while headlamps carry visibly more barium and the containers more calcium.
That is the argument for a glyph in one sentence. The layout tells you which fragments group together; the stacked columns tell you what the group is made of, which is the question a forensic comparison is actually asking.
References
Section titled “References”Glass Identification UCI Machine Learning Repository 1987. doi:10.24432/C5WW2P
214 fragments, refractive index and eight oxides by weight percent. Loaded through @saehrimnir/mistle.
The Statistical Analysis of Compositional Data Journal of the Royal Statistical Society: Series B 44(2), 139–160, 1982. doi:10.1111/j.2517-6161.1982.tb01195.x
Why percentages of a whole need their own geometry, and the log-ratio transform used here.