Was sind einige Techniken zum Abtasten von zwei korrelierten Zufallsvariablen?


15

Was sind einige Techniken zum Abtasten von zwei korrelierten Zufallsvariablen:

  • wenn ihre Wahrscheinlichkeitsverteilungen parametrisiert sind (zB log-normal)

  • wenn sie nicht parametrische Verteilungen haben.

Die Daten sind zwei Zeitreihen, für die wir Korrelationskoeffizienten ungleich Null berechnen können. Wir möchten diese Daten in Zukunft simulieren, vorausgesetzt, die historische Korrelation und die Zeitreihen-CDF sind konstant.

In Fall (2) würde das 1-D-Analogon darin bestehen, den CDF zu konstruieren und daraus eine Probe zu entnehmen. Also könnte ich eine 2-D-CDF konstruieren und das Gleiche tun. Ich frage mich jedoch, ob es eine Möglichkeit gibt, mit den einzelnen 1-D-CDFs und der Verknüpfung der Picks aneinander heranzukommen.

Vielen Dank!


3
Das Verknüpfen von 1-D-CDFs lässt mich an Kopula denken . Ich bin mir nicht sicher, ob sie für dich von Nutzen sind.
onestop

Antworten:


22

Ich denke, was Sie suchen, ist eine Kopula. Sie haben zwei Randverteilungen (angegeben durch parametrische oder empirische cdfs) und möchten nun die Abhängigkeit zwischen den beiden angeben. Für den bivariaten Fall gibt es alle Arten von Wahlmöglichkeiten, aber das Grundrezept ist das gleiche. Ich verwende eine Gaußsche Copula, um die Interpretation zu vereinfachen.

Aus der Gaußschen Kopula mit der Korrelationsmatrix C zu zeichnenC

  1. Zeichnen (Z=(Z1,Z2)N(0,C)

  2. Setze für i = 1 , 2 (mit Φ der normalen Standard-cdf). Jetzt U 1 , U 2U [ 0 , 1 ] , aber sie sind abhängig.Uich=Φ(Zich)ich=1,2ΦU1,U2U[0,1]

  3. Setze wobei F - 1 i die (Pseudo-) Inverse des Rand-cdf für die Variable i ist . Dies impliziert, dass Y i der gewünschten Verteilung folgt (dieser Schritt ist nur eine inverse Transformationsabtastung).Y.ich=Fich-1(Uich)Fi1iYi

Voila! Probieren Sie es für einige einfache Fälle aus und sehen Sie sich die Randhistogramme und Scatterpolots an. Es macht Spaß.

Es gibt jedoch keine Garantie dafür, dass dies für Ihre spezielle Anwendung geeignet ist (insbesondere müssen Sie möglicherweise die Gaußsche Copula durch at copula ersetzen), aber dies sollte Ihnen den Einstieg erleichtern. Eine gute Referenz zur Copula-Modellierung ist Nelsen (1999), Eine Einführung in Copulas , aber es gibt auch einige ziemlich gute Online-Einführungen.


2
+1 Nelsen ist gut lesbar. Ich habe vor ein paar Jahren ein Exemplar gekauft, obwohl ich viele Online-Materialien durchgesehen hatte.
Whuber

1
Ich habe ein großartiges Tutorial-Paper und eine dazugehörige Tabelle gefunden: behan.ws/copula.pdf und soa.org/files/xls/rsrch-copula-ex.xls
Pete SupportMonica

1
@Pete, das Papier ist ja nett. Der Tabellenkalkulationslink hingegen ist tot
Boris Gorelik,

Es sieht so aus, als ob die neuesten Versionen von Mathematica und Matlab bereits integrierte Funktionen zur Behebung dieses Problems haben.
LCFactorization

was tun, wenn ich das gleiche mit einer plackett copula machen will? Gibt es eine Beziehung zwischen Normal und Plackett Copula?
Fedvasu

2

Eine andere beliebte Methode ist die "trivariate Reduktion" der Stichproben X1Y.+Z und X2W+Z so dass die Korrelation durch die Zufallsvariable induziert wird Z. Beachten Sie, dass dies auch auf mehr als 2 Dimensionen verallgemeinerbar ist, jedoch komplizierter als der 2-D-Fall. Sie könnten denken, Sie können nur positive Korrelationen erhalten, aber tatsächlich können Sie auch negative Korrelationen erhalten, indem Sie verwendenU und (1-U) Bei der Erzeugung von Zufallsvariablen führt dies zu einer negativen Korrelation der Verteilungen.

Eine dritte beliebte Methode ist (NORTA) NORmal To Anything ; Generieren Sie korrelierte Normalvariablen, machen Sie sie zu einheitlichen Zufallsvariablen, indem Sie ihre jeweiligen cdfs auswerten, und verwenden Sie dann diese "neuen" einheitlichen Zufallsvariablen als Zufallsquelle für die Generierung von Draws aus der neuen Verteilung.

Neben dem in einem anderen Beitrag erwähnten Copula-Ansatz (eine ganze Klasse von Methoden) können Sie auch eine Stichprobe aus der maximalen Kopplungsverteilung ziehen, die dem Copula-Ansatz im Geiste ähnlich ist. Sie geben die Randverteilungen und die Stichprobe aus der maximalen Kopplung an. Dies wird durch 2 Annehmen-Ablehnen-Schritte erreicht, wie von Pierre Jacob hier beschrieben . Vermutlich kann dieses Verfahren auf höhere Dimensionen als 2 ausgedehnt werden, es ist jedoch möglicherweise komplizierter zu erreichen. Beachten Sie, dass die maximale Kopplung eine Korrelation induziert, die von den Werten der Randparameter abhängt. Ein gutes Beispiel dafür finden Sie in diesem Beitrag in Xi'ans Antwort auf meine Frage.

Wenn Sie bereit sind, ungefähre (in den meisten Fällen) Stichproben zu akzeptieren , sind MCMC-Techniken auch eine Option, um Stichproben aus mehrdimensionalen Verteilungen zu erstellen.

Sie können auch Akzeptanz- / Zurückweisungsmethoden verwenden, es ist jedoch in der Regel schwierig, eine dominierende Dichte zu finden, aus der eine Stichprobe erstellt und deren Verhältnis zur gewünschten Dichte bewertet werden kann.

Dies sind alle zusätzlichen Methoden, die ich mir vorstellen kann, aber es gibt wahrscheinlich ein paar, die ich verpasst habe.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.