Discussion:
Die Verwerfungsmethode
(zu alt für eine Antwort)
Andrea
2008-06-16 12:35:14 UTC
Permalink
Hallo zusammen,

ich beschäftige mich gerade mit der Erzeugung von Zufallszahlen,
insbesondere mit der Verwerfungsmethode. Hierzu habe ich folgende
Fragen:

1.) Bei der Verwerfungmethode erzeugt man Zufallszahlen einer
beliebigen Verteilung F mit Hilfe (u.a.) der Dichte g>0 einer
Verteilung G. Die Zufallszahl mit der Verteilung G hat man vorher zum
Beispiel durch die Verwerfungmethode erzeugt. An die Dichte g ist
jetzt folgende Bedingung gestellt: f(x)<= a*g(x) (für alle x aus R).
In meiner Literatur steht nun, dass a>1 sein soll. An vielen anderen
Stellen finde ich, dass a>0 sein soll. Ich würde jetzt gerne wissen
welche dieser beiden Aussagen stimmt. Es könnte doch theoretisch sein
(auch wenn es keinen Sinn macht), dass f(x)=g(x) ist. Dann müsste doch
a=1 sein, oder nicht?

2.) Ich suche bereits sehr lange ein gut verständliches Beispiel, bei
dem man die Verwerfungsmethode anwendet. Trotz intensiver Suche im
Internet konnte ich keins finden. Kann mir da vielleicht jemand
helfen?

Vielen Dank schon mal für die Hilfe.
Gruß
Andrea
karl
2008-06-16 13:07:07 UTC
Permalink
Post by Andrea
Hallo zusammen,
ich beschäftige mich gerade mit der Erzeugung von Zufallszahlen,
insbesondere mit der Verwerfungsmethode. Hierzu habe ich folgende
1.) Bei der Verwerfungmethode erzeugt man Zufallszahlen einer
beliebigen Verteilung F mit Hilfe (u.a.) der Dichte g>0 einer
Verteilung G. Die Zufallszahl mit der Verteilung G hat man vorher zum
Beispiel durch die Verwerfungmethode erzeugt. An die Dichte g ist
jetzt folgende Bedingung gestellt: f(x)<= a*g(x) (für alle x aus R).
In meiner Literatur steht nun, dass a>1 sein soll. An vielen anderen
Stellen finde ich, dass a>0 sein soll. Ich würde jetzt gerne wissen
welche dieser beiden Aussagen stimmt. Es könnte doch theoretisch sein
(auch wenn es keinen Sinn macht), dass f(x)=g(x) ist. Dann müsste doch
a=1 sein, oder nicht?
Ja, aber was soll das ganze dann, wenn a=1?

Schau Dir halt mal ein Bild an wie in

http://www.fizyka.umk.pl/nrbook/c7-3.pdf

damit Dir das klar wird.
Post by Andrea
2.) Ich suche bereits sehr lange ein gut verständliches Beispiel, bei
dem man die Verwerfungsmethode anwendet. Trotz intensiver Suche im
Internet konnte ich keins finden. Kann mir da vielleicht jemand
helfen?
Sonderlich intensiv hast Du nicht gesucht. Mit "rejection method"
findet man z. B. gleich:

http://www.ica1.uni-stuttgart.de/Courses_and_Lectures/Mathematik_mit_MATHLAB/Html/node32.html

http://www.mathworks.com/matlabcentral/newsreader/view_thread/167733

Ciao

Karl
Andrea
2008-06-16 14:08:31 UTC
Permalink
Post by karl
Ja, aber was soll das ganze dann, wenn a=1?
Ich hatte ja bereits geschrieben, dass es nicht sehr sinnvoll ist,
aber da ich sehr oft gelesen habe, dass a>0 (und nicht a>1) sein soll,
hätte ich halt gerne gewusst welche Bedingung die Richtige ist. Und am
effektivsten wird die Verwerfungsmethode ja wenn f(x) durch a*g(x)
möglichst gut angenähert wird. Graphisch würde das bedeuten, dass die
Fläche zwischen f und a*g möglichst klein ist. Da ich auch an einer
Stelle gelesen habe, dass das ja bedeuten würde, dass die
Verwerfungsmethode natürlich am effektivsten ist wenn f(x)=g(x) (mit
a=1) gelten würde, müsste dieser Fall doch zumindest zugelassen
werden. Mir ist schon klar, dass es keinen Sinn macht, dass man eine
Zufallszahl mit einer Verteilung F erzeugt und dazu die selbe
Verteilung G nutzt, aber wieso sollte es nicht theoretisch möglich
sein?
Post by karl
Sonderlich intensiv hast Du nicht gesucht. Mit "rejection method"
Ich suche leider eine andere Art von Beispiel, deshalb habe ich auch
trotz langer Suche nichts gefunden. Ich benötige ein Beispiel, bei dem
die Verwerfungsmethode angewendet wird um Zufallszahlen mit der
Standard-Normalverteilung zu erzeugen. Wichtig wäre es mir, dass die
Schritte genau erklärt werden, da ich leider einige Defizite in
Stochastik habe (die ich so langsam aufholen möchte).

Nochmals danke für die Hilfe
Andrea
karl
2008-06-16 14:36:18 UTC
Permalink
Post by Andrea
Post by karl
Ja, aber was soll das ganze dann, wenn a=1?
Ich hatte ja bereits geschrieben, dass es nicht sehr sinnvoll ist,
aber da ich sehr oft gelesen habe, dass a>0 (und nicht a>1) sein soll,
hätte ich halt gerne gewusst welche Bedingung die Richtige ist.
Den Link mit der Zeichnung hast Du Dir nicht angesehen? Daraus sollte
es mit ein bißchen Nachdenken
klar werden.

Und am
Post by Andrea
effektivsten wird die Verwerfungsmethode ja wenn f(x) durch a*g(x)
möglichst gut angenähert wird. Graphisch würde das bedeuten, dass die
Fläche zwischen f und a*g möglichst klein ist.
Man kennt aber in den Anwendungen eben die Fläche unter f nicht.

Da ich auch an einer
Post by Andrea
Stelle gelesen habe, dass das ja bedeuten würde, dass die
Verwerfungsmethode natürlich am effektivsten ist wenn f(x)=g(x) (mit
a=1) gelten würde, müsste dieser Fall doch zumindest zugelassen
werden. Mir ist schon klar, dass es keinen Sinn macht, dass man eine
Zufallszahl mit einer Verteilung F erzeugt und dazu die selbe
Verteilung G nutzt, aber wieso sollte es nicht theoretisch möglich
sein?
Natürlich kann man das machen, ist aber vollkommen sinnlos.
Post by Andrea
Post by karl
Sonderlich intensiv hast Du nicht gesucht. Mit "rejection method"
Ich suche leider eine andere Art von Beispiel, deshalb habe ich auch
trotz langer Suche nichts gefunden. Ich benötige ein Beispiel, bei dem
die Verwerfungsmethode angewendet wird um Zufallszahlen mit der
Standard-Normalverteilung zu erzeugen. Wichtig wäre es mir, dass die
Schritte genau erklärt werden, da ich leider einige Defizite in
Stochastik habe (die ich so langsam aufholen möchte).
Man kann wohl die Verwerfungsmethode so hindrehen, daß man damit
normalverteilte ZV erzeugt, ebenso wie man
mit einem Taschenrechner einen Nagel in die Wand schlagen kann. Dafür
gibt es bessere Methoden. Das ist nicht das
"gut verständliche Beispiel", das Du angeblich suchst, sondern etwas
total artifizielles.

Ciao

Karl
Bastian Erdnuess
2008-06-16 16:39:27 UTC
Permalink
Post by Andrea
1.) Bei der Verwerfungmethode erzeugt man Zufallszahlen einer
beliebigen Verteilung F mit Hilfe (u.a.) der Dichte g>0 einer
Verteilung G. Die Zufallszahl mit der Verteilung G hat man vorher zum
Beispiel durch die Verwerfungmethode erzeugt. An die Dichte g ist
jetzt folgende Bedingung gestellt: f(x)<= a*g(x) (für alle x aus R).
In meiner Literatur steht nun, dass a>1 sein soll. An vielen anderen
Stellen finde ich, dass a>0 sein soll. Ich würde jetzt gerne wissen
welche dieser beiden Aussagen stimmt. Es könnte doch theoretisch sein
(auch wenn es keinen Sinn macht), dass f(x)=g(x) ist. Dann müsste doch
a=1 sein, oder nicht?
Naja. Es gilt offensichtlich 1 = Int f(x) dx <= a Int g(x) dx = a, also
a >= 1 ganz automatisch, da f und g Dichten sind. Den Fall a = 1
auszuschließen, weil man dann die Methode gar nicht braucht macht auch
Sinn. Man kann also Annehmen, dass a > 1 gilt. Braucht man nur das
Vorzeichen von a (z. B. um Ungleichungen richtig umzuformen) reicht es a
Post by Andrea
0 zu fordern. Das ist ja nicht falsch.
Bastian
Andrea
2008-06-16 16:52:04 UTC
Permalink
Danke Bastian für die wirklich gute Hilfe, so macht die Forderung auch
für mich Sinn.

Loading...