I have this application where I have a direction that I want to keep fixed when I'm running a PCA or factor analysis. Is this possible? I just want to keep a column of the loadings matrix fixed.

How can I do that?

If this is not possible. Can I do any other type of analysis with this direction?

  • 1
    $\begingroup$ Yes: project your matrix $\mathbf{A}$ along the unit direction $\mathbf{v}$ you want to keep, i.e. $\mathbf{A}_1 = (\mathbf{I}-\mathbf{v}\mathbf{v}^\top)\mathbf{A}$, then do PCA on $\mathbf{A}_1$ per usual, but replace the zero eigenvalue now accompanying the direction $\mathbf{v}$ with $\mathbf{v}^\top\mathbf{A}\mathbf{v}$ at the end. $\endgroup$ Jan 24, 2023 at 4:51
  • $\begingroup$ Nice. And I guess if I had 2 such directions that I want to preserve, I would just project on the plane generated by $v_1$ and $v_2$. Run PCA "per usual" and then replace the zero eigenvalues associated to the two directions with $v_1^TAv_1$ and $v_2^TAv_2$. Right? $\endgroup$ Jan 24, 2023 at 5:25
  • 1
    $\begingroup$ Yes sounds good. $\endgroup$ Jan 24, 2023 at 6:09
  • 2
    $\begingroup$ See here: stats.stackexchange.com/a/473277/244807 $\endgroup$
    – cdalitz
    Jan 24, 2023 at 14:03
  • $\begingroup$ @cdalitz thanks for this comment; looking at that post reminded me to emphasize: $\mathbf{A}$ has a datapoint in each column in my comment, so $\mathbf{A}=\mathbf{X}^\top$ in my case. (If I'm not mistaken, your answer leaves out a detail as well :)). $\endgroup$ Jan 24, 2023 at 16:01


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.