Bir matrisin pozitif tanımlaması nasıl yapılır?


10

Aşağıdaki faktör analizi modeli için bir EM algoritması uygulamak çalışıyorum;

Wj=μ+Baj+ejforj=1,,n

burada p-boyutlu rastgele vektör, gizli değişkenlerin q-boyutlu bir vektörü ve parametrelerin bir pxq matrisidir.a j BWjajB

Model için kullanılan diğer varsayımların bir sonucu olarak, burada nin , = diag ( , hata terimlerinin varyans kovaryans matrisi olduğunu , ..., ).D e j D σ 2 1 σ 2 2 σ 2 pWjN(μ,BB+D)DejDσ12σ22σp2

EM algoritmasının çalışması için, ve matrislerinin tahminini içeren kubbe yinelemeleri yapıyorum ve bu yinelemeler sırasında , ve yeni tahminlerini kullanarak her yinelemede nin tersini hesaplıyorum . Ne yazık ki, tekrarlamalar sırasında, pozitif tanımını kaybeder (ancak bir varyans-kovaryans matrisi olduğu için olmamalıdır) ve bu durum algoritmanın yakınsamasını bozar. Sorularım:D B B + D B D B B + DBDBB+DBDBB+D

  1. Bu durum EM'nin her adımında olasılığın artması gerektiğinden algoritmamla ilgili bir sorun olduğunu gösteriyor mu?

  2. Bir matrisi pozitif tanımlamak için pratik yollar nelerdir?

Düzenleme: Ben ters bir matris inversiyon lemma kullanarak ters hesaplıyorum:

(BB+D)1=D1D1B(Iq+BD1B)1BD1

burada sağ taraf sadece matrisinin tersini içerir .q×q


1
nin pozitif kesinliğini nasıl "kaybettiğini" daha iyi anlamaya yardımcı olabilir . Bu, veya (veya her ikisinin) pozitif olmayan bir tanım haline geldiği anlamına gelir . Yani ne zaman yapmak zordur doğrudan hesaplanır ve hatta zor zaman onun diyagonal üzerinde kareli bir köşegen matris olarak hesaplanır! B B D B B B DBB+DBBDBBBD
whuber

@whuber Tipik olarak FA de , bu nedenle hiç bir zaman pozitif tanımlanmamıştır. Fakat (teorik olarak) , ' ' lerin sıfırdan büyük olduğu varsayılarak, olmalıdır . B B B B + D σ 2 jq<pBBBB+Dσj2
JMS


1
@JMS Teşekkürler. Yorumumun hala geçerli olduğunu düşünüyorum: belirsiz olabilir, ancak yine de negatif özdeğerleri olmamalıdır. de en küçüğü , tersine çevirme algoritmasındaki sayısal hata ile karşılaştırılabilir olduğunda ortaya çıkar . Bu durumda, bir çözüm SVD'yi ye uygulamak ve gerçekten küçük (veya negatif) özdeğerleri sıfırlamak, daha sonra yeniden hesaplamak ve eklemektir . σ 2 i B B B B DBBσi2BBBBD
whuber

1
de küçük elementler olmalı ; , aksi takdirdeI q + B D - 1 B q < pDIq+BD1Bq<p
JMS

Yanıtlar:


3

Tamam, FA yaptığınız için tam sütun sıralamasında ve olduğunu varsayıyorum . Yine de birkaç ayrıntıya ihtiyacımız var. Bu sayısal bir sorun olabilir; verilerinizle ilgili bir sorun da olabilir.q q < pBqq<p

Tersi nasıl hesaplıyorsunuz? Tersine açıkça ihtiyacınız var mı, yoksa hesaplamayı doğrusal bir sisteme çözüm olarak yeniden ifade edebilir misiniz? (yani elde etmek için x için çözün , bu genellikle daha hızlı ve daha kararlıdır)A x = bA1bAx=b

ne oluyor ? Tahminler gerçekten küçük / 0 / negatif mi? Bir anlamda kritik bağlantı budur, çünkü elbette sıralamada yetersizdir ve eklemeden önce tek bir kovaryans matrisi tanımlar , böylece ters çeviremezsiniz. Pozitif diyagonal matris ekleme teknik olarak tam rütbe yapar ama eğer hala korkunç hasta şartına olabilir küçüktür.B B D D B B + D DDBBDDBB+DD

Çoğu zaman kendine özgü varyansların tahmini ( , D' nin köşegen elemanları ) sıfıra yakın hatta negatiftir; bunlara Heywood davaları denir. Bkz. Örneğin http://www.technion.ac.il/docs/sas/stat/chap26/sect21.htm (herhangi bir FA metni bunu da tartışmalıdır, bu çok eski ve iyi bilinen bir sorundur). Bu, model yanlış tanımlaması, aykırı değerler, kötü şans, güneş patlamaları nedeniyle olabilir ... MLE özellikle bu soruna eğilimlidir, bu nedenle EM algoritmanız MLE'ye bakmak için tasarlanmıştır.σi2D

EM algoritmanız bu tür tahminlerle bir moda yaklaşıyorsa, nin pozitif kesinliğini kaybetmesi mümkündür . Çeşitli çözümler var; Şahsen ben Bayesci bir yaklaşımı tercih ederim ama o zaman bile önceliklerinize dikkat etmelisiniz (uygun olmayan öncelikler veya 0'a yakın çok fazla kütleye sahip uygun öncelikler temelde aynı nedenden dolayı aynı soruna sahip olabilir)BB+D


İkincisi, algoritmaların ana bölümünde, bir matrisi asla tersine çevirmek istemeyeceksiniz. Yine de standart tahminleri almak için en sonunda yapmanız gerekebilir. Bu blog yayınına bakın johndcook.com/blog/2010/01/19/dont-invert-that-matrix
Samsdram

Yineleme sayısı arttıkça D matrisinin değerleri küçülür. Belki de belirttiğiniz gibi sorun budur.
Andy Amos

1
@Andy Amos: Üzerine para yatırırdım. @Whuber noktaları gibi dışarı neredeyse imkansız sen doğrudan bilgisayar eğer negatif özdeğerlere olurdu, ve (rank eksik olmaktan) sıfırlar ekleyerek halledilir edilmelidir D olumlu diyagonal beri - Bunlardan bazıları sürece elemanlar gerçekten küçük. Σ 2 i'nin oldukça büyük ve q B 2 i qσ 2 i olduğu bir modelden bazı veriler oluşturmayı deneyin . Daha fazla veri daha iyi olur, böylece tahminler doğru ve kararlı olmalıdır. Bu en azından uygulamanızda bir sorun olup olmadığını söyleyecektir. BBDσi2qBiq2σi2
JMS
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.