主成分分析基本原理
- 当我们拿到一组数据,例如中学生身高、胸围、体重这三组数据,我们可以拿这三组数据来描述一个中学生的身形。但是很多情况下,这样的数据种类太多而且过于杂乱,无法很好地描述实体。
- 主成分分析的思想就是,在给出数据 X 1 、 X 2 、 X 3 . . . X n X_1、X_2、X_3\quad ... \quad X_n X1、X2、X3...Xn 基础上,创造新的一组数据 Y 1 、 Y 2 、 Y 3 . . . Y n Y_1、Y_2、Y_3\quad ... \quad Y_n Y1、Y2、Y3...Yn 这组新的数据能更好地描述实体。
- Y能更好地描述,主要是因为 Y 中含有更多的信息,通常来说,越靠前的 Y 包含有效信息越多,我们用贡献率描述包含成分的多少。所有 Y 的贡献率为1,一般来说,前一到两个Y就能描述 85% 以上信息。
- Y 是由 X 线性表示出来的,也就是说,从原来每个成分里面按比例线性相加,形成更加能描述实体的值。
MATLAB函数介绍
X1 = zscore(X)
将数据标准化,原始数据由于单位等的不同,会有数值过大和过小的情况,需要将数据进行标准化,然后对标准化的数据进行分析。
[coeff, score, latent] = pca(X)
- 对矩阵X进行主成分分析。
- X 每一列是一个指标 X n X_n Xn,每一行是一个样本。
- coeff 给出主成分变换矩阵,每一列的系数代表这个主成分含有原函数 X X X的系数,即第一列是 Y 1 Y_1 Y1