This package is a Python implementation of the Dyson Equalizer. The method is described in detail in the article The Dyson Equalizer: Adaptive Noise Stabilization for Low-Rank Signal Detection and Recovery
The documentation is available at https://klugerlab.github.io/DysonEqualizer.
The main version of the package can be installed as
pip install dyson-equalizer
The development version of the package can be installed as
pip install git+https://github.com/Klugerlab/DysonEqualizer.git
To import the package and apply the Dyson Equalizer to a test matrix
from dyson_equalizer.examples import generate_Y_with_heteroskedastic_noise
from dyson_equalizer.dyson_equalizer import DysonEqualizer
Y = generate_Y_with_heteroskedastic_noise()
de = DysonEqualizer(Y).compute()
The DysonEqualizer
result class will contain the following attributes
Y
: The original data matrixx_hat
: The normalizing factors for the rowsy_hat
: The normalizing factors for the columnsY_hat
: The normalized data matrix so that the variance of the error is 1X_bar
: The estimated signal matrix. It has rankr_hat
r_hat
: The estimated rank of the signal matrixS
: The principal values of the data matrixY
S_hat
: The principal values of the data matrixY_hat
Detailed examples are available on the Examples page.