SPINE
Assistant Professor of Data Science and Mathematics
Embry-Riddle Aeronautical University, Arizona
A collection of objects carries a nonnegative measure: a distance, an energy, a count, a degree, a singular value. SPINE asks where that collection separates into distinct scales, and how strongly. It is not told how many groups to look for, and it has no detection threshold to set.
Two things are supplied, and they are the scientific input. A measure, one nonnegative number per object, saying what the objects are being compared by. An orientation, saying which end of that measure is the atypical one. Everything after them is computed from the measure alone.
The three are not three methods. A language-independent specification fixes the computation, and a shared set of conformance fixtures and expected outputs decides whether an implementation agrees with it. The MATLAB package is the reference; the Python package is verified against the same fixtures, exactly; R is stated here as intent.
Let the objects be and let the measure give them masses . Sort them, so that , and walk up that order. At rank , the objects admitted so far carry a total mass and a share of it each:
This probability is measure-induced. It is the fraction of the accumulated measure carried by each object admitted so far, and it is an occurrence probability only when occurrence frequency is itself the chosen measure. Evaluating the Shannon functional on that nested family of prefixes gives the incremental nested entropy profile:
The profile is one number per rank, and its shape is the whole object of study. While objects of one scale are being admitted, each new one genuinely adds to the spread and the profile rises. When an object arrives from a multiplicatively larger scale, it dominates everything below it: the normalized mass concentrates rather than spreading, and the profile turns over. That turnover is the cut.
Two identities make the profile cheap to compute and its geometry interpretable. Writing , the profile has a closed form, and it also satisfies an exact one-step recurrence in the incoming fraction :
The recurrence separates the two competing effects exactly. The binary entropy is what the incoming object adds by splitting the total mass between itself and everything before it. The factor is what it removes, by contracting every preceding share. Subtracting gives the increment in a form that decides its own sign:
Since is continuous and strictly decreasing from to on , every prefix with positive entropy has exactly one incoming fraction at which the profile stops rising. Below it the profile rises; above it, it turns over. There is no interval of ambiguity and nothing to calibrate: the crossing is a property of the accumulated measure at that rank.
The crossing can be restated in the units a scientist actually thinks in. Let be the entropy-effective size of the prefix, the number of equally weighted objects that would carry the same entropy, and let the incoming value be times the effective mass of one of them. The profile turns over exactly when passes the root of
The composition of the prefix enters only through . Whatever the objects are and however their measure is distributed, two prefixes of the same effective size are overturned by the same ratio. That root is always greater than , decreases in , and tends to as the prefix grows.
A rank is a candidate boundary when the profile has just finished rising, declines strictly at the next admission, and the two measure levels either side of it are genuinely distinct:
The last condition means no boundary can fall inside a block of equal measure values: objects that the measure cannot tell apart are never separated. The retained boundaries cut the sorted order into contiguous strata. Each boundary is then charged with the depth of the descending excursion it starts, and those depths are accumulated into levels:
Every retained boundary has a strictly positive depth, so the levels increase strictly from to . They are relative coordinates on the discovered scale ordering: how much of the total entropy separation has been crossed by the time a stratum is reached. They are not probabilities.
Only now does orientation enter, and it does nothing to the partition. It selects which stratum is the typical one and reads the levels accordingly:
Each object inherits the score of its stratum. A score of zero is the typical stratum and one is the most separated; nothing further is thresholded.
Every normalized share in equation (1) depends on the measure only through ratios, so multiplying the whole measure by a positive constant leaves the sorted order, the profile, the boundaries, the depths, the levels and every score untouched:
A change of units is therefore not a change of analysis. A nonlinear monotone transformation is: it redistributes the normalized prefix mass and defines a different measure, which is a scientific decision rather than a display one.
The output is deterministic. There is no randomness, no initialisation, no iteration to convergence, and no number of groups to declare. Sorting costs ; everything after it is linear in .
When there is nothing to find. A measure with no multiplicative separation produces no transition, and SPINE returns a single unresolved stratum. That is an answer rather than a failure. It says this measure does not separate these objects into scales, which is a statement about the measure that was chosen, not about the cut. The response is a better measure, not a looser setting, because there is nothing to loosen.
SPINE acts on the values of , never on the original representation. Two analyses of the same objects under different measures are therefore two different scientific analyses, and they can disagree about which objects are notable while both being right, because they are answering different questions. Choosing the measure matters more than anything else done with this software, so it has a page of its own.
| Choosing a measure | What a measure has to be, what makes one useful, and how two defensible measures come to disagree. Read before applying SPINE to a problem. |
| User guide | Worked scenarios in MATLAB: point clouds, networks, spectra, symbolic states, tables and struct arrays. |
| Function reference | One page per function, with every example executed when the page is built. |
The theory and the numerical policy are stated in the paper and its
supplementary material; the conformance contract ships with the source as
shared fixtures and expected outputs under spec/conformance/. The
figures on this page are drawn from the package itself by
matlab/doc/buildFigures.m.
A. R. AlMomani. Scale Partitioning by Incremental Nested Entropy: A Measure-Oriented Theory of Multiscale Structure. Embry-Riddle Aeronautical University, 2026.