我正在对MRI数据进行Matlab分析,其中我在尺寸为10304x236的矩阵上执行了PCA,其中10304是体素(以像素为单位)的数量,而236是时间点的数量。PCA给了我236个特征值及其相关系数。一切都很好。但是,当需要确定要保留多少个组件时,我要复制的论文说如下(请让我知道是否需要澄清,因为这只是整篇论文的一小部分):
然后,我们进行了蒙特卡洛模拟以确定每次扫描从讨厌的ROI数据中提取的主要成分(PC)的数量。通过对与编码和静止干扰ROI数据等级相同的正态分布数据执行PCA,分别为每个受试者的编码和静止数据生成了预期特征值的零分布。如果PC的相关特征值超过了来自Monte Carlo模拟的特征值的第99个置信区间,则从真实的ROI数据中选择PC进行给定的休息或编码扫描。
我绝对不知道该怎么办。我习惯于根据解释的累积方差来选择组件。我的想法是这样的:
然后,我们进行了蒙特卡洛模拟以确定每次扫描从讨厌的ROI数据中提取的主要成分(PC)的数量。
蒙特卡洛模拟人生只是意味着要进行以下1000次(或类似次数),对吗?
通过对与编码和剩余扰动ROI数据同等等级的正态分布数据执行PCA,可以生成预期特征值的零分布。
首先,我假设“相等等级”基本上意味着我将创建一个与原始矩阵大小相同的矩阵(10304x236)。就“等秩的正态分布数据”而言……这是否意味着我应该根据正态分布创建一个随机数为10304x236的矩阵?Matlab具有一个称为“ normrnd”的功能,可以执行此操作,但需要输入mu和sigma。我会使用与从初始数据集中获得的相同的mu和sigma吗?这或多或少是“期望特征值”的含义,因为我不知道期望特征值的分布是什么样。
我猜我的问题或多或少是我不知道如何对特征值进行“零分布”。