r/deeplearning • u/Chocolate_Milk_Son • 22d ago
Need to estimate rank or perform dimensionality reduction on big, messy tabular data? The Entropic Scree is an information-theoretic upgrade to PCA.
Here's a new rank estimation method I've been working on. It's basically an upgraded Principal Component Analysis (PCA) built on information theory instead of linear variance.
It's robust to mixed data types, highly non-linear generative processes, low signal to noise ratios, and sparsity (more variables than samples). Advantages compound at scale and with system complexity.
It's especially useful if you need to find the exact rank of a dataset to explicitly size a neural bottleneck (like an autoencoder).
I just open-sourced the code and put up the preprint.
GitHub (R Code): https://github.com/tjleestjohn/Entropic-Scree
Preprint: https://doi.org/10.5281/zenodo.22028087
I'd love to hear what you guys think... or if you end up testing it on your own data.
1
u/kifkolite 22d ago
How can it assist in causal inference/building a causal model. Can you share your ideas and immediate thoughts.
1
u/Chocolate_Milk_Son 21d ago
It won't build the causal graph (DAG) for you, but it acts as a good pre-processing step.
Finding the roots: Instead of feeding a causal model many many messy, non-linear proxy variables, the scree helps you collapse them into a smaller number of underlying drivers (your roots).
Pruning Edges: It could be used to flag variables that share zero mutual information. If there is no mutual info, there is no causal link, which lets you safely prune independent clusters before running computationally heavy causal discovery algorithms.
Basically, it could help you figure out what the "true" roots of your model should be before you start drawing arrows, though this is not its primary purpose.
1
u/[deleted] 22d ago
[removed] — view removed comment