Olumlu olmayan kesin bir kovaryans matrisi verilerim hakkında bana ne söyler?


21

Çok değişkenli gözlemlerim var ve tüm değişkenler arasındaki olasılık yoğunluğunu değerlendirmek istiyorum. Verilerin normal dağıldığı varsayılır. Düşük sayıdaki değişkenlerde her şey beklediğim gibi çalışır, ancak daha büyük sayılara geçmek kovaryans matrisinin pozitif olarak kesinleşmemesine neden olur.

Matlab'daki problemi azalttım:

load raw_data.mat; % matrix number-of-values x number of variables
Sigma = cov(data);
[R,err] = cholcov(Sigma, 0); % Test for pos-def done in mvnpdf.

Eğer hata> 0 ise Sigma pozitif kesin değildir.

Deneysel verilerimi daha yüksek boyutlarda değerlendirmek için yapabileceğim bir şey var mı? Bana verilerimle ilgili faydalı bir şey söylüyor mu?

Biraz bu alanda yeni başlayan biriyim, bu yüzden bariz bir şeyi kaçırmışsam özür dilerim.


Verileriniz, yüksek boyutlu gösterimler için çok seyrek gözüküyor. Bu verilerle regresyon modellerini çalıştırmayı mı planlıyorsunuz?
Jonathan Thiele

Yanıtlar:


30

Kovaryans matrisi, tekil olduğu için kesin değildir. Bu, değişkenlerinizden en az birinin diğerlerinin doğrusal bir kombinasyonu olarak ifade edilebileceği anlamına gelir. En az birinin değeri, diğerlerinin bir alt kümesinden tespit edilebildiğinden, tüm değişkenlere ihtiyacınız yoktur. Değişkenleri sırayla eklemenizi ve her adımda kovaryans matrisini kontrol etmenizi öneririm. Eğer yeni bir değişken bir tekillik yaratırsa, düşür ve bir sonrakine geç. Sonunda pozitif kesin kovaryans matrisine sahip bir değişken alt kümesine sahip olmalısınız.


19
+1. Ayrıca tüm kovaryans matrislerinin pozitif kesin ve tüm pozitif kesin matrislerin bazı çok değişkenli dağılımın kovaryans matrisi olduğuna dikkat etmek önemlidir . Bu nedenle, "pozitif olmayan kesin kovaryans matrisi" demek, bir oksimoron parçasıdır. OP gerçekten de sadece tam eşgüdümden (sizin de söylediğiniz gibi) veya gözlem sayısının değişken sayısından daha az olduğu durumlarda ortaya çıkan örnek kovaryans matrisinin tekil olduğunu söylüyordu .
Makro

3
Bazı istatistik yazılımı bu sorunu otomatik olarak düzeltmek için uyarılabilir. Örneğin, Stata'nın regresskomutu, bazıları collinear olduğunda otomatik olarak ekstra değişkenler bırakacaktır (ve çıktısı bu değişkenleri tanımlayan ve gelecekteki kullanım için collinear olmayan bir altküme işaret eden bir formda kaydedilebilir). Yine de muhtemel bir komplikasyon, değişkenlerin zorunlu olarak collinear olmayabilir, ancak Cholesky ayrışmasında kayan nokta hatasının yayılmasının negatif özdeğer tahminleri üretmesi ve değişkenleri tüm pratik amaçlar için collinear yapması için yeterince yakın olabilir.
whuber

1
@whuber'da da benzer işlevsellik vardır R- regresyon modelleri, tam bir eşzamanlılık varsa, değişkenleri otomatik olarak doğrusal tahminciden düşürür.
Makro

2
@whuber, bu biraz hacky ama benzer bir numara yapabilirsiniz. gDoğrusal modeliniz varsa , modele colnames(model.matrix(g))[-which(is.na(coef(g))==TRUE)][-1]girilen yordayıcıların adlarını tam olarak aynı olmayan satırlara döndürmelisiniz. Bu, hangi katsayıların olduğunu kontrol ederek NA( Rbir değişkenin nasıl bırakıldığını gösterir) ve model matrisinin karşılık gelen sütun adlarını bularak çalışır (kesme sütununu silerek). Bu arada, eğer herhangi bir ortak terim yoksa bu işe yaramaz, bu yüzden which(is.na(coef(g))==TRUE)boş olmadığını kontrol etmek için bir if ifadesi gerekli olur :)
Makro

8
@Macro Tüm kovaryans matrisleri pozitif yarı kesindir. Tekil olduklarında pozitif kesin değildirler çünkü A matrisinin pozitif kesin olması için tüm vektörler için x'Ax> 0'dır. Tekil durumda, bazı x için x'Ax = 0 olur.
Michael R. Chernick

0

Geçerli bir sonuç. Kovaryans matrisinin bu bileşeninin tahmini sıfırdır, bu da çok doğru olabilir! Hesaplamada zorluklara yol açabilir, ancak R'deki bazı algoritmalar (Matlab'ı bilmiyorum) bunu yapabilir. İnsanların neden bu konuda sinirlendiklerini ve daha temel modellere uymakta ısrar ettiğini anlamıyorum.


-1

Yukarıda değinmediğim bir nokta, değişkenleriniz tamamen doğrusal bir şekilde ilişkili olmasa bile pozitif olmayan kesin bir kovaryans matrisini ampirik verilerden hesaplamanın mümkün olmasıdır. Yeterli veriye sahip değilseniz (özellikle bir çift çift karşılaştırmadan yüksek boyutlu bir kovaryans matrisi oluşturmaya çalışıyorsanız) veya verileriniz çok değişkenli normal bir dağılım izlemiyorsa, paradoksal ilişkilerle sonuçlanabilir cov (A, B)> 0 gibi değişkenler arasında; CoV (A, C)> 0; CoV (B, C) <0.

Böyle bir durumda, çok değişkenli normal bir PDF'ye uymaz, çünkü bu kriterleri karşılayan çok değişkenli normal bir dağılım yoktur - cov (A, B)> 0 ve cov (A, C)> 0, mutlaka cov (B, C) anlamına gelir. )> 0.

Tüm bunlar söylemek gerekirse, pozitif olmayan kesin bir matris her zaman collinear değişkenleri dahil ettiğiniz anlamına gelmez. Seçtiğiniz parametrik yapı göz önüne alındığında imkansız olan bir ilişkiyi modellemeye çalıştığınızı da önerebilir.


1
Cevabınız birçok seviyede yanlış. Her neyse, köşegen üzerinde 1'leri ve cov için 1/2 (1. ve 2. bileşenler), cov için 1/2 (1. ve 3. bileşenler) ve cov için -1/2 (2. ve 3d bileşenler) olan bir kovaryans matrisini düşünün. . Kovaryans matrisi, yaklaşık 0.15, 1.35, 1.50 özdeğerlerine sahiptir ve 2. paragrafınızdaki iddiaya bir karşı örnek sağlar.
Mark L. Stone

@ MarkL.Stone, 2. paragraf konusunda haklısınız, ancak bunun bazılarının belirsiz olup olmadığını ve cömert bir yorumla kurtarılıp kurtarılamayacağını merak ediyorum. Örneğin, 1. paragrafta "yeterli veriye sahip değil ... bir grup çiftli karşılaştırmadan yüksek boyutlu bir kovaryans matrisi oluşturmaya çalışıyorum" ifadesinin çok fazla eksik veriye sahip olduğunu ve çift yönlü tam gözlemleri kullanıp kullanmadığını belirtir. kovaryans matrisindeki her bir elemanı hesaplamak için.
dediklerinin - Eski Monica
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.