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

简介: R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据

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

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

有价证券数据矩阵在这里

 


D=read.table("secu.txt",header=TRUE)
M=marix(D\[,2:10\])
head(M\[,1:5\])

谱分解

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

 

> P=eigen(t(M)%*%M)$vectors
> P%*%diag(eigen(t(M)%*%M)$values)%*%t(P)

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

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

和其他矩阵乘积的谱分解

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

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

 

> sM=M,c(1,3)
,c(1,3)
> plot(sM)

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

> sMcr=sM
> for(j in 1:2) sMcr,j
,j=(sMcr,j
,j-mean(sMcr,j
,j))/sd(sMcr,j
,j)
> plot(sMcr)

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

> pro_a=funcion(x,u
+   ps=ep(NA,nrow(x))
+   for(i i 1:nrow(x)) ps\[i=sm(x\[i*u)
+   return(ps)
+ }
> prj=function(x,u){
+   px=x
+   for(j in 1:lngh(u)){
+     px,j
,j=pd_cal(xu)/srt(s(u^2))uj
j  
+   }
+   return(px)
+ }

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

 


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

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



点击标题查阅往期内容


python机器学习:推荐系统实现(以矩阵分解来协同过滤)

01

02

03

04




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

> (ange=optim(0,fun(iothet) -ertieprojsMcrc(s(teta),
si(ta)))$ar)

通过画图,我们得到

 


> plot(Mcr)

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

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

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


相关文章
|
9月前
|
机器学习/深度学习 存储 vr&ar
线性代数高级--矩阵的秩--SVD分解定义--SVD分解的应用
线性代数高级--矩阵的秩--SVD分解定义--SVD分解的应用
|
3月前
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
|
机器学习/深度学习 数据采集 资源调度
【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵
【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵
120 0
【推荐系统】推荐场景为什么不可以使用SVD分解共现矩阵
|
8月前
|
机器学习/深度学习 决策智能
矩阵分析 (七) 矩阵特征值的估计
矩阵分析 (七) 矩阵特征值的估计
116 0
|
8月前
|
机器学习/深度学习 决策智能
矩阵分析 (五) 矩阵的分解
矩阵分析 (五) 矩阵的分解
|
8月前
|
机器学习/深度学习 决策智能
矩阵分析 (四)向量和矩阵的范数
矩阵分析 (四)向量和矩阵的范数
|
10月前
|
机器学习/深度学习 资源调度 算法
|
10月前
|
人工智能
|
10月前
学习笔记: 线性代数-矩阵的相似性
线性代数个人学习笔记
70 0
怎么算特征值和特征矩阵?
怎么算特征值和特征矩阵?

热门文章

最新文章