前もって少し冗長であることをお詫びします。背景の巨大なジャンボをすべてスキップしたい場合は、下の私の質問をご覧ください。
これは、2 つの 1D (時間依存) 信号を比較する方法について以前に投稿した質問のフォローアップです。私が得た答えの 1 つは、相互相関関数 (MATLAB では xcorr) を使用することでした。
背景情報
少し背景情報が役に立つかもしれません。私は独立成分分析アルゴリズムを実装しようとしています。私の非公式なテストの 1 つは、(1) (a) 2 つのランダムなベクトル (1x1000) を生成し、(b) ベクトルを 2x1000 の行列 ("S" と呼ばれる) に結合し、これに 2x2 の混合を掛けることでテスト ケースを作成することです。行列 (「A」と呼びます) を入力して、新しい行列 (「T」と呼びましょう) を提供します。
要約すると、T = A * S
(2) 次に、ICA アルゴリズムを実行して混合行列の逆行列 ("W" と呼ばれる) を生成します。(3) "T" に "W" を掛けて、(できれば) 元の信号行列 (と呼ばれる) を再構成します。 "バツ")
要約すると、X = W * T
(4) 「S」と「X」を比較したい。"S" と "X" は 2x1000 ですが、それぞれ 1x1000 の と を単純に比較してS(1,:)
1D信号にしています。(これらのベクトルが互いに比較するのに適切なベクトルであることを確認し、信号を正規化する別のステップがあります)。X(1,:)
S(2,:)
X(2,:)
したがって、私の現在の困惑は、にどれだけ近いかを「評価」する方法であり、同様にtoにもS(1,:)
一致します。X(1,:)
S(2,:)
X(2,:)
これまでのところ、次のようなものを使用しています:r1 = max(abs(xcorr(S(1,:), X(1,:)))
私の質問
相互相関関数を使用することが 2 つのシグナルの類似性を比較する有効な方法であると仮定すると、シグナルの類似性を評価するのに適した R 値はどれでしょうか? ウィキペディアは、これは非常に主観的な領域であると述べているため、この分野の経験がある可能性のある人々のより良い判断に委ねます.
お気づきかもしれませんが、私は EE/DSP/統計のバックグラウンドをまったく持っていません (私は医学生です) ので、現在、一種の「火によるバプテスマ」を受けています。私が得ることができる助け。ありがとう!