Produkt von Zufallszahlen < Stochastik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 08:55 Mo 13.10.2008 | Autor: | detlef |
Hallo,
es geht um das Produkt von zwei Zufallszahlen!Die Wahrscheinlichkeitsdichte von einer Zufallszahl ist ja durch die Funktion:
[mm] f(x)_1 [/mm] = [mm] 1/(\sigma*\wurzel{2*pi}) e^{-1/2*((x-mue)/\sigma)^2}
[/mm]
Ist dann das Produkt von zwei Dichten einfach [mm] f(x)_1 [/mm] * [mm] f(x)_2? [/mm]
Wozu braucht man die Formel:
y(t) = [mm] \integral_{a}^{b}{1/y * f_1(y)*f_2(t/y) dy}
[/mm]
Warum ist das das Produkt von zwei Zufallszahlen'?
Ich habe die Frage vor einiger Zeit bei www.matheplanet.com ebenfalls gestellt!
detlef
|
|
|
|
> Hallo,
>
> es geht um das Produkt von zwei Zufallszahlen!Die
> Wahrscheinlichkeitsdichte von einer Zufallszahl ist ja
> durch die Funktion:
>
> [mm]f(x)_1[/mm] = [mm]1/(\sigma*\wurzel{2*pi}) e^{-1/2*((x-mue)/\sigma)^2}[/mm]
>
> Ist dann das Produkt von zwei Dichten einfach [mm]f(x)_1[/mm] *
> [mm]f(x)_2?[/mm]
> Wozu braucht man die Formel:
>
> y(t) = [mm]\integral_{a}^{b}{1/y * f_1(y)*f_2(t/y) dy}[/mm]
>
> Warum ist das das Produkt von zwei Zufallszahlen'?
>
>
> Ich habe die Frage vor einiger Zeit bei www.matheplanet.com
> ebenfalls gestellt!
>
> detlef
Hallo detlef,
zuerst einmal die Frage:
"Weshalb ist überhaupt eine Integration notwendig ?"
Dies liegt daran, dass ein bestimmter Wert des Produktes
[mm] P=X_1*X_2 [/mm] auf verschiedenste Arten zustande kommen
kann. Zum Beispiel
72=1*72=1.2*60=1.5*48=1.8*40=........
Insgesamt sind es natürlich unendlich viele Produkte,
die zum selben Ergebnis führen, und so beeinflusst jeder
Wert der Verteilungen von [mm] X_1 [/mm] und [mm] X_2 [/mm] die Verteilungs-
dichte von P an der Stelle 72 (und an jeder anderen
Stelle auch). Deshalb die Integration.
Zum selben Produktwert P=z führen alle Multiplikationen
mit [mm] X_1=t\in \IR [/mm] und [mm] X_2=\bruch{z}{t} [/mm] . Der Fall t=0 bildet hier
übrigens keine echte Komplikation, weil [mm] p(X_1=0)=0 [/mm] .
Für die Dichte der Produkt-Verteilung an der Stelle z
ergibt sich deshalb
[mm] f_P(z)=f_{X_1*X_2}(z)=\integral_{-\infty}^{\infty}f_{X_1}(t)*f_{X_2}(\bruch{z}{t})*\bruch{1}{|t|}\ [/mm] dt
Der Faktor [mm] \bruch{1}{|t|} [/mm] dient dazu, die "Skalenverzerrung"
zu eliminieren, die sich durch die Multiplikation bei den
Differentialen ergibt.
(Für diese Formel wird vorausgesetzt, dass [mm] X_1 [/mm] und [mm] X_2
[/mm]
unabhängig und ihre Verteilungen absolut stetig sind.)
Du sprichst oben von zwei normalverteilten Zufalls-
variablen [mm] X_1 [/mm] und [mm] X_2.
[/mm]
Zwar ist deren Summe [mm] X_1+X_2 [/mm] wieder normalverteilt,
nicht aber deren Produkt [mm] X_1*X_2 [/mm] .
LG
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:33 Mo 13.10.2008 | Autor: | detlef |
Danke schön, aber mir ist noch einiges unklar!
Ich wollte versuchen, dass graphisch darzustellen, damit man das anschaulich hat! Ich kann ja eine Dichtefunktion zeichnen lassen und dann dachte ich mir, dass es doch auch möglich sein muss, dass Produkt von zwei Dichtefuktionen zu zeichnen?!
Wäre das dann die Funktion [mm] f_p(z) [/mm] ohne das Integral?
Und verstehe ich nicht, dass die eine Funktion von t abhängt und die andere von z/t? Wie kann man sich das vorstellen?
detlef
|
|
|
|
|
> Danke schön, aber mir ist noch einiges unklar!
>
> Ich wollte versuchen, dass graphisch darzustellen, damit
> man das anschaulich hat! Ich kann ja eine Dichtefunktion
> zeichnen lassen und dann dachte ich mir, dass es doch auch
> möglich sein muss, dass Produkt von zwei Dichtefunktionen zu
> zeichnen?!
Es geht eben nicht um das Produkt von zwei Dichtefunktionen,
sondern um die Dichtefunktion einer Zufallsgrösse, die das
Produkt von zwei Zufallsgrössen mit bekannten Dichtefunk-
tionen ist.
> Wäre das dann die Funktion [mm]f_p(z)[/mm] ohne das Integral?
Nein; das Integral kann man nicht umgehen.
> Und verstehe ich nicht, dass die eine Funktion von t
> abhängt und die andere von z/t? Wie kann man sich das
> vorstellen?
Das Produkt z resultiert, wenn man [mm] X_1 [/mm] mit [mm] X_2 [/mm] multi-
pliziert. Geben wir also der Variablen [mm] X_1 [/mm] zum Zweck der
Integration z.B. die Bezeichnung t, dann ist der zugehö-
rige [mm] X_2- [/mm] Wert gleich z/t . Man könnte die Bezeichnungen
ebensogut umgekehrt verteilen.
Da die Integration meistens sehr schwer bis unmöglich
ist, könnte man, wenn man trotzdem eine grafische
Darstellung möchte, eine Monte-Carlo-Simulation anstellen:
1.) Zufallsgeneratoren entsprechend den Verteilungen
von [mm] X_1 [/mm] und [mm] X_2 [/mm] erstellen (für eine Normalverteilung
z.B. nach der Zwölferregel oder für Gleich-
verteilung mit dem üblichen Zufallsgenerator.
2.) Mit den beiden Apparaten Zufallszahlen berechnen,
Resultate und die Produkte speichern bzw. in Klassen zählen.
3.) Grafik erstellen (laufend aktualisieren oder am
Schluss gesamthaft erstellen)
Gruß
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 16:48 Mo 13.10.2008 | Autor: | detlef |
Hmm,
das verstehe ich noch nicht so richtig? Was sollen denn [mm] f_1 [/mm] und [mm] f_2 [/mm] sein? Sind das nicht die Verteilungsfunktionen, die dann in die Formel für das Produkt eingesetzt werden muss?
Ja genau, ich wollte das Integral mit Monte-Carlo lösen, aber das mit dem Produkt ist mir noch nicht klar und was genau dann mit Zufallszahlen angestellt werden muss!?
Kann man das Produkt von den beiden Zufallszahlen darstellen?
detlef
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:10 Mo 13.10.2008 | Autor: | leduart |
Hallo
was sollen das sonst fuer fkt sein?
das Produkt ist doch wieder ne Zahl? was willst du sonst darstellen?
Gruss leduart
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 22:02 Mo 13.10.2008 | Autor: | detlef |
hallo,
ich versuche nochmal mein Problem zu beschreiben! Wenn ich die normale Dichtefunktion habe :
$ [mm] 1/(\sigma\cdot{}\wurzel{2\cdot{}pi}) e^{-1/2\cdot{}((x-mue)/\sigma)^2} [/mm] $
Dann kann ich diese plotten lassen und mit einer Monte-Carlo-Simulation die Fläche unter dem Graphen bestimmen und habe die Wahrscheinlichkeit! Und das gleiche möchte ich mit dem Produkt von Zufallszahlen versuchen und das habe ich noch nicht verstanden!
Das Produkt ist nicht normalverteilt, aber eine Funktion müsste man ja plotten können oder?
Zu Monte-Carlo: Ich habe die Funktion
$ [mm] 1/(\sigma\cdot{}\wurzel{2\cdot{}pi}) e^{-1/2\cdot{}((x-mue)/\sigma)^2} [/mm] $
und soll nun zufällige x-Werte einsetzen oder wie? Dann komme ich aber auf keine Wahrscheinlichkeit?
Das mit dem Produkt ist mir noch gar nicht klar!
detlef
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:12 Mo 13.10.2008 | Autor: | detlef |
[Dateianhang nicht öffentlich]
So müsste dann ja die Funktion aussehen, oder?
detlef
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
|
> [Dateianhang nicht öffentlich]
>
> So müsste dann ja die Funktion aussehen, oder?
>
> detlef
Was noch fehlt, ist das Differential dy und die Integrationsgrenzen
[mm] -\infty [/mm] und [mm] \infty. [/mm] Auch nach dem Herausziehen der konstanten
Faktoren bleibt es aber ein schwieriges Integral. Heute Abend werde
ich nicht mehr versuchen, es zu berechnen - und ich fürchte, dass
mir das auch morgen oder nächste Woche nicht in geschlossener
Form gelingt.
Ich werde aber wohl der Idee mit der Montecarlo-Simulation noch ein
paar Gedanken widmen.
gute Nacht !
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 09:09 Di 14.10.2008 | Autor: | detlef |
Hallo,
ich weiss noch nicht, wie Monte-Carlo hier aussehen muss. Ich habe das bei einer Funktion [mm] f(x)=e^x [/mm] gemacht und da habe ich Zufallszahlen generiert in einem bestimmten Rechteck und alle Punkte gezählt, die unterhalb der Funktion liegen.
Da konnte ich aber f(x) gut plotten und die Zufallspunkte auch, aber hier weiss ich gar nicht, was f(x) ist und wie das aussieht!
F(x) = [mm] \integral_{a}^{b}{e^x dx}
[/mm]
Das konnte ich damit simulieren!
detlef
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:28 Di 14.10.2008 | Autor: | leduart |
Hallo
statt [mm] e^x [/mm] ist halt hier die fkt die integriert wird was komplizierter, macht ja dem computer nix aus!
Aber verwende doch die andere MC Methode, die dir dort im anderen forum Mb dargestellt hat. sie ist die in der Informatik uebliche.
Die foren fuer aehnliche probleme zu wechseln ist ungeschickt, wie sollen wir hier i.A. wissen was du dort grade gelernt hast?
Natuerlich kann man i.A. fragen in 2 oder 3 foren stellen, solange es keine dopelposts sind. aber fuer Folgeaufgaben ist das nicht effektiv.
Gruss leduart,
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:38 Di 14.10.2008 | Autor: | detlef |
Hallo,
Ja, die Funktion ist komplizierter! Aber das heißt dann doch auch, dass ich den Term unter dem Integral genauso plotten kann, wie [mm] e^x, [/mm] oder nicht?So dass ich den Graphen, wie [mm] e^x [/mm] darstellen kann und dann die von mir gesuchte Fläche markieren kann!?Nur gibt es hier zwei Variablen t und y, soll ich diese mit Zufallsvariablen füllen?
Also mir geht es erstmal darum die Funktion des Produkts darzustellen!
detlef
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:13 Di 14.10.2008 | Autor: | leduart |
Hallo
meine letzte Antwort war Unsinn. z.T weil deine Integrale ja keine grenzen haben!
natuerlich kannst du ein uneigentliches Integral nicht mit der MC Methode integrieren! und auch kein parameterabhaengiges.
die beiden aufgaben [mm] =e^x [/mm] mit MC zu integrieren und diese aufgabe hier haben wenig miteinander zu tun.
postest du mal einfach die genau gestellte Aufgabe?
Gruss leduart
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:32 Di 14.10.2008 | Autor: | detlef |
Hallo,
ich soll untersuchen, wie sich die Verteilungsfunktion verändert, wenn man eine Normalverteilung mit dem Produkt von zwei Normalverteilungen vergleicht!
Ich glaube, dass es mein Fehler war, die Grenzen nicht anzugeben! Ich hatte das jetzt so verstanden, dass das Integral ja schwer zu lösen ist und man mit Hilfe der Monte-Carlo-Simulation die Fläche im interessierenden Intervall annähert?!
Da ist mein Problem, dass ich mir die Funktion von dem Produkt nicht wie z.b. [mm] e^x [/mm] vorstellen/ plotten kann!
Für die Parameter sigma und mü kann ich beliebige Werte wählen!Bleiben y und t!?
detlef
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:42 Di 14.10.2008 | Autor: | leduart |
Das Problem kann man nicht mit den Integralen angehen.
Nimm dein 2 Zufallsgroessen aus der Verteilung , plotte sie. dann bilde das Produkt, plotte wieder. ich denk das ist alles.
Gruss leduart
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:05 Di 14.10.2008 | Autor: | detlef |
Hallo,
ich habe jetzt meine beiden Zufallszahlen geplottet!
[Dateianhang nicht öffentlich]
Und soll ich nun [mm] y_3 [/mm] auch einfach so plotten [mm] y_3 [/mm] = [mm] y_1*y_2 [/mm] ?
[Dateianhang nicht öffentlich]
detlef
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich] Anhang Nr. 2 (Typ: jpg) [nicht öffentlich]
|
|
|
|
|
Hallo Detlef,
ich habe nun ein Montecarlo-Programm für diesen Zweck
erstellt und gebe hier zwei outputs an, die bei der Multipli-
kation zweier normalverteilter Zufallsvariablen entstanden
sind. Das erste Beispiel entspricht deiner Grafik:
[mm] X_1= [/mm] Normalverteilung mit [mm] \mu_1=2 [/mm] und [mm] \sigma_1=10
[/mm]
[mm] X_2= [/mm] Normalverteilung mit [mm] \mu_2=5 [/mm] und [mm] \sigma_2=5
[/mm]
Natürlich ist die Dichte der Produktfunktion nicht das
Produkt der Dichtefunktionen.
[Dateianhang nicht öffentlich]
Die Säule an der Stelle x=0 sticht deutlich aus ihrer Umgebung
heraus. Tatsächlich hat die Dichtefunktion der Produktfunktion
an der Stelle z=0 einen Pol !
Bei anderen Parametern können sich ganz andere Bilder
ergeben, z.B:
[mm] X_1= [/mm] Normalverteilung mit [mm] \mu_1=5 [/mm] und [mm] \sigma_1=2
[/mm]
[mm] X_2= [/mm] Normalverteilung mit [mm] \mu_2=-5 [/mm] und [mm] \sigma_2=2
[/mm]
[Dateianhang nicht öffentlich]
Programm (Top-PASCAL):
PROGRAM Produktverteilung;
const n=100000;
var i,k,l,xganz,yganz,zganz:longint;
x,y,z:real;
a:array[0..2,-59..59]of longint;
max:array[0..2]of longint;
function gleichRand(a,b:real):real;
begin
gleichRand:=urandomreal(a,b);
end;
function normalRand(mu,sigma:real):real;
var s:real;
begin
s:=0;
for i:=1 to 12 do s:=s+urandomreal(0,1);
normalRand:=mu+(s-6)*sigma;
end;
BEGIN
cleardrawing;
uSetXAchse(-60,60);uSetYAchse(-2,30);
uDrawKSXY(1,1);
uScaleKSXY(10,100,0,0,1,12);
for i:=0 to 2 do
for k:=-59 to 59 do a[i,k]:=0;
for i:=0 to 2 do
begin
umoveto(-60,10*i);ulineto(60,10*i);
max[i]:=0;
end;
for i:=1 to n do
begin
x:=normalrand(2,10);xganz:=round(x);
y:=normalrand(5,5);yganz:=round(y);
if yganz>max[1] then max[1]:=yganz;
z:=x*y;zganz:=round(z);
a[2,xganz]:=a[2,xganz]+1;
if a[2,xganz]>max[2] then max[2]:=a[2,xganz];
a[1,yganz]:=a[1,yganz]+1;
if a[1,yganz]>max[1] then max[1]:=a[1,yganz];
if abs(zganz)<60 then
begin
a[0,zganz]:=a[0,zganz]+1;
if a[0,zganz]>max[0] then max[0]:=a[0,zganz];
end;
end;
for k:=-59 to 59 do
for i:=2 downto 0 do
upaintrect(k-0.4,i*10+0,k+0.4,i*10+a[i,k]*9/max[i])
END.
LG Al-Chwarizmi
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich] Anhang Nr. 2 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 16:43 Di 14.10.2008 | Autor: | detlef |
Hallo,
das sieht ja ziemlich gut aus! Mein Problem ist gerade, dass ich kein Pascal kann:)
Kannst du mir vllt theoretisch sagen, wie du das gemacht hast, weil ich das mit matlab versuchen wollte!?
Habe ich das richtig verstanden, dass die untere Verteilung entsteht, wenn man das Integral für das Produkt lösen würde?
Ich verstehe noch gar nicht, in welcher Form du Monte-Carlo hier gemacht hast! Ich kannte das bisher nur so, dass man in einem Intervall Zufallspunkte generiert und dann guckt, ob diese unter dem Graphen liegen und dann wird die Fläche = a*b*z/n berechnet! a*b ist das Rechteck, in dem Zufallszahlen erzeugt werden und z ist die Anzahl unter dem Graphen und n die Gesamtzahl!
detlef
|
|
|
|
|
> Hallo,
>
> das sieht ja ziemlich gut aus! Mein Problem ist gerade,
> dass ich kein Pascal kann:)
> Kannst du mir vllt theoretisch sagen, wie du das gemacht
> hast, weil ich das mit matlab versuchen wollte!?
>
> Habe ich das richtig verstanden, dass die untere Verteilung
> entsteht, wenn man das Integral für das Produkt lösen
> würde?
das sollte dann einigermassen passen; ich will das
auch noch (z.B. mit NIntegrate in Mathematica) ausprobieren
>
> Ich verstehe noch gar nicht, in welcher Form du Monte-Carlo
> hier gemacht hast! Ich kannte das bisher nur so, dass man
> in einem Intervall Zufallspunkte generiert und dann guckt,
> ob diese unter dem Graphen liegen und dann wird die Fläche
> = a*b*z/n berechnet! a*b ist das Rechteck, in dem
> Zufallszahlen erzeugt werden und z ist die Anzahl unter dem
> Graphen und n die Gesamtzahl!
>
> detlef
Hi Detlef,
Monte-Carlo-Methode heisst ja einfach, dass man ein Problem
durch Simulation mit Hilfe einer grossen Serie von Zufallszahlen
approximativ löst anstelle einer exakten formalen Lösung.
Mit Pascal hab' ich's gemacht, weil ich da quasi "zu Hause" bin.
Das Programm macht insgesamt n Mal (z.B. n=100'000)
Folgendes:
Zwei Zufallszahlen x und y nach verschiedenen Dichtefunk-
tionen berechnen, für dein Beispiel beide normalverteilt,
x mit [mm] \mu=2, \sigma=10 [/mm] und y mit [mm] \mu=5, \sigma=5.
[/mm]
Die Erzeugung der (ungefähr) normalverteilten Zufalls-
zahlen erfolgt in der function normalRand(mu,sigma) nach
der "Zwölferregel", indem jeweils eine Summe s von 12 in
[0..1] gleichverteilten RandomZahlen gebildet wird. Der
Term [mm] \mu+(s-6)*\sigma [/mm] ist dann die quasi-normalverteilte
Zufallszahl.
Aus x und y wird das Produkt z=x*y berechnet.
x ,y und z werden für die Darstellung im Säulendiagramm auf
ganzzahlige Werte gerundet (man könnte statt dessen auch
Klassen mit anderer Intervallbreite als 1 bilden).
In einem Ganzzahl-Array (Matrix) a[0..2,li..re] werden nun
die x,y,z-Werte, die in die einzelnen Klassen fallen, gezählt.
Wäre in einem Beispiel etwa x=4.58, y=2.13,z=9.76, so
werden die Matrixelemente a[2,5](für x), a[1,2](für y) und
a[0,10] je um 1 erhöht. (Nummerierung etwas kryptisch,
das hat sich wegen meiner Grafik so ergeben, kann man
anders machen !)
Nach diesen Berechnungen hat man im Array a (dessen
Elemente am Anfang auf Null gesetzt wurden) das Daten-
material für die Grafik. Um in jedem der drei Säulendiagramme
die höchste Säule auf eine bestimmte Höhe zu normieren
(ich normiere also nicht den gesamten Flächeninhalt), wird
im Programm nebenbei Buch geführt über die maximalen
Listenelemente in jeder Zeile von a. Daraus ergibt sich dann
die Skalierung für jeden der drei Graphen.
Anstatt der drei separaten Säulendiagramme könnte man
natürlich ein einziges Diagramm mit drei unterschiedlich
gefärbten Liniendiagrammen machen - diese Modifikation
werde ich auch noch vornehmen.
LG Al
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:05 Di 14.10.2008 | Autor: | detlef |
Hallo,
mir ist noch nicht ganz klar, wieso du damit das Lösen des Integrals umgehen kannst?Ich hatte ja beschrieben, wie ich Monte_Carlo bisher kenne, hat das was damit zu tun?
Du erzeugst zwei Zufallszahlen x und y. Das ginge in matlab mit rand(). Diese werden multipliziert und das ist z. Und das macht man für ganz viele Zufallszahlen? Damit kann man das Integral annähern?
> Aus x und y wird das Produkt z=x*y berechnet.
> x ,y und z werden für die Darstellung im Säulendiagramm
> auf
> ganzzahlige Werte gerundet (man könnte statt dessen
> auch
> Klassen mit anderer Intervallbreite als 1 bilden).
> In einem Ganzzahl-Array (Matrix) a[0..2,li..re] werden
> nun
> die x,y,z-Werte, die in die einzelnen Klassen fallen,
> gezählt.
> Wäre in einem Beispiel etwa x=4.58, y=2.13,z=9.76, so
> werden die Matrixelemente a[2,5](für x), a[1,2](für y)
> und
> a[0,10] je um 1 erhöht. (Nummerierung etwas
> kryptisch,
> das hat sich wegen meiner Grafik so ergeben, kann man
> anders machen !)
Das ist mir nicht klar, mit dem erhöhen um 1!
detlef
|
|
|
|
|
> Hallo,
>
> mir ist noch nicht ganz klar, wieso du damit das Lösen des
> Integrals umgehen kannst?Ich hatte ja beschrieben, wie ich
> Monte_Carlo bisher kenne, hat das was damit zu tun?
Die Anwendung einer Simulation mittels Zufallszahlen
(für eine Flächenberechnung), die du schon kennst, ist
nur eine von sehr vielen Möglichkeiten. Hier machen wir
etwas anderes.
> Du erzeugst zwei Zufallszahlen x und y. Das ginge in
> matlab mit rand().
Mit x = normrnd(mu,sigma) erhältst du direkt
eine Zufallsahl x aus einer Normalverteilung.
Auf die Sache mit der Zwölferregel kannst du also verzichten.
> Diese werden multipliziert und das ist
> z. Und das macht man für ganz viele Zufallszahlen? Damit
> kann man das Integral annähern?
Integrale entstehen ja ursprünglich aus Summen
mit sehr vielen Summanden und anschliessender
Grenzwertbildung für n gegen unendlich. Jetzt
gehen wir einige Schritte zurück und machen ein
gewöhnliches Häufigkeitsdiagramm, das durch
Abzählen der z-Werte entsteht, die in jeweils
gleich breite kleine Intervalle der reellen Achse
fallen. Da der Computer z.B. 100000 Produkte
auswertet, wird das entstehende Säulendiagramm
schon eine recht gute Annäherung an die gesuchte
Dichtefunktionskurve.
> Das ist mir nicht klar, mit dem erhöhen um 1!
Das heisst einfach zählen: wir setzen zuerst alle
"Zählregister" auf Null. Dann kommen (rasend schnell)
jeweils die Zahlentripel (x,y,z) herein. Wenn z=9.76,
auf Ganze gerundet 10 ist, wird einfach das Element
a[0,10] des Arrays a, welches zählen soll, wie oft z den
Wert 10 annimmt, um 1 erhöht.
Wenn in den 100000 Läufen das Produkt z=x*y 954 mal
den Wert 10 angenommen hat, so steht nach dieser
ganzen Rechnerei an der Stelle [0,10] des Arrays a die
Zahl 954, welche angibt, wie hoch im Diagramm für die
z-Werte die Säule bei z=10 sein muss. Damit die Säulen
nicht "in den Himmel wachsen", aber auch nicht zu mickrig
werden, wird während der Rechnungen die jeweils grösste
vorgekommene Anzahl in einem Array max gespeichert.
Danach wird in der Grafik die Höhe der Säulen normiert,
damit die höchste Säule eine vorgegebene Länge bekommt.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 07:57 Mi 15.10.2008 | Autor: | detlef |
Guten Morgen,
mit dem Programmtext kümmere ich mich heute nachmittags nochmal richtig!Nochmal zu der Monte-Carlo-Sache!
Ich sehe es noch nicht, wie die neue Dichtefunktion entsteht!Ganz viele Produkte von x*y ist die gesuchte Verteilung oder? Und da muss man nich noch mit 1/y multiplizieren? Ich verstehe noch nicht so ganz, wie diese Monte-Carlo-Simulation arbeitet, weil ich so auf meinen anderen Weg aus war(Flächenberechnung)!?
detlef
|
|
|
|
|
> Guten Morgen,
>
> mit dem Programmtext kümmere ich mich heute nachmittags
> nochmal richtig!Nochmal zu der Monte-Carlo-Sache!
> Ich sehe es noch nicht, wie die neue Dichtefunktion
> entsteht!Ganz viele Produkte von x*y ist die gesuchte
> Verteilung oder?
Ja, eigentlich doch ganz simpel: Man macht einfach ein
Säulendiagramm der vielen Produkte, die aus den auf
(pseudo-) zufällige Weise produzierten Faktoren ent-
standen sind.
> Und da muss man nich noch mit 1/y multiplizieren?
Nein; dies war nur bei der Integration notwendig.
LG
N.B.:
Um aus dem Säulendiagramm die Dichtefunktion nicht
nur qualitativ (relative Grösse der Säulen im Vergleich
zueinander stimmt), sondern auch quantitativ richtig
abzulesen, kann man so vorgehen:
[mm] $f_{X*Y}(z) \approx \bruch{Anzahl\ der\ Produkte,\ die\ zur\ Saeule\ \ an\ der\ Stelle\ z\ beigetragen\ haben}{Anzahl\ Produkte\ insgesamt\ \times\ Intervallbreite}$ [/mm]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:40 Mi 15.10.2008 | Autor: | detlef |
Ahh, jetzt ist das mit der Simulation klarer! Jetzt muss ich mir mal durchlesen, wie ich diese Säulendiagramme in matlab hinbekomme!
Mir ist aber noch aufgefallen, dass diese Zwölferregel vllt doch besser ist, weil man dann Mü und Sigma wählen kann und sont sind das immer Zufallswerte, oder? Wenn ich diese mit rand() generiere? Aber eigentlich dürfen die Werte ja nur einmal ausgewählt werden und dann konstant bleiben!
detlef
|
|
|
|
|
> Ahh, jetzt ist das mit der Simulation klarer! Jetzt muss
> ich mir mal durchlesen, wie ich diese Säulendiagramme in
> matlab hinbekomme!
> Mir ist aber noch aufgefallen, dass diese Zwölferregel
> vllt doch besser ist, weil man dann Mü und Sigma wählen
> kann und sont sind das immer Zufallswerte, oder? Wenn ich
> diese mit rand() generiere? Aber eigentlich dürfen die
> Werte ja nur einmal ausgewählt werden und dann konstant
> bleiben!
du meinst [mm] \mu_X [/mm] und [mm] \sigma_X [/mm] für den einen Faktor X
und [mm] \mu_Y [/mm] und [mm] \sigma_Y [/mm] für den andern Faktor Y
klar, die setzt du nur am Anfang einmal fest
Mit MatLab habe ich noch nie gearbeitet, aber ich habe rasch
nachgeschaut betr. NormRand().
Diese Funktion liefert eine normalverteilte Zufallszahl mit
[mm] \mu [/mm] =0 und [mm] \sigma [/mm] =1. Um beliebiges [mm] \mu [/mm] und [mm] \sigma [/mm] zu verwenden,
nimmst du einfach
[mm] \mu [/mm] + [mm] \sigma [/mm] *NormRand()
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 17:49 Mi 15.10.2008 | Autor: | detlef |
Hallo,
ich könnte doch auch die Formel nehmen:
X = [mm] 1/(\sigma*sqrt(2*pi)*...
[/mm]
und [mm] \sigma [/mm] und mue nach Wahl festlegen und dann mit zufälligen x1 Werten die Zufallszahl berechnen!? Und das genauso mit Y und dann habe ich ja auch z oder?
detlef
|
|
|
|
|
> Hallo,
>
> ich könnte doch auch die Formel nehmen:
>
> X = [mm]1/(\sigma*sqrt(2*pi)*...[/mm]
>
> und [mm]\sigma[/mm] und mue nach Wahl festlegen und dann mit
> zufälligen x1 Werten die Zufallszahl berechnen!? Und das
> genauso mit Y und dann habe ich ja auch z oder?
>
> detlef
Die Formel, die du hier meinst, liefert nicht Zufallszahlen,
sondern die Wahrscheinlichkeitsdichte der Zufallsvariablen X.
Benütze doch die Tipps, die du jetzt in Fülle erhalten hast...
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:41 Do 16.10.2008 | Autor: | detlef |
Hallo,
ich muss noch eine Verständnisfrage stellen:
Wenn ich mit x=normrnd(mu,sigma) Zufallszahlen erzeuge und davon ganz viele, dann muss ich doch die Dichtefunktion erhalten oder?
detlef
|
|
|
|
|
> Hallo,
>
> ich muss noch eine Verständnisfrage stellen:
>
> Wenn ich mit x=normrnd(mu,sigma) Zufallszahlen erzeuge und
> davon ganz viele, dann muss ich doch die Dichtefunktion
> erhalten oder?
>
> detlef
Ja; das ist quasi der Test, ob die Methode mit dem Histogramm funktioniert:
Machst du ein Säulendiagramm für die X allein (oder die Y allein), solltest du die
Gaußschen Glockenkurven (symmetrisch, Hochpunkt bei x=mu, etwa zwei
Drittel der Gesamtfläche zwischen mu-sigma und mu+sigma) wiedererkennen.
Das Diagramm der Produkte X*Y ergibt approximativ die neue, gesuchte
Dichteverteilung mit ihrem "Peak" bei x=0 (wo eigentlich sogar ein Pol der
Dichtefunktion liegt).
Übrigens hatte Mathematica bei der Numerischen Integration, um die
Dichtefunktion zu errechnen, kein Problem:
[mm] NV[\mu [/mm] _, [mm] \sigma [/mm] _, x_] := 1/(E^((x - [mm] \mu)^2/(2*\sigma^2))*(Sqrt[2*Pi]*\sigma))
[/mm]
F[x_] :=NIntegrate[NV[5, 2, t]*NV[-5, 2, x/t]/Abs[t], {t, -Infinity, Infinity}]
Plot[F[x], {x, -40, 10}, MaxBend -> 60, PlotPoints -> 50]
Ich weiss nicht, ob dies in MatLab analog auch geht.
LG Al
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 20:49 Do 16.10.2008 | Autor: | detlef |
Hallo,
also ich habe nun das mit matlab erreicht(möchte noch eine andere Einteilung für das untere Diagramm):
[Dateianhang nicht öffentlich]
Das habe ich nun auch verstanden mit der MC! Aber bei dem Integral ist mir nicht klar, wie ich auf dieses Ergebnis kommen kann, wenn ich es wollte! Man integriert die Funktion (wie auch immer) und dann muss man zwei Zufallszahlen einsetzen?
detlef
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 00:03 Fr 17.10.2008 | Autor: | leduart |
Hallo
Wenn du die Integrale von nem Programm geloest kriegst hast du doch die dichtefkt, die du vorher punktweise ausgewuerfelt hast. wieso willst du da ein oder irgendwelche Zufallszahlen einsetzen?
Gruss leduart
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 08:22 Fr 17.10.2008 | Autor: | detlef |
morgen,
weil ich ja noch die zwei Variablen habe, also z und t?Diese muss ich ja irgendwie füllen, damit ich eine Kurve bekomme?!
detlef
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 09:20 So 19.10.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|