Robust PCA Projection
Written by John Weaver (St Andrews/Copenhagen 2018)
Based on the original Principal Component Analysis (PCA) projection routine by Vivienne Wild, including fitting around bad values (gappy), and unknown normalization factor (norm-gappy). For information about gappy PCA, please refer to Wild et al. 2007.
You can test the installation and/or try-out the software by running the "pca_tryme.py" script.
Please refer to Wild et al. (2007) when using this package: Wild, V., Kauffmann, G., Heckman, T. et al. (2007, MNRAS 381, 543–572)
[1] Connolly & Szalay (1999, AJ, 117, 2052) http://www.journals.uchicago.edu/AJ/journal/issues/v117n5/980466/980466.html [2] Lemson, "Normalized gappy PCA projection"
-
If required, set the error value of any excluded points to zero.
-
(optional) Apply a Galactic dust correction of your choice.
-
If not done already, shift wavelength array to restframe. Interpolation should be avoided where possible.
-
Select N number of eigenspectra to apply. If N is less than 3 (not advised), also pass that number to visualization.pca_plot([args], Nshow = N).
-
Choose either pca_gappy or pca_normgappy to project eigenbasis onto data array. Note: The mean spectrum argument should always take the mean array of the original eigenbasis!
-
Extract 1-sigma errors by setting cov = True and run np.diag(np.sqrt(cov)).
.
├── AUTHORS.md
├── LICENSE
├── README.md
├── config
├── data
│ ├── pcavo_espec_25.sav
├── docs
├── pca_tryme.py
└── src
├── __init__.py
├── pca_projection.py
├── visualisation.py