欢迎光临散文网 会员登陆 & 注册

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

2021-10-17 11:49 作者:拓端tecdat  | 我要投稿

原文链接:http://tecdat.cn/?p=23973

原文出处:拓端数据部落公众号

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

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

有价证券数据矩阵在这里




  1. D=read.table("secur.txt",header=TRUE)

  2. M=marix(D[,2:10])

  3. head(M[,1:5])

谱分解

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




  1. > P=eigen(t(M)%*%M)$vectors

  2. > P%*%diag(eigen(t(M)%*%M)$values)%*%t(P)




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


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

和其他矩阵乘积的谱分解


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

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



  1. > sM=M[,c(1,3)]

  2. > plot(sM)


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



  1. > sMcr=sM

  2. > for(j in 1:2) sMcr[,j]=(sMcr[,j]-mean(sMcr[,j]))/sd(sMcr[,j])

  3. > plot(sMcr)


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

  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. > prj=function(x,u){

  7. +   px=x

  8. +   for(j in 1:lngh(u)){

  9. +     px[,j]=pd_cal(xu)/srt(s(u^2))u[j]

  10. +   }

  11. +   return(px)

  12. + }


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




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




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

  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.  



  1. > (ange=optim(0,fun(iothet) -ertieprojsMcrc(s(teta),

  2. si(ta)))$ar)




通过画图,我们得到



  1. > plot(Mcr)

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

  1. >(cos(ngle),sin(ange))

  2. [1] 0.7071 0.7070

  3. > eigen(t(sMcr)%*%sMcr)

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

最受欢迎的见解

1.matlab偏最小二乘回归(PLSR)和主成分回归(PCR)

2.R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析

3.主成分分析(PCA)基本原理及分析实例

4.基于R语言实现LASSO回归分析

5.使用LASSO回归预测股票收益数据分析

6.r语言中对lasso回归,ridge岭回归和elastic-net模型

7.r语言中的偏最小二乘回归pls-da数据分析

8.r语言中的偏最小二乘pls回归算法

9.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)


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

分享到微博请遵守国家法律