Hi,
I am working with an old program that involves Factor Analysis. The
program looks at n data-points, each over k dimensions i.e. n x k matrix.
It does factor analysis and selects a certain number k1 of factors.
I couldn't find any indication that varimax (or other rotation
techniques) are being used i.e. the factor loadings were directly inferred
from eigenvalue analysis, after appropriate normalization. I am not a
Statistics major, so please let me know if what I have said till now
sounds wrong.
After that, the program attempts to generate a *single* score for each
of the n datapoints. Here's how it does this
--------BEGIN PSEUDO-CODE FRAGMENT--------------
// factors are arranged in the order of decreasing eigenvalues i.e.
// Factor[1] corresponds to highest eigenval and Factor[k1] corresponds
// to lowest eigenval (of the chosen factors)
// coordWRTfactor = coordinates of the n points w.r.t. chosen k1 factors
// coordWRTfactor[i][1..k1] are the coords of the i-th data-point
// d0[1] = the eigenval corresponding to i-th factor. d0[1] is largest
// a variable coef is calculated- I can't understand what its rationale is
coef[1..k1] = 0
for j = 1..k1
coef[j] = abs( d0[1] / do[j] )
if (j>1) then
coef[j] = -coef[j]
end
end
for i = 1..n
l1 = norm( coordWRTfactor[i][1..k1] ) //L2 norm of the coordinate vector
x1 = dot_product( coordWRTfactor[i][1..k1] , coef)
score[i] = sqrt( l1^2 - (x1/l1)^2) //whats the rationale ?
end
--------END PSEUDO-CODE FRAGMENT--------------
My problem is that I haven't been able to find any references that
provide a justification/rationale for calculating coef and score in the
way they have been calculated. Can anyone please help me ? Also, in
addition, if you could point me to references/webpages relevant to my
question, I'd really appreciate it.
Thanks in advance,
Rohit
|