我在两个不同的时间点测量了 5 台设备。测量基本上由对应于相应位置的位值的 1 和 0 数组组成:
whos measurement1_dev1_time1
Name Size Bytes Class Attributes
measurement1_dev1_time1 4096x8 32768 logical
我假设对于特定设备,测量时间 1 和 2 之间的变化是唯一的。但是,由于我在不同位置处理 32768 位,因此很难想象是否存在某种依赖关系。
由于位置的每一位都x
可以被视为观察的一个维度,我认为使用 PCA 来减少维度的数量。
因此,对于 5 个设备中的每一个:
- 我随机抽样
n
测量点t1
和t2
分开 pca()
我准备了一个数组作为m
*n 列的输入(m
< 32768;它是所有观察到的位的子集,因为原始数据对于 pca 可能太大)和 4 行(每个设备一行)。- 在这个数组上
A
,我计算 pca:`[coeff score latent] = pca(zscore(A))``` - 然后我尝试使用以下方法将其可视化
biplot
:biplot(coeff(:,1:2), 'score', score(:,1:2))
然而,这给了我非常奇怪的结果。也许 PCA 不是解决这个问题的正确方法?我还修改了输入数据以不在逻辑位数组本身上执行 PCA。相反,我创建了一个向量,它保存原始测量数组中存在“1”的索引。这也会产生奇怪的结果。
由于我对 PCA 完全陌生,我想问您是否发现过程中存在缺陷,或者 PCA 是否不是我目标的正确方法,我最好寻找其他降维方法或聚类算法。