主成分分析(mathworks示例源代码)

时间:2014-05-10 20:48:35

标签: matlab pca princomp

我的问题很简单,但我需要帮助理解基本概念。 在Mathworks documentation page的以下示例中 princomp函数

load hald;
[pc,score,latent,tsquare] = princomp(ingredients);
pc,latent

我们得到以下值:

pc =

   -0.0678   -0.6460    0.5673    0.5062
   -0.6785   -0.0200   -0.5440    0.4933
    0.0290    0.7553    0.4036    0.5156
    0.7309   -0.1085   -0.4684    0.4844

latent =

  517.7969
   67.4964
   12.4054
    0.2372

score =

   36.8218   -6.8709   -4.5909    0.3967
   29.6073    4.6109   -2.2476   -0.3958
  -12.9818   -4.2049    0.9022   -1.1261
   23.7147   -6.6341    1.8547   -0.3786
   -0.5532   -4.4617   -6.0874    0.1424
  -10.8125   -3.6466    0.9130   -0.1350
  -32.5882    8.9798   -1.6063    0.0818
   22.6064   10.7259    3.2365    0.3243
   -9.2626    8.9854   -0.0169   -0.5437
   -3.2840  -14.1573    7.0465    0.3405
    9.2200   12.3861    3.4283    0.4352
  -25.5849   -2.7817   -0.3867    0.4468
  -26.9032   -2.9310   -2.4455    0.4116

图例:

潜在是包含X的协方差矩阵的特征值的向量。

pc 是一个p-by-p矩阵,每列包含一个主成分的系数。列按顺序递减组件差异。**

得分是主要成分得分;也就是说,X在主成分空间中的表示。 SCORE行对应于观察,列对应于组件。

有人可以解释得分的值是否以某种方式使用pc的值进行了基因验证,如果这是真的,那么进行了哪种计算?

1 个答案:

答案 0 :(得分:1)

是的,它保留了score = norm_ingredients * pc,其中norm_ingredients是输入矩阵的规范化版本,因此其列的均值为零,即

norm_ingredients = ingredients - repmat(mean(ingredients), size(ingredients, 1), 1)