Örnek kovaryans matrisi ters çevrilemezse ne yapmalı?


12

Bazı kümeleme teknikleri üzerinde çalışıyorum, burada belirli bir d-boyut vektörleri kümesi için çok değişkenli normal dağılım varsayıyorum ve örnek d-boyutlu ortalama vektörü ve örnek kovaryans matrisini hesaplıyorum.

Sonra yeni, görünmeyen, d boyutlu bir vektörün bu kümeye ait olup olmadığına karar vermeye çalışırken mesafesini şu ölçü ile kontrol ediyorum:

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

Bu da kovaryans matrisinin tersini hesaplamamı gerektiriyor . Ancak bazı örnekler verildiğinde, kovaryans matrisinin tersinir olacağını garanti edemiyorum, olmaması durumunda ne yapmalıyım?σ^X

Teşekkürler


matrisin tersine çevrilememesine neyin sebep olduğuna bağlıdır. Olası nedenler şunlar olabilir: .
user603

Bence numune boyutu
küçülüyor

@ Anony-Mousse Şimdi en az boyut kadar örnek kullandığımdan emin oldum, aksi takdirde matris sıralama yetersiz olacak. Şimdiye kadar hiçbir sorun, ama örnek kovaryans ile tersine çevrilebilir olabilir düşünüyorum?
Aly

1
neden her zaman ters çevrilebilir olmalıdır? Tek bir gözlemle ortalama, bu gözleme eşittir, bu nedenle örnek kovaryans, ters çevrilmeyecek sıfır matristir. Bir matrisin ters çevrilmesi için tam rütbe olması gerektiğini düşünüyorum ve sadece örnek sayısı> = boyutMMT
Korone

1
@corone bunu sıkı bir hale getirir>
user603 12:13

Yanıtlar:


14

Numunelerinizin boyutsallığı vektör uzayının boyutluluğundan daha azsa, tekil matrisler ortaya çıkabilir. daha az örneğiniz varsa ( boyutsallığınız olduğunda), bu durum zorunlu olarak ortaya çıkacaktır: örnekleri en fazla boyutlu bir hiper düzlemi kapsar. Böyle küçük bir örnek verildiğinde, ortogonal alanda bir varyansı hesaplayamazsınız.d k + 1 dd+1dk+1d

'S ortak etmek nedeni budur değil literal PCA kullanmak, ancak bunun yerine gerçekleştirmek tekil değer ayrıştırma hesaplamak için kullanılabilir, pseudoinverse bir matris. Matris ters çevrilebilirse, yalancı ters ters olacaktır.

Bununla birlikte, ters çevrilemez matrisler görüyorsanız, vektör kümenin temsil ettiği hiper düzlemin dışındaysa, kümeye olan uzaklığınızın anlamsız olması muhtemeldir, çünkü dikey boşluktaki varyansı bilmiyorsunuz ( bu varyans 0 olarak!) SVD yalancı ters hesaplayabilir, ancak "varyanslar" yine de verileriniz tarafından belirlenmez.

y=xx-y

Ayrıca, kovaryans matrisini nasıl hesapladığınıza bağlı olarak, felaket iptali nedeniyle sayısal sorunlarla karşılaşıyor olabilirsiniz. En basit çözüm her zaman önce verileri ortalamak ve sıfır ortalama elde etmektir.


burada cevap verdiğim için üzgünüm ama aynı konuda çalışıyorum. ters kovaryans matrisi gerektiren Mahalanobis mesafesi ile kümeleme mesafelerini karşılaştırıyorum. Ancak benim durumumda aynı hatayı alıyorum. Bu yüzden SingularValueDecomposition'ı denedim ama bu sefer tüm mesafeler eşit 1.4: D i
anlayamıyorum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.