Lochungsvorrichtung Beispiel einer solchen Matrix wäre
C = (1-m)*I + m*U*U'
wo I die Einheitsmatrix ist, U ein Vektor mit nur Einsen und m = 0,3. C ist positiv definit und das durchschnittliche (tatsächlich jedes) Element außerhalb der Diagonale ist m.
So könnten wir versuchen, eine Matrix der Form zu erzeugen
C = D + alpha*U*U'
wobei D diagonaler und positiv definit ist, Alpha positiv Skalierer und U a 'random' Vektor. Eine solche Matrix wird positiv definit sein. Dazu den richtigen Durchschnitt der Diagonal-Elemente ein wenig Algebra
alpha = dim*(dim-1)*m/(S*S-T)
wo
S = Sum{ i | U[i] }
T = Sum{ i | U[i]*U[i]}
Wie zeigt haben, solange alle Elemente der U-positiv sind, haben wir
S*S>T
und so wird alpha positiv sein.
für die Diagonalelemente von C zu 1,0, benötigen wir
D[i] = 1 - alpha*U[i]*U[i] (i=1..dim)
und alle diese müssen nicht negativ sein.
Leider konnte ich theoretisch nicht herausfinden, wie die Elemente von U ausgewählt werden sollten, um dies zu garantieren. Wenn jedoch experimentell die Elemente von U gleichförmige Zufallszahlen zwischen 1,0 und 5,0 sind, habe ich keinen Fall gesehen, in dem irgendwelche der D [i] negativ sind.
Die obere Grenze für die Elemente von U, 5.0 oben, steuert, wie unterschiedlich die verschiedenen Korrelationen sind. Bei 5,0 liegen sie zwischen 0,03 und 0,8, bei einer Obergrenze von 2,0 variieren sie zwischen 0,13 und 0,53. Wenn Sie die obere Grenze zu hoch wählen, erhöht sich die Wahrscheinlichkeit, dass die Methode fehlschlägt (D nicht positiv).
Wenn Sie wissen, dass die paarweisen Korrelationen einen Mittelwert von 0,3 haben, warum generieren Sie nicht einfach eine Zahl zwischen 0 und 1 mit einem Mittelwert von 0,3 und füllen Sie die Matrix auf diese Weise? – adaien
Korrelation liegt zwischen -1 und 1. Wenn Sie jedoch die Korrelationsmatrix direkt ausfüllen, funktioniert die Zufallsfunktion möglicherweise nicht. Sie müssen nach positiver Bestimmtheit suchen. – karakfa
Ja, das ist ein guter Punkt – adaien