Simulation von Zufallszahlen mit gegebener Dichte

Neue Frage »

Dual Space Auf diesen Beitrag antworten »
Simulation von Zufallszahlen mit gegebener Dichte
Ich habe eine Wahrscheinlichkeitsdichte gegeben und möchte Zufallszahlen mit eben dieser Dichte simulieren. Kann mir jemand sagen, wie ich da vorgehen muss?
AD Auf diesen Beitrag antworten »

Ich nehme an, die Inverse der Verteilungsfunktion ist nicht einfach darstellbar? Ansonsten wäre das Inversionsverfahren erste Wahl.

Als universell einsetzbares Verfahren bietet sich die Verwerfungsmethode an.
Dual Space Auf diesen Beitrag antworten »

Danke, Arthur. Bei der gegebenen Dichte kann ich die Verteilungsfunktion leider nicht mal analytisch hinschreiben. Mal schauen, ob ich mit der Verwerfung zurecht komme. Augenzwinkern
Dual Space Auf diesen Beitrag antworten »

Grml ... ich scheitere schon bei der Konstruktion der Hilfsdichte g, so dass



für ein M>1 und reelle x.

Hier ist mal die Dichte, die mir die Sorgen macht:



wobei B(.,.) die Beta-Verteilung ist, und 0<a<1, sowie 0<b<1.


Kommt jemand weiter als ich oder kennt jemand eine Mathematica oder Matlab Routine, die das bewerkstelligt?


Edit: Vielleicht noch eine Info, um die ich grad schlauer geworden bin. Und zwar ist obiges f die Dichtefunktion einer Zufallsvariable, die die "symmetrization" (kenne kein deutsches Wort dafür) der Zufallsgröße ist, wobei Z Beta-verteilt ist.
AD Auf diesen Beitrag antworten »

Wenn ich das richtig sehe, geht deine Zufallsgröße durch eine einfache Transformation aus der Betaverteilung hervor, richtig?

Und die Betaverteilung ist eine auf einem endlichen Intervall (konkret: [0,1]) konzentrierte Verteilung mit beschränkter Dichte - für solche Verteilungen kann man einfach die stetige Gleichverteilung auf dem fraglichen endlichen Intervall als "Hilfsverteilung" nehmen!
Dual Space Auf diesen Beitrag antworten »

Tatsächlich sehen die Dichten ähnlich aus, danke also schon mal für diesen Hinweis. Dennoch ist mir nicht klar, wie ich von der Beta-Dichte zu meiner komme, zumal die gegebene Dichte f für alle reellen x erklärt ist (und dabei nicht nur trivial außerhalb von [0,1] fortgesetzt wird). verwirrt
 
 
AD Auf diesen Beitrag antworten »

So wie ich das sehe, kannst du doch erstmal als betaverteilt simulieren. Dann bildest du und würfelst noch fifty-fifty ein Vorzeichen dafür aus - schon hast du deinen simulierten Wert? Oder unterliege ich jetzt einem Irrtum? verwirrt

Allerdings habe ich das rein aus der Beschreibung

Zitat:
Original von Dual Space
Und zwar ist obiges f die Dichtefunktion einer Zufallsvariable, die die "symmetrization" (kenne kein deutsches Wort dafür) der Zufallsgröße ist, wobei Z Beta-verteilt ist.

geschlossen - wenn ich mich nicht täusche passt diese Beschreibung nicht zu deiner Dichte...
Dual Space Auf diesen Beitrag antworten »

OK ... nun mal die ganze Wahrheit:

[attach]9621[/attach]

Ich möchte die Zufallszahlen mit Dichte (5.19) simulieren.


Edit: Hab mal die Textpassage erweitert ... langsam dämmert mir, was ich zu tun habe. Mir fehlt halt die Übung auf diesem Terrain. Danke Arthur. Blumen
AD Auf diesen Beitrag antworten »

Irgendwas stimmt nicht: Ist wirklich betaverteilt? Dann müsste es beschränkt sein, und damit auch beschränkt, was der angegebenen Dichte widerspricht. Irgendwas ist faul. unglücklich

Und wozu wird eingeführt? Ich tippe mal auf Schreibfehler: Tatsächlich ist gemeint... verwirrt
Dual Space Auf diesen Beitrag antworten »

Siehe mein Edit. Vielleicht kommt damit Licht ins dunkel ... ich glaube jedenfalls, dass bei mir der Groschen allmählich fällt.


PS. Auf den Tippfehler U vs. Z spekuliere ich auch.
AD Auf diesen Beitrag antworten »

Nachrechen über die Dichtetransformation bestätigt diese Spekulation: ist umgestellt , dann folgt




Fazit:

1. Simuliere mit Verwerfungsmethode, unter Zuhilfenahme der Gleichverteilung auf [0,1] als Hilfsfunktion.

2. Simuliere das Vorzeichen mit .

3. Dann hat die von dir gewünschte Verteilung.
Dual Space Auf diesen Beitrag antworten »

Danke danke danke ... Tanzen
AD Auf diesen Beitrag antworten »

Ein Vorteil der Verwerfungsmethode ist zudem, dass du zur Simulation von von der zugeörigen Dichte nicht mal den Normierungsfaktor berechnen musst. smile

Du musst lediglich das Maximum von im Intervall [0,1] bestimmen, was ja ziemlich einfach ist.

Dabei bin ich allerdings davon ausgegangen, dass ist. Ist das nicht der Fall, dann ist leider die o.g. Beschränktheit im Eimer. traurig
Dual Space Auf diesen Beitrag antworten »

Leider ist das nicht der Fall - beide Parameter sind sogar echt kleiner als 1. Naja zur Not lasse ich mir die Zufallszahlen Z von Mathematica mittels RandomReal[BetaDistribution[b2,b1],n] erzeugen. Schließlich brauche ich die "nur" um einen Prozess zu simulieren.
AD Auf diesen Beitrag antworten »

Zitat:
Original von Dual Space
Naja zur Not lasse ich mir die Zufallszahlen Z von Mathematica mittels RandomReal[BetaDistribution[b2,b1],n] erzeugen.

Wenn die Möglichkeit besteht, umso besser. Na wenigstens konnten wir die Frage mit dem Druckfehler klären. Augenzwinkern
Dual Space Auf diesen Beitrag antworten »

Ohne deine Hilfe, wäre ich da so schnell nicht dahinter gekommen und würde immer noch (verzweifelt) nach einer Hilfsdichte g suchen. Augenzwinkern
Dual Space Auf diesen Beitrag antworten »

Soweit klappt alles super, aber um die Sache noch abzurunden brächte ich erneut Hilfe. Und zwar frag ich mich grad, ob es irgendwie möglich ist (und wenn ja wie) eine -verteilte Zufallsgröße in eine -verteilte zu transformieren.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »