超高维度分析,N*P的矩阵,N为样本个数,P为指标,N<<P

PCA:抓住对y对重要的影响因素

主要有三种:PCA,因子分析,回归方程+惩罚函数(如LASSO)

为了降维,用更少的变量解决问题,如果是二维的,那么就是找到一条线,要使这些点再线上的投影最大,投影最大,就是越分散,就考虑方差最大。

> conomy<-data.frame(
+   x1=c(149.3, 161.2, 171.5, 175.5, 180.8, 190.7,
+        202.1, 212.4, 226.1, 231.9, 239.0),
+   x2=c(4.2, 4.1, 3.1, 3.1, 1.1, 2.2, 2.1, 5.6, 5.0, 5.1, 0.7),
+   x3=c(108.1, 114.8, 123.2, 126.9, 132.1, 137.7,
+        146.0, 154.1, 162.3, 164.3, 167.6),
+   y=c(15.9, 16.4, 19.0, 19.1, 18.8, 20.4, 22.7,
+       26.5, 28.1, 27.6, 26.3)
+ )
> #### 作线性回归
> lm.sol<-lm(y~x1+x2+x3, data=conomy)
> summary(lm.sol)Call:
lm(formula = y ~ x1 + x2 + x3, data = conomy)Residuals:Min       1Q   Median       3Q      Max
-0.52367 -0.38953  0.05424  0.22644  0.78313 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) -10.12799    1.21216  -8.355  6.9e-05 ***
x1           -0.05140    0.07028  -0.731 0.488344
x2            0.58695    0.09462   6.203 0.000444 ***
x3            0.28685    0.10221   2.807 0.026277 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.4889 on 7 degrees of freedom
Multiple R-squared:  0.9919,    Adjusted R-squared:  0.9884
F-statistic: 285.6 on 3 and 7 DF,  p-value: 1.112e-07> #### 作主成分分析
> conomy.pr<-princomp(~x1+x2+x3, data=conomy, cor=T)
> summary(conomy.pr, loadings=TRUE)
Importance of components:Comp.1    Comp.2       Comp.3
Standard deviation     1.413915 0.9990767 0.0518737839
Proportion of Variance 0.666385 0.3327181 0.0008969632
Cumulative Proportion  0.666385 0.9991030 1.0000000000Loadings:Comp.1 Comp.2 Comp.3
x1  0.706         0.707
x2        -0.999
x3  0.707        -0.707
> #### 预测测样本主成分, 并作主成分分析
> pre<-predict(conomy.pr)
> conomy$z1<-pre[,1]
> conomy$z2<-pre[,2]
> lm.sol<-lm(y~z1+z2, data=conomy)
> summary(lm.sol)Call:
lm(formula = y ~ z1 + z2, data = conomy)Residuals:Min       1Q   Median       3Q      Max
-0.89838 -0.26050  0.08435  0.35677  0.66863 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept)  21.8909     0.1658 132.006 1.21e-14 ***
z1            2.9892     0.1173  25.486 6.02e-09 ***
z2           -0.8288     0.1660  -4.993  0.00106 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.55 on 8 degrees of freedom
Multiple R-squared:  0.9883,    Adjusted R-squared:  0.9853
F-statistic: 337.2 on 2 and 8 DF,  p-value: 1.888e-08> #### 作变换, 得到原坐标下的关系表达式
> beta<-coef(lm.sol); A<-loadings(conomy.pr)
> x.bar<-conomy.pr$center; x.sd<-conomy.pr$scale
> coef<-(beta[2]*A[,1]+ beta[3]*A[,2])/x.sd
> beta0 <- beta[1]- sum(x.bar * coef)
> c(beta0, coef)
(Intercept)          x1          x2          x3
-9.13010782  0.07277981  0.60922012  0.10625939

转载于:https://www.cnblogs.com/caiyishuai/p/11169073.html

R语言与概率统计(六) 主成分分析 因子分析相关推荐

  1. R语言与概率统计(四) 判别分析(分类)

    Fisher就是找一个线L使得组内方差小,组间距离大.即找一个直线使得d最大. ####################################1.判别分析,线性判别:2.分层抽样#insta ...

  2. R语言与概率统计(三) 多元统计分析(中)

    模型修正 #但是,回归分析通常很难一步到位,需要不断修正模型 ###############################6.9通过牙膏销量模型学习模型修正 toothpaste<-data. ...

  3. R语言使用psych包进行主成分分析PCA和探索性因子分析EFA的常用函数介绍:principal、fa、fa.parallel、factor.plot、fa.diagram、scree

    R语言使用psych包进行主成分分析PCA和探索性因子分析EFA的常用函数介绍:principal.fa.fa.parallel.factor.plot.fa.diagram.scree 目录

  4. R语言的各种统计分布函数

    转载自品略图书馆 http://www.pinlue.com/article/2018/09/1613/487222559948.html R语言的各种统计分布函数 1.二项分布Binomial di ...

  5. R语言使用psych包进行探索性因子分析EFA、使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix into correlation matrix)

    R语言使用psych包进行探索性因子分析EFA.使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix transform into correlati ...

  6. R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息、数值数据的描述性统计(Numerical data)、离散型数据的描述性统计(Categorical)

    R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息.数值数据的描述性统计(Numerical data).离散型数据的描述性统计(Categorical) 目录

  7. R语言Wilcoxon Signed-rank统计分布函数(dsignrank, psignrank, qsignrank rsignrank )实战

    R语言Wilcoxon Signed-rank统计分布函数(dsignrank, psignrank, qsignrank & rsignrank )实战 目录 R语言Wilcoxon Sig ...

  8. R语言nchar函数统计字符串中字符个数实战

    R语言nchar函数统计字符串中字符个数实战 目录 R语言nchar函数统计字符串中字符个数实战 #基础语法

  9. R语言基础之第六部分 分类(史上最全含ddply、aggregate、split、by)

    R语言基础之第六部分 分类(史上最全含ddply.aggregate.split.by) 数据: 某市2014年-2018年空气质量指数日数据,需要按年分类计算每年 warm值为1和 0的均值. 数据 ...

最新文章

  1. ORA-00257 解决办法
  2. Workbooks 对象的 Open 方法参数说明
  3. 关于FCN的数据集着色说明
  4. 为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...
  5. RocketMQ消息存储结构分析及相对于Kafka的优势
  6. crontab java job_crontab 定时任务
  7. XX公司定制开发的仓库管理系统
  8. 可视化——matploblib 解决中文显示的问题
  9. IT战略规划与企业架构
  10. linux下qt程序以管理员运行,如何让QT程序以管理员权限运行(UAC)
  11. Mac环境变量的配置
  12. tp5商城购物系统(后台管理+个人中心+购物车)
  13. Openssl win8 用法
  14. 守护神 Supervisor
  15. 开始混CSDN了,大器晚成……
  16. 【成功】qlv转MP4,超简单方法
  17. 简单模拟struts框架,了解strusts的框架实现机制
  18. [转]脑梗塞的诊治指南
  19. ubuntu安装支持极点中文 支持拼音五笔混输的方法
  20. 学习FPGA有必要写SDRAM控制器吗?

热门文章

  1. 利用vim查看日志,快速定位问题《转载》
  2. win10 + GTX1080配置TensorFlow GPU开发环境
  3. HDFS2.X架构及工作原理
  4. 关于js里的document.compatmode
  5. 简单的小程序实现ATM机操作
  6. 用原生JavaScript实现图片瀑布流的浏览效果
  7. Android4.4源码编译(Ubuntu1204/1404)
  8. C语言经典程序之:求十个整数中的最大最小数并输出(指针)
  9. ASP.NET Core EFCore 之Code First
  10. Python 非空即真、列表生成式、三元表达式 day3