1. 程式人生 > 其它 >拓端tecdat|R語言矩陣特徵值分解(譜分解)和奇異值分解(SVD)特徵向量分析有價證券資料

拓端tecdat|R語言矩陣特徵值分解(譜分解)和奇異值分解(SVD)特徵向量分析有價證券資料

原文連結: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')
  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)

▍關注我們 【大資料部落】第三方資料服務提供商,提供全面的統計分析與資料探勘諮詢服務,為客戶定製個性化的資料解決方案與行業報告等。 ▍諮詢連結:http://y0.cn/teradat ▍聯絡郵箱:[email protected]