数据降维之主成分分析

  信息过度复杂是多变量数据最大的挑战之一。主成分分析和探索性因子分析是两种用来探索和简化多变量复 杂关系的常用方法。

主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变 量称为主成分。

 探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法。它通过寻找一组更小的、潜在的或 隐藏的结构来解释已观测到的、显式的变量间的关系。

 PCA与EFA模型间的区别

主成分分析(principal component analysis,简记PCA),是将多指标转化为少数几个综合指标的一种统计方法。

主成分分析是通过降维技术把多个变量化为少数几个主成分的方法,这些主成分保留原始变量的绝大部门信息,它们通常表示为原始变量的线性组合。

通过主成分分析,可以从事物错综复杂的关系中找出一些主要成分,从而能有效利用大量统计数据进行定量分析,揭示变量间的内在关系,得到一些对事物特征及其发展规律的深层次的启发,把研究工作引向深入

主成分分析就是一种通过降维技术把多个指标化为少数几个综合指标的统计分析方法。其基本思想是:设法将原来众多具有一定相关性的指标,重新组合成一组新的相互无关的综合指标,并代替原来的指标。 数学上的处理就是对原来的p个指标做线性组合,作为新的指标。第一个线性组合,即第一个综合指标记为y1,为了使该线性组合具有唯一性,要求在所有的线性组合中,y1的方差最大,即Var(y1)最大,它所包含的信息最多。如果第一主成分不足以代表原来p个指标的所有信息,再考虑选取第二个主成分y2,并要求y1已有的信息不出现在y2 中,即Cov(y1,y2)=0

主成分与原始变量之间的关系为: 1) 主成分保留了原始变量绝大多数信息; 2) 主成分个数远远少于原始变量的个数; 3) 各个主成分之间互不相关; 4) 每个主成分都是原始变量的线性组合。

例一:在某中学随机抽样某年级30名学生,测量其身高(X1)、体重(X2)、胸围(X3)和坐高(X4)。试对这30名中学生身体四项指标数据做主成分分析

# 例1:中学生身体四项指标的主成分分析
#### 用数据框形式输入数据
student<-data.frame(
  X1=c(148, 139, 160, 149, 159, 142, 153, 150, 151, 139, 
       140, 161, 158, 140, 137, 152, 149, 145, 160, 156, 
       151, 147, 157, 147, 157, 151, 144, 141, 139, 148), 
  X2=c(41, 34, 49, 36, 45, 31, 43, 43, 42, 31, 
       29, 47, 49, 33, 31, 35, 47, 35, 47, 44,
       42, 38, 39, 30, 48, 36, 36, 30, 32, 38),
  X3=c(72, 71, 77, 67, 80, 66, 76, 77, 77, 68, 
       64, 78, 78, 67, 66, 73, 82, 70, 74, 78, 
       73, 73, 68, 65, 80, 74, 68, 67, 68, 70),
  X4=c(78, 76, 86, 79, 86, 76, 83, 79, 80, 74, 
       74, 84, 83, 77, 73, 79, 79, 77, 87, 85, 
       82, 78, 80, 75, 88, 80, 76, 76, 73, 78)
)
#### 作主成分分析
student.pr<-princomp(student, cor=TRUE)
#### 并显示分析结果
summary(student.pr,loadings = TRUE)
#### 作预测
predict(student.pr)
#### 画碎石图
screeplot(student.pr)
screeplot(student.pr,type="lines")
biplot(student.pr)
## princomp(~X1+X2+X3+X4,data=student, cor=T)

例二:

X<-data.frame(
  x1=c(2959.19, 2459.77, 1495.63, 1046.33, 1303.97, 1730.84, 
       1561.86, 1410.11, 3712.31, 2207.58, 2629.16, 1844.78, 
       2709.46, 1563.78, 1675.75, 1427.65, 1783.43, 1942.23, 
       3055.17, 2033.87, 2057.86, 2303.29, 1974.28, 1673.82, 
       2194.25, 2646.61, 1472.95, 1525.57, 1654.69, 1375.46, 
       1608.82), 
  x2=c(730.79, 495.47, 515.90, 477.77, 524.29, 553.90, 492.42, 
       510.71, 550.74, 449.37, 557.32, 430.29, 428.11, 303.65, 
       613.32, 431.79, 511.88, 512.27, 353.23, 300.82, 186.44, 
       589.99, 507.76, 437.75, 537.01, 839.70, 390.89, 472.98, 
       437.77, 480.99, 536.05),
  x3=c(749.41, 697.33, 362.37, 290.15, 254.83, 246.91, 200.49, 
       211.88, 893.37, 572.40, 689.73, 271.28, 334.12, 233.81, 
       550.71, 288.55, 282.84, 401.39, 564.56, 338.65, 202.72, 
       516.21, 344.79, 461.61, 369.07, 204.44, 447.95, 328.90, 
       258.78, 273.84, 432.46), 
  x4=c(513.34, 302.87, 285.32, 208.57, 192.17, 279.81, 218.36, 
       277.11, 346.93, 211.92, 435.69, 126.33, 160.77, 107.90, 
       219.79, 208.14, 201.01, 206.06, 356.27, 157.78, 171.79, 
       236.55, 203.21, 153.32, 249.54, 209.11, 259.51, 219.86, 
       303.00, 317.32, 235.82),
  x5=c(467.87, 284.19, 272.95, 201.50, 249.81, 239.18, 220.69, 
       224.65, 527.00, 302.09, 514.66, 250.56, 405.14, 209.70, 
       272.59, 217.00, 237.60, 321.29, 811.88, 329.06, 329.65, 
       403.92, 240.24, 254.66, 290.84, 379.30, 230.61, 206.65, 
       244.93, 251.08, 250.28),
  x6=c(1141.82, 735.97, 540.58, 414.72, 463.09, 445.20, 459.62, 
       376.82, 1034.98, 585.23, 795.87, 513.18, 461.67, 393.99, 
       599.43, 337.76, 617.74, 697.22, 873.06, 621.74, 477.17, 
       730.05, 575.10, 445.59, 561.91, 371.04, 490.90, 449.69, 
       479.53, 424.75, 541.30),
  x7=c(478.42, 570.84, 364.91, 281.84, 287.87, 330.24, 360.48, 
       317.61, 720.33, 429.77, 575.76, 314.00, 535.13, 509.39, 
       371.62, 421.31, 523.52, 492.60, 1082.82, 587.02, 312.93, 
       438.41, 430.36, 346.11, 407.70, 269.59, 469.10, 249.66, 
       288.56, 228.73, 344.85),
  x8=c(457.64, 305.08, 188.63, 212.10, 192.96, 163.86, 147.76, 
       152.85, 462.03, 252.54, 323.36, 151.39, 232.29, 160.12, 
       211.84, 165.32, 182.52, 226.45, 420.81, 218.27, 279.19, 
       225.80, 223.46, 191.48, 330.95, 389.33, 191.34, 228.19, 
       236.51, 195.93, 214.40),
  row.names = c("北京", "天津", "河北", "山西", "内蒙古", "辽宁", "吉林", 
                "黑龙江", "上海", "江苏", "浙江", "安徽", "福建", "江西", 
                "山东",  "河南", "湖北", "湖南", "广东", "广西", "海南", 
                "重庆", "四川", "贵州", "云南", "西藏", "陕西", "甘肃", 
                "青海", "宁夏", "新疆")
)
pca = princomp(X,cor = T)
pca
pca$loadings
screeplot(pca,type = "lines")
pca$scores

在某中学随机抽样某年级30名学生,测量其身高(X1)、体重(X2)、胸围(X3)和坐高(X4)。试对这30名中学生身体四项指标数据做主成分分析。

#### 输入数据, 按下三角输入, 构成向量
x<-c(1.00, 
     0.79, 1.00, 
     0.36, 0.31, 1.00, 
     0.96, 0.74, 0.38, 1.00, 
     0.89, 0.58, 0.31, 0.90, 1.00, 
     0.79, 0.58, 0.30, 0.78, 0.79, 1.00, 
     0.76, 0.55, 0.35, 0.75, 0.74, 0.73, 1.00, 
     0.26, 0.19, 0.58, 0.25, 0.25, 0.18, 0.24, 1.00,
     0.21, 0.07, 0.28, 0.20, 0.18, 0.18, 0.29,-0.04, 1.00,
     0.26, 0.16, 0.33, 0.22, 0.23, 0.23, 0.25, 0.49,-0.34, 1.00, 
     0.07, 0.21, 0.38, 0.08,-0.02, 0.00, 0.10, 0.44,-0.16, 0.23, 
     1.00, 
     0.52, 0.41, 0.35, 0.53, 0.48, 0.38, 0.44, 0.30,-0.05, 0.50, 
     0.24, 1.00, 
     0.77, 0.47, 0.41, 0.79, 0.79, 0.69, 0.67, 0.32, 0.23, 0.31, 
     0.10, 0.62, 1.00, 
     0.25, 0.17, 0.64, 0.27, 0.27, 0.14, 0.16, 0.51, 0.21, 0.15, 
     0.31, 0.17, 0.26, 1.00, 
     0.51, 0.35, 0.58, 0.57, 0.51, 0.26, 0.38, 0.51, 0.15, 0.29, 
     0.28, 0.41, 0.50, 0.63, 1.00, 
     0.21, 0.16, 0.51, 0.26, 0.23, 0.00, 0.12, 0.38, 0.18, 0.14, 
     0.31, 0.18, 0.24, 0.50, 0.65, 1.00)
#### 输入变量名称
names<-c("X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9",  
         "X10", "X11", "X12", "X13", "X14", "X15", "X16")
#### 将矩阵生成相关矩阵
R<-matrix(0, nrow=16, ncol=16, dimnames=list(names, names))
for (i in 1:16){
  for (j in 1:i){
    R[i,j]<-x[(i-1)*i/2+j]; R[j,i]<-R[i,j]
  }
}
#### 作主成分分析
pr<-princomp(covmat=R); load<-loadings(pr)
#### 画散点图
plot(load[,1:2]); text(load[,1], load[,2], adj=c(-0.4, 0.3))
发布了65 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sereasuesue/article/details/90286225