无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

拓端tecdat|R語言主成分分析PCA譜分解、奇異值分解預(yù)測分析運(yùn)動員表現(xiàn)數(shù)據(jù)和降維可視

2022-02-03 13:30 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=25067?

原文出處:拓端數(shù)據(jù)部落公眾號

本文描述了如何?使用R執(zhí)行主成分分析?(?PCA?)。您將學(xué)習(xí)如何?使用 PCA預(yù)測?新的個體和變量坐標(biāo)。我們還將提供?PCA 結(jié)果背后的理論。

在 R 中執(zhí)行 PCA 有兩種通用方法:

  • 譜分解?,檢查變量之間的協(xié)方差/相關(guān)性

  • ?檢查個體之間的協(xié)方差/相關(guān)性的奇異值分解

根據(jù) R 的幫助,SVD 的數(shù)值精度稍好一些。

可視化

創(chuàng)建基于 ggplot2 的優(yōu)雅可視化。

演示數(shù)據(jù)集

我們將使用運(yùn)動員在十項全能中的表現(xiàn)數(shù)據(jù)集,這里使用的數(shù)據(jù)描述了運(yùn)動員在兩項體育賽事中的表現(xiàn)?

數(shù)據(jù)描述:
一個數(shù)據(jù)框,包含以下13個變量的27個觀測值。

X100m
一個數(shù)字向量

跳遠(yuǎn)
一個數(shù)字向量

投籃
一個數(shù)字向量

高跳
一個數(shù)字向量

X400m
數(shù)字向量

X110m.hurdle
一個數(shù)字向量

飛碟
一個數(shù)字向量

撐桿跳高
一個數(shù)字向量

繩索
數(shù)字向量

X1500米
數(shù)字向量

級別
與等級相對應(yīng)的數(shù)字向量

點(diǎn)
一個數(shù)字向量,指定獲得的點(diǎn)數(shù)

運(yùn)動會
水平變量 Decastar OlympicG

簡而言之,它包含:

  • 訓(xùn)練個體(第 1 到 23 行)和訓(xùn)練變量(第 1 到 10 列),用于執(zhí)行主成分分析

  • 預(yù)測個體(第 24 至 27 行)和預(yù)測變量(第 11 至 13 列),其坐標(biāo)將使用 PCA 信息和通過訓(xùn)練個體/變量獲得的參數(shù)進(jìn)行預(yù)測。

加載數(shù)據(jù)并僅提取訓(xùn)練的個體和變量:


  1. head(dec)

計算 PCA

在本節(jié)中,我們將可視化 PCA。

  1. 進(jìn)行可視化

  1. 計算 PCA

prcomp

  1. 可視化?特征值?(碎石圖)。顯示每個主成分解釋的方差百分比。

  1. 具有相似特征的個人被歸為一組。

viz(res )

  1. 變量圖。正相關(guān)變量指向圖的同一側(cè)。負(fù)相關(guān)變量指向圖表的相反兩側(cè)。

vzpca(res )

  1. 個體和變量的雙標(biāo)圖

fvbiplot(res )

PCA 結(jié)果

  1. # 特征值

  2. eigva



  3. # 變量的結(jié)果

  4. coord # 坐標(biāo)

  5. contrib # 對PC的貢獻(xiàn)

  6. cos2 # 代表性的質(zhì)量

  7. # 個人的結(jié)果

  8. coord # 坐標(biāo)

  9. contrib # 對PC的貢獻(xiàn)

  10. cos2 # 代表性的質(zhì)量

使用 PCA 進(jìn)行預(yù)測

在本節(jié)中,我們將展示如何僅使用先前執(zhí)行的 PCA 提供的信息來預(yù)測補(bǔ)充個體和變量的坐標(biāo)。

預(yù)測個人

  1. 數(shù)據(jù):第 24 到 27 行和第 1 到 10 列。新數(shù)據(jù)必須包含與用于計算 PCA 的活動數(shù)據(jù)具有相同名稱和順序的列(變量)。

  1. # ?預(yù)測個體的數(shù)據(jù)

  2. in <- dec[24:27, 1:10]

  1. 預(yù)測新個體數(shù)據(jù)的坐標(biāo)。使用 R 基函數(shù)?predict?():

predict

  1. 包括補(bǔ)充個人在內(nèi)的個人圖表:

  1. # 活躍個體的圖譜

  2. fvca_

  3. # 添加補(bǔ)充個體

  4. fdd(p)

個體的預(yù)測坐標(biāo)可以計算如下:

  1. 使用 PCA 的中心和比例對新的個人數(shù)據(jù)進(jìn)行中心化和標(biāo)準(zhǔn)化

  2. 通過將標(biāo)準(zhǔn)化值與主成分的特征向量(載荷)相乘來計算預(yù)測坐標(biāo)。

可以使用下面的 R 代碼:


  1. # 對補(bǔ)充個體進(jìn)行居中和標(biāo)準(zhǔn)化

  2. ined <- scale

  3. # 個體個體的坐標(biāo)


  4. rtaton

  5. ird <- t(apply)



補(bǔ)充變量

定性/分類變量

數(shù)據(jù)集?在第 13 列包含與比賽類型相對應(yīng)的?補(bǔ)充定性變量?。

定性/分類變量可用于按組為樣本著色。分組變量的長度應(yīng)與活躍個體的數(shù)量相同。

  1. groups <- as.factor

  2. fvnd(res.pca

  3. )

計算分組變量水平的坐標(biāo)。給定組的坐標(biāo)計算為組中個體的平均坐標(biāo)。

  1. library(magrittr) # 管道函數(shù)%>%。

  2. # 1. 單個坐標(biāo)

  3. getind(res)

  4. # 2. 組的坐標(biāo)

  5. coord %>% >

  6. as_data_frame%>%

  7. selec%>%

  8. mutate%>%

  9. group_b %>%

定量變量

數(shù)據(jù):11:12 欄。應(yīng)與活躍個體的數(shù)量相同(此處為 23)

  1. quup <- dec[1:23, 11:12]

  2. head(quup .sup)

給定定量變量的坐標(biāo)被計算為定量變量與主成分之間的相關(guān)性。


  1. # 預(yù)測坐標(biāo)并計算cos2

  2. quaord <- cor

  3. quaos2 <- qord^2

  4. # 變量的圖形,包括補(bǔ)充變量

  5. p <- fviar(reca)

  6. fvdd(p, quord, color ="blue", geom="arrow")


PCA 結(jié)果背后的理論

變量的 PCA 結(jié)果

在這里,我們將展示如何計算變量的 PCA 結(jié)果:坐標(biāo)、cos2 和貢獻(xiàn):

  • var.coord?= 載荷 * 分量標(biāo)準(zhǔn)差

  • var.cos2?= var.coord ^ 2

  • var.contrib. 變量對給定主成分的貢獻(xiàn)為(百分比):(var.cos2 * 100)/(成分的總 cos2)


  1. # 計算坐標(biāo)

  2. #::::::::::::::::::::::::::::::::::::::::

  3. logs <- rotation

  4. sdev <- sdev

  5. vad <- t(apply)

  1. # 計算 Cos2

  2. #::::::::::::::::::::::::::::::::::::::::

  3. vaos2 <- vard^2

  4. head(vars2[, 1:4])

  1. # 計算貢獻(xiàn)

  2. #::::::::::::::::::::::::::::::::::::::::

  3. comos2 <- apply

  4. cnrib <- function

  5. var.otrb <- t(apply)

  6. head(vaib[, 1:4])

PCA 結(jié)果

  • ind.coord?= res.pca$x

  • 個人的 Cos2。兩步:

    • 計算每個個體與 PCA 重心之間的平方距離:d2 = [(var1_ind_i - mean_var1)/sd_var1]^2 + …+ [(var10_ind_i - mean_var10)/sd_var10]^2 + …+..

    • 將 cos2 計算為 ind.coord^2/d2

  • 個人對主成分的貢獻(xiàn):100 * (1 / number_of_individuals)*(ind.coord^2 / comp_sdev^2)。請注意,每列所有貢獻(xiàn)的總和為 100

  1. # 個人的坐標(biāo)

  2. #::::::::::::::::::::::::::::::::::

  3. inod <- rpa$x

  4. head(in.c[, 1:4])

  1. # 個人的Cos2

  2. #:::::::::::::::::::::::::::::::::

  3. # 1.個體與#PCA重心之間距離的平方

  4. # PCA重心的平方

  5. ceer<- center

  6. scle<- scale


  7. d <- apply(decaive,1,gnce, center, scale)

  8. # 2. 計算cos2。每一行的總和為1

  9. is2 <- apply(inrd, 2, cs2, d2)

  10. head(is2[, 1:4])

  1. # 個人的貢獻(xiàn)

  2. #:::::::::::::::::::::::::::::::


  3. inib <- t(apply(iord, 1, conib,

  4. sdev, nrow))

  5. head(inib[, 1:4])

最受歡迎的見解

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

2.R語言高維數(shù)據(jù)的主成分pca、 t-SNE算法降維與可視化分析

3.主成分分析(PCA)基本原理及分析實(shí)例

4.基于R語言實(shí)現(xiàn)LASSO回歸分析

5.使用LASSO回歸預(yù)測股票收益數(shù)據(jù)分析

6.r語言中對lasso回歸,ridge嶺回歸和elastic-net模型

7.r語言中的偏最小二乘回歸pls-da數(shù)據(jù)分析

8.r語言中的偏最小二乘pls回歸算法

9.R語言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)


拓端tecdat|R語言主成分分析PCA譜分解、奇異值分解預(yù)測分析運(yùn)動員表現(xiàn)數(shù)據(jù)和降維可視的評論 (共 條)

分享到微博請遵守國家法律
晋州市| 阿拉善左旗| 游戏| 天峻县| 龙井市| 天等县| 玉田县| 兴化市| 全南县| 南昌市| 南漳县| 鲁山县| 阳谷县| 无为县| 佛冈县| 柘城县| 长乐市| 丰镇市| 顺义区| 潼关县| 洱源县| 翁源县| 东平县| 桐城市| 芒康县| 琼结县| 嘉义县| 闻喜县| 红原县| 桦甸市| 宁化县| 儋州市| 汉川市| 桑植县| 荔波县| 昆明市| 巴彦县| 松滋市| 建德市| 凌源市| 元朗区|