2 つの異なる時点で 5 つのデバイスを測定しました。測定値は基本的に、対応する位置のビット値に対応する 1 と 0 の配列で構成されます。
whos measurement1_dev1_time1
Name Size Bytes Class Attributes
measurement1_dev1_time1 4096x8 32768 logical
特定のデバイスの場合、測定の時間 1 と時間 2 の間の変化は一意であると想定しています。ただし、32768 ビットをさまざまな場所で扱っているため、何らかの依存関係があるかどうかを視覚化するのは非常に困難です。
ロケーションのすべてのビットx
は観測の 1 つの次元と見なすことができるため、PCA を使用して次元数を減らすことを考えました。
したがって、5 つのデバイスごとに次のようになります。
n
測定値をポイントでt1
ランダムにサンプリングし、t2
個別にサンプリングします- *n 列 ( < 32768; 元のデータが pca には大きすぎる可能性があるため、観測されたすべてのビットのサブセット) と 4 行 (デバイスごとに 1 行) の入力として配列を準備し
pca()
ます。m
m
- この配列
A
で pca を計算します: ``[係数スコア潜在] = pca(zscore(A))``` - 次に、次を使用して視覚化しようとし
biplot
ます。biplot(coeff(:,1:2), 'score', score(:,1:2))
しかし、これは私に本当に奇妙な結果をもたらします。おそらく、PCA はこの問題に対する適切なアプローチではないでしょうか? また、入力データを変更して、論理ビット配列自体ではなく PCA を実行しました。代わりに、元の測定配列に「1」があるインデックスを保持するベクトルを作成しました。また、これは奇妙な結果をもたらします。
私は PCA にまったく慣れていないので、プロセスに欠陥があるかどうか、または PCA が私の目標にとって適切なアプローチではないかどうかを尋ねたいと思います。他の次元削減アプローチまたはクラスタリング アルゴリズムを探す方がよいでしょう。