前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多元统计分析:对应分析

多元统计分析:对应分析

作者头像
yiyun
发布2022-04-01 13:59:33
9840
发布2022-04-01 13:59:33
举报
文章被收录于专栏:yiyun 的专栏

简介

(Correspondence Analysis, CA)

三种关系:

  • Q型:样品 间
  • R型:变量 间
  • 对应型:样品 与 变量 间

Q:对应分析 比较 因子分析? A:因子分析中,可用较少公共因子 来提取 样本数据 绝大部分信息,以便通过较少因素而获得足够信息, 缺点:对于R型、Q型因子分析,即对 变量、样本 分别做因子分析,并没有考虑变量与样本间联系,损失了一部分信息。 而且,在实际问题中,样本数目远大于变量数目,在Q型因子分析时,计算量远大于R型因子分析。 对应分析就是 通过 数学变换,把 Q型 、R型 因子分析 结合起来

卡方效验

  • H_0: 相互独立
  • H_1: 相互影响(不独立)
代码语言:javascript
复制
library(openxlsx)
d10.1 = read.xlsx('../Res/mvstats5.xlsx', 'd10.1', rowNames=T)

chisq.test(d10.1) # 卡方效验

# PS:chi 卡  s 方 q 查询

有结果可知:

由于 X-squared=118.1p-value<0.001,所以 拒绝原假设 H_0接受 H_1,认为因素A和因素B不独立

即收入与满意度 之间 有密切联系,可以进一步做对应分析。

注意:相关性 与 独立 不是一回事 相关性检验 仅表 线性相关,对于非线性无作用

对应分析

代码语言:javascript
复制
library(ca)
cal = ca(d10.1)
summary(cal)

value 为特征值,cum% 为累积贡献率

代码语言:javascript
复制
cal$rowcoord # 行坐标

Q型因分、因子载荷矩阵(loadings)

代码语言:javascript
复制
cal$colcoord # 列坐标

R型因分

根据上述数据 作 对应分析图

代码语言:javascript
复制
plot(cal)

见图,相似的类会聚在一起,

对应图分析

据上图 可 将 样本点、变量 分为 3组:

  1. 变量:< 1 万 样品:有些不满、很不满意
  2. 变量:1 万 - 3 万、 3 万 - 5万 样品:比较满意
  3. 变量:5 万 - 10万、>10万 样品:很满意

例 10.2

对应分析

代码语言:javascript
复制
d10.2 = read.xlsx('../Res/mvstats5.xlsx', 'd10.2', rowNames=T)
ca2 = ca(d10.2);ca2

对应分析图

代码语言:javascript
复制
plot(ca2)
代码语言:javascript
复制
summary(ca2)

案例

对应分析在农民收入分析中的应用

代码语言:javascript
复制
library(openxlsx)

Case10 = read.xlsx('../Res/mvcase5.xlsx', 'Case10', rowNames=T);Case10
代码语言:javascript
复制
C10d.1 = Case10[1:6,] # 文化程度数据
chisq.test(C10d.1)
代码语言:javascript
复制
C10d.2 = Case10[7:13,] # 总收入数据
chisq.test(C10d.2)
代码语言:javascript
复制
library(ca)

Ca1 = ca(C10d.1);summary(Ca1)
代码语言:javascript
复制
Ca1$rowcoord[,1:2]
Ca1$colcoord[,1:2]
代码语言:javascript
复制
plot(Ca1)

图10-2

据图 可将 样品 与 变量 分为三类:

代码语言:javascript
复制
Ca2 = ca(C10d.2);summary(Ca2)
代码语言:javascript
复制
Ca2$rowcoord[,1:2]
Ca2$colcoord[,1:2]
代码语言:javascript
复制
plot(Ca2)

据图 可将 广东省农民 的收入来源与收入水平 的 相关关系 分为三类

补充

R语言中 数据标准化 scale()

默认,scale() 对矩阵或数据框 的指定列 进行 均值为0、标准差为1 的标准化

代码语言:javascript
复制
newdata <- scale(mydata)
  1. 对每一列 进行 任意均值和标准差 的标准化
代码语言:javascript
复制
newdata <- scale(mydata)*SD + M

M: 想要的均值

SD: 想要的标准差

注意:在非数值型的列上使用scale() 将会报错

  1. 对指定列 而不是 整个矩阵 或 数据框 进行标准化,使用下方代码 此句 将变量 myvar 标准化为均值 50、标准差为 10 的变量
代码语言:javascript
复制
newdata <- transform(mydata, myvar = scale(myvar)*10+50)

经数据标准化后(均值0,标准差1 -> 方差1),协方差矩阵 等同 相关系数矩阵 标准差 就是 方差开根号 理由如下:

毫无疑问,分母 也可理解为 X的标准差 × Y的标准差

而经数据标准化后,标准差为1,所以此时分母为1,相关系数=协方差

标准化: 消除 列间 量纲差异,无法消除(行间)样本间 量纲差异

独立性效验 仅 判 因素A和因素B是否 独立,若 A、B独立,则 无需 进行 对应分析 这里 因素A、因素B 是 二维列联表 后 因素, 因素A 即 行因素(样本),因素B 即 列因素(指标/特征)

相关性检验 仅是说 线性相关,不能判非线性。 相关与独立不是一回事

参考

感谢帮助!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 卡方效验
  • 对应分析
    • 根据上述数据 作 对应分析图
      • 对应图分析
        • 例 10.2
          • 对应分析
          • 对应分析图
          • R语言中 数据标准化 scale()
      • 案例
      • 补充
      • 参考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档