R语言与概率统计(六) 主成分分析 因子分析
超高维度分析,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语言与概率统计(六) 主成分分析 因子分析相关推荐
- R语言与概率统计(四) 判别分析(分类)
Fisher就是找一个线L使得组内方差小,组间距离大.即找一个直线使得d最大. ####################################1.判别分析,线性判别:2.分层抽样#insta ...
- R语言与概率统计(三) 多元统计分析(中)
模型修正 #但是,回归分析通常很难一步到位,需要不断修正模型 ###############################6.9通过牙膏销量模型学习模型修正 toothpaste<-data. ...
- 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 目录
- R语言的各种统计分布函数
转载自品略图书馆 http://www.pinlue.com/article/2018/09/1613/487222559948.html R语言的各种统计分布函数 1.二项分布Binomial di ...
- R语言使用psych包进行探索性因子分析EFA、使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix into correlation matrix)
R语言使用psych包进行探索性因子分析EFA.使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix transform into correlati ...
- R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息、数值数据的描述性统计(Numerical data)、离散型数据的描述性统计(Categorical)
R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息.数值数据的描述性统计(Numerical data).离散型数据的描述性统计(Categorical) 目录
- R语言Wilcoxon Signed-rank统计分布函数(dsignrank, psignrank, qsignrank rsignrank )实战
R语言Wilcoxon Signed-rank统计分布函数(dsignrank, psignrank, qsignrank & rsignrank )实战 目录 R语言Wilcoxon Sig ...
- R语言nchar函数统计字符串中字符个数实战
R语言nchar函数统计字符串中字符个数实战 目录 R语言nchar函数统计字符串中字符个数实战 #基础语法
- R语言基础之第六部分 分类(史上最全含ddply、aggregate、split、by)
R语言基础之第六部分 分类(史上最全含ddply.aggregate.split.by) 数据: 某市2014年-2018年空气质量指数日数据,需要按年分类计算每年 warm值为1和 0的均值. 数据 ...
最新文章
- ORA-00257 解决办法
- Workbooks 对象的 Open 方法参数说明
- 关于FCN的数据集着色说明
- 为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...
- RocketMQ消息存储结构分析及相对于Kafka的优势
- crontab java job_crontab 定时任务
- XX公司定制开发的仓库管理系统
- 可视化——matploblib 解决中文显示的问题
- IT战略规划与企业架构
- linux下qt程序以管理员运行,如何让QT程序以管理员权限运行(UAC)
- Mac环境变量的配置
- tp5商城购物系统(后台管理+个人中心+购物车)
- Openssl win8 用法
- 守护神 Supervisor
- 开始混CSDN了,大器晚成……
- 【成功】qlv转MP4,超简单方法
- 简单模拟struts框架,了解strusts的框架实现机制
- [转]脑梗塞的诊治指南
- ubuntu安装支持极点中文 支持拼音五笔混输的方法
- 学习FPGA有必要写SDRAM控制器吗?
热门文章
- 利用vim查看日志,快速定位问题《转载》
- win10 + GTX1080配置TensorFlow GPU开发环境
- HDFS2.X架构及工作原理
- 关于js里的document.compatmode
- 简单的小程序实现ATM机操作
- 用原生JavaScript实现图片瀑布流的浏览效果
- Android4.4源码编译(Ubuntu1204/1404)
- C语言经典程序之:求十个整数中的最大最小数并输出(指针)
- ASP.NET Core EFCore 之Code First
- Python 非空即真、列表生成式、三元表达式 day3