[R] The Entropic Scree: An information-theoretic framework for complex tabular data (more broadly applicable than methods reliant on strict generative assumptions or distance metrics)
Links:
- Preprint: https://doi.org/10.5281/zenodo.22028087
- GitHub (R Function and Simulation): https://github.com/tjleestjohn/Entropic-Scree
TL;DR: I am sharing an open-source, non-parametric, and model-agnostic information-theoretic diagnostic framework for estimating the intrinsic rank of a dataset that is more broadly applicable than methods bound by strict generative assumptions (like standard PCA) or spatial distance metrics (like Kernel PCA and TWO-NN) when evaluating high-dimensional, mixed-type tabular datasets. It uses Normalized Mutual Information to compress non-linear expansions back towards their true generative roots. This avoids the dimensional inflation that can occur within strictly linear matrices, while also mitigating the structural instability that affects RKHS and Euclidean metric estimators when generative roots are entangled or sparse.
Where Standard Baselines Encounter Limits in Complex Data
When dealing with mixed data types, heavy non-linearities, or sparse environments ($m > N$), established baselines encounter structural limitations:
- Linear Estimators (PCA): Standard PCA and classical factor models evaluate linear variance. They tend to separate non-linear dependencies (like polynomials or interactions) into "Spurious Orthogonal Dimensions," which can lead to an overestimation of the true rank. Furthermore, in sparse regimes, PCA is mathematically capped, restricting the maximum extractable rank to $N-1$.
- Spatial Metrics (Kernel PCA & Euclidean): Kernel PCA (RBF) can lose its structural elbow when generative roots are entangled, as its infinite-dimensional space lacks a finite-sample boundary to cleanly separate signal from combinatorial noise. Similarly, topological estimators (like TWO-NN) can become unreliable because high-dimensional distance concentration affects local neighborhood calculations across mixed-data margins.
The Information-Theoretic Approach: The Entropic Scree
This framework evaluates pure probability mass rather than linear variance or physical distance.
- The Metric Space: It constructs a pairwise matrix using Information-Theoretic Jaccard Similarity (Variation of Information). Because it relies on Shannon entropy, it’s invariant to marginal shape mismatches (e.g., correlating a continuous wave with a discrete binary flag).
- Bypassing the Rank Ceiling: By executing a double-centering transformation (cMDS), it moves the data into a topological information space, explicitly bypassing the $N-1$ sample-size ceiling.
- Compressing the Manifold: The algorithm acts as a bivariate filter, inherently compressing the probability mass of non-linear combinations back towards their Intrinsic Generative Rank.
The Factor Analysis Connection
If you are used to interpreting standard EFA or PCA factor loadings, the Entropic Scree requires a fundamental shift in how you read the extracted axes:
- Bipolar Modules = Estrangement, not Inverse Correlation: In classical linear frameworks, variables loading on opposite ends of a factor are inversely correlated. In the Entropic Scree, because the matrix evaluates shared information, a negative inner product indicates structural estrangement. Variables loading with opposite signs share zero mutual information. The eigensolver anchors its poles into completely decoupled sub-networks, allowing you to cleanly untangle independent variable clusters directly from the primary axes.
- Informational Gravity (AIG/FSIG): Instead of calculating traditional "percentage of variance explained," the framework introduces Average and Factor-Specific Informational Gravity. These metrics translate abstract spectral variance into actionable, "variable-equivalent" footprints, mapping exactly how much topological weight each underlying factor controls.
I'd love to hear from this community. How are you handling intrinsic rank extraction and factor analysis in heavily non-linear, sample-starved environments? Feel free to pull the repo, test it out on your own messy tabular data, and let me know what you think.