For the purpose of dimension reduction I have performed an eigen analysis (using Jacobi-iteration) on a correlation matrix **R** of 163 variables (based on 1500 cases). The scree plot is attached. [![Scree-plot](https://i.stack.imgur.com/rK4lc.jpg)](https://i.stack.imgur.com/rK4lc.jpg)

The sum of all eigenvalues is (to 6 places after the decimal) equal to the number of variables, as expected. However, the last 54 eigenvalues are negative, and the cumulative explained variance goes to 125% before droping to 100%. What is going on here, and does it still make sense to use the first 15 or so eigenvectors to calculate scores and communalities?

There are missing data in the set, therefore a robust calculation of correlation coefficients was used:  

set sums and n to 0  

for i := 1 to Cases do  

 if ((IsNaN(x[i]) or (IsNaN(y[i]))  

 then do nothing  

 else add $x, y, xy, x^2, y^2$ to their respective sums and inc(n)  

$r = \frac{n \* SumXY - SumX \* SumY}{\sqrt{[n \* SumX^2 - (SumX)^2] [n\* SumY^2 - (SumY)^2]}}$
The idea is to use the available information completely without inventing anything by imputation (at this state, for the calculation of scores by multiplication of data and eigenvectors I see no way other than imputation of $\bar{x}$).