Ist jede Kovarianzmatrix positiv bestimmt?

48

Ich denke, die Antwort sollte ja sein, aber ich habe immer noch das Gefühl, dass etwas nicht stimmt. Es sollte einige allgemeine Ergebnisse in der Literatur geben, könnte mir jemand helfen?

Jingjings
quelle
2
Jede Kovarianzmatrix ist positiv semidefinit. Das heißt, jede Kovarianzmatrix muss nicht negative Eigenwerte haben. Wenn keiner der Eigenwerte Null ist, ist die Kovarianzmatrix zusätzlich ein positiver Definit.
Kaka
4
@Jingjings: Ich kann in Ihrem Profil sehen, dass Sie noch nie eine Antwort hochgeladen oder akzeptiert haben. Das ist ziemlich bemerkenswert, da Sie viele gute Fragen mit vielen guten Antworten haben. Ich nehme an, Sie wissen nicht genau, wie es funktioniert. Die Idee ist, dass Sie jede Antwort, die Sie nützlich finden, positiv bewerten und jede Antwort akzeptieren sollten, von der Sie glauben, dass sie Ihr Problem löst. Es sieht so aus, als ob Sie viele Antworten positiv bewerten und auch einige davon akzeptieren können.
Amöbe sagt Reinstate Monica

Antworten:

47

Nein.

Betrachten wir drei Variablen , und . Ihre Kovarianzmatrix ist nicht eindeutig positiv, da es einen Vektor ( ) gibt, für den nicht positiv ist.Y Z = X + Y M z = ( 1 , 1 , - 1 ) ' z ' M zXYZ=X+YMz=(1,1,1)zMz

Populationskovarianzmatrizen sind positiv semidefinit.

(Siehe Eigenschaft 2 hier .)

Gleiches sollte generell für Kovarianzmatrizen vollständiger Stichproben gelten (keine fehlenden Werte), da diese auch als diskrete Populationskovarianz angesehen werden können.

Aufgrund der Ungenauigkeit numerischer Gleitkommaberechnungen können jedoch gelegentlich auch algebraisch positive definite Fälle berechnet werden, die nicht einmal positiv semidefinit sind. Eine gute Auswahl an Algorithmen kann dabei helfen.

Allgemeiner gesagt, können Stichproben-Kovarianzmatrizen - abhängig davon, wie sie mit fehlenden Werten in einigen Variablen umgehen - auch theoretisch positiv sein oder nicht. Wenn zum Beispiel paarweise gelöscht wird, gibt es keine Garantie für eine positive Halbbestimmtheit. Darüber hinaus kann ein akkumulierter numerischer Fehler dazu führen, dass Stichproben-Kovarianzmatrizen, die im fiktiven Sinne positiv sein sollten, semidefinit bleiben.

Wie so:

 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

Dies geschah im ersten Beispiel, das ich ausprobiert habe (ich sollte wahrscheinlich einen Samen liefern, aber es ist nicht so selten, dass Sie viele Beispiele ausprobieren müssen, bevor Sie einen bekommen).

Das Ergebnis fiel negativ aus , obwohl es algebraisch null sein sollte. Ein anderer Satz von Zahlen kann eine positive Zahl oder eine "exakte" Null ergeben.

-

Beispiel für ein moderates Fehlen, das durch paarweises Löschen zum Verlust der positiven Halbwertszeit führt:

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
Glen_b
quelle
1
+1: Aber als Kommentar vor allem für Sie Formulierung: Wie Sie es präsentieren, sieht es so aus, als ob PSD-Ness im allgemeinen Fall nicht garantiert ist. Wie in der Antwort von sjm.majewski gezeigt, benötigen Sie einen "pathologischen" Fall (nicht vollständiger Rang), und am Ende haben Sie dieses Problem. (Ich stimme dem numerischen Kommentar voll und ganz zu.) Können Sie ein Problem mit etwas mehr fehlenden Werten erläutern, bei dem Sie PSD nicht einmal garantieren können, selbst wenn Sie numerische Fehler berücksichtigen? (Ich nehme an, Sie sind nicht mit der Sparsamkeit der Messungen usw. befasst, wenn Sie das sagen)
usεr11852 sagt Reinstate Monic
2
Natürlich tritt es nur auf, wenn es nicht den vollen Rang hat (oder sehr nah dran ist). Schauen Sie sich die Definition von PSD an (und @ sjm.majewskis Erwähnung der Beziehung zur Varianz), und dies ist klar. Aber es als pathologisch zu definieren, erscheint seltsam, da diese nicht vollständigen Situationen in der Praxis die ganze Zeit vorkommen. Dies ist keine einfache Pedanterie - sie wirkt sich jeden Tag auf reale Datensätze aus und führt daher hier zu regelmäßigen Fragen. Ich werde oben über das Fehlen und paarweise Löschen sprechen, weil hier kein Platz dafür ist.
Glen_b
2
Ich denke, es wäre großartig, zu dieser Antwort eine explizite Bemerkung hinzuzufügen, dass in der Situation garantiert wird, dass die Stichproben-Kovarianzmatrix nicht positiv definit ist (sie wird einen niedrigen Rang haben, dh einige Null-Eigenwerte haben). Ich habe nach einem Thread gesucht, bei dem Q stats.stackexchange.com/questions/198488 als Duplikat von geschlossen werden kann, und ich denke, dies wäre ein guter Kandidat, aber Sie scheinen das nicht zu erwähnen Fall. n < pn<pn<p
Amöbe sagt Reinstate Monica
27

Um zu verstehen, warum die Kovarianzmatrix einer Population immer positiv ist, beachten Sie : wobei einige reelle Zahlen und einige reelle Zufallsvariablen sind.

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

Dies erklärt auch, warum in dem von Glen_b gegebenen Beispiel die Kovarianzmatrix nicht eindeutig positiv war. Wir hatten und , also ist und Die Varianz einer Zufallsvariablen, die konstant ist, ist .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

sjm.majewski
quelle
Nett! Upvote;)
Ein alter Mann im Meer.
Dies sollte die akzeptierte Antwort sein. Bei der Frage geht es nur um "Kovarianzmatrizen", die sich im Allgemeinen auf die Populationskovarianzmatrix von Zufallsvariablen beziehen, nicht auf die Stichprobe.
user3303
Darf ich fragen, welche Formel Sie in Ihrer Antwort verwendet haben?
Aqqqq
Wenn Sie die Formel mit Varianz und Kovarianzen meinen, können Sie sie aus der Formel für das Quadrat der Summe ableiten (dh das Quadrat der Summe ist gleich der Summe der Produkte für alle Paare).
sjm.majewski