我有一组5000行59列的脑电图记录。因为coloumns是eeg头戴式耳机的通道,行表示每个通道的信号幅度。现在我使用princomp来减少维度。但我在变量和观察上感到困惑,因为我有一个5000个元素的标签向量来对数据进行分类,但是如果我在5000x59处使用princomp,我得到的是59x59矩阵,它不能通过给定的标签进行分类,如果我对59x5000数据应用命令,我得到5000x5000矩阵,这意味着pca增加而不是降低维数。因此,请让我了解如何在我的数据中感知变量和观察值。thnx
发布于 2014-10-30 23:37:31
Matlab命令princomp可以有多个返回值。如果我们将原始的5000x59数据矩阵表示为D,那么
[C, S] = princomp(D);
提供主成分系数C (59x59)和实际主成分S (5000x59),其中C是从原始空间到主成分空间的投影,S包含实际主成分作为其列。这3个矩阵的关系是
D * C = S
顺便说一句,如果你只关心主成分S而不需要系数C,你可以这样做
[~, S] = princomp(D);
有关更多详细信息,请查看官方Matlab princomp doc。
https://stackoverflow.com/questions/26102235
复制相似问题