Alexander Sirotkin  <[EMAIL PROTECTED]> wrote:

>>>I use princomp() to get a PCA components and then use these components
>>>to build a classification model.
>>>
>>>When I use new data with that model (data which I did not have when
>>>I did the original PCA), I have to aplly a PCA first and then use PCA
>>>components with my model.
>>>
>>>The problem is - I would like (actually, I think I have) to use an 
>>>eigenbasis from the first PCA when I do a PCA on a new data.
>>>
>>>So the question is - how can I use the eigenbasis (loadings ??) from 
>>>princomp() output as an argument to another princomp() when processig a 
>>>new data.

Radford Neal wrote:

>> You probably want to just find the projections of the new data on the
>> principle components you found before, which I presume are the inputs
>> to your classification model.  I think you don't want to find principle
>> components all over again.

Alexander Sirotkin  <[EMAIL PROTECTED]> wrote:

>Right. The only question left - how I can do this in S-Plus/R...


I think you can just take your new vector, subtract the sample mean of
each variable from each component, and then multiply it by the
"loadings" matrix in the princomp object.  That should get you the
"score" for that new vector.  Maybe you need to rescale the vector
too, if you were doing PCA on the correlation matrix rather than the
covariance matrix.

You can try it out by finding the scores for the old data, and seeing
if they match what you had before.

   Radford Neal

.
.
=================================================================
Instructions for joining and leaving this list, remarks about the
problem of INAPPROPRIATE MESSAGES, and archives are available at:
.                  http://jse.stat.ncsu.edu/                    .
=================================================================

Reply via email to