0

MATLAB で「corr」関数を使用すると問題が発生します。

a =

     1     4     3     2
     2     3     3     2
     3     2     3     2
     4     1     3     2

>> corr(a)

ans =

     1    -1   NaN   NaN
    -1     1   NaN   NaN
   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN

手動で計算すると、分母がゼロ (0) であるため、欠損値 (NaN) が表示されます。ただし、列 3 と 4 の類似度は 1 (+1) であることがわかります。

欠損値を強化または置換する方法を知っている人はいますか?

ありがとうございます。

4

2 に答える 2

2

相関関係とは、標準偏差で正規化された共分散 (変数が一緒にどの程度変化するか) として計算される、2 つの変数間の線形依存性の尺度です。

したがって、1 つの変数が定数である場合は意味がありません (未定義であり、NaN として報告されるゼロで割ったゼロを取得します)...

于 2010-12-28T14:29:49.750 に答える
0

アムロが言ったように、corr未定義の正しい答えを報告しています。1 に設定するなど、未定義を特別な方法で処理する場合は、次のようにします。

a(isnan(a)) = 1;

しかし、あなたのデータにはもっと深刻な問題があるように思えます - 観察が不十分ですか? 同じシリーズを削除しないのはなぜですか?

于 2010-12-28T18:32:24.013 に答える