# how to do 'sanity check' for a projection matrix?

I have a PCA model in production. I take the 5 eigen vector which correspond to the 5 largest eigen values. Imaging the input data is 200 dimension, there will be a 5x200 matrix $V$ that project the raw data into eigen-space; after that, we project the low dimension 'feature' vector back to the 200 dimension raw space with $V^{T}$

Put together, the projection matrix is $V^{T}V$, which is 200x200 square

now here comes the question: if I need to generate such a matrix every day, how can I do sanity check on the projection matrix? Since the input samples are quite similar, this projection should not vary too much on daily basis. Therefore, I want to make sure that this matrix won't suddenly change a lot --- this is what I mean by 'sanity check'

I tried to plot a 'heatmap' out of the matrix, but it does not really tell much --- a 'top view' always shows the same thing.

What I am now using is the max min value of all the numbers in the matrix, but I feel it is not enough

Is there any other thing that I should be looking at? determinant ? trace?

any suggestions?

• Could you explain more specifically what a "sanity check" is intended to reveal? – whuber Jan 19 '18 at 21:21
• If you have a number of matrices that you know are correct, you could compute the Frobenius norms of all their differences and average them. You could then compare that to the average of the Frobenius norms of the new matrix to your vetted set. Just a thought. – meh Jan 19 '18 at 22:38
• first why do you have 5 x 200 instead of 200 x 5? – Onyambu Nov 19 '20 at 2:35