zoukankan      html  css  js  c++  java
  • [读书笔记] R语言实战 (十四) 主成分和因子分析

    主成分分析和探索性因子分析是用来探索和简化多变量复杂关系的常用方法,能解决信息过度复杂的多变量数据问题。

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

    探索性因子分析EFA:用来发现一组变量的潜在结构的方法,通过寻找一组更小的,潜在的隐藏的结构来揭示已观测到的,显式的变量间的关系. 

    R基础安装包中提供了PCA和EFA函数分别为princoomp()和factanal(), psych包中也提供了相关函数,它提供了比基础函数更加丰富和有用的选项.

    主成分分析:

    判断主成分的个数:1) 先验知识, 2) 解释变量方差的积累值的阈值来判断需要的主成分数,3) 检查变量间k*k 相关系数矩阵来判断保留的主成分数

    principal(r, nfactors=, rotate=, score = )

    r是相关系数矩阵或者原始数据矩阵

    nfactors 设定主成分数

    rotate 指定旋转的方法(默认,最大方差旋转)

    scores 设定是否需要计算主成分得分(默认不需要)

    library(psych)
    #这个例子只有一个主成分
    #删除CONT变量(下标-1),生成三种评价指标
    fa.parallel(USJudgeRatings[,-1],fa='pc',n.iter=100,show.legend = FALSE)
    #图中表明选择一个主成分便可,之后使用principal()函数挑出相应的主成分
    pc <- principal(USJudgeRatings[,-1],nfactors = 1,scores=TRUE)
    pc
    #从原始数据中获得成分得分
    pc$scores
    #这个例子有2个主成分
    fa.parallel(Harman23.cor$cov,n.obs=302,fa='pc',n.iter=100,show.legend = FALSE)
    rc <- principal(Harman23.cor$cov,nfactors=2,rotate="varimax",scores=TRUE)
    rc
    #主成分分析基于相关系数矩阵时,原始数据不可用
    round(unclass(rc$weights),2)
    attach(Harman23.cor)
    #利用以下公式
    #PC1 = 0.28*cov$height + 0.30*arm.span + 0.30*foream + 0.29*lower.leg - 0.0
    #6*weight - 0.08*bitro.diameter - 0.10*chest.girth-0.04*chest.width
    

    探索性因子分析:

    EFA目标是通过发掘隐藏在数据下的一组较少的,更为基本的无法观测的变量来揭示一组可观测变量的相关性。这些虚拟的,无法观测的变量称为因子。

    library(psych)
    options(digits=2)
    #数据集ability.cov提供变量的协方差矩阵
    covariances<-ability.cov$cov
    #用cov2cor将其转化为相关系数矩阵
    correlations<-cov2cor(covariances)
    correlations
    #判断要提取的引子数
    fa.parallel(correlations,n.obs = 112,fa="both",n.iter=100)
    #用fa函数获取相应的结果
    fa<-fa(correlations, nfactors=2,rotate="none",fm='pa')
    fa
    
  • 相关阅读:
    【Python之路】特别篇--Python装饰器
    【Python之路】特别篇--Python文件操作
    解决centos7命令行中文乱码
    微信小程序,错误{"errMsg":"request:fail 小程序要求的 TLS 版本必须大于等于 1.2"}
    nodejs 下载远程图片
    屏蔽ps联网激活
    RTMP开发记录 测试服务器搭建篇
    微信公众号文章爬虫抓取实现原理!
    如何更改vs2013中git的远程仓库url地址
    用过企业微信APP 后,微信接收不到消息,解决方案
  • 原文地址:https://www.cnblogs.com/vincentcheng/p/7890924.html
Copyright © 2011-2022 走看看