This function takes in a training data matrix, without the label
column, and the energy preservation proportion, which defaults to 95
percent per Kazor et al (2016). This proportion is the sum of the q largest
eigenvalues divided by the sum of all p eigenvalues, where q is the number
of columns of the p x q projection matrix P. This function then returns the
projection matrix P, a diagonal matrix of the reciprocal eigenvalues
(LambdaInv), a vector of the SPE test statistic values corresponding to the
rows of the data matrix, and a T2 test statistic vector similar to the SPE
vector.
This internal function is called by faultFilter().