サンプルの共分散行列が反転可能でない場合はどうすればよいですか?


12

いくつかのクラスタリング手法に取り組んでいます。d次元ベクトルの特定のクラスターについて、多変量正規分布を仮定し、サンプルのd次元平均ベクトルとサンプルの共分散行列を計算します。

次に、目に見えない新しいd次元ベクトルがこのクラスターに属しているかどうかを判断しようとするときに、次のメジャーを使用してその距離をチェックしています:

(Xiμ^X)σ^X1(Xiμ^X)>B0.95(p2,p2)

これには、共分散行列の逆行列を計算する必要があります。しかし、いくつかのサンプルを考えると、共分散行列が可逆であることを保証できません。そうでない場合はどうすればよいですか?σ^X

ありがとう


それは、行列が反転できない原因に依存します。考えられる原因は、(a)共分散行列の計算に使用したサンプルが小さすぎる(b)サンプルは十分なサイズであるが、メンバーが連続分布から引き出されていないため、サンプルの列/行の一部が繰り返される。
user603、2013

サンプルサイズが小さくなると思います
2013

@ Anony-Mousse少なくともディメンションと同じ数のサンプルを使用していることを確認しました。そうしないと、マトリックスのランクが不足します。これまでのところ問題はありませんが、サンプルの共分散では不可逆である可能性があると思いますか?
2013

1
なぜ常に反転可能であるべきですか?単一の観測値では、平均はその観測値に等しいため、サンプルの共分散はゼロ行列であり、反転しません。行列を反転するにはフルランクにする必要があると思います。フルランクになるのは、サンプル数> =次元の場合のみですMMT
Corone

1
@coroneはそれを厳格にします>
user603

回答:


14

サンプルの次元がベクトル空間の次元よりも小さい場合、特異行列が発生する可能性があります。サンプル数がよりも少ない場合(が次元数の場合)、この状況が必ず発生しますサンプルは最大で次元の超平面に広がります。このような小さなサンプルを考えると、直交空間の分散を計算することは明らかにできません。d+1dk+1d

これが、リテラルPCAを使用せ、代わりに特異値分解を実行するのが一般的な理由です。これは、行列の疑似逆行列を計算するために使用できます。行列が反転可能な場合、疑似逆行列は逆行列になります。

ただし、非可逆行列が表示されている場合、直交空間の分散がわからないため、ベクトルがクラスターを表す超平面の外にある場合、クラスターからの距離が無意味になる可能性があります(この分散は0です!)SVDは疑似逆行列を計算できますが、「分散」は依然としてデータによって決定されません。

この場合、おそらく最初にグローバルな次元削減を行っているはずです。サンプルサイズの増加は、実際に非冗長次元がある場合にのみ役立ちます分布からいくつのサンプルを描画しても、行列は常に反転不可能であり、偏差を判断することはできません。標準偏差(0)に対する。y=xxy

さらに、共分散行列の計算方法によっては、壊滅的なキャンセルが原因で数値の問題が発生する場合があります。最も単純な回避策は、常に最初にデータを中央に配置し、平均をゼロにすることです。


ここで返信して申し訳ありませんが、同じ問題に取り組んでいます。私は逆共分散行列を必要とするマハラノビス距離を介してクラスタリング距離を比較しています。ただし、私の場合は同じエラーが発生します。だから私はSingularValueDecompositionを試しましたが、今回はすべての距離が1.4に等しいです:D
わかり
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.