I want to use PCA in this kind of situation. I have three variables:

  1. how many times something happened for user - positive integer;
  2. total "power" of all happened events for user - real number, can be negative
  3. percent of "successful hits" - real positive number 0 < x < 1

Wikipedia states that "PCA is sensitive to the scaling of the variables."

A problem is that "power" can be measured using various units. And choice of units will affect the results. I do not see a natural choice of units for the moment.

Are there any suggestions on how to scale observations for PCA?


You could first shift the data by substracting the respective mean values to each of the columns, and then rescale the resulting values so that they fall within the interval [-1,1]

| cite | improve this answer | |
  • $\begingroup$ Thank you for the answer ! Yes, mean subtraction is necessary, but what is appropriate scaling - should I scale everything to -1 1 or only part of variables - it is not so clear... Choosing different scaling for different variables - gives different "importance" for different variables - it should depend on task what is the appropriate "importance", but I do not see the right one in my case... $\endgroup$ – Alexander Chervov Feb 26 '13 at 12:39
  • 5
    $\begingroup$ Although this recommendation might work for some datasets, it is exquisitely sensitive to any outliers that might exist, and so is not a good general procedure. $\endgroup$ – whuber Feb 26 '13 at 13:41
  • $\begingroup$ very true! otherwise you could normalize the variance of each component individually to one $\endgroup$ – jpmuc Mar 1 '13 at 16:01
  • $\begingroup$ @AlexanderChervov I meant it as: $$x -> (x-mean(x))/(max(x)-min(x))$$, so that the variable now lies in the interval $$[-1,1]$$ $\endgroup$ – jpmuc Mar 1 '13 at 16:03

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