The subspace split, redone: it depends on the rank and on the instrument¶
scripts/subspace_split.py, rewritten after the review. Every attribution cell now carries its
exact project-level p over the 84 groupings, accuracy is reported beside balanced accuracy, the
basis for each scored client is refitted without its whole project (the stricter refit the
review proposed), the degenerate rank-1 shared cell is not scored, and the best cell over ranks is
judged against the null's best over the same ranks.
Attribution, nearest class over other projects (majority rate 0.698):
| shared | residual (what a split keeps local) | |
|---|---|---|
| whole update | 0.419 (p 0.786), balanced 0.583 (p 0.310) | |
| rank 1 (27.7% of energy) | degenerate | 0.837 (p 0.012), balanced 0.883 |
| rank 2 | 0.419 (p 0.560) | 0.837 (p 0.024) |
| rank 4 | 0.767 (p 0.048) | 0.721 (p 0.036) |
| rank 8 | 0.767 (p 0.036) | 0.721 (p 0.024) |
| rank 16 | 0.698 (p 0.179) | 0.651 (p 0.095) |
| best over ranks, family-wise | 0.767, p 0.095 | 0.837, p 0.024 |
The aggregate detector, on the same halves (AOSP, Qt; the whole update reads 0.704, 0.613):
| shared | residual | |
|---|---|---|
| rank 1 | 0.476, 0.486 | 0.643, 0.758 |
| rank 2 | 0.614, 0.668 | 0.448, 0.668 |
| rank 4 | 0.750, 0.834 | 0.282, 0.247 |
| rank 8 | 0.644, 0.757 | 0.412, 0.314 |
| rank 16 | 0.624, 0.708 | 0.435, 0.341 |
The two instruments disagree about where the organization sits. Corrected for the search over ranks, the classifier finds it in the residual (p 0.024) and not in the shared part (p 0.095). The detector reads it in the shared part from rank 2 up and runs inverted on the residual from rank 4 up, which is information too, in the wrong direction for that detector. Removing the common directions first sharpens the classifier, which fits the factor review's finding that removing the global mean raises identifiability.
So the SDFLoRA question stays not established, now for a stated reason: neither "a subspace split protects" nor "it leaks" holds across the ranks and instruments tested, and this data has now been searched over both. Searching it further for the combination that comes out significant would be the error the review caught.
Registered for the ten-project AOSP rebuild, before its adapters exist. Its seven new projects are data this analysis has not seen. On clients trained from them beside Qt's, two tests, fixed now: 1. the aggregate detector on the shared half at rank 4, with the project-level permutation over four seeds: "the split leaks" if both organizations' median p is at or below 0.05; 2. the held-out classifier on the residual at rank 1: "the kept-back part identifies" if its project-level p is at or below 0.05. Neither result will be reinterpreted at another rank or with another instrument.