• R语言书籍学习04 《多元统计分析 R与Python的实现》


    多元统计分析 R与Python 的实现

    笔记内容来源于书籍。

    第1章 前言

    R软件是由统计学家编写,主要用于数据分析,但Python是通用软件,可以完成任何计算机能够完成的任务。相比于R,Python的帮助文档不够丰富,输出的统计结果也不如R软件全面。

    第2章 矩阵代数回顾

    [ a 11 a 12 . . . a 14 a 21 a 22 . . . a 24 . . . . . . . . . . . . a m 1 a m 2 . . . a m n ] [a11a12...a14a21a22...a24............am1am2...amn]

    a11a21...am1a12a22...am2............a14a24...amn

    • 一堆概念
      转置
      行向量、列向量
      对称矩阵
      上三角矩阵
      下三角矩阵
      对角矩阵
      单位矩阵
      正交矩阵
      矩阵的秩
      矩阵的迹

    用初等变换将矩阵变换为行阶梯型矩阵,非零行的数量就是秩。

    第3章 回归

    第5章 主成分分析

    基本介绍

    主成分分析(principal component analysis)是一种降维方法,数据的性质决定能否进行主成分分析,以及使用该分析是否有意义。

    • 完全独立的变量没有降维的必要性。
    • 不相关的白能量将组成新的线性组合,这些组合成为成分,在因子分析中也称为因子。
    • 一般来说,因子分析降维的效果优于主成分费。但主成分分析更加简单,因子分析需要很强的关于模型的数学假定。

    计算过程

    • 步骤1: 求协方差矩阵及样本相关阵的特征值和特征向量
    • 步骤2:求各个成分的贡献率和累积贡献率。步骤2一定要做一个碎石图,用来确定主成分分析的变量个数
    • 步骤3: 根据贡献率选取少数重要成分(在主成分分析中选取多少成分说法不一,有的说成分累积贡献率要达到70%以上,有的则要求更高)
    • 步骤4: 主成分和原始变量的相关系数计算与载荷图

    R语言代码

    library("FactoMineR")
    library("factoextra")
    u<-w[,-c(12:15)]
    row.names(u)=u[,1]
    u.r<-PCA(u[,1],scale.unit=TRUE, graph=FALSE)
    
    print(u.r)
    
    fviz_eig(u.r, addlabels=TRUE, ylim=c(0,50))
    (u.eigen<-get_eigenvalue(u.r))
    fviz_contrib(u。r,choice="var",axes=1)
    fviz_pca_var(u.r)
    fviz_pca-var(u.r,col.war="cos2",
    		gradient.cols=c"#00AFBB","#E7B800","#FC4E07",repel=TRUE)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    其他介绍

    主成分分析在图像处理中的应用:主要进行图像压缩和识别。

    第4章 分类

    和回归分析类似,分类是统计学习中的有指导(或有监督)学习之一。在经典统计中,分类被称为判别分析。而聚类是无指导学习。

    对于两水平分类,经典统计主要用Logistic回归方法(二分类)。

    分类与聚类的区别

    分类和聚类看上去很像,但聚类是无监督学习,训练集数据本身的观测值并没有属于某一群的标签。

    分类的一些算法

    在分类的算法上,有经典的判别分析。包括线性判别分析和二次判别分析。
    二分类因变量的Logistic回归。
    判断线性回归的准确性即灵敏性,用ROC曲线很有必要。
    机器学习算法:adaboost,随机森林算法,决策树,支持向量机。

    第5章 主成分分析

    降维就是用根据原始变量构造的少数变量来代替多数变量。
    主成分分析的在以下条件下无意义:

    • 数据各变量不相关
      主成分分析是在变量相关的时候寻找不相关的线性组合。这些不相关的组合实际上形成了新的变量,在主成分分析中,这些组合称为成分,而在因子分析中称为因子。
      一般而言,因子分析降维的效果可能优于主成分分析,主成分分析的优点是原理简单,计算容易。
      主成分分析涉及的图件有:
    • 崖底碎石图、载荷图、主成分贡献图

    第6章 因子分析

    主成分分析主要为了降维,但是因子分析也可以用于降维。
    因子分析主要用于挖掘隐变量,称之为因子。
    回归或者分类方法可以用来研究因变量和自变量之间的关系。因子分析则用来研究许多因变量之间的关系,目的是找到影响这些因变量的不可观测的独立变量,而由因子分析得到的结果大督导室假设性的或者实验性的,这是由于人们不能观测到这些自变量。

    第7章 聚类分析

    聚类分析和分类方法没有必然联系。聚类分析涉及到一个重要的计算就是“距离”的计算,常见的包括:
    欧氏距离: ∥ x − y ∥ 2 = ∑ i = 1 p ( x i − y i ) 2 xy

    _2=\sqrt{\sum_{i=1}^{p}(x_i-y_i)^2} xy 2=i=1p(xiyi)2
    平方欧氏距离、Manhattan距离、Chebychev距离、Mahalanobis距离等。
    除了点之间的距离之外,聚类分析的某些方法还需要定义类间距离。

    分层聚类

    分层聚类有两种形式,一种是聚合形式,另一种是拆分形式。例如聚合形式是先把每一个观测值看成1类,在根据点间距离逐步合并。

    聚类数目的选择

    • Gap方法
      Gap方法就是计算聚类度量的一个你和有毒度量。
      使用cluser程序包的clusGap可以确定聚类个数
      需要找到曲线的最大值,而且在其一个标准差之内没有其他的点。
    library("cluster")
    (z<-clusGap(w,FUN=Means,5))
    plot(z,main="Gap statistic")
    
    • 1
    • 2
    • 3
    • 轮廓法
      轮廓值中较高的值便是该对象与自己的集群很好地匹配。

    • NbClust程序包
      可以直接生成聚类数目的推荐个数。

    library("NbClust")
    a<-NbClust(scale(w1),distance="euclidean",min.nc=2,max.nc=8,method="complete",index="all")
    
    • 1
    • 2

    第8章 典型相关分析
    典型相关分析用于识别和测量两组变量之间的关联。

    第9章 对应分析

    属于可视化探索性数据分析,可描述二维和多维列联表数据。

    第10章 多维尺度变换

    多维尺度变换也成为多维标度或多维缩放,是一组对象之间的距离或者不相似度的直观表示,最典型的对象是地理位置,当然也可以是观点、颜色、面孔或者任何种类的实体或者抽象的概念。

  • 相关阅读:
    【网络编程】套接字编程——TCP通信
    后台启动tomcat
    如何将代码以高亮的方式:插入到 word 文件中
    【Python 之 Numpy】创建数组
    Powershell 一键安装 virtio_qemu_agent
    内存泄漏检测C版小工具
    深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化
    Python期末复习题:组合数据类型
    【算法训练-二分查找 一】二分查找、在排序数组中查找元素的第一个和最后一个位置
    JVM基础知识(一)jvm内存结构
  • 原文地址:https://blog.csdn.net/qq_41520353/article/details/125877215