方法介绍

PCA主成分分析法是利用降维的思想,把多指标转化为几个综合指标的多元统计分析方法[1,2,3]。

PCA(principal components analysis)即主成分分析技术,又称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标。

在统计学中,主成分分析PCA是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用于减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。

💡简而言之,就是当数据维度过高,就很难用肉眼直接观察彼此差异,为了能够从整体综合地观察彼此差异,就需要将高维度数据降维至二维或三维便于观察和比较分析。

教程及代码

准备

  • 软件:R语言

  • 库:factoextra

  • 其他准备:数据文件

视频教程

视频教程引用up主小明的数据笔记本的视频教程,点击查看原视频

R语言代码

将以下代码复制到R语言中运行:

# PCA (中文:主成分分析)小明的数据笔记本:https://www.bilibili.com/video/BV1Dp4y1e7yd/
install.packages("factoextra")
library(factoextra)

iris   #内置鸢尾花数据集
View(iris)  #查看 
getwd()  # 查看工作目录
head(iris) # 查看前六行数据
iris.pca=prcomp(iris[,1:4],center=F) # 重点1

# 查看PCA后的结果
summary(iris.pca) 

fviz_eig(iris.pca, addlabels = T)  # 以图表形式来展现选择PC1/PC1,2/PC1,2,3,..N (选择标准:>80%即可) 

names(iris.pca) # 表头
iris.pca$x  # 查看表头x里存的数据  
iris.pca$rotation
head(iris.pca$rotation)
head(iris)
sum(iris.pca$rotation[,1]*iris[1,1:4])
head(iris.pca$x)

# Dessiner
fviz_pca_ind(iris.pca, col.ind= iris$Species, addEllipses = T,geom = ("point"))

分步解析

1.安装并加载factoextra

install.packages("factoextra")
library(factoextra)

2.查看工作目录

此步骤需要将准备好的数据表格放入工作目录中,

数据表格模板:https://kdocs.cn/l/cdiAq1R7nD2k

getwd()  # 查看工作目录

3.将数据模板导入到R中并查看

df<-read.csv("文件名.csv",header=T, row.names = 1,fileEncoding = 'GBK') # 查看前六行数据
head(df)

4.主成分分析

自定义.pca<-prcomp(df[选取行-全部数据为空,选取列-1:n],center=T) # 重点1

示例:假如数据文件中有六个维度,需要选取全部数据,那么代码为:

自定义.pca<-prcomp(df[,1:6],center=T) # 重点1

5.查看结果并生成碎石图

查看Cumulative Proportion中PC2是否大于80%,大于则代表降维包含了大部分信息

# 查看PCA后的结果
summary(test0330.pca) 
fviz_eig(test0330.pca, addlabels = T)  # 以图表形式来展现选择PC1/PC1,2/PC1,2,3,..N (选择标准:>80%即可)

注意:如果fviz_eig没有反应,需要运行重启代码:

dev.off()
dev.new() 

6.查看主成分分析的结果数据集

names(自定义.pca) # 表头
自定义.pca$x  # 查看表头x里存的数据

7.绘图

注意:Group=分组

# Dessiner
fviz_pca_ind(自定义.pca, col.ind= df$Group, addEllipses = T,geom = ("point"))

参考文献

  1. 宋丽,刘颖,马艳军.用计量风格学方法考察《水浒传》的作者争议问题——以罗贯中《平妖传》为参照[J].中文信息学报,2022,36(08):163-174.

  2. 孙萌,刘晓芳.语料库文体学视阈下日本近现代文学的异质性特征研究——以太宰治《人间失格》为例[J].解放军外国语学院学报,2022,45(04):152-159.

  3. 虞晓芬,傅玳.多指标综合评价方法综述[J].统计与决策,2004,(11):119-121.