Czy każda macierz kowariancji jest dodatnia?


48

Myślę, że odpowiedź powinna brzmieć „tak”, ale nadal czuję, że coś jest nie tak. W literaturze powinny być jakieś ogólne wyniki, czy ktoś mógłby mi pomóc?


2
Każda macierz kowariancji jest dodatnia w połowie określona. Oznacza to, że każda macierz kowariancji musi mieć nieujemne wartości własne. Jeśli żadna z wartości własnych nie jest równa zero, wówczas macierz kowariancji jest dodatkowo dodatnia.
kaka


4
@Jingjings: W twoim profilu widzę, że nigdy nie głosowałeś ani nie akceptowałeś żadnych odpowiedzi; jest to dość niezwykłe, biorąc pod uwagę, że masz wiele dobrych pytań i wiele dobrych odpowiedzi. Myślę, że tak naprawdę nie zdajesz sobie sprawy, jak to działa. Chodzi o to, że należy głosować za każdą odpowiedzią, która okaże się przydatna, i zaakceptować każdą odpowiedź, która Twoim zdaniem rozwiązuje problem. Wygląda na to, że możesz głosować wiele odpowiedzi, a także zaakceptować niektóre z nich.
ameba mówi Przywróć Monikę

Odpowiedzi:


47

Nie.

Rozważmy trzy zmienne, , i . Ich macierz kowariancji, , nie jest określona dodatnio, ponieważ istnieje wektor ( )), dla którego nie jest dodatni.XYZ=X+YMz=(1,1,1)zMz

Macierze kowariancji populacji są dodatnie półokreślone.

(Zobacz właściwość 2 tutaj .)

To samo powinno ogólnie dotyczyć macierzy kowariancji pełnych próbek (bez brakujących wartości), ponieważ można je również postrzegać jako formę dyskretnej kowariancji populacji.

Jednak z powodu niedokładności obliczeń liczb zmiennoprzecinkowych nawet algebraicznie dodatnie określone przypadki mogą czasami zostać obliczone tak, aby nie były nawet dodatnimi półokreślonymi; dobry wybór algorytmów może w tym pomóc.

Mówiąc bardziej ogólnie, przykładowe macierze kowariancji - w zależności od tego, jak radzą sobie z brakującymi wartościami w niektórych zmiennych - mogą, ale nie muszą, być półokreślone dodatnio, nawet teoretycznie. Jeśli na przykład zastosowano usuwanie parami, nie ma gwarancji pozytywnej półokreśloności. Ponadto, skumulowany błąd numeryczny może spowodować, że matryce kowariancji próbki, które powinny być teoretycznie dodatnie półokreślone, nie będą.

Tak jak:

 x <- rnorm(30)
 y <- rnorm(30) - x/10 # it doesn't matter for this if x and y are correlated or not
 z <- x+y
 M <- cov(data.frame(x=x,y=y,z=z))
 z <- rbind(1,1,-1)
 t(z)%*%M%*%z
              [,1]
[1,] -1.110223e-16

Stało się tak w pierwszym przykładzie, który próbowałem (prawdopodobnie powinienem dostarczyć ziarno, ale nie jest tak rzadkie, że powinieneś spróbować wielu przykładów, zanim je zdobędziesz).

Wynik okazał się ujemny , chociaż powinien być algebraicznie zerowy. Inny zestaw liczb może dawać liczbę dodatnią lub „dokładne” zero.

-

Przykład umiarkowanego braku prowadzącego do utraty dodatniej półszlachetności poprzez usunięcie parami:

z <- x + y + rnorm(30)/50  # same x and y as before.
xyz1 <- data.frame(x=x,y=y,z=z) # high correlation but definitely of full rank 

xyz1$x[sample(1:30,5)] <- NA   # make 5 x's missing  

xyz1$y[sample(1:30,5)] <- NA   # make 5 y's missing  

xyz1$z[sample(1:30,5)] <- NA   # make 5 z's missing  

cov(xyz1,use="pairwise")     # the individual pairwise covars are fine ...

           x          y        z
x  1.2107760 -0.2552947 1.255868
y -0.2552947  1.2728156 1.037446
z  1.2558683  1.0374456 2.367978

 chol(cov(xyz1,use="pairwise"))  # ... but leave the matrix not positive semi-definite

Error in chol.default(cov(xyz1, use = "pairwise")) : 
  the leading minor of order 3 is not positive definite

 chol(cov(xyz1,use="complete")) # but deleting even more rows leaves it PSD

          x          y          z
x 0.8760209 -0.2253484 0.64303448
y 0.0000000  1.1088741 1.11270078
z 0.0000000  0.0000000 0.01345364

1
+1: Ale jako komentarz głównie dla Ciebie: kiedy go prezentujesz, wygląda na to, że PSD-ness nie jest gwarantowana w ogólnym przypadku. Jak pokazano w odpowiedzi sjm.majewskiego, potrzebujesz „patologicznego” przypadku (niepełna ranga) i kończysz z tym problemem. (W pełni zgadzam się z komentarzem liczbowym) Czy możesz opracować nieco więcej problemu z brakującymi wartościami, w którym nie możesz nawet zagwarantować PSD, nawet jeśli uwzględnisz błędy numeryczne? (Zakładam, że nie przejmujesz się rzadkością pomiarów, gdy to
mówisz

2
Oczywiście występuje tylko wtedy, gdy nie ma pełnej rangi (lub jest bardzo blisko). Spójrz na definicję PSD (i wzmiankę @ sjm.majewskiego o stosunku do wariancji), a to jest jasne. Jednak określenie go jako patologicznego wydaje się dziwne, ponieważ te niepełne sytuacje sytuacyjne zdarzają się cały czas w praktyce. To nie jest prosta pedanteria - codziennie wpływa na rzeczywiste zbiory danych, w wyniku czego powstają tutaj regularne pytania. Porozmawiam o zaginięciu i usunięciu parami powyżej, ponieważ tutaj nie ma na to miejsca.
Glen_b

2
Myślę, że dobrze byłoby dodać do tej odpowiedzi wyraźną uwagę, że w sytuacji macierz kowariancji próbki na pewno nie będzie określona jako dodatnia (będzie niskiej rangi, tj. Będzie miała kilka zerowych wartości własnych). Szukałem, czy mamy wątek, że ten Q stats.stackexchange.com/questions/198488 może zostać zamknięty jako duplikat i myślę, że byłby to dobry kandydat, ale wydaje się, że nie wspominacie o walizka. n<pn<p
ameba mówi Przywróć Monikę

27

Cóż, aby zrozumieć, dlaczego macierz kowariancji populacji jest zawsze dodatnia półokreślona, ​​zauważ, że: gdzie to niektóre liczby rzeczywiste, a to niektóre losowe zmienne o wartościach rzeczywistych.

i,j=1nyiyjCov(Xi,Xj)=Var(i=1nyiXi)0
yiXi

Wyjaśnia to również, dlaczego w przykładzie podanym przez Glen_b macierz kowariancji nie była pozytywnie określona. Mieliśmy , a , więc , a wariancja zmiennej losowej, która jest stała, wynosi .X 1 = X , X 2 = Y , X 3 = Z = X + Y 3 i = 1 y i X i = 0 0y1=1,y2=1,y3=1X1=X,X2=Y,X3=Z=X+Yi=13yiXi=00


Miły! Upvote;)
Starzec na morzu.

To powinna być zaakceptowana odpowiedź. Pytanie tylko pyta o „macierze kowariancji”, które ogólnie odnoszą się do macierzy kowariancji populacji zmiennych losowych, a nie próby.
user3303,

Czy mogę zapytać, jakiej formuły użyłeś w swojej odpowiedzi?
Aqqqq

Jeśli masz na myśli formułę z wariancją i kowariancjami, możesz ją wyprowadzić ze wzoru na kwadrat sumy (czyli kwadrat sumy jest równy sumie produktów dla wszystkich par).
sjm.majewski
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.