R语言是一门非常方便的数据分析语言,它内置了许多处理矩阵的方法。 

作为数据分析的一部分,我们要在有价证券矩阵的操作上做一些工作,只需几行代码。

有价证券数据矩阵在这里

1.  
2.
3.
4. D=read.table("secur.txt",header=TRUE)
5. M=marix(D[,2:10])
6. head(M[,1:5])

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据

谱分解

对角线化和光谱分析之间的联系可以从以下文字中看出

1.  
2.
3.
4. > P=eigen(t(M)%*%M)$vectors
5. > P%*%diag(eigen(t(M)%*%M)$values)%*%t(P)
6.
7.
8.

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_r语言_02

首先是这个矩阵的谱分解与奇异值分解之间的联系

  1.  
  2.  > sqrt(eigen(t(M)%*%M)$values)

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据分析_03

和其他矩阵乘积的谱分解

  1.  
  2.  > sqrt(eigen(M%*%t(M))$values)

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据_04

现在,为了更好地理解寻找有价证券的成分,让我们考虑两个变量 

1.   
2.
3. > sM=M[,c(1,3)]
4. > plot(sM)
5.

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据_05

我们对变量标准化并减少变量(或改变度量)非常感兴趣

1.   
2.
3. > sMcr=sM
4. > for(j in 1:2) sMcr[,j]=(sMcr[,j]-mean(sMcr[,j]))/sd(sMcr[,j])
5. > plot(sMcr)
6.

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据分析_06

在对轴进行投影之前,先介绍两个函数

1.  > pro_a=funcion(x,u
2. + ps=ep(NA,nrow(x))
3. + for(i i 1:nrow(x)) ps[i=sm(x[i*u)
4. + return(ps)
5. + }
6.
7. > prj=function(x,u){
8. + px=x
9. + for(j in 1:lngh(u)){
10. + px[,j]=pd_cal(xu)/srt(s(u^2))u[j]
11. + }
12. + return(px)
13. + }
14.

例如,如果我们在 x 轴上投影,

1.  
2. > point(poj(scr,c(1,0))

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据_07

然后我们可以寻找轴的方向,这为我们提供具有最大惯性的点

1.  > iner=function(x) sum(x^2)
2. > Thta=seq(0,3.492,length=01)
3. > V=unlslly(Theta,functinheta)ietie(roj(sMcrc(co(thet)sinheta)))
4. > plot(Theta,V,ype='l')
5.

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_r语言_08

1.  
2.
3. > (ange=optim(0,fun(iothet) -ertieprojsMcrc(s(teta),
4. si(ta)))$ar)

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_r语言_09

通过画图,我们得到

  1.  
  2.  > plot(Mcr)

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_r语言_10

请注意,给出最大惯性的轴与谱分解的特征向量有关(与最大特征值相关的轴)。

  1.  >(cos(ngle),sin(ange))
  2.  [1] 0.7071 0.7070
  3.  > eigen(t(sMcr)%*%sMcr)

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据分析_11

在开始主成分分析之前,我们需要操作数据矩阵,进行预测。

拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_数据_12


拓端tecdat|R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据_r语言_13