结论:原先线性相关的n个变量,经过坐标变换生成的新的n个变量是两两正交的,而且每一个新变量都是原来n个变量的线性组合。
已知m个个案在自然基的坐标是B(b1,b2,…bm),特征向量矩阵A(a1,a2,…an),假设m个个案在新基的坐标是X(x1,x2…xm)
则坐标变换公式
两两正交我不知道该如何证明,但是可以通过r代码实现
######
#pca
B=matrix(data=(c(1,2,3,2,4,6)),nrow = 2,byrow = T)
Bt=t(B)
> Bt
[,1] [,2]
[1,] 1 2
[2,] 2 4
[3,] 3 6
#标准化
BT=scale(Bt)
> scale(Bt)
[,1] [,2]
[1,] -1 -1
[2,] 0 0
[3,] 1 1
#计算相关系数矩阵;
rm<-cor(BT)
#求特征值和特征向量
rs<-eigen(rm)
> eigen(rm)
eigen() decomposition
$values
[1] 2 0
$vectors
[,1] [,2]
[1,] 0.7071068 -0.7071068
[2,] 0.7071068 0.7071068
#特征向量矩阵
A=rs$vectors
#进行矩阵乘法XT=BT*A,获得PC score;
XT <BT %*% A
> BT %*% A
[,1] [,2]
[1,] -1.414214 0
[2,] 0.000000 0
[3,] 1.414214 0
colnames(XT) <- c("PC1","PC2")
可以看出新变量是正交的
利用最小二乘法y~XT得到回归方程y=XTα+intercept,α是计算出的系数向量,那么y=BT(Aα)+intercept=BTβ+intercept,β也是系数向量,因此就得到了因变量与原变量组=BT的线性表达式。
XT=BTA表述为向量组XT可以由向量组BT线性表示,根据定理