I have a matrix X where the rows denote the cases and the columns the variables. I use a standard row-metric preserving biplot in order to represent the cases in a subspace. If I wanted to add a supplementary point (i.e. a row) I can simply project the point it into that space.

But, how can I optimally fit a point into the biplot if the supplementary point does only have values on some of the variables, i.e. if it only uses subset of the variables the biplot is constructed from? How can I add such a row point to a biplot?

  • $\begingroup$ How was your biplot constructed on the original dataset? (I asked that because some routines impute missing values by, e.g. column mean in case of PCA.) $\endgroup$ – chl Jan 25 '12 at 12:30
  • $\begingroup$ The biplot is row metric preserving, i.e. with X = ULA^T` being the singular value decomposition of X, the rows are presented as UL in a space spanned by the rows of A. No centering is performed before submitting X to the SVD. I work directly with matrices, no routines are used, hence no imputation. Let X have the column variables V1 V2 V3 etc. Now, how can I optimally interpolate a row point to the existing biplot only having values on V1 and V2 so it will be optimally represented with respect to V1 and V2 (discarding V3 etc.)? $\endgroup$ – Mark Heckmann Jan 25 '12 at 15:50

I think you will need to impute values for the missing variables. There are several ways of doing this - if you're lucky the choice won't matter that much, so I'd try a couple. One obvious way is to just assign the column mean of V3 (and other missing variables) to your new observation (as chl implies in his comment); another way would be to create a statistical model (linear or more complicated) to predict V3 etc using V1 and V2.

Once you have your imputed values you can then project the new datapoint onto your space.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.