Angenommen, wir haben
X 2 ~ unif ( n , 0 , 1 ) ,
wobei eine einheitliche Zufallsstichprobe der Größe n ist, und
Dann beträgt die Korrelation zwischen und .Z 0,4
Wie kann ich dies auf drei Variablen erweitern: , , ?X 2 X 3
r
correlation
random-generation
uniform
user9292
quelle
quelle
Antworten:
Die Frage enthält mehrere Fehler, wie in den Kommentaren vermerkt - wie in der Frage definiert, ist Z weder einheitlich noch weist es die angegebene Korrelation auf.
Kardinal erwähnt Copulas, und das ist die allgemeinste Vorgehensweise. Es gibt jedoch mehrere recht einfache Möglichkeiten, korrelierte Uniformen zu erhalten (die als Abkürzungen zu verschiedenen Arten von Copulas angesehen werden können).
Beginnen wir also mit einigen Methoden, um ein Paar korrelierter Uniformen zu erhalten.
1) Wenn Sie zwei Uniformen hinzufügen, ist das Ergebnis dreieckig und nicht gleichmäßig. Sie können jedoch das cdf der resultierenden Variablen als Transformation verwenden, um das Ergebnis wieder in eine Uniform umzuwandeln. Das Ergebnis ist natürlich nicht mehr linear korreliert.
Hier ist eine R-Funktion, um ein symmetrisches Dreieck auf (0,2) in eine Standarduniform umzuwandeln
Lassen Sie uns überprüfen, ob es eine Uniform gibt
Und es ist mit u1 und u2 korreliert:
aber nicht linear, aufgrund der monotonen Umwandlung in Gleichförmigkeit
Mit diesem Tool können wir einige zusätzliche Variablen generieren, um drei gleichkorrelierte Uniformen zu erhalten:
Die Beziehung zwischen den v-Variablen sieht alle so aus:
-
Eine zweite Alternative ist die Erzeugung durch Einnahme einer Mischung . Anstatt Uniformen zu summieren, nehmen Sie sie mit festen Wahrscheinlichkeiten.
z.B
Was wiederum verwendet werden kann, um mehrere korrelierte Uniformen zu erzeugen.
-
Ein dritter einfacher Ansatz besteht darin, korrelierte Normalen zu generieren und in Uniformität umzuwandeln.
Also konvertieren wir jetzt zu Uniform:
Eine schöne Sache bei Methode 2 und 3 ist, dass Sie eine große Auswahl an korrelierten Dingen haben (und diese müssen nicht wie in den Beispielen hier gleich korreliert sein).
Es gibt natürlich eine Vielzahl anderer Ansätze, aber diese sind alle schnell und einfach.
Der schwierige Teil besteht darin, genau die gewünschte Populationskorrelation zu erhalten. Es ist nicht ganz so einfach, als wenn Sie nur korrelierte Gaußsche wollen. Die Antwort von Quantibex unter Gleichmäßig verteilte und korrelierte Zufallszahlenpaare generieren ergibt einen Ansatz, der meine dritte Methode hier modifiziert, die ungefähr die gewünschte Populationskorrelation ergeben sollte.
quelle
Nehmen Sie zunächst an, dass unabhängig sind? Wenn dies der ist, beträgt der Korrelationskoeffizient zwischen und nicht . Es wäre wenn definiert wäre als . Z X 1 0,4 0,4 Y Y = 0,4 X 1 + √X1,X2 Z X1 0.4 0.4 Y Y=0.4X1+1−(0.4)2−−−−−−−−√X2
Ein einfacher Blick auf die Definition der Korrelationskoeffizientenformel und des Kosinusgesetzes sollte Sie davon überzeugen, dass ein zwischen Reihen ist, wenn die Reihen als Vektoren behandelt werden, wobei jeder Datenpunkt als Dimension eines Vektors behandelt wird. Wenn Sie paarweise unabhängige Reihen haben, sind das drei Vektoren, die alle orthogonal zueinander sind (weil die der Winkel zwischen ihnen alle ).cos 2 3 cos 0ρ cos 2 3 cos 0
Dies sollte Sie auf den Weg bringen, eine Reihe in ihre Komponenten zu zerlegen, genauso wie Sie einen Vektor in seine orthogonalen Komponenten zerlegen würden.
quelle