Simulation von Zufallszahlen mit gegebener Dichte |
16.01.2009, 13:50 | Dual Space | Auf diesen Beitrag antworten » | ||
Simulation von Zufallszahlen mit gegebener Dichte |
||||
16.01.2009, 13:58 | 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. |
||||
16.01.2009, 14:55 | 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. |
||||
16.01.2009, 20:12 | 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. |
||||
16.01.2009, 20:57 | 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! |
||||
16.01.2009, 21:01 | 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). |
||||
Anzeige | ||||
|
||||
16.01.2009, 21:04 | 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? Allerdings habe ich das rein aus der Beschreibung
geschlossen - wenn ich mich nicht täusche passt diese Beschreibung nicht zu deiner Dichte... |
||||
16.01.2009, 21:12 | 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. |
||||
16.01.2009, 21:19 | 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. Und wozu wird eingeführt? Ich tippe mal auf Schreibfehler: Tatsächlich ist gemeint... |
||||
16.01.2009, 21:23 | 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. |
||||
16.01.2009, 21:36 | 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. |
||||
16.01.2009, 21:39 | Dual Space | Auf diesen Beitrag antworten » | ||
Danke danke danke ... |
||||
16.01.2009, 21:48 | 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. 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. |
||||
16.01.2009, 22:17 | 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. |
||||
17.01.2009, 17:27 | AD | Auf diesen Beitrag antworten » | ||
Wenn die Möglichkeit besteht, umso besser. Na wenigstens konnten wir die Frage mit dem Druckfehler klären. |
||||
17.01.2009, 19:37 | 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. |
||||
18.01.2009, 13:00 | 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. |
|