数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 4748|回复: 1

规范化变量后主成分协方差矩阵的方差之和等于变量总数?

[复制链接]
发表于 2022-3-14 23:22 | 显示全部楼层 |阅读模式
本帖最后由 wufaxian 于 2022-3-14 23:22 编辑

请看下图,按照下图蓝线部分:操作得到“规范化变量主成分”的协方差矩阵其特征值之和并非=变量总数
附件中是excel数据可以导入matlab进行计算,该数据一共6列变量8行观测值(符合matlab 的PCA函数,列为变量的要求)。数据已经进行了规范化处理。数据按照如下步骤处理:
1、将excel数据导入赋值给sample变量
2、求sample的PCA,得到PCA矩阵(就是原有8个观测值在各个主成分方向投影得到的“新变量”矩阵)
3、计算新矩阵的协方差矩阵(也就是下图蓝线所说的:“规范化变量主成分的协方差矩阵”)
4、计算协方差矩阵的特征值并求和 就会发现特征值之和并不等于变量数6。我发现特征值之和需要再次除以自身的均值,才能等于6

所以书中结论是不是错的?

  1. [coeff,score,latent] = pca(sample)
  2. K=score.'*score %“规范化变量主成分的协方差矩阵”
  3. eig(K)   %计算协方差矩阵的特征值
  4. ans =

  5.     0.0484
  6.     0.3610
  7.     0.6048
  8.     1.8547
  9.     4.7641
  10.    34.3671
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2022-3-18 01:32 | 显示全部楼层
1、书中结论没错!
2、代码计算出的结果中latent中存储了每个主成分对应的方差,求和确实等于6!符合书中结论
3、K=score.'*score得到的并不是协方差矩阵!这是错误的关键。协方差矩阵的定义要求 如果是总体,要求对score.'*score求期望,如果样本数据的话要除以n-1  ,因为只有对K/(n-1) 才符合样本协方差矩阵的定义(对于K中的每个元素才符合方差和协方差定义的要求!)。

事实上对K除以n-1以后再求特征值。特征值之和确实等于6!

以上主要是对协方差矩阵的定义理解不准确,误以为协方差矩阵就是score.'*score造成的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-7-4 15:58 , Processed in 0.111520 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表