Wie ist die Verteilung von


17

Ich habe vier unabhängige gleichmäßig verteilte Variablen a,b,c,d , jeweils in [0,1] . Ich möchte die Verteilung von berechnen (ad)2+4bc. Ich habe die Verteilung von u2=4bc zu f 2 ( u 2 ) = - 1 berechnet

f2(u2)=14lnu24
(daheru2(0,4]), und vonseinNun die Verteilung einer Summeist (sind auch unabhängig)weil. Hier hat es sich alsso das Integral gleichJetztich es in Mathematica ein und hole es miru1=(ad)2
f1(u1)=1u1u1.
u1+u2u1,u2y(0,4]x>yfu1+u2(x)=-1
fu1+u2(x)=+f1(xy)f2(y)dy=14041xyxylny4dy,
y(0,4]x>yfu1+u2(x)=1
fu1+u2(x)=140x1xyxylny4dy.
fu1+u2(x)=14[x+xlnx42x(-2+lnx)].

Ich erstellte vier unabhängige Mengen die jeweils aus Zahlen bestehen, und zeichnete ein Histogramm von :10 6 ( a - d ) 2 + 4 b cein,b,c,d106(ad)2+4bc

Bildbeschreibung hier eingeben

und zeichnete einen Plot von :fu1+u2(x)

Bildbeschreibung hier eingeben

Im Allgemeinen ähnelt der Plot dem Histogramm, aber im Intervall größte Teil negativ (die Wurzel liegt bei 2,27034). Und das Integral des positiven Teils ist .0.77(0,5)0.77

Wo ist der Fehler? Oder wo fehle ich etwas?

BEARBEITEN: Ich habe das Histogramm skaliert, um das PDF anzuzeigen.

Bildbeschreibung hier eingeben

EDIT 2: Ich denke, ich weiß, wo das Problem in meiner Argumentation liegt - in den Integrationsgrenzen. Da und kann ich nicht einfach . Die Darstellung zeigt die Region, in die ich integrieren muss:x - y ( 0 , 1 ] x 0y(0,4]xy(0,1]0x

Bildbeschreibung hier eingeben

Dies bedeutet, dass ich für (deshalb war ein Teil meines richtig), für und in . Leider kann Mathematica die letzten beiden Integrale nicht berechnen. ).0xy(0,1]fx1xy(1,4]x14y(4,5]

EDIT 3: Es scheint, dass Mathematica die letzten drei Integrale mit folgendem Code berechnen kann:

(1/4)*Integrate[((1-Sqrt[u1-u2])*Log[4/u2])/Sqrt[u1-u2],{u2,0,u1}, Assumptions ->0 <= u2 <= u1 && u1 > 0]

(1/4)*Integrate[((1-Sqrt[u1-u2])*Log[4/u2])/Sqrt[u1-u2],{u2,u1-1,u1}, Assumptions -> 1 <= u2 <= 3 && u1 > 0]

(1/4)*Integrate[((1-Sqrt[u1-u2])*Log[4/u2])/Sqrt[u1-u2],{u2,u1-1,4}, Assumptions -> 4 <= u2 <= 4 && u1 > 0]

was eine richtige Antwort gibt :)


2
Ich finde es gut, dass Sie versucht haben, die Plausibilität Ihrer Antwort durch Simulation zu überprüfen. Ihr Problem ist, dass Sie wissen, dass Sie einen Fehler gemacht haben, aber nicht genau sehen können, wo. Haben Sie darüber nachgedacht, dass Sie jede Phase Ihrer Methode überprüfen können, um zu ermitteln, wo der Fehler liegt? Liegt der Fehler beispielsweise in Ihrer ? Nun, Sie können Ihr berechnetes PDF mit simulierten Ergebnissen vergleichen, genau wie Sie es für Ihre endgültige Antwort getan haben. Das Gleiche gilt für . Wenn und beide richtig sind, haben Sie den Fehler beim Kombinieren gemacht. Mit einer solchen schrittweisen Überprüfung können Sie genau feststellen, wo Sie einen Fehler gemacht haben! f1(u1)f2f1f2
Silverfish

Ich warf meinen ersten Versuch weg und berechnete ihn von Grund auf neu. Ich glaube, dass und f 2 korrekt sind, obwohl ich mein anfängliches f 1 manuell mit 2 multiplizieren musste , um es zu einer Einheit normalisieren zu lassen. Aber das ändert nur die Höhe und erklärt nicht, warum ich ein negatives f habe . f1f2f1f
Corey979

Wenn Sie solche Histogramme erstellen, um sie mit berechneten algebraischen Größen zu vergleichen, skalieren Sie das Histogramm auf eine gültige Dichte (und überlagern Sie sie, wenn Sie können). Machen Sie eine ähnliche Prüfung für Ihre f1 und f2, um sicherzustellen, dass Sie die richtigen haben; Wenn sie Recht haben (ich habe noch keinen guten Grund gesehen, sie zu vermuten, aber es ist am besten, sie noch einmal zu überprüfen), muss das Problem später auftreten.
Glen_b -Reinstate Monica

Antworten:


19

Oft hilft es, kumulative Verteilungsfunktionen zu verwenden.

Zuerst,

F(x)=Pr((ad)2x)=Pr(|ad|x)=1(1x)2=2xx.

Nächster,

G(y)=Pr(4bcy)=Pr(bcy4)=0y/4dt+y/41ydt4t=y4(1log(y4)).

δ05(ad)2+4bcx=(ad)2Fy=4bcg=G

H(δ)=Pr((ad)2+4bcδ)=Pr(xδy)=04F(δy)g(y)dy.

Hδ0<δ<1

H(δ)=h(δ)=18(8δ+δ((2+log(16)))+2(δ2δ)log(δ)).

1<δ<4

h(δ)=14((δ+1)log(δ1)+δlog(δ)4δcoth1(δ)+3+log(4)).

4<δ<5

h(δ)=14(δ4δ4+(δ+1)log(4δ1)+4δtanh1((δ4)δδδδ4)1).

Zahl

h106(ad)2+4bch


Das Folgende ist eine nahezu sinnlose Brute-Force- Mathematica- Lösung. Es automatisiert praktisch alles über die Berechnung. Beispielsweise wird sogar der Bereich der resultierenden Variablen berechnet:

ClearAll[ a, b, c, d, ff, gg, hh, g, h, x, y, z, zMin, zMax, assumptions];
assumptions = 0 <= a <= 1 && 0 <= b <= 1 && 0 <= c <= 1 && 0 <= d <= 1; 
zMax = First@Maximize[{(a - d)^2 + 4 b c, assumptions}, {a, b, c, d}];
zMin = First@Minimize[{(a - d)^2 + 4 b c, assumptions}, {a, b, c, d}];

H

ff[x_] := Evaluate@FullSimplify@Integrate[Boole[(a - d)^2 <= x], {a, 0, 1}, {d, 0, 1}];
gg[y_] := Evaluate@FullSimplify@Integrate[Boole[4 b c <= y], {b, 0, 1}, {c, 0, 1}];
g[y_]  := Evaluate@FullSimplify@D[gg[y], y];
hh[z_] := Evaluate@FullSimplify@Integrate[ff[-y + z] g[y], {y, 0, 4}, 
          Assumptions -> zMin <= z <= zMax];
h[z_]  :=  Evaluate@FullSimplify@D[hh[z], z];

h

x = RandomReal[{0, 1}, {4, 10^6}];
x = (x[[1, All]] - x[[4, All]])^2 + 4 x[[2, All]] x[[3, All]];
Show[Histogram[x, {.1}, "PDF"], 
 Plot[h[z], {z, zMin, zMax}, Exclusions -> {1, 4}], 
 AxesLabel -> {"\[Delta]", "Density"}, BaseStyle -> Medium, 
 Ticks -> {{{0, "0"}, {1, "1"}, {4, "4"}, {5, "5"}}, Automatic}]

8
(+1), vor allem, um die Leute daran zu erinnern, dass es oft hilfreich ist, kumulative Verteilungsfunktionen zu verwenden , anstatt von Dichtekonvolutionen zu sprechen , insbesondere , wenn sie eine so einfache Form wie hier haben. Und du warst auch verdammt schnell.
Alecos Papadopoulos

F(x)G(y)FgH

FG

7

Wie das OP und whuber würde ich die Unabhängigkeit nutzen, um dies in einfachere Probleme aufzuteilen:

X=(ad)2. Then the pdf of X, say f(x) is:

enter image description here

Let Y=4bc. Then the pdf of Y, say g(y) is:

enter image description here

The problem reduces to now finding the pdf of X+Y. There may be many ways of doing this, but the simplest for me is to use a function called TransformSum from the current developmental version of mathStatica. Unfortunately, this is not available in a public release at the present time, but here is the input:

TransformSum[{f,g}, z]

which returns the pdf of Z=X+Y as the piecewise function:

enter image description here

Here is a plot of the pdf just derived, say h(z):

enter image description here

Quick Monte Carlo check

The following diagram compares an empirical Monte Carlo approximation of the pdf (squiggly blue) to the theoretical pdf derived above (red dashed). Looks fine.

enter image description here

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.