Discovering Dual-Origin Slow Wind from Solar Orbiter with Self-Supervised Contrastive Learning
Organizations: Department of Computer Science, Baylor University, One Bear Place, Waco, TX 76798, USA
Abstract
Whether the slow solar wind originates from one coronal source or two distinct channels remains a central open question in heliophysics. Resolving this requires unsupervised separation of two populations that arrive at nearly the same bulk speed and differ mainly in heavy-ion composition. We present Solar-CDC, a self-supervised contrastive deep clustering (CDC) framework that maps plasma observables to a latent space via a Transformer encoder, optimizes a triplet margin loss, and updates pseudo-labels via -means. Theoretically, we prove that neighborhood-preserving embeddings such as t-SNE and UMAP are fundamentally constrained. Preserving the neighbor graph leaves the cross-cluster cut fraction unchanged, and preserving all but a fraction of its links moves that fraction by at most . Neither bound depends on the target dimension. A margin objective rewrites the graph and drives the cut fraction to zero. Empirically, on 30,602 Solar Orbiter observations, thirty combinations of dimensionality reduction and clustering peak at a silhouette of , whereas Solar-CDC reaches . Escaping the geometric bound alone does not guarantee physical validity: TriMap also optimizes triplets and reaches , yet its clusters score below chance against the published composition taxonomy. Solar-CDC instead recovers clusters with mean charge-state ratios of , , and , placing the intermediate population inside the window associated with coronal-hole boundaries. Even when the defining charge-state ratio is withheld from the inputs entirely, the model still recovers the taxonomy defined on it. Solar-CDC thus connects self-supervised representation learning to coronal source diagnostics. Importantly, a learning loss recovers physical populations only when driven by dynamically updated physically-aware clusters rather than distances.
Figures & tables
| Space | , recovered partition | , threshold partition |
|---|---|---|
| Input, seven observables | 0.064 | 0.131 |
| neighborhood preserving | ||
| t-SNE [ 12 ] ( ) | 0.071 | 0.158 |
| UMAP [ 14 ] ( ) | 0.084 | 0.197 |
| PHATE [ 16 ] ( ) | 0.148 | 0.228 |
| PCA [ 15 ] ( ) | 0.174 | 0.215 |
| Latent dimension | |||||
|---|---|---|---|---|---|
| Heads | 2 | 4 | 8 | 16 | 32 |
| 1 | 0.869 | 0.828 | 0.820 | 0.755 | 0.725 |
| 2 | 0.829 | 0.806 | 0.773 | 0.748 | 0.764 |
| 4 | 0.866 | 0.814 | 0.792 | 0.752 | 0.728 |
| 8 | 0.840 | 0.821 | 0.809 | 0.756 | 0.772 |
| 16 | 0.832 | 0.834 | 0.779 | 0.775 | 0.740 |
| Reduction | K-Means | GMM | Agglomerative |
|---|---|---|---|
| neighborhood preserving | |||
| PCA [ 15 ] (2-D) | 0.400 | 0.360 | 0.414 |
| t-SNE [ 12 ] ( ) | 0.428 | 0.427 | 0.388 |
| t-SNE ( ) | 0.438 | 0.424 | 0.422 |
| t-SNE ( ) | 0.450 | 0.440 | 0.372 |
| UMAP [ 14 ] (15 nn) | 0.443 | 0.452 | 0.420 |
| Silhouette | vs. | |
|---|---|---|
| 2 | ||
| 3 | — | |
| 4 | ||
| 5 |
| Method | Inputs | NMI | ARI | Matched acc. |
|---|---|---|---|---|
| Random labeling | — | 0.000 | 0.000 | 0.337 |
| Largest class only | — | 0.000 | 0.000 | 0.501 |
| TriMap [ 1 ] + Agglom. | seven | 0.036 | 0.465 | |
| -means | seven | 0.348 | 0.284 | 0.628 |
| Solar-CDC | seven | |||
| -means, control | six | 0.311 | 0.259 | 0.613 |
| Cluster | |||||||
|---|---|---|---|---|---|---|---|
| 0 coronal hole | 10,415 | 526 | 14.2 | 0.080 | 2.14 | 0.146 | 6.07 |
| 1 boundary type | 12,581 | 374 | 28.1 | 0.160 | 4.37 | 0.154 | 6.15 |
| 2 streamer belt | 0 7,606 | 379 | 32.3 | 0.400 | 11.00 | 0.220 | 6.39 |
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
| seven observables | with time and label columns | |||||||||
| Heads | 2 | 4 | 8 | 16 | 32 | 2 | 4 | 8 | 16 | 32 |
| 1 | 0.869 | 0.828 | 0.820 | 0.755 | 0.725 | 0.857 | 0.803 | 0.811 | 0.746 | 0.687 |
| 2 | 0.829 | 0.806 | 0.773 | 0.748 | 0.764 | 0.842 | 0.783 | 0.804 | 0.753 | 0.730 |
| 4 | 0.866 | 0.814 | 0.792 | 0.752 | 0.728 | 0.853 | 0.786 | 0.790 | 0.721 | 0.714 |
| 8 | 0.840 | 0.821 | 0.809 | 0.756 | 0.772 | 0.850 | 0.762 | 0.796 | 0.750 | 0.689 |
| 16 | 0.832 | 0.834 | 0.779 | 0.775 | 0.740 | 0.846 | 0.818 | 0.799 | 0.746 | 0.703 |